STR is hiring aย Software Reverse Engineerย who has a passion for research and analysis of vulnerabilities in cyber physical systems. Work must be performed onsite.
What you'll do:
- 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
Who you are:
- This position requires an Active Top Secret (TS) security clearance, for which U.S. citizenship is needed by the U.S. Government
- 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.
Nice to haves:
- 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
Pay Information
Full-Time Salary Range: $112,000 - $154,000
The salary range listed is based on external market data. Offers are based on factors, such as but not limited to, the candidate's experience, education, training, key skills/critical skills, security clearances, and prevailing market and business conditions.