PhD Position F/M Verifying Memory Safety of Linux Kernel Drivers
Le descriptif de l’offre ci-dessous est en Anglais
Type de contrat : CDD
Niveau de diplôme exigé : Bac + 5 ou équivalent
Fonction : Doctorant
A propos du centre ou de la direction fonctionnelle
The Centre Inria de l’Université de Grenoble groups together almost 600 people in 26 research teams and 9 research support departments.
Staff is present on three campuses in Grenoble, in close collaboration with other research and higher education institutions (Université Grenoble Alpes, CNRS, CEA, INRAE, …), but also with key economic players in the area.
The Centre Inria de l’Université Grenoble Alpes is active in the fields of high-performance computing, verification and embedded systems, modeling of the environment at multiple levels, and data science and artificial intelligence. The center is a top-level scientific institute with an extensive network of international collaborations in Europe and the rest of the world.
Mission confiée
The Linux kernel is a large and complex codebase (millions of lines of code, mostly in C) which makes formal verification of its components a significant challenge. Device drivers, in particular, are often developed by third parties or maintained outside the mainline kernel, and are a frequent source of bugs, especially memory safety issues such as buffer overflows, dangling pointers, and use-after-free errors.
While verifying the entire kernel is currently out of reach, focusing on memory safety in drivers -- which typically interact with the kernel through well-defined interfaces -- offers a promising and tractable target for formal analysis.
Objective
The goal of this PhD is to formally verify the memory safety of Linux kernel drivers. The project will focus on driver interactions with the kernel, including the direct use of kernel APIs and shared memory structures.
Principales activités
The work will involve:
1. Selecting representative drivers and the kernel APIs they rely on.
2. Defining memory safety properties relevant to these drivers (e.g., correct use of DMA buffers).
3. Identifying common unsafe patterns or assumptions in the use of kernel APIs.
4. Exploring tools (e.g., static analysis, symbolic execution, model checking, formal specification) to verify that drivers satisfy the defined safety properties.
Expected outcomes include a better understanding of the conditions under which drivers can be memory-safe, formal models or specifications of key driver–kernel interfaces, and verified case studies of existing drivers. This work could pave the way toward a more robust Linux kernel, offering stronger guarantees for one of its most vulnerable components.
Compétences
Technical skills and level required : knowledge of Rust and C, prior experience with verification of low-level code
Languages : fluent Englis
Avantages
5. Subsidized meals
6. Partial reimbursement of public transport costs
7. Leave: 7 weeks of annual leave + 10 extra days off due to RTT (statutory reduction in working hours) + possibility of exceptional leave (sick children, moving home, etc.)
8. Possibility of teleworking (after 6 months of employment) and flexible organization of working hours
9. Professional equipment available (videoconferencing, loan of computer equipment, etc.)
10. Social, cultural and sports events and activities
11. Access to vocational training
12. Social security coverage (under conditions)
Rémunération
2200 euros gross salary /month in 2025
2300 euros gross salary /month in 2026
En cliquant sur "JE DÉPOSE MON CV", vous acceptez nos CGU et déclarez avoir pris connaissance de la politique de protection des données du site jobijoba.com.