LinuxJobs LinuxJobs (mobile)

Développeur pour contribuer à Debian un initrd avec verified boot à Lille (stage ou CDI) (télétravail)

Ajoutée le 31 décembre 2019

Nexedi

Lille (Programmeurs)

https://www.nexedi.com


Nexedi propose des stages pour des étudiants ou futurs ingénieurs intéressés par les logiciels libres avec embauche possible en fin de stage. Le contenu de chaque stage est adapté à chaque personnalité et à la durée du stage.

Ces sujets de stage peuvent également constituer la première mission lors d'une embauche en CDI d'un développeur confirmé et déjà fortement impliqué dans le domaine des logiciels libres.

Nous proposons par exemple d'étendre le système d'initrd de Debian pour disposer d'une forme restreinte de secure boot ou de verified boot. L'objectif d'un verified boot est de garantir que le système d'exploitation qui s'exécute sur un serveur, un PC ou un smartphone est bien celui qui est sensé s'exécuter et non autre chose (et non par exemple un système vérolé comprenant un rootkit ou un botnet).

La notion de verified boot a été déployée de façon massive et avec succès en informatique grand public avec ChromeOS. L'article du MIT "Security of Google Chromebook" permet de disposer rapidement d'une vue d'ensemble de ce que peut être un système de boot sûr et vérifié (et libre).

Il existe déjà plusieurs projets autour du secure boot sous Debian :

Cependant, aucune de ces solutions ne répond de façon simple à la question : est-ce que ce qui tourne sur ma Debian est bien ce qui est sensé tourner ? En d'autres termes, qui me dit que les commandes ls et sha n'ont pas été modifiées pour que ls modifie le filesystem et sha ne me permette pas de calculer le hash de ls ? Si 'fs-verity" s'approche d'une solution, cela suppose d'utiliser une Debian en mode read-only, ce qui n'est pas pratique si l'on veut par ailleurs pouvoir effectuer des mises à jour incrémentales à chaud avec apt (et non avec un système de build embarqué de type Elbe). Quant à Tripwire, s'il est exécuté hors de l'initrd, comme être certain qu'il n'a pas lui-même été altéré ?

Nous proposons donc d'améliorer le générateur d'initrd de Debian pour que, lors du processus de boot, un utilitaire intégré à l'initrd effectue une analyse du filesystem et compare la liste des fichiers ou leurs has hà une liste pré-établie de valeurs. En cas de non conformité, un système central est notifié. Diverses actions (ex. non démarrage de l'OS) peuvent être également prévues.

Toutes ces actions doivent être exécutées dans un initrd lui-même signé, vérifié préalablement par GRUB et fonctionnant en lecture seule. Cet initrd doit par ailleurs pouvoir vérifier son propre contenu (pour éviter que l'initrd contienne lui-même un rootkit par exemple), ce qui suppose un mécanisme particulier de construction de l'initrd prenant en compte la possibilité que la commande mkinitrd s'exécute sur une machine déjà vérolée.

Cette mission permet de développer ou de renforcer des compétences fortes dans le domaine des systèmes d'exploitation GNU/Linux, de la sécurité et du processus de démarrage d'un système d'exploitation. Ces compétences peuvent être utiles ensuite soit dans le domaine du cloud soit dans celui de l'informatique embarquée. Une dimension de recherche peut également être envisagée autour des aspects de sécurité.

Nexedi est (probablement) le premier éditeur européen de logiciels libres avec un porte-feuille de technologies libres de plus de 15 millions de ligne de code. Les logiciels libres de Nexedi permettent de se passer de toute dépendance aux GAFAM dans le domaine de l'informatique d'entreprise.

enter image description here

Une présentation détaillée de Nexedi est disponible en ligne : Nexedi Status and Roadmap.

En savoir plus sur Nexedi :

Avantages

Logement à Lille. Voyages à des sprint de développement. Barbecue. Machine à café "Jura" et café issue de l'économie raisonnée. Thé sélectionné par des ingénieurs chinois ou japonais.

LinuxJobs Twitter LinuxJobs Diasporas Twitter RSS LinuxJobs Journal du hacker