Embedded Communications System Software/Firmware Analyst
We are seeking a highly motivated individual to support assessment of software and/or firmware of embedded communications systems. The candidate will perform analysis of software/firmware from embedded and PC-based systems for identification of system technical capabilities and potential vulnerabilities. Technical disciplines that may be required in these efforts include static and dynamic analysis of software/firmware components of communication systems, development of software analysis tools to assist in the reverse engineering process, and utilization of virtual and emulation environments for executing software under test.
Location: Atlanta, GA
The following skills/experience are highly desired: experience with a variety of microprocessor architectures and programmable logic devices, software reverse engineering, knowledge of typical encryption and authentication schemes used in wireless communications, digital communication theory, networking protocols, embedded operating systems, and embedded system programming. The candidate will be expected to support sponsor briefings and prepare technical reports.
Education & Length of Experience
- A Master’s degree in Electrical Engineering, Computer Engineering, Computer Science, or related field of study and three (3) years of relevant full-time experience after completion of that degree,
- A Master’s degree in Electrical Engineering, Computer Engineering, Computer Science, or related field of study and five (5) years of relevant full-time experience after completion of a Bachelor’s degree, or
- A Doctoral degree in Electrical Engineering, Computer Engineering, Computer Science, or related field of study.
Required Minimum Qualifications
- Bachelor’s degree in Electrical Engineering, Computer Engineering, Computer Science, or Related Field
- Ability to earn a Master’s degree within five years of employment
- Experience programming embedded communications devices including one or more of the following: micro controllers, digital signal processors, and programmable logic devices including FPGAs.
- Experience designing and implementing digital communication systems in embedded software/firmware demonstrating solid knowledge in one or more of the following communication theory concepts: modulation/demodulation, spread spectrum (frequency hopping, in particular), error correction coding, synchronization methods, wireless network management strategies, encryption algorithms, and authentication.
- Ability to work independently and effectively in a multi-disciplinary team environment
- Ability to follow Georgia Tech policies and procedures
- Strong verbal and written communication skills
- Experience with software reverse engineering tools (IDA, advanced debuggers, etc.)
- Experience with a variety of different processor types such as ARM, AVR, 8051, PowerPC, Freescale 68K, PIC, Renesas.
- Experience with multiple DSP architectures (Texas Instruments, in particular) and understanding of algorithms and applications commonly implemented in DSPs.
- Experience developing software analysis tools to assist in the reverse engineering process using scripting languages and/or object oriented programming. Experience with low-level (C/C++) programming and a high-level scripting language (e.g. Python, TCL)
- Experience interacting with software test environments to include virtualized and emulative environments capable of executing the software under test (e.g. VMware, VirtualBox, QEMU, Unicorn)
- Experience with Octave/Python/MATLAB/Simulink for modeling digital signal processing blocks.
- Experience working with major FPGA vendor design tool suites (Xlinx ISE and/or Vivado, Altera Quartus Tool Suites, Microsemi Libero) and familiarity with standard FPGA design flow (Synthesis, Place and Route, Simulation, Timing Analysis, Floor Planning)
- Experience with embedded operating systems including identifying and configuring bootloaders, kernels, program code and both static and dynamic drivers.
- Experience with developing programs running on an embedded real-time operating system such as VxWorks, QNX, µC/OS, or LinuxRT.
- Design and/or testing of embedded circuit boards – experience in test and instrumentation including soldering, use of JTAG, logic analyzers, oscilloscopes, etc.
- Familiarity with RF transmitter/receiver design
- Familiarity with embedded serial data protocols
- Familiarity with various communications protocols and protocol stack concepts with emphasis on the physical, data link, and network layers
- Experience working with the U.S. government, including the Department of Defense and the Intelligence Community
- Active U.S. security clearance
U.S. Citizenship Requirements
Due to our research contracts with the US federal government, candidates for this position are required to be US Citizens.
Clearance Type Required
Diversity & Inclusion
Diversity & Inclusion (D&I) aims to enhance the Institute’s mission of solving the world’s most complex technical problems by creating a workforce with a shared appreciation for diversity, raising awareness around inclusiveness, and fostering a sense of belonging and appreciation for all members of our community.
Equal Employment Opportunity
We are an Equal Opportunity Employer of individuals with disabilities and protected veterans and actively seeks diversity among its employees.