Reverse Engineer Researcher
Software Engineering Institute | Carnegie Mellon University · Pittsburgh, PA · 1 mo ago
On-siteEngineeringFull-time
About the role
The SEI helps advance software engineering principles and practices and serves as a national resource in software engineering, computer security, and process improvement. The SEI works closely with defense and government organizations, industry, and academia to continually improve software-intensive systems. Our core purpose is to help organizations improve software engineering capabilities and develop or acquire the right software, defect free, within budget and on time, every time.
What you’ll do
- Reverse engineer malicious code in support of high-impact customers
- Design and develop new analysis methods and tools
- Work to identify and address emerging and complex threats
- Effectively participate in the broader security community
Who you are
- Have BS in Computer Science or related discipline with eight (8) years of experience; OR MS in the same fields with five (5) years of experience; OR PhD in the same fields with two (2) years of experience.
- Enjoy working on emerging and complex malware analysis and reverse engineering problems.
- Have an analytical mindset and deep curiosity about how software works.
- Have the ability to balance rapid prototyping with maintainable tool development.
- Have strong technical writing experience.
- Recognize and deal appropriately with confidential and sensitive information.
- Able to handle continual shifting priorities.
- Enjoy mentoring and training others as well as sharing knowledge.
- Communicate effectively with technical and non-technical audiences.
- Have a willingness to travel to various locations to support the SEI’s overall mission.
Qualifications
- Experience with or knowledge of:
- Reverse engineering software binaries for a variety of architectures, both at the user level and kernel level
- Static analysis tools (e.g. IDA Pro, NSA Ghidra, Binary Ninja)
- User-level and kernel-level debuggers (e.g. x32dbg, x64dbg, gdb, WinDbg)
- Native programming languages (e.g. C/C++)
- High-level programming languages (e.g. Java, Python, GoLang, etc.)
- Software engineering and design concepts
- Firmware and device driver development
- Malware tradecraft and threat actor tactics, techniques, and procedures (TTPs)
- Malware signature creation and use, independent of detection technology
- Operating system concepts and internals and binary file formats (e.g. PE, ELF, Mach-O, etc.)
- Internet Protocols and network analysis tools (e.g. Wireshark, netcat, etc.)
- Compiler theory, cryptography, and malware deobfuscation techniques
- Mobile device development and reverse engineering
- Malware sandboxes or instrumentation frameworks (e.g., Frida, QEMU, Unicorn Engine)
- General understanding and experience in artificial intelligence and machine learning and using artificial intelligence to support reverse engineering and malware analysis