Principal Software Reverse Engineer/Vulnerability Researcher
Role details
Job location
Tech stack
Job description
Use advanced systems to find zero-day (O-day) vulnerabilities. Responsible for analyzing, designing, and identifying programmatic behaviors. Have an opportunity to develop, test, and debug software applications. Research data and provide new design ideas for vulnerability techniques. Understands terminologies like debugging and fuzzing and applying it into your work., * Extraction of SW and FW from embedded electronic platforms and systems.
-
Use of program analysis, reverse engineering, and debugging tools (e.g., angr, BAP, IDA Pro, Binary Ninja, gdb, Ghidra, windbg)
-
Document and communicate approach and results effectively to internal teams, customers, and stakeholders.
-
Engage in field tests using specially modified platforms for real-world validation of findings.
Requirements
- Typically requires a Bachelor of Science in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field at 10 years of practical experience in a technology-related environment
- We require you to have a solid understanding of software development and knowledge in any of the following: C, C++, or Python
- Knowledge of Windows or Linux
- Knowledge of Assembly (x86/x64)
- Active Top Secret Clearance with the ability to obtain Special Program Access (SAP)., * Master's Degree Computer Science, Physics, or related STEM field.
- Expertise in HW/SW Reverse Engineering, Binary Analysis, and disassemblers.
- Utilizing full system emulation for research and analysis
- Embedded system analysis and HW/SW/FW integration
- Capture the Flag (CTF) experience
- Fuzzer development
- Understanding of network protocols and embedded serial communication links (UART, USB, SPI, ETH, PCIe)
- Commercial and open source forensic analysis tools
- Experience creating custom forensic analysis tools