We are seeking a Hardware Reverse Engineer (RE) to join our security research team. You will join our team on a new 5-year effort supporting a national security mission with a variety of defensive cyber, offensive cyber, and forensic requirements. You will perform a variety of functions across software development, firmware reverse engineering, and hardware reverse engineering to understand the operation of hardware devices and firmware and develop tools to extract key information based on your understanding.
Responsibilities:
- Implement capabilities through reverse engineering to identify vulnerabilities and determine if they are exploitable.
- Prepare short presentations summarizing research findings.
- Collaborate with external and technical operational teams.
- Shape hardware reverse engineering requirements to meet operational goals.
- Synthesize creative solutions from technical and operational information.
- Identify, collaborate, and communicate operational requirements that enhance RE practices and results.
- Perform vulnerability assessments of secure technologies to analyze whether protected or inaccessible information is recoverable.
- Monitor and manipulate electronic devices at the board level, including busses, test points, and interfaces.
- Using tools and techniques developed for data recovery from device memory, and provide technical assistance in support of customer-directed requirements.
- Identify opportunities to enhance existing processes/effecting changes.
Required Skills:
- In depth programming experience with Python, C, and/or C++
- Understanding of microcontroller architectures like ARM or RISCV
- Experience with Assembly programming language and ability to debug Assembly code.
- Experience using and understanding of electronic test equipment like oscilloscopes, spectrum analyzers, JTAG, and software debuggers.
- Understanding of electronic circuit design and PCB layouts
- Expertise in physical communications interfaces within PCB (i.e. I2C, SPI, LPC, PCIE)
- Experience with non-volatile memory storage programming interface standards like NAND flash, eMMC, and UFS
Desired Skills:
- Experience reverse engineering firmware with commercial tools like IDA Pro or Ghidra
- Designing and programming microcontroller/FPGA boards to monitor or communicate with internal busses and/or electronic devices.
- Experience solving complex hardware RE challenges with little oversight.
Education Requirement:
Bachelor's of Science (B.S.) or Bachelor's of Arts (B.A.) degree in Computer Engineering or Electrical Engineering. Experience can be considered in lieu of a Bachelor’s degree on a case-by-case basis.
Clearance Requirement:
Active TS Clearance with ability to pass a CI polygraph after start date.