Accueil » Actualité » Découverte d’une faille critique dans tous les CPU Intel depuis 20 ans

Découverte d’une faille critique dans tous les CPU Intel depuis 20 ans

Image 1 : Découverte d'une faille critique dans tous les CPU Intel depuis 20 ansLe Pentium Pro, auteur du pêché originel.

La conférence de hacker Black Hat est toujours une bonne occasion de se faire peur, les chercheurs rivalisant d’imagination pour dénicher des moyens de pirater tout ou presque. Cette année est particulièrement fructueuse, notamment grâce aux travaux de Christopher Domas. Ce dernier a mis au jour une faille dans la conception des processeurs x86 d’Intel qui permet d’exécuter du code avec le plus haut niveau de privilège possible.

Ce niveau de privilège, le ring -2, est réservé au System Management Mode (SMM). Le seul code exécutable en SMM est censé être installé par le BIOS/UEFI et permet des opérations critiques comme la gestion de l’énergie. Mais ce n’est pas ce qui est intéressant pour un pirate (sauf à vouloir détruire la machine cible). Le code SMM s’exécute à un niveau plus profond que celui de l’OS : aucun antivirus ne peut donc le détecter. Un malware avec ce niveau de privilège pourra même contourner la protection TXT, installer des rootkits persistant, etc. 

Le fonctionnement de la faille est assez complexe et repose sur deux défauts de conceptions. D’une part, dans tous les processeurs Intel depuis les Pentium Pro de 1995, il est possible de modifier les adresses des registres mémoires utilisés par l’APIC, le circuit de gestion des interruptions du processeur. D’autre part, la grande majorité des UEFI ont un SMM qui utilise les mêmes adresses mémoires – normalement une zone réservée et protégée.. On peut donc forcer le SMM à charger les registres de l’APIC dont la valeur est écrite « en dur » à zéro. Ceci provoque une seconde erreur dans la gestion des adresses mémoires utilisées par le SMM qui va alors chercher ses données hors de sa zone protégée et va donc exécuter n’importe quel code.

L’attaque est tout de même difficile à mettre en oeuvre à cause des éventuelles variations dans les UEFI et parce que la modification de l’APIC nécessite un pilote spécifique au niveau du noyau du système d’exploitation. Parvenir à ce stade suppose déjà un contrôle très large de la machine cible. Christopher Domas précise qu’Intel est au courant de sa découverte et prévoit à la fois de corriger le défaut dans ses futurs processeurs et publier des mises à jour de firmware pour les systèmes existants.