Software Reverse Engineer
Company | STR |
---|---|
Location | Burlington, MA, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s, Master’s, PhD |
Experience Level | Mid Level, Senior |
Requirements
- Active Top Secret (TS) security clearance
- BS, MS or PhD in Computer Science, Computer Engineering, Cybersecurity or related field (or equivalent work experience)
- Experience with binary analysis of software/firmware
- Experience with disassembly tools, such as IDA Pro, Binary Ninja, or Ghidra
- Proficiency in one or more programming languages: C/C++, Python, etc.
- Proficiency in one or more Assembly Languages: x86, ARM, etc.
- General understanding of reverse engineering fundamentals: memory layout, calling conventions, etc.
Responsibilities
- Reverse engineering complex software or firmware targets, ranging from typical Windows/Linux binaries to embedded firmware running non-traditional computer architectures and operating systems
- Developing and applying automated reverse engineering and binary analysis tools to characterize protocols, interfaces, and functionality of target systems
- Developing innovative cybersecurity solutions
- Working in multi-discipline teams to tackle challenging problems from a wide variety of technologies to develop innovative cybersecurity solutions
- Performing vulnerability weaponization, exploit development, payload development, and exploit mitigation on a variety of challenging targets
- Documenting, demonstrating, and presenting research
- Solving real world problems that have an impact on national security
Preferred Qualifications
- Vulnerability research and analysis
- Knowledge of weaponizing discovered vulnerabilities into exploits
- Implant or software patch development
- Familiarity with binary emulation or vulnerability research, including tools such as QEMU or AFL++
- Experience with DSP architectures, such as Texas Instruments, STMicroelectronics, NXP, or Analog Devices
- Knowledge of operating system internals including memory/process/thread management
- Embedded systems or firmware analysis
- Experience development custom emulation tools to enable dynamic analysis
- Disassembler/decompiler module development
- Experience analyzing and reconstructing code/data flow
- Automated reverse engineering or software analysis tool development
- Experience debugging software without source code
- Knowledge of binary file structures and formats
- Experience analyzing protocols or message structures
- Knowledge of anti-reverse engineering techniques
- Knowledge of intrusion detection and anti-malware systems and techniques