Internship | Reverse Engineer - IoT fuzzing pipeline using Qiling

Prácticas 6 meses

Bordeaux

Publicado el 16 de enero de 2025

  • Contrato

    Prácticas 6 meses

  • Localización

    Bordeaux

  • Fecha de inicio

    Lo antes posible

  • Nivel de estudios

    Nivel de máster o equivalente

  • Teletrabajo

    Parcial

Your day-to-day would be:

The esReverse platform allows reverse-engineers to perform unique full-system timeless analyses of a system's execution, thereby providing powerful tools to study data flow, hard to reproduce use cases, kernel/application communication mechanisms.

In recent developments, we have interfaced our Time Travel engine (esReven) with Qiling through Reven-Unicorn. Reven-Unicorn is a Time Travel recording engine based on the Emulation framework Unicorn. Qiling is a binary analysis framework that emulates an operating system.

The first task is to become familiar with the different tools that need to be interfaced with each other for that pipeline, namely: AFL, Qiling, Reven-unicorn, esReven and our collaborative platform that links everything together esReverse.

Then you will instrument userland IoT firmware applications for Qiling emulation and set up the fuzzing of that target. Then, adapting the emulation to perform Time Travel analysis of the crashes found by the fuzzer. 

The objective is to create a pipeline that takes as input a Qiling script emulating a binary, automatically sets up the fuzzing and launches the recording of a time travel trace for every crash found.

This will be based on published CVEs on devices such as: cameras, routers, sensors etc. Together, we will make a selection of these vulnerabilities and ask you to implement these use cases. This means that your work will cover many aspects of understanding a product in depth and gain a strong practical experience in using various reverse engineering tools. Your main goal will therefore be to implement back to back the analysis and successfully demonstrate the impacts of the vulnerabilities. You will report your results in the form of write-ups, whether Jupyter Notebooks or articles, that will enrich the Knowledge Base.

Directly attached to a member of the R&D team, you will be in charge of the following missions:

  • Identify some targets and select which one will be studied first.
  • Instrument the targets through a Qiling scripts
  • Setup a fuzzing campaign on the different targets
  • Analyze the crashes using the time travel engine esReven
  • Setup a pipeline automating the fuzzing and recording process for a given Qiling script
  • Document your findings using notebooks and produce a blog post to communicate on your results.

You’re perfect for us, if…

  • You are already proficient in reverse engineering, which is a passion of yours.
  • You participated in CTFs or other contests and got significant results.
  • Not mandatory but potentially aligned with the internship duration, you are preparing a master degree and are in your last year of study.
  • You have developed a particular interest in:
  • Reverse Engineering, Vulnerability analysis or Malware analysis
  • Development with Python
  • You have some good knowledge of ARM architectures, Assembly, C programming, IDA or Ghidra, Debuggers, and other tools.
  • You are hacker minded, responsive and have the spirit of initiative.
  • You demonstrate autonomy in your assignments.
  • You demonstrate good interpersonal skills that will allow you to work as a team effectively.
  • You have a good writing level in English.

Benefits

  • Support from professionals in a cutting-edge and booming business sector
  • Dynamic work environment within a young and friendly team
  • High performance work equipment
  • Flexible working hours
  • Space dedicated to talent development
  • “Tickets restaurant” covered up to 50%
  • Annual events, snacks and drinks

Fecha límite de candidatura

Siempre que la oferta esté en línea

Función

Programación

Más información sobre la empresa