le standard UEFI pour implémenter des fonctions de sécurité

On y discute de tout, ou presque...
Répondre
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4979
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : En ligne

Ce sera plus facile avec le texte posté ici et avec une explication: Il s'agit d'une vulnérabilité découverte dans des microprogrammmes embarqués de type UEFI.
PREMIER MINISTRE
S.G.D.S.N Paris, le 11 juillet 2016
Agence nationale de la sécurité No CERTFR-2016-ACT-028
des systèmes d’information
CERT-FR
Affaire suivie par :
CERT-FR
BULLETIN D’ACTUALITÉ
Objet : Bulletin d’actualité CERTFR-2016-ACT-028
1- Vulnérabilité en mode processeur surprivilégié sur des microgiciels
UEFI
Résumé
Le 28 juin 2016, un chercheur en sécurité a publié une vulnérabilité dans des microprogrammmes embarqués
de type UEFI. Cette vulnérabilité est une élévation de privilèges permettant de passer dans un mode spécifique
d’exécution du processeur, le mode SMM (System Management Mode).
Contexte de la vulnérabilité
Cette vulnérabilité se situe dans un ensemble de microgiciels basés sur le standard UEFI, il est donc nécessaire
de décrire plus spécifiquement ce sous-système et son interaction avec le mode surprivilégié du processeur.
System Management Mode (SMM)
Le mode d’exécution SMM, également appelé anneau -2, est un mode spécifique aux processeurs Intel x86,
introduit au début des années 1990. Ce mode, hautement privilégié, est utilisé pour gérer des fonctionnalités de bas
niveau, principalement liées à la plateforme matérielle et aux micrologiciels intégrés.
De même, le mode SMM est largement utilisé dans le standard UEFI pour implémenter des fonctions de sécurité.
Ce mode est accessible au système via un pic de connexion du processeur (SMI#), mais également par le
déclenchement d’une interruption SMI par le contrôleur APIC (advanced programmable interrupt controller).
Unified Extensible Firmware Interface (UEFI)
Le standard d’interface micrologicielle unifiée extensible décrit un système d’interfaces entre le système d’ex-
ploitation et le matériel (avec ses micrologiciels intégrés).
Le standard UEFI définit les modalités de démarrage du système, remplaçant de fait le système BIOS. Le
processus de démarrage est constitué d’étapes menant à l’exécution en parallèle d’un système d’exploitation et de
pilotes microgiciels UEFI permettant d’interagir avec le matériel.
Une de ces étapes est la création d’une phase initialisant le sous-système SMM contenant plusieurs pilotes,
ainsi que l’enregistrement de protocoles de communication avec ces pilotes.
La vulnérabilité concernée est justement située dans l’un de ces pilotes.
Secrétariat général de la défense et de la sécurité nationale – ANSSI – COSSI – CERT-FR
51, bd de La Tour-Maubourg Tél.: 01 71 75 84 50 Web: http://cert.ssi.gouv.fr
75700 Paris 07 SP Fax: 01 71 75 84 70 Mél : contact@cert.ssi.gouv.fr
Description de la vulnérabilité
La vulnérabilité est issue d’une déficience de contrôle sur les paramètres d’une fonction contenue dans un pilote
UEFI. Ce pilote est référencé par les idenfiants uniques (GUID) 7c79ac8c-5e6c-4e3d-ba6f-c260ee7c172e
et A56897A1-A77F-4600-84DB-22B0A801FA9A.
Ces identifiants uniques correspondent à une partie du système concomitant du mode SMM.
Cette fonction, dont une partie du code est représentée ci-dessous, est enregistrée au démarrage du pilote et est
appelée lors du traitement des interruptions SMI. On peut constater que le pointeur donné en argument à la fonction
n’est pas correctement vérifié par la fonction, et un appel indirect via un membre de la structure est effectué.
Extrait de désassemblage de la fonction vulnérable :
.text:03CC sub rsp, 28h
.text:03D0 // rcx contient un pointeur controle par l’attaquant
.text:03D0 mov rax, [rcx+20h]
.text:03D4 // rax contient desormais un pointeur teinte
.text:03D4 test rax, rax
.text:03D7 jz short loc_3DF
.text:03D9 mov rdx, [rcx+8]
.text:03DD // Appel de la valeur teintee
.text:03DD call rax
[...]
Déclenchement
Afin de déclencher la vulnérabilité, un attaquant peut préparer en mémoire une structure spécialement conçue
contenant un pointeur vers un tableau de code exécutable, et appeler spécifiquement le driver vulnérable en utilisant
des interruptions SMI.
Impacts
Le fait d’exécuter du code arbitraire en mode surprivilégié permet d’installer des composants malveillants
résistants à une simple réinstallation du système d’exploitation, ainsi que de contourner les protections mises en
place, telles que Secure Boot ou l’isolation des identifiants sous Windows 10 (Credential Guard).
Cette vulnérabilité affecte de nombreux constructeurs, tels que Lenovo, HP, Dell ou encore Fujitsu.
D’autre part, le code d’exploitation de cette vulnérabilité rendu public nécessite de posséder un accès physique
à la machine. Toutefois une exploitation à distance est sans doute possible, à condition de posséder les droits
suffisants sur la machine pour communiquer avec le microprogramme.
Recommandations
Le CERT-FR recommande d’appliquer les correctifs de sécurité, y compris aux microprogrammes embarqués.
D’autre part le CERT-FR recommande, dans le cadre d’une réponse à incident, de vérifier l’intégrité de ces micro-
programmes.
Documentation
http://www.ssi.gouv.fr/uploads/IMG/pdf/ ... _final.pdf
https://support.lenovo.com/fr/en/solutions/LEN-8324
http://blog.cr4.sh/2016/06/exploring-an ... enovo.html
http://esec-lab.sogeti.com/posts/2016/0 ... ility.html
http://www.uefi.org/sites/default/files ... %202_6.pdf
2- Rappel des avis émis
Dans la période du 04 au 10 juillet 2016, le CERT-FR a émis les publications suivantes :
– CERTFR-2016-AVI-224 : Multiples vulnérabilités dans les produits Cisco
– CERTFR-2016-AVI-225 : Multiples vulnérabilités dans SCADA Siemens SICAM PAS
– CERTFR-2016-AVI-226 : Vulnérabilité dans Samba
2
Gestion détaillée du document
11 juillet 2016 version initiale.
Conditions d’utilisation de ce document : http://cert.ssi.gouv.fr/cert-fr/apropos.html
Dernière version de ce document : http://cert.ssi.gouv.fr/site/CERTFR-2016-ACT-028
3
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Répondre