<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Quarkslab's blog - DBI</title><link href="http://blog.quarkslab.com/" rel="alternate"></link><link href="http://blog.quarkslab.com/feeds/dbi.rss.xml" rel="self"></link><id>http://blog.quarkslab.com/</id><updated>2026-10-15T00:00:00+02:00</updated><entry><title>Internship Offers for the 2026-2027 Season</title><link href="http://blog.quarkslab.com/internship-offers-for-the-2026-2027-season.html" rel="alternate"></link><published>2026-10-15T00:00:00+02:00</published><updated>2026-10-15T00:00:00+02:00</updated><author><name>Quarkslab</name></author><id>tag:blog.quarkslab.com,2026-10-15:/internship-offers-for-the-2026-2027-season.html</id><summary type="html">&lt;p&gt;The internship 2026-2027 season at Quarkslab is open! Our internship positions cover a wide range of topics and expertise, and aim at tackling new challenges in various fields.&lt;/p&gt;</summary><content type="html">&lt;ul&gt;
&lt;li&gt;🟢 &lt;a href="#pwntcu"&gt;Vulnerability assessment and exploitation of a Telematic Control Unit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🟢 &lt;a href="#pwnsat"&gt;Vulnerability assessment and exploitation of satellite communication systems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🟢 &lt;a href="#antidbi"&gt;Protections against dynamic attacks for firmware&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🟢 &lt;a href="#lefuzz"&gt;Development of tooling for fuzzing infrastructure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🟢 &lt;a href="#fightdbi"&gt;Fighting Dynamic Binary Instrumentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We also welcome people with wide but realistic creativity, so if you have an idea and want to join the team, don't hesitate to reach out to discuss it with our experts!&lt;/p&gt;
&lt;p&gt;Our goal is to publish most of the results of our internships. Here are some examples of publications from previous internships:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A &lt;a href="https://blog.quarkslab.com/starlink.html"&gt;blogpost&lt;/a&gt; on Starlink's User Terminal internals;&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://www.sstic.org/2024/presentation/testez_vos_primitives_cryptographiques_avec_crypto_condor/"&gt;SSTIC talk&lt;/a&gt; presenting &lt;a href="https://github.com/quarkslab/crypto-condor"&gt;crypto-condor&lt;/a&gt;, an open-source test suite for compliance testing of implementations of cryptographic primitives;&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://hardwear.io/netherlands-2024/speakers/baptiste-boyer.php"&gt;Hardwear.io talk&lt;/a&gt; on Bluetooth Low Energy GATT Fuzzing;&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://www.blackhat.com/eu-21/briefings/schedule/#-a-titan-m-odyssey-24471"&gt;Black Hat EU talk&lt;/a&gt; on the Google Titan M chip;&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://blog.quarkslab.com/differential-fuzzing-for-cryptography.html"&gt;blogpost&lt;/a&gt; on Differential fuzzing for cryptography&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Quarkslab's team is always pleased to welcome new talents who want to work on complex security research subjects. If you want to face new challenges and work in a dynamic environment where curiosity and teamwork are at the heart of our way to do R&amp;amp;D, please apply!&lt;/p&gt;
&lt;p&gt;In particular, we would be very happy to welcome more applications from female candidates, and under-represented minorities. Quarkslab is dedicated to making the cybersecurity world more welcoming and inclusive for all, and that starts with our internships.&lt;/p&gt;
&lt;p&gt;With that in mind, and because we know impostor syndrome is a big obstacle for women in particular -- we've been there -- don't hesitate to reach out to us at &lt;code&gt;icandoit-AT-quarkslab-DOT-com&lt;/code&gt; to discuss your skills, and we will help you navigate our offers.&lt;/p&gt;
&lt;h1 id="how-to-apply"&gt;How to Apply?&lt;/h1&gt;
&lt;p&gt;To apply for an internship position, you &lt;strong&gt;must be a student&lt;/strong&gt;, able to efficiently communicate on technical matters in written and spoken English, and willing to present the results of your internship to a large group of curious Quarkslab colleagues. Beforehand, you need to prepare the following elements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A resume;&lt;/li&gt;
&lt;li&gt;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;&lt;/li&gt;
&lt;li&gt;Your proposed solution to the assignment attached to the offer you are interested in.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Package these elements and send them via email to &lt;code&gt;internship-AT-quarkslab-DOT-com&lt;/code&gt;, with the &lt;strong&gt;subject field containing the internship name&lt;/strong&gt; mentioned in the respective offer.&lt;/p&gt;
&lt;p&gt;Do not forget that the key aspect of a good application is being curious and motivated, not meeting all requirements listed in the offers below should not prevent you from sending us your application, and we can discuss your skills. Keep in mind that internships are meant for learning. Let's go!&lt;/p&gt;
&lt;h1 id="selection-process"&gt;Selection Process&lt;/h1&gt;
&lt;p&gt;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 are open to discussion!&lt;/p&gt;
&lt;p&gt;The first applications usually reach us a few days after publication, and we start reviewing them right away. Some internships are filled before the end of the year, while others remain open until March.&lt;/p&gt;
&lt;p&gt;Did you notice the colored circles next to the title of the offers at the top of this blogpost? They reflect the state of internships:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🟢 Waiting for applications;&lt;/li&gt;
&lt;li&gt;🟠 Reviewing applications, we are still accepting internship assignments but hurry up;&lt;/li&gt;
&lt;li&gt;🔴 Internship is filled.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="being-an-intern-at-quarkslab"&gt;Being an Intern at Quarkslab&lt;/h1&gt;
&lt;p&gt;Training and helping people grow 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 and write articles in tech magazines. Sharing is caring, but sharing is also learning. We provide the environment for that and the rest relies on you.&lt;/p&gt;
&lt;p&gt;Intern package in France:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Salary: &amp;euro;1800 gross per month (approximately &amp;euro;1550 net);&lt;/li&gt;
&lt;li&gt;"Tickets restaurant" (restaurant coupons);&lt;/li&gt;
&lt;li&gt;In-depth and challenging topics.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="internships-topics"&gt;Internships Topics&lt;/h1&gt;
&lt;p&gt;&lt;a id="pwntcu"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="vulnerability-assessment-and-exploitation-of-a-telematic-control-unit"&gt;🟢 Vulnerability assessment and exploitation of a Telematic Control Unit&lt;/h2&gt;
&lt;h3 id="description"&gt;Description&lt;/h3&gt;
&lt;p&gt;Since 2016, every new model of vehicle sold in Europe should be equiped with an eCall module, that provides voice and data connectivity for emergency services. This was an important milestone in the connectivity of road vehicles, as manufacturer are using this data capability to enhance the driver experience, with live information, remote control, ...&lt;/p&gt;
&lt;p&gt;Therefore, the telematic control module (TCU) is a key element in the security of a car, with a permanent 3GPP connectivity. From this perspective, questions arise:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Are these modules secure enough to prevent an attacker to get a remote access to a vehicle ?&lt;/li&gt;
&lt;li&gt;What kind of data are transmitted to backend server, brokers, and what could be the impact from a privacy point of view ?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;During this internship you'll focus on one or two telematic control unit, to get an understanding on how they work, analyze communications and evaluate the maturity of their security features.&lt;/p&gt;
&lt;h3 id="required-skills"&gt;Required Skills&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ARM reverse engineering (intermediate)&lt;/li&gt;
&lt;li&gt;Fuzzing (basic to intermediate)&lt;/li&gt;
&lt;li&gt;Programming: Python, C&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="what-you-will-do"&gt;What you will do&lt;/h3&gt;
&lt;p&gt;The goals of this internship are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Extract and analyse the operating system of a telematic control unit&lt;/li&gt;
&lt;li&gt;Reverse-engineer targeted binary to understand how the device communicate with the backend&lt;/li&gt;
&lt;li&gt;Analyze the TCU baseband&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="assignment"&gt;Assignment&lt;/h3&gt;
&lt;p&gt;Download the &lt;a href="resources/2026-10-15_quarkslab-internship-offers-for-2026-2027/pwntcu-assignment.zip"&gt;assignment.zip&lt;/a&gt; file and follow the instructions in &lt;code&gt;assignment.md&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="duration"&gt;Duration&lt;/h3&gt;
&lt;p&gt;6 months&lt;/p&gt;
&lt;h3 id="location"&gt;Location&lt;/h3&gt;
&lt;p&gt;Paris, France&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;a id="pwnsat"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="vulnerability-assessment-and-exploitation-of-satellite-communication-systems_1"&gt;🟢 Vulnerability assessment and exploitation of satellite communication systems&lt;/h2&gt;
&lt;h3 id="description_1"&gt;Description&lt;/h3&gt;
&lt;p&gt;This internship focuses on the practical security analysis of satellite communication systems, starting from the completion and operation of an existing &lt;strong&gt;ground station project&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The first objective will be to finalize the ground station setup and validate its ability to receive and process satellite signals. The intern will then use the station to &lt;strong&gt;capture and analyze real satellite communications&lt;/strong&gt;, identify the protocols and implementations in use, and understand the different layers involved in the communication chain.&lt;/p&gt;
&lt;p&gt;From these observations, the intern will study the security properties of the identified protocols and software implementations, map potential attack surfaces, and investigate possible weaknesses or vulnerabilities.&lt;/p&gt;
&lt;p&gt;Depending on the results, the project may include reproducing known vulnerabilities, analyzing protocol weaknesses, developing test or fuzzing environments, and experimenting with potential attacks in a controlled environment.&lt;/p&gt;
&lt;p&gt;The overall objective is to follow the complete path from &lt;strong&gt;signal acquisition to security research&lt;/strong&gt;, combining radio communications, protocol analysis, reverse engineering and vulnerability research.&lt;/p&gt;
&lt;h2 id="required-skills_2"&gt;Required Skills&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Programming:&lt;/strong&gt; Proficiency in Python, C/C++, or similar languages.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cybersecurity:&lt;/strong&gt; Understanding of vulnerability research, reverse engineering, and security assessment techniques.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Networking &amp;amp; Protocols:&lt;/strong&gt; Familiarity with communication protocols and packet analysis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Research:&lt;/strong&gt; Ability to investigate unfamiliar technologies, read technical specifications, and independently formulate hypotheses.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Radio/SDR knowledge:&lt;/strong&gt; Familiarity with SDR or digital communications is appreciated but not mandatory.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="assignment_1"&gt;Assignment&lt;/h3&gt;
&lt;p&gt;Choose a &lt;strong&gt;publicly documented vulnerability from 2022 or later&lt;/strong&gt; affecting a space-related protocol, software component, ground station, or satellite communication system.&lt;/p&gt;
&lt;p&gt;Rather than simply summarizing the CVE:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Analyze it:&lt;/strong&gt; Explain where the vulnerable component fits within a realistic satellite communication architecture, the root cause, and what an attacker would realistically need to exploit it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Investigate it:&lt;/strong&gt; Perform a small technical experiment: analyze the vulnerable code and its patch, reproduce the behavior, build a test harness, craft an input reaching the vulnerable code path, or propose another relevant experiment.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Go beyond the documentation:&lt;/strong&gt; Identify one question or hypothesis that is not answered by the CVE/advisory and explain how you would investigate it.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A successful exploit is &lt;strong&gt;not required&lt;/strong&gt;. We are more interested in your technical reasoning, methodology, observations, and ability to investigate an unfamiliar system.&lt;/p&gt;
&lt;p&gt;You may use &lt;strong&gt;AI tools&lt;/strong&gt; during the assignment. Briefly indicate how you used them and describe at least one AI-generated suggestion or conclusion that you &lt;strong&gt;verified, corrected, or rejected&lt;/strong&gt;, and explain why.&lt;/p&gt;
&lt;h3 id="duration_1"&gt;Duration&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;6 months&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="location_1"&gt;Location&lt;/h3&gt;
&lt;p&gt;Paris, France.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;a id="antidbi"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="protections-against-dynamic-attacks-for-firmware_1"&gt;🟢 Protections against dynamic attacks for firmware&lt;/h2&gt;
&lt;h3 id="description_2"&gt;Description&lt;/h3&gt;
&lt;p&gt;If you like playing cat and mouse and getting your hands dirty, this internship is for you!&lt;/p&gt;
&lt;p&gt;At Quarkslab, we have been developing application protection tools since 2014, featuring obfuscation and runtime application self-protection (RASP). One of these tools (QShield App Protection) relies on a compiler framework, LLVM, and comes as a replacement for the regular compiler used by our customers. &lt;/p&gt;
&lt;p&gt;While desktop and mobile targets have been supported for several years, supporting embedded targets is more challenging, due to the variety of situations.&lt;/p&gt;
&lt;p&gt;The goal of this internship is to ~~help the QShield team~~ improve ~~both~~ the level of protection for the IoT/embedded domain by developing sensors to detect dynamic attacks.&lt;/p&gt;
&lt;p&gt;For that you will need to reproduce the setup of attackers, analyze the weaknesses of the tooling they use, and develop proof of concepts to detect them or prevent their usage. You will then integrate them in our software protection tooling.&lt;/p&gt;
&lt;h3 id="required-skills_3"&gt;Required Skills&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Have an experience in building a firmware or a static library for an embedded device, and playing with compiler options.&lt;/li&gt;
&lt;li&gt;Have some familiarity with either Arm32 or AArch64 instruction sets.&lt;/li&gt;
&lt;li&gt;Be able to demonstrate experience developing in C.&lt;/li&gt;
&lt;li&gt;Have an interest in compilers and software protection or security (you don't need to be an expert in compilation ;) ).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="what-you-will-do_1"&gt;What you will do&lt;/h3&gt;
&lt;p&gt;During this internship, you will:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;research and develop detection or counter measures for dynamic tools/techniques used to reverse-engineer embedded software such as JTAG/SWD debugging, emulation with QEMU, dynamic instrumentation, etc.; &lt;/li&gt;
&lt;li&gt;integrate them into our coverage testing infrastructure which ensures that the sensors behave as expected in different environments; &lt;/li&gt;
&lt;li&gt;work on the integration in the development toolchains to improve the user experience.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For that you will work with people with various skills, such as reverse-engineering, software development with huge code bases and testing them.&lt;/p&gt;
&lt;h3 id="assignment_2"&gt;Assignment&lt;/h3&gt;
&lt;p&gt;Write a small &lt;strong&gt;bare-metal&lt;/strong&gt; firmware for the Arm Cortex-M3 emulated by QEMU
(&lt;code&gt;qemu-system-arm -M mps2-an385&lt;/code&gt;). You don't need any hardware. Use any Arm
toolchain (e.g. &lt;a href="https://github.com/arm/arm-toolchain"&gt;Arm Toolchain for Embedded&lt;/a&gt;
or the GNU Arm toolchain), but no vendor SDK, HAL, IDE or RTOS.&lt;/p&gt;
&lt;p&gt;The firmware must:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;use &lt;strong&gt;your own linker script and startup code&lt;/strong&gt; (vector table, reset handler);&lt;/li&gt;
&lt;li&gt;print its output through the board's &lt;strong&gt;UART&lt;/strong&gt; (not semihosting);&lt;/li&gt;
&lt;li&gt;determine whether it runs &lt;strong&gt;on an emulator or on real silicon&lt;/strong&gt;, using &lt;strong&gt;at
   least two independent checks&lt;/strong&gt;, and print the verdict and the raw values it
   observed.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Send us a zip containing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the sources;&lt;/li&gt;
&lt;li&gt;a &lt;code&gt;Makefile&lt;/code&gt; (or CMake) where &lt;code&gt;make run&lt;/code&gt; builds and runs everything;&lt;/li&gt;
&lt;li&gt;the ELF;&lt;/li&gt;
&lt;li&gt;a report of &lt;strong&gt;2 pages at most&lt;/strong&gt; that:&lt;/li&gt;
&lt;li&gt;explains the boot sequence of your firmware, from reset to &lt;code&gt;main&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;for each check: what it reads, the value seen under QEMU, the value you
    expect on a real Cortex-M3 &lt;strong&gt;with a reference to the Arm documentation&lt;/strong&gt;,
    and how an attacker could get around it;&lt;/li&gt;
&lt;li&gt;describes &lt;strong&gt;at least one check that did &lt;em&gt;not&lt;/em&gt; work&lt;/strong&gt;, and why;&lt;/li&gt;
&lt;li&gt;lists the tools you used, LLMs included, and what you checked yourself.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This should take 3 to 4 hours. We don't expect a perfect detector: a check
that fails, with a good explanation, is worth more than a long list of checks
you can't explain.&lt;/p&gt;
&lt;p&gt;If you're selected, you'll run the firmware during the interview and we'll
change it together, look at the binary, and discuss how to bypass your checks.&lt;/p&gt;
&lt;h3 id="duration_2"&gt;Duration&lt;/h3&gt;
&lt;p&gt;6 months&lt;/p&gt;
&lt;h3 id="location_2"&gt;Location&lt;/h3&gt;
&lt;p&gt;Paris, France&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;a id="lefuzz"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="development-of-tooling-for-fuzzing-infrastructure_1"&gt;🟢 Development of tooling for fuzzing infrastructure&lt;/h2&gt;
&lt;h3 id="description_3"&gt;Description&lt;/h3&gt;
&lt;p&gt;Fuzzers produce a lot of output data and it can sometimes be hard to sift through the results. Furthermore, different fuzzing targets require different sets of tools which might not share output formats.&lt;/p&gt;
&lt;p&gt;To face this, you will implement an aggregator that defines a common format for integrating fuzzing results into a unified dashboard. On top of displaying fuzzing campaign results, the goal of this aggregator is to triage bugs for efficient vulnerability research. The methodology will be different for each bug class and target, so the system shall be modular to allow for the integration of different types of fuzzers on different platforms.&lt;/p&gt;
&lt;h3 id="required-skills_4"&gt;Required Skills&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Proficient in C, C++ for analyzing code, experienced in python, js, or others for development work&lt;/li&gt;
&lt;li&gt;Deep understanding of fundamental bug classes in binary exploitation (buffer overflow, use-after-free, race condition, ...)&lt;/li&gt;
&lt;li&gt;Good communication skills&lt;/li&gt;
&lt;li&gt;Proficient in French and/or English&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="what-you-will-do_2"&gt;What you will do&lt;/h3&gt;
&lt;p&gt;Most of your work will be programming the dashboard with the help of LLMs when applicable. Alongside that, you will come up with ad-hoc strategies for automatically analyzing certain bug classes in a specific context and producing actionable insights.&lt;/p&gt;
&lt;h3 id="assignment_3"&gt;Assignment&lt;/h3&gt;
&lt;p&gt;This assignment is mostly theoretical.and consists of two write ups:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A 5 page (maximum) document describing the state of the art of binary fuzzers. In this report, include a comparison of the different fuzzing methodologies available and their use-cases. &lt;/li&gt;
&lt;li&gt;Pick any Android application that uses a native library to parse user-provided data, and write a small document on how you would fuzz that library.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="duration_3"&gt;Duration&lt;/h3&gt;
&lt;p&gt;6 months&lt;/p&gt;
&lt;h3 id="location_3"&gt;Location&lt;/h3&gt;
&lt;p&gt;Paris, France&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;a id="fightdbi"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="fighting-dynamic-binary-instrumentation_1"&gt;🟢 Fighting Dynamic Binary Instrumentation&lt;/h2&gt;
&lt;h3 id="description_4"&gt;Description&lt;/h3&gt;
&lt;p&gt;If you like playing cat and mouse and getting your hands dirty, this internship is for you!&lt;/p&gt;
&lt;p&gt;At Quarkslab, we have been developing application protection tools (QShield) since 2014, featuring protections against static attacks (obfuscation) and dynamic ones. &lt;/p&gt;
&lt;p&gt;Among the latter, Dynamic Binary Instrumentation (DBI) frameworks such as &lt;a href="https://qbdi.quarkslab.com/"&gt;QBDI&lt;/a&gt;, &lt;a href="https://www.intel.com/content/www/us/en/developer/articles/tool/pin-a-dynamic-binary-instrumentation-tool.html"&gt;Intel Pin&lt;/a&gt;, &lt;a href="https://dynamorio.org/"&gt;DynamoRIO&lt;/a&gt;, &lt;a href="https://learn.microsoft.com/en-us/windows-hardware/drivers/debuggercmds/time-travel-debugging-overview"&gt;WinDBG TTD&lt;/a&gt;  and &lt;a href="https://frida.re/"&gt;Frida&lt;/a&gt; have become foundational tools in software security, enabling fine-grained runtime analysis, tracing, and modification of program execution without requiring source code.&lt;/p&gt;
&lt;p&gt;While invaluable for legitimate purposes such as vulnerability research, malware analysis, and software testing, these same capabilities make DBI a powerful vector for reverse engineering, intellectual property extraction, and license or DRM circumvention when turned against commercial or sensitive software.&lt;/p&gt;
&lt;p&gt;As a result, anti-DBI techniques have become a critical component of software protection strategies. However, developing robust anti-DBI protections faces substantial technical barriers. DBI frameworks operate at a privileged level close to the CPU and OS, making their artifacts (timing anomalies, memory layout changes, code cache behavior) subtle and inconsistent across platforms and versions. &lt;/p&gt;
&lt;p&gt;The goal of this internship is to help the QShield team improve their current protections and develop new anti-DBI sensors.&lt;/p&gt;
&lt;p&gt;For that you will need to reproduce the setup of attackers, analyze the weaknesses of several DBI frameworks, and develop proofs of concept to detect them or prevent their usage. You will then integrate them into our software protection tooling.&lt;/p&gt;
&lt;h3 id="required-skills_5"&gt;Required Skills&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Be familiar with reverse-engineering.&lt;/li&gt;
&lt;li&gt;Be able to demonstrate experience developing in C.&lt;/li&gt;
&lt;li&gt;Have an interest in software protection or security.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="what-you-will-do_3"&gt;What you will do&lt;/h3&gt;
&lt;p&gt;During this internship, you will:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;research and develop detection or counter measures for DBI frameworks;&lt;/li&gt;
&lt;li&gt;integrate them into our coverage testing infrastructure which ensures that the sensors behave as expected in different environments.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For that you will work with people with various skills, such as reverse-engineers, and the developers of huge code bases and their testing infrastructure.&lt;/p&gt;
&lt;h3 id="assignment_4"&gt;Assignment&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;As a first step, you will develop a "hello world" Linux x64 binary that detects when it is being executed under &lt;a href="https://github.com/llaubin/Tracer/tree/docker/TracerPIN"&gt;this tracer&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;As a second step, you will assess whether your solution still works if the tracer is modified to hide or alter the artifacts you rely on (for example a string identification), and propose a more resilient detection mechanism.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Expected outputs :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A PoC in source code form (feel free to use the language you want), that builds cleanly on a standard Linux environment (dockerfile accepted), with no manual tweaking required.&lt;/li&gt;
&lt;li&gt;A write-up in Markdown explaining the choices made for the PoC and detailing the second part of the assignment.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="duration_4"&gt;Duration&lt;/h3&gt;
&lt;p&gt;6 months&lt;/p&gt;
&lt;h3 id="location_4"&gt;Location&lt;/h3&gt;
&lt;p&gt;Rennes, France&lt;/p&gt;</content><category term="Life at Quarkslab"></category><category term="job"></category><category term="internship"></category><category term="TCU"></category><category term="automotive"></category><category term="reverse engineering"></category><category term="Android"></category><category term="satellite"></category><category term="fuzzing"></category><category term="DBI"></category><category term="RASP"></category><category term="software protection"></category><category term="vulnresearch"></category><category term="2026"></category></entry></feed>