← Derniers articles
💻 computer science

A Security Analysis of CheriBSD and Morello Linux

Cet article analyse la sécurité de CheriBSD et de Morello Linux, démontrant que malgré l'efficacité de l'architecture CHERI contre la corruption de mémoire, les mécanismes de compartimentation existants restent vulnérables à des contournements par des bogues et des attaques simples, et propose des atténuations et des recommandations spécifiques pour remédier à ces faiblesses.

Auteurs originaux : Dariy Guzairov, Alex Potanin, Stephen Kell, Alwen Tiu

Publié 2026-01-28
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Dariy Guzairov, Alex Potanin, Stephen Kell, Alwen Tiu

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez un coffre-fort de banque à haute sécurité. Autrefois, si un voleur brisait une fenêtre (un bug logiciel), il pouvait faire rage à l'intérieur de la banque, volant tout, du bureau du guichetier jusqu'au coffre du PDG.

Pour arrêter cela, des ingénieurs ont construit un nouveau type de coffre-fort appelé CHERI. Au lieu de simplement verrouiller les portes, ils ont donné à chaque objet de la banque une « clé magique » spéciale (appelée une capacité ou capability). Cette clé ne dit pas seulement « ouvrez cette porte » ; elle dit : « Vous pouvez ouvrir cette porte spécifique, mais uniquement entre 9h et 17h, et vous pouvez seulement regarder à l'intérieur, pas toucher aux objets ».

L'objectif de CHERI est la compartimentation : diviser la banque en petites pièces isolées. Si un voleur s'introduit dans la pièce « Boutique de Cadeaux », les clés magiques qu'il y trouvera ne doivent lui permettre d'ouvrir que les portes de la Boutique de Cadeaux. Ils ne devraient pas pouvoir entrer dans la pièce « Coffre-fort ».

Ce document est comme un rapport d'audit de sécurité. Les chercheurs ont demandé : « Si un voleur pénètre dans la Boutique de Cadeaux, peut-il quand même s'introduire dans le Coffre-fort ? » Ils ont testé cela sur deux versions différentes du système bancaire : Morello Linux et CheriBSD.

Voici ce qu'ils ont trouvé, expliqué simplement :

Le problème central : La fuite des clés maîtresses

Même si les murs sont solides, les chercheurs ont trouvé quatre façons pour le voleur de la « Boutique de Cadeaux » de voler les clés qui ouvrent le « Coffre-fort ».

1. L'attaque par « marche sur la pile » (Regarder dans les poubelles)

L'analogie : Imaginez que chaque fois qu'un employé effectue une tâche, il écrit des notes sur un post-it et le colle sur une pile sur son bureau. Lorsqu'il termine, il passe à la tâche suivante, mais il oublie parfois de jeter les anciens post-it.
L'attaque : Le voleur de la Boutique de Cadeaux regarde la pile de post-it laissés derrière eux par les employés précédents. Il trouve une note qui dit : « Voici la clé du Coffre-fort ». Parce que le système n'a pas nettoyé les notes (la mémoire), le voleur vole la clé et entre directement dans le Coffre-fort.
La solution : Les chercheurs suggèrent que la banque devrait avoir une « équipe de nettoyage » qui efface chaque post-it du bureau immédiatement après usage, ou donner à chaque employé son propre bureau privé pour qu'ils ne puissent pas voir les notes des autres.

2. La fuite « Dlopen » (La carte défectueuse)

L'analogie : La banque possède un annuaire central (une carte) qui indique où se trouvent toutes les pièces. Lorsqu'une nouvelle pièce est ajoutée, l'annuaire est mis à jour. Le voleur demande à l'annuaire la carte de la « Boutique de Cadeaux ».
L'attaque : L'annuaire lui donne une carte, mais c'est une version « défectueuse ». Au lieu de montrer uniquement la Boutique de Cadeaux, la carte inclut accidentellement une liste secrète de toutes les pièces de la banque, y compris le Coffre-fort, le bureau du PDG et le coffre. Le voleur utilise cette liste accidentelle pour trouver les clés de partout.
La solution : Les chercheurs suggèrent que l'annuaire donne au voleur une carte « scellée ». Le voleur peut voir la carte, mais il ne peut pas lire les parties secèbres à moins de posséder un outil spécial de rupture de sceau (qu'il ne possède pas).

