Gecko Bootloader Vulnerability Research

Paris Internship (6 Months)

View job offers

About Quarkslab

Quarkslab is a French company specializing in information security R&D, consulting and software development. Our expertise is in combining offensive and defensive security to help organizations adopt a new security posture: Force the attackers, not the defender, to adapt constantly. Through our consulting services as well as our software we provide tailored solutions to organizations, helping them to protect their assets, sensitive data, and users against increasingly sophisticated attacks.


Quarkslab is an avid and active user of, and contributor to, Open Source Software and develops and maintains state-of-the-art security tools such as LIEF , QBDITritonIrma, and several other projects.


We develop two commercial software products: QFlow, a platform to automate and orchestrate security analysis of files at scale, and QShield, advanced code and data protection software to disrupt code lifting, reverse engineering and tampering attacks.

Job description

Description

Silicon Labs is a chip builder with several network-targeted features like BLE and Zigbee. These chips are the base of many connected objects, compromising this chip means compromising all these connected objects insofar as they use the vulnerable functionality.

  • The objective of the proposed internship is to investigate the SDK offered by Silicon Labs, the Gecko SDK (GSDK). In particular, its OTA functionality, which seems to be state of the art on these protections, but what about the code that composes it?


What you will do

  • Reverse some firmware format.
  • Analyze the stack Zigbee/Bluetooth use for the updates.
  • Search for some vulnerabilities.


Assignment

Click here to download the assignment resources.

These are an ARM binary used to flash a new firmware provided as an argument, as well as a dummy firmware and a name for the file to be flashed. Your goal is to find the appropriate format to flash this firmware.


You are not allowed to modify the flashing binary.


Location

Paris or Rennes


Duration

6 months


How to Apply?

To apply for an internship position, you must be a student, able to communicate effectively technical matters in written and spoken English, and willing to present the results of your internship to a large group of curious Quarkslab colleagues.

To apply prepare the following elements:

  • a resume;
  • a cover letter: avoid the generic letter saying that you are so motivated and that we are so interesting. We welcome a more personal letter which explains why the topic is of particular interest to you, why you, and why us;
  • your proposed solution to the assignment attached to the offer you are interested in;
  • your preference between pain au chocolat or chocolatine.

Package these elements and send them via email to internship-AT-quarkslab-DOT-com, with the subject field containing the internship name mentioned in the respective offer. Alternatively, you can apply here with all the above attached.


Do not forget that the key aspect of a good application is to show what you have already achieved, related to the topic or not. So do not be shy and apply! We know that you can do it.


Selection Process

Each internship offer comes with a little assignment that should not require too much time to be completed. The result will show us not only the type of skills and knowledge you already possess, but also how ingenious you are and how well you can present your reasoning. It will serve as the basis for the interview you will have in the selection process. The assignment works both ways and is also intended to make sure that you like the topic as well as the technical aspects of the internship. If unsure about a specific aspect of a challenge, do not hesitate to drop us an email. We want to discuss not frustrate you!


The first applications usually reach us by November, and we start reviewing them right away. Every year, the filling is alike: half of the internships are filled by Christmas, while the others remain open until March.


Being an Intern at Quarkslab

We consider internships as opportunities to spot profiles that match how we work. They are intended to guide students to enter the professional world as potential future colleagues if they feel like it. We love interns because they bring fresh air to the company and because we see them grow, not only during the internship but also after, when they are hired and can get to work on so many other topics. There are two goals in every internship we offer:

  1. Exploring a topic we don't necessarily know very well, hence training the new expert on the topic.
  2. Hiring you after the internship to keep and share your new expertise with colleagues.


Training and growing people in the security industry is part of the company's DNA. That is why we provide in-depth blogposts, tools, trainings, weekly internal conferences (called fridaycon, guess when they are), we teach in universities and schools, write articles in tech magazines and send our less experienced hires to a 6-month intensive training program (BADGE-RE or BADGE-SO). Sharing is caring, but sharing is also learning. We provide the environment for that the rest relies on you.


Intern package in France:

  • Salary: 1800€ gross per month (approximately 1550€ net).
  • "Tickets restaurant" (restaurant coupons).
  • In-depth and challenging topics.

Profile

Required Skills

  • experience in reversing C or C++;
  • knowledge of the ARM architecture;
  • some experience with an emulation framework such as Unicorn;
  • file format reverse engineering will be a plus for this internship.
Paris
Internship (6 Months)
IT
Power byTaleez