Un nouveau noyau pour une meilleure compréhension des processeurs
Des chercheurs du MIT ont développé un noyau d’exploitation, nommé Fractal, qui offre une vue plus claire des opérations internes des processeurs. Ce projet a déjà révélé des comportements inconnus dans le processeur M1 d’Apple.
Traditionnellement, les chercheurs en sécurité effectuent des expériences sur des systèmes d’exploitation comme macOS ou Linux, qui ne sont pas conçus pour de telles analyses. Ils modifient manuellement le noyau et espèrent que les ajustements fonctionneront. Cette méthode est instable et difficile à reproduire, surtout sur les plateformes d’Apple, qui prévoient de déprécier ces systèmes.
L’équipe du Laboratoire d’informatique et d’intelligence artificielle (CSAIL) du MIT a choisi de construire un noyau d’exploitation spécifique. Fractal traite le matériel comme l’objet d’étude principal. Sa première utilisation majeure a été d’explorer les prédicteurs de branche à l’intérieur du processeur M1 d’Apple, révélant des résultats précédemment inaperçus, y compris des preuves d’une classe d’attaque spéculative appelée « Phantom ».
Joseph Ravichandran, doctorant en ingénierie électrique et en informatique, décrit Fractal comme un « microscope électronique » pour les systèmes d’exploitation, permettant d’explorer le matériel d’une manière innovante.
Un environnement de recherche propre
Fractal aborde un problème majeur que les chercheurs ont contourné pendant des années. Les processeurs modernes conservent des états dans plusieurs structures internes, comme les prédicteurs de branche et les caches. Pour étudier le comportement de ces structures, il est essentiel de réaliser des expériences presque identiques de chaque côté de la frontière entre le code utilisateur et le code noyau. Sur un système général, cela est complexe.
Fractal modifie ce modèle en démarrant directement sur le matériel, sans autre logiciel, et en exposant des primitives qui permettent de changer les niveaux de privilège en cours d’exécution. Cela réduit considérablement le bruit de fond dans les mes, produisant des signaux clairs et des baselines stables.
Découvertes sur le M1
Le processeur M1 d’Apple applique une spécification ARM appelée CSV2, censée empêcher le code d’un niveau de privilège d’influencer la spéculation d’un autre. Grâce à Fractal, l’équipe du MIT a confirmé que cette protection fonctionne pour les prédictions de branche indirectes. Cependant, ils ont également trouvé que le processeur récupère le ciblage dans le cache d’instructions avant que la protection ne s’active, ce qui reste observable.
De plus, ils ont fourni la première preuve que l’Apple Silicon présente une spéculation Phantom, un type de mauvaise interprétation précédemment observé uniquement sur les processeurs AMD et Intel.
Objectif à long terme
Fractal, qui supporte x86_64, ARM64 et RISC-V, contient plus de 31 000 lignes de code. L’équipe l’a conçu comme une infrastructure pour faciliter la recherche, intégrant des appels système POSIX et des bibliothèques C.
L’ambition à long terme est de faire de Fractal un outil fondamental pour la recherche en microarchitecture, similaire à ce que sont QEMU et FFmpeg dans leurs domaines respectifs. Ravichandran espère que cette clarté et cette réduction du bruit permettront d’obtenir des résultats de recherche plus fiables et précis.
Cette recherche a été soutenue par la National Science Foundation et d’autres agences, et les résultats ont été présentés lors du Symposium IEEE sur la Sécurité et la Vie Privée à San Francisco.
Source : MIT News.