3. L'attaque par « fouille du tas » (Chercher dans le tas)

L L'analogie : La banque possède un grand tas de boîtes jetées (mémoire) dans un coin. Lorsqu'une boîte est jetée, elle est censée être vide. Mais parfois, les travailleurs jettent des boîtes qui contiennent encore des outils ou des clés parce qu'ils ont oublié de les vider d'abord.
L'attaque : Le voleur fouille dans le tas de boîtes jetées, cherchant une boîte qui contient encore une clé. S'il trouve une clé laissée derrière par l'employé du « Coffre-fort », il peut l'utiliser pour ouvrir le Coffre-fort.
La solution : La banque doit avoir une règle qui dit : « Avant de jeter une boîte, vous devez la balayer pour qu'elle soit propre ». Ou bien, le voleur ne devrait être autorisé à fouiller que dans un tas de boîtes qui lui appartient, et non dans celui de toute la banque.

4. L'attaque par « stockage sur le tas » (La bombe à retardement)

L'analogie : Le voleur attrape une boîte du tas, écrit son nom dessus et la cache dans sa poche. Plus tard, la banque jette cette même boîte et la donne à un nouvel employé.
L'attaque : Le voleur attend. Plus tard, il vérifie sa poche. La boîte est maintenant utilisée par le nouvel employé pour stocker l'or du Coffre-fort. Parce que le voleur possède toujours un « pointeur » (une note mentale) vers cette boîte spécifique, il peut y plonger la main et voler l'or, même s'il n'est pas censé être là.
La solution : La banque a besoin d'un système qui « révoque » (détruit) les anciennes clés d'une boîte dès qu'elle est jetée, afin que la note mentale du voleur devienne inutile.

Les résultats : Deux banques différentes

Les chercheurs ont testé ces ruses sur deux systèmes différents :

  • Morello Linux : Ce système était très vulnérable. Le voleur pouvait utiliser les quatre ruses pour sortir de la Boutique de Cadeaux et voler les clés privées du Coffre-fort principal. C'était comme une banque sans gardiens et avec des post-it sales partout.
  • CheriBSD : Ce système était bien meilleur. Il possédait des gardiens intégrés (appelés c18n et révocation de tas/heap revocation).
    • La ruse de la « Marche sur la pile » ne fonctionnait pas car chaque employé avait son propre bureau privé (piles isolées).
    • La ruse du « Stockage sur le tas » ne fonctionnait pas car la banque avait un système qui détruisait les anciennes clés immédiatement.
    • Cependant, la fuite « Dlopen » et la « Fouille du tas » fonctionnaient encore. Le voleur pouvait toujours trouver la carte secrète et fouiller dans les boîtes sales.

La conclusion majeure

Les chercheurs ont construit une « Preuve de Concept » (un cas de test) où ils ont réussi à voler une clé privée (comme un mot de passe maître) d'un programme sécurisé en utilisant la fuite « Dlopen ».

La conclusion :
L'architecture CHERI est une nouvelle invention fantastique qui arrête beaucoup de vols de l'ancienne école (comme briser les murs). Cependant, le logiciel qui fonctionne au-dessus d'elle (les systèmes d'exploitation et les bibliothèques) possède encore des bugs. Ces bugs agissent comme des fenêtres ouvertes ou des clés perdues, permettant à un voleur de contourner la sécurité même si les murs sont solides.

Le document conclut que si l'architecture est sécurisée, nous devons corriger le logiciel (nettoyer les post-it, réparer les cartes défectueuses et balayer les boîtes) pour que le système soit véritablement sûr.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →