Keysight is on the forefront of technology innovation, delivering breakthroughs and trusted insights in electronic design, simulation, prototyping, test, manufacturing, and optimization. Our ~15,000 employees create world-class solutions in communications, 5G, automotive, energy, quantum, aerospace, defense, and semiconductor markets for customers in over 100 countries. Learn more about what we do.

Our powerful, award-winning culture embraces a bold vision of where technology can take us and a passion for tackling challenging problems with industry-first solutions. Diversity, equity & inclusion are integral parts of our culture and drivers of innovation at Keysight. We believe that when people feel a sense of belonging, they can be more creative, innovative, and thrive at all points in their careers.

The role

Keysight Technologies UK is looking for students interested in automating embedded device firmware security analysis. This internship program aims to develop a state-of-the-art automated firmware binary extraction and artifacts analysis system. The successful candidate will port Keysight’s existing analysis engine code base from Python to Rust and should make architectural and performance improvements in the process. This internship lasts 6 months, and the selection process involves a home-work style assignment that helps us and the candidate assess the internship's technical aspects. Responsibilities:

Responsibilities and deliverables

The successful candidate will design and develop an improved firmware analysis engine based on Keysight’s existing solution. This includes:

  • Improve the current firmware extraction module by supporting new archives and file formats.
  • Port the existing security analysis plugins from Python to Rust and develop new analysis plugins to detect configuration weaknesses for Linux, Android, QNX, and VxWorks environments.
  • Design and implement a multi-user “firmware library” backend architecture to store and present analysis results.
  • Integrate the new engine with the SBOM extractor and static binary analysis engine.
  • Integrate the new engine with a third-party workflow management solution.

Keysight’s experts will work with the intern in every step of the project to ensure that they possess the required information and resources for the timely and effective delivery of the work packages. 

Required skills

  • Working knowledge of Python programming
  • Practical experience with programming in Rust
  • Experience with reverse engineering file formats or binary code
  • Broad understanding of software vulnerability classes

Preferred skills

  • Experience with firmware security assessment
  • Experience with automating binary analysis tasks in Ghidra, IDA Pro or similar RE tools