Contribuez à SecuObs en envoyant des bitcoins ou des dogecoins.
Nouveaux articles (fr): 1pwnthhW21zdnQ5WucjmnF3pk9puT5fDF
Amélioration du site: 1hckU85orcGCm8A9hk67391LCy4ECGJca

Contribute to SecuObs by sending bitcoins or dogecoins.



Une faille dans la mise à jour des BIOS compatibles Intel vPro pour contourner la vérification des signatures

Par Rédaction, secuobs.com
Le 03/09/2009


Résumé : Une faille a été identifiée au sein du processus de mise à jour des BIOS compatibles Intel vPro pour les systèmes basés sur les chipsets Intel Q45. Elle permet à un attaquant de contourner les mécanismes de vérification des signatures afin d'infecter le BIOS et de compromettre l'ensemble des protections présentes.



Outre leur présentation sur les rootkits exploitant la technologie AMT en Ring -3 ( lien ), Alexander Tereshkin et Rafal Wojtczuk de la société Invisible Things ( lien ) ont également démontré, lors de la conférence Black Hat USA 09 ( lien ), la possibilité de reflasher de façon permanente un BIOS Intel au sein des systèmes basés sur l'utilisation de chipsets Intel Q45.

En opposition aux travaux préalables ( lien ) de la société Core Security ( lien ) qui ciblaient des BIOS offrant un faible niveau de protection, la démonstration a ici porté sur des BIOS compatibles avec la technologie Intel vPro ( lien ). Cette dernière étant censée proposer un plus haut niveau de protection de par le fait qu'elle n'autorise l'utilisation de micro-logiciels que si ceux-ci présentent une signature valide.

L'objectif était donc ici de contourner ces processus de vérification via un code permettant de prendre le contrôle des flux d'exécution et cela dès les premiers instants du démarrage, soit avant même le chargement des protections en question. Les dispositifs de sécurité ultérieurs étant dès lors compromis. En général, le code BIOS ne prend en charge aucune entrée externe afin d'éviter d'éventuelles malversations de ce type, il existe tout de même une exception avec le processus de mise à jour qui est alimenté par des données utilisateur.

Vu que les mises à jour sont signées, il est théoriquement impossible d'y injecter directement du code arbitraire sans être détecté. Néanmoins, il existe en leur sein des fragments non signés qui correspondent au logo affiché lors du démarrage de la machine. Un logo qui se présente sous la forme d'une image au format BMP et qui peut par ailleurs être modifié via l'Intel Integrator Toolkit ( lien ).

L'exécution du code, traitant l'affichage de cette image, intervient à une étape peu tardive lors du processus de démarrage, soit avant le chargement des protections BIOS et notamment avant celle qui prendra en charge la vérification des signatures pour le reflashage. Un reflashage du BIOS impliquant un reflashage de la mémoire flash SPI qui est présente sur la carte mère et qui contient le code BIOS au même titre que le code AMT ( lien ).

La fonction ConvertBmpToGopBlt(), en charge du traitement de cette image, n'est appelée qu'une seule et unique fois au sein de la fonction EnableQuietBootEx() et s'avère être vulnérable à une faille de type Heap Overflow ( lien ). En exploitant cette faille, via des valeurs adéquates pour les attributs largeur et hauteur, il est possible d'utiliser une charge utile qui va reflasher le BIOS en contournant les vérification de signatures.

A savoir que l'attaque en question nécessite des droits d'administration sur la cible et que deux redémarrages sont de plus nécessaires, un pour déclencher le processus de mise à jour et l'autre pour redémarrer sur le BIOS infecté. Un accès physique n'est cependant pas requis, pas plus que le consentement ou la coopération de la victime. Des caractéristiques qui confèrent donc un contexte d'exploitation favorable pour d'éventuels codes malicieux comme des rootkits SMM ( lien ).

L'attaque souligne par ailleurs l'importance des technologies ( TPM - lien ) garantissant la confiance des utilisateurs dans les procédures de démarrage, mais aussi l'extrême minutie qui doit être appliquée à l'examen des micro-logiciels et des applications qui sont localisées au coeur même des systèmes informatiques.

Le code d'exploitation n'étant pas encore disponible à ce jour, son lien de téléchargement sera publié ultérieurement dans les commentaires de cet article. A noter finalement que cette faille pourrait également être utilisée afin d'exploiter les faiblesses de la technologie AMT dont le code est contenu sur la même puce, cependant les chipsets Q45 s'avèrent ne pas être vulnérables à ce type d'attaques pour le moment, contrairement aux chipsets Q35.

Les slides de la présentation à la Black Hat USA 2009 ( lien ).

Source : Blog Invisible Things Lab ( lien )