Software Engineer - Reverse Engineering at Battelle
Chantilly, Virginia, USA -
Full Time


Start Date

Immediate

Expiry Date

10 Aug, 25

Salary

0.0

Posted On

10 May, 25

Experience

0 year(s) or above

Remote Job

Yes

Telecommute

Yes

Sponsor Visa

No

Skills

Participation, Software, C, Research, Ruby, Perl, Ollydbg, Android, Qnx, Linux, Windbg, C++, Architecture, Vulnerability, Powerpc, Computer Science, Vulnerability Research, Operating Systems, X64, X86, Python, Computer Engineering

Industry

Information Technology/IT

Description

Battelle delivers when others can’t. We conduct research and development, manage national laboratories, design and manufacture products and deliver critical services for our clients—whether they are a multi-national corporation, a small start-up or a government agency.
We recognize and appreciate the value and contributions of individuals from a wide range of backgrounds and experiences and welcome all qualified individuals to apply.

JOB SUMMARY

Battelle is seeking a Junior Reverse Engineer/Vulnerability Researcher in the Chantilly, VA office location.
Do you like solving the hardest computing problems in the world, working on research projects you are passionate about, and competitive mini basketball, and bumper pool? Battelle may be the company for you.
Battelle Cyber Engineers solve the toughest Computer Science problems in the world. We work in small agile teams to push the bounds of computing technology. Our high-powered computer labs include specialized software and hardware, so our engineers have everything they need to invent new Cyber solutions.
Battelle is committed to its employee’s professional growth. We encourage new ideas with our large Internal Research and Development (IRAD) program where engineers work on projects, they are passionate about. We have the tools and the mentors you will need to take yourself to the next level.

KEY QUALIFICATIONS

  • Bachelor’s in Computer Science, Computer Engineering, Electrical Engineering, or related field of study and (2) years of experience, a Master’s degree in a relevant field, or an equivalent combination of education/experience in a relevant field
  • Develop software to run in user-mode or kernel-mode
  • Ability to code in C or C++
  • Ability to use a scripting language (Python, Perl, Ruby, etc.)
  • Experience with PC and embedded systems architecture to include boot processes and OS internals
  • Experience with a disassembler for vulnerability research (Ghidra, IDA Pro, BinaryNinja, etc.)
  • Understand network protocols
  • Experience with one or more assembly languages (x86, x64, ARM, MIPS, PowerPC, etc.)
  • Experience with one or more debuggers (WinDbg, OllyDbg, gdb, etc.)
  • Experience with vulnerability research on one or more operating systems: Android, Linux, QNX, RTOSs, or other custom operating systems
  • Ability to demonstrate good organization, communication, problem-solving, and teamwork skills
  • Knowledge of common mitigation techniques (DEP, ASLR, etc.)
  • Familiarity with fuzzers
  • Must be a sole US citizen with an active Secret

PREFERRED QUALIFICATIONS

  • Participation in CTFs
  • Ability to analyze assembly-level code on multiple platforms (x86, x64, ARM, MIPS, PowerPC, etc.)
  • Experience with symbolic analysis
  • Ability to analyze network protocols throughout all layers of the network stack
  • Experience in software engineering and architecture
  • Active Secret security clearance
  • Experience developing fielded software/tools and supporting them.
  • Knowledge of exploitation techniques (ret2libc, use-after-free, type confustion).
  • Experience porting PoCs to full-fledged tools.
  • Knowledge of Android CVEs
  • US Citizen with an active TS/SCI Security clearance.
Responsibilities

A Junior Reverse Engineer/Vulnerability Researcher performs assignments of a routine degree of complexity by porting and developing exploit tools, assessing and analyzing system configurations to facilitate development, reverse engineering existing tools to deconstruct functionality, developing test plans and measurements, applying existing exploit techniques to novel systems and assessing applicability as necessary.
Independently determine research paths forward given high level tasking.
Assists in the interpretation of results and writing of small sections of technical reports.
Completes assigned project work within schedule and budget constraints.

Loading...