- De multiples vulnérabilités de l'UEFI peuvent conduire à des exploits sous Linux, Windows et Mac
- LogoFAIL persiste après la réinstallation du système d'exploitation
- Les risques liés à la chaîne d'approvisionnement s'étendent également au matériel lui-même
Des chercheurs en sécurité, connus pour leurs méthodes inquisitrices et non conventionnelles, ont récemment passé au crible l'interface UEFI (Unified Extensible Firmware Interface), révélant d'importantes vulnérabilités appelées LogoFAIL. Ces experts, qui étudient les systèmes pour trouver des moyens inhabituels de les exploiter, ont découvert que l'UEFI, le remplaçant moderne du BIOS traditionnel, est susceptible de connaître certaines défaillances, qui ont des répercussions considérables.
Plus précisément, les chercheurs ont découvert que les bibliothèques utilisées par divers intégrateurs et vendeurs de systèmes dans l'UEFI de leurs cartes mères sont vulnérables. Ces bibliothèques peuvent être manipulées pour effectuer des opérations imprévues par le biais d'images spécialement conçues, telles que des logos et des bannières, affichées lors du démarrage du système. Cette manipulation permet de contourner efficacement les dispositifs de sécurité tels que le Secure Boot, en trompant le système d'exploitation suivant.
Quels sont donc les dangers liés aux vulnérabilités de LogoFAIL et quelles en sont les conséquences pour vous ?
Connaissances préalablesComprendre l'UEFI
UEFI signifie Unified Extensible Firmware Interface, une version avancée de l'ancien BIOS. Il s'agit essentiellement d'un système d'exploitation compact qui gère l'initialisation du matériel et la sécurité préliminaire du système avant de transférer le contrôle au système d'exploitation principal. L'UEFI supervise de nombreuses fonctions, notamment la fréquence du processeur, la gestion de l'alimentation et de la température, la synchronisation de la mémoire et les opérations périphériques. Certains systèmes UEFI offrent même une connectivité réseau pour les mises à jour du micrologiciel sans qu'un système d'exploitation soit nécessaire. Contrairement au BIOS, l'UEFI offre une expérience visuelle cohérente en affichant une image au démarrage, qui reste visible tout au long de l'initialisation de l'UEFI et de la phase de démarrage du système d'exploitation. Cela diffère du BIOS, qui implique généralement des changements de résolution d'écran et des réinitialisations du mode texte avant que les pilotes du système d'exploitation ne soient activés. FuzzingLe fuzzing est une méthode de test employée par les développeurs et les professionnels de l'informatique pour évaluer la robustesse des logiciels. Il s'agit d'envoyer une vaste gamme d'entrées diverses et souvent aléatoires dans tous les champs de saisie, options et paramètres possibles de l'application. L'objectif est de s'assurer que l'application reste stable en cas d'entrées non conventionnelles, telles que la saisie de lettres dans des champs numériques ou l'insertion de caractères UTF16 dans des champs conçus pour UTF8, ce qui permet d'exposer les faiblesses potentielles du code. |
Vulnérabilités de LogoFAIL
Binarly a récemment divulgué cette famille de vulnérabilités, initialement considérée comme un risque potentiel de vulnérabilité de type "zero-days", lors de la conférence BlackHat Europe, qui a attiré l'attention des professionnels de la cybersécurité.
Ces vulnérabilités, appelées LogoFAIL, sont dues à des failles dans les bibliothèques d'analyse d'images intégrées dans le microprogramme du système UEFI. Ces bibliothèques sont utilisées pour afficher des logos pendant le processus de démarrage ou lors de la configuration du BIOS.
Les vulnérabilités spécifiques identifiées comprennent des failles de débordement de mémoire tampon basées sur le tas et des lectures hors limites. Ces vulnérabilités sont déclenchées lorsqu'un fichier image logo malveillant est injecté dans la partition système EFI, ce qui entraîne l'exécution de charges utiles susceptibles de détourner le processus de démarrage et de contourner des mécanismes de sécurité tels que Secure Boot et Intel Boot Guard.
Il est important de noter que, malgré le battage médiatique, pour exploiter ces vulnérabilités, il est nécessaire d'avoir accès au système en premier lieu, et dans cet accès, d'avoir des privilèges pour écrire dans la partition EFI et la mémoire non volatile UEFI (nvram). Le lecteur attentif se rendra compte que, si vous disposez déjà de ce niveau d'accès, ce n'est pas nécessairement l'exploit LogoFAIL lui-même qui pose problème, mais plutôt la persistance qu'il permet à d'autres logiciels malveillants d'exploiter. Prenons l'exemple d'un ransomware qui persiste même dans les tentatives de réimagerie du système après une attaque à l'échelle de l'infrastructure. Il paralyserait les opérations de récupération.
Pour couronner le tout, les vulnérabilités existent sur plusieurs plateformes et architectures. Elles affectent aussi bien les appareils basés sur x86 que sur ARM. Les fournisseurs de BIOS tels que AMI, Phoenix et d'autres créent des microprogrammes affectés par LogoFAIL. Peu importe qu'il s'agisse de matériel de qualité serveur ou de matériel de qualité consommateur, puisque les mêmes fournisseurs de BIOS fourniront des logiciels pour tous ces matériels. Des fournisseurs comme Intel, Dell, Supermicro, Acer et bien d'autres sont donc concernés.
L'impact
L'exécution du code avant même que le système d'exploitation n'ait eu le temps de commencer à charger et à protéger contre les menaces est une menace particulièrement grave. Peu importe que votre solution antivirus détecte tout ce qui est chargé si la menace est déjà en cours d'exécution lorsque le logiciel antivirus commence à fonctionner.
Lorsque vous avez le contrôle sur ce qui est lancé si tôt dans le processus, vous pouvez déployer un logiciel préemptif qui empêche les protections au niveau du système d'exploitation de démarrer en premier lieu, ce qui annule la sécurité traditionnelle des points d'accès.
En fait, LogoFAIL peut conduire à des attaques contre n'importe quel système d'exploitation - Linux, Windows, Mac ou même des systèmes plus ésotériques. Il survit même à une réinstallation du système d'exploitation, ce qui le rend très résistant aux tentatives de suppression.
Ce n'est pas la première fois que les microprogrammes sont considérés comme un moyen persistant de cibler un système. exploit de micrologiciel de disque dur a montré il y a quelques années, mais il s'agit certainement du moyen le plus simple d'atteindre ce niveau de résilience.
Une menace réelle ?
Les choses n'en sont pas encore là. Il pourrait s'agir d'une nouvelle fois d'un coup dur, plutôt que du scénario de la fin du monde qui a été dépeint sur tous les sites d'information de l'industrie.
Les fournisseurs concernés devront publier des images UEFI mises à jour, de sorte que des mises à jour du micrologiciel sont nécessaires pour corriger efficacement les bibliothèques touchées à l'origine du problème, mais cela permettra de protéger le système contre cette menace.
En supposant que tout le monde corrige chaque système, c'est-à-dire.
Fuzzer l'UEFI
Les chercheurs qui ont découvert le problème l'ont fait en analysant le code UEFI, et ils reconnaissent que, jusqu'à présent, le risque n'est que théorique.
En envoyant de grandes quantités de données aux bibliothèques de l'UEFI, il a été possible d'identifier plusieurs nouvelles façons de faire planter ces bibliothèques, en déclenchant des débordements de mémoire tampon, des lectures hors limites, des déréférences de pointeurs nuls et d'autres problèmes similaires.
Différents fournisseurs incluront différentes bibliothèques avec leur micrologiciel, prenant en charge plusieurs formats d'image - JPEG, BMP, et les anciens formats PCX et Targa (TGA) sont pris en charge. Cela permet aux fournisseurs de matériel d'ajouter des images personnalisées à leur équipement afin de le distinguer des autres fournisseurs.
Il s'avère qu'il n'y a pratiquement aucune validation des données de l'image avant qu'elles ne soient analysées pour l'affichage. Il est donc relativement facile de créer des images personnalisées qui abusent de cette absence de contrôles pour déclencher les crashs à volonté, laissant l'UEFI dans un état prévisible, où le code peut être déployé et exécuté de manière détournée.
La chaîne d'approvisionnement en logiciels
Le fait qu'une charge de travail donnée soit potentiellement affectée par des vulnérabilités tout au long de cette grande chaîne de dépendance et d'environnement - depuis les failles du micrologiciel matériel comme LogoFAIL jusqu'aux problèmes au niveau logiciel comme les vulnérabilités de KeePass- est une chose sur laquelle nous semblons fermer les yeux, soit par manque de sensibilisation, soit par incapacité à la prévenir de manière efficace. Mais cela ne les rend pas plus sûrs pour autant.

