Vulnérabilité dans le cache des processeurs Intel

Date : 11 Mai 2009

Introduction

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 2009, a choisi la date du 19 mars 2009 pour publier également un article sur le sujet. Intel pour sa part a indiqué que le problème avait déjà été identifié par ses ingénieurs en 2005.

 

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 à la mémoire SMRAM.


Travaux parallèles

D’autres travaux de recherche ont déjà démontré la possibilité d’attaquer le mode SMM.

Lors de la conférence BlackHat 2008, Invisible Things Lab a mentionné dans le cadre de sa présentation une attaque permettant d’exploiter la fonctionnalité de "remapping" pour accéder illégalement à certaines zones mémoire, dont la SMRAM. Ce problème avait été corrigé par Intel.

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 la conférence BlackHat 2009 par Invisible Things Lab.

 

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 la SMRAM. L’attaquant génère ensuite des accès en écriture aux adresses physiques correspondant à la SMRAM. L’attaquant génère ensuite un événement de type SMI, qui va entrainer l’exécution du code SMM par la CPU. Cette dernière va aller chercher en premier les instructions figurant dans le cache. Ce sont donc les données fournies par l’attaquant et contenues dans le cache qui seront exécutées, avec les privilèges SMM.

2/ Lecture de mémoire SMM

Une attaque assez similaire peut permettre à un attaquant de lire la mémoire SMM. aussi, l’attaquant manipule le registre système MTRR afin de marquer comme "Write-Back cacheable" l’endroit de la mémoire système où se situe la SMRAM. Il déclenche ensuite un SMI qui provoque l’écriture de ses propres instructions en mémoire cache. Finalement l’attaquant devra utiliser une instruction (de préférence non invasive pour ne pas polluer le cache avec des données parasites) afin de lire le cache.

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 :

 

Précedent Précedent Suivant Suivant Imprimer Imprimer