IT - Engineer IV
Role details
Job location
Tech stack
Job description
This position is for a Mobile Software Reverse Engineer. The role involves conducting software exploitation against applications, middleware, operating systems, firmware, and other binary data. The successful candidate will support development and malware analysis efforts, providing expertise in isolating, analyzing, and reverse-engineering malicious programs from compromised systems., * Conduct software exploitation against applications, middleware, operating systems (OS) user interface, OS drivers/runtimes, and firmware.
- Provide malicious code reverse engineering to isolate, review, analyze, and reverse-engineer potentially malicious programs.
- Research new trends, techniques, and packaging of malicious software to identify and handle zero-day exploits.
- Research the behavior of binaries and understand how applications behave at the memory and register level to support technical exploitation.
- Support efforts to design, prototype, document, test, and transition code analysis methods and tools.
- Build and maintain collaborative relationships with stakeholders across different government agencies.
- Facilitate inter-agency working groups and build consensus among partners.
- Debug mobile applications' memory and performance issues.
Requirements
Education: A Bachelor's degree and 8+ years of experience, a Master's degree and 6+ years of experience, or a PhD and 3 years of experience. A degree in Information Technology, Cybersecurity, Computer Science, Information Systems, Data Science, Mathematics, or Software Engineering is desired. An additional 4 years of relevant experience or specialized training may be considered in lieu of a degree.
Experience: Relevant work experience should be within the past five years. Proven ability to establish and manage formal partnerships between government entities. Experience in computer or cell phone architecture, system internals, operating systems, and/or boot process software engineering is required.
Technical Skills: Experience with Windows, Linux, Android, OS X, and iOS operating systems and architecture. Experience with static analysis tools such as IDA Pro, Ghidra, and Binary Ninja. Proficiency with debugging tools like WinDbg and virtualization tools like VMware, KVM, or QEMU. A working knowledge of programming languages such as C, C++, .NET, Python, and Java is necessary.
Preferred Qualifications
- Experience requiring a deep knowledge of Android and a strong interest in the mobile industry.
- Experience developing or designing mobile phone platforms.
- Experience with wireless APIs such as Wi-Fi and Bluetooth.
- Ability to engineer software scripts in C, C++, and Java with an emphasis on prototyping and API extraction.
- Active IAT Level II/8140 certification.
- Additional active certifications such as CFR, RCCE Level 1, CySA+, GCFA, FE.