Vulnérabilité dans le cache des processeurs Intel
Date : 11 Mai 2009
Joanna Rutkowska (Invisible Things Lab), à l’origine de la fameuse "BluePill", a publié un papier permettant d’exploiter une vulnérabilité dans le cache des systèmes Intel. Cette vulnérabilité permet à un utilisateur non privilégié d’obtenir des privilèges élevés (SMM) sur la majorité des dernières cartes mère Intel.
A l’origine, cette faille
a été rapportée à Intel par Loïc Duflot (DCSSI) en octobre 2008. Ce dernier en
a d'ailleurs présenté les détails lors de la conférence CanSecWest,
le 19 mars 2009. Joanna Rutkowska, qui a elle re-découvert la faille au mois de
février
Contexte technique
Le mode "System Management Mode" (SMM) est le mode le plus privilégié pour les opérations CPU sous les architectures x86 et x86_64. Dans ce mode, toutes les exécutions normales sont suspendues et des logiciels spécifiques sont exécutées en mode fortement privilégié ("Ring -2"). Le mode SMM est déclenché lorsque des évènements hardware spécifiques se produisent, générant une interruption physique au niveau de la carte mère, appelée "System Management Interrupt" (SMI).
Le code exécuté via SMM est situé dans une zone protégée de la mémoire système, appelée SMRAM. L’accès à la SMRAM est limité au firmware système (BIOS) : le BIOS, après avoir chargé le code SMM en mémoire SMRAM verrouille la configuration système et bloque les tentatives d’accès à la SMRAM qui ne proviennent pas du mode SMM.
La vulnérabilité
découverte dans les systèmes Intel permet des accès non autorisés à
Travaux parallèles
D’autres travaux de recherche ont déjà démontré la possibilité d’attaquer le mode SMM.
Lors de
De la même manière,
Invisible Things Lab indique avoir découvert une 3ème faille dans les firmware
Intel permettant de contourner les mécanismes de protection de la SMRAM afin
d’injecter du code arbitraire dans le code SMM. Des correctifs sont actuellement
en cours d’élaboration chez Intel et cette vulnérabilité sera présentée lors de
Analyse technique et exploitation
Pour la faille révélée le 19 mars, Joanna Rutkowska propose plusieurs scenarios d’attaque :
1/ Ecrasement de mémoire SMM
L’attaquant doit tout
d’abord modifier le registre système MTRR (Memory Type Range Register) afin de
marquer comme "Write-Back
cacheable" l’endroit de la
mémoire système où se situe
2/ Lecture de mémoire SMM
Une attaque assez
similaire peut permettre à un attaquant de lire
Les conséquences possibles de ces attaques sont l’installation de rootkits SMM, la compromission de comptes hyperviseurs ou le contournement des restrictions du noyau du système d’exploitation. Elles permettent une élévation de privilèges depuis le mode utilisateur ("Ring 3") vers le mode SMM.
Conclusion
Ces problèmes de mémoire cache sont en cours d’investigation chez Intel, qui travaille également avec les fournisseurs de BIOS pour mettre en œuvre des mécanismes de contournement. Selon l’éditeur, de nombreux systèmes récents seraient protégés contre cette attaque. Selon Invisible Things Lab par contre, certaines cartes mère Intel récentes, comme les DQ35, seraient toujours vulnérables ; et le niveau de sécurité global des éditeurs de firmware serait encore largement insuffisant.
Pour plus d’information :
- Blog de "Invisible Things" : http://theinvisiblethings.blogspot.com/2009/03/attacking-smm-memory-via-intel-cpu.html
- Papier de "Invisible Things Lab" : http://invisiblethingslab.com/resources/misc09/smm_cache_fun.pdf
- Article de "Network World" du 17 mars 2009 : http://www.networkworld.com/community/node/39825?netht=rn_031809&nladname=031809
- Archive du SANS du 20 mars 2009 : http://isc.sans.org/diary.html?storyid=6046