Software & Reverse Engineer

Work Requirements
 
Software & Reverse Engineer
 
The successful candidate will:
     * Work with network inspection tools to capture and analyze network traffic.  
     * Defeat certificate pinning while collecting data.
     * Reverse engineer and document mobile applications.  
     * Develop and document Linux OS and shell scripts.
     * Work closely with the Sponsor’s product owner and program manager to deliver user stories necessary to realize product vision.
     * Coordinate with multiple entities, including mission partners, to ensure tools meet defined requirements.
     * Support data engineering efforts to analyze large data sets to derive data relationships.
     * Ensure all security vulnerabilities are addressed as appropriate by severity and maintain security accreditation.
     * Maintain all source code in Sponsor-wide, remote Git repository.
     * Emulate mobile applications via Python scripts to execute mission requirements.
     * Define and develop API-based web scrapers using Object Oriented Programming (OOP) and Python. 
     * Create mission automation using tools such as BASH Scripting and CRON. 
     * Use XML, HTML, JSON and other data structures in support of parsing activities.
     * Identify, understand, and mitigate Internet security issues and threats such as encryption, PKI certificates, signatures, footprints, and persona associated with Internet research. 
     * Perform end-to-end quality assurance of data feeds and data sets.  
     * Troubleshoot problems with API scrapers.
     * Identify and document areas for improvement in workflows or systems. 
     * Cross-train on existing collection tools.
     * Attend daily stand-up meetings. 
     * Provide input to code reviews.
 
Required Skills and Demonstrated Experience
 
Skills and demonstrated experiences that are required to perform the work include:
     * Demonstrated experience working with network inspection tools to capture and analyze network traffic.
     * Demonstrated experience defeating certificate pinning while collecting data.
     * Demonstrated experience developing and documenting scripts on Linux OS.
     * Demonstrated experience with Python.
     * Demonstrated experience working with proxies such as Charles and Burp Suite.
     * Demonstrated experience reverse engineering mobile and web applications.
     * Demonstrated experience working with iOS frameworks and SDKs as it relates to jailbreaking.
     * Demonstrated experience working with Dalvik bytecode and decompiled Android APK files.
     * Demonstrated experience developing an Extract, Transform, and Load (ETL) pipeline in Python, specifically utilizing the Bonobo framework.
     * Demonstrated experience with automation technologies such as Selenium.
     * Demonstrated experience and understanding of digital techniques and technologies to mitigate technical signatures.
     * Demonstrated experience with digital anti-fraud techniques and technologies.
     * Demonstrated experience with mobile emulation for application testing and reverse engineering purposes.
     * Demonstrated experience with encryption and decryption methodologies.
     * Demonstrated experience designing, developing, querying and maintaining ElasticSearch and related technologies
     * Demonstrated experience developing on Linux platforms.
     * Demonstrated experience managing and developing software applications in an AWS environment.
     * Demonstrated experience working with geo-locational data at both the backend and the application tier.
     * Demonstrated experience developing software in a DevOps environment.
     * Demonstrated experience maintaining Jenkins Continuous Integration/Continuous Delivery (CI/CD) pipelines with automated testing and deployment.
     * Demonstrated experience using Git as a source code repository.
 
Highly Desired Skills and Demonstrated Experience
 
Skills and demonstrated experiences that are highly desired but not required to perform the work include:
     * Demonstrated experience customizing Android emulators to add or remove functionality, change signatures, and enhance performance.
     * Demonstrated experience with ElasticSearch.
     * Demonstrated experience with ETL processes.
     * Demonstrated experience reverse engineering, with Android and iOS.
     * Demonstrated experience performing mobile application development.
     * Demonstrated experience using third party libraries and APIs.
     * Demonstrated experience using network libraries and tools such as “requests” library in Python, Charles and proxies, and web developer tools for inspecting network logs.
     * Demonstrated experience using Selenium
 
Job Category: Software & Reverse Engineer
Job Type: Full Time
Job Location: Reston VA

Apply for this position

Allowed Type(s): .pdf, .doc, .docx