Mauvaise nouvelle pour Gigabyte. Après le ransomware RobinHood en 2020 et plus récemment le rootkit ComicStrand en juillet 2022, des chercheurs en sécurité avertissent que le micrologiciel UEFI (ex BIOS) de plusieurs centaines de modèles de cartes mères du fournisseur informatique peut être exploité pour injecter du code exécutable dans le noyau Windows. « Bien que notre enquête en cours n'ait pas confirmé l'exploitation par un acteur de menace spécifique, une porte dérobée active et répandue, difficile à supprimer, pose un risque pour les entreprises possédant des systèmes Gigabyte », ont déclaré les chercheurs de la société de sécurité Eclypsium dans un rapport.

Les chercheurs d'Eclypsium ont découvert cette brèche après des alertes émises par sa plateforme sur un comportement qui semblait cohérent avec un rootkit BIOS/UEFI. Ces rootkits, également connus sous le nom de bootkits, sont très dangereux et difficiles à supprimer car ils résident dans le micrologiciel de bas niveau du système et injectent du code dans le système d'exploitation à chaque démarrage. Cela signifie que la réinstallation du système d'exploitation ou même le changement de disque dur ne supprimerait pas l'infection et qu'elle réapparaîtrait. UEFI est un mini-OS en soi, composé de différents modules qui gèrent l'initialisation du matériel avant de transmettre la séquence de démarrage au chargeur de boot et au système d'exploitation installé. Le processus d'injection du code du micrologiciel dans la mémoire du système d'exploitation a déjà été utilisé pour la mise en œuvre de diverses fonctionnalités. Par exemple, certains BIOS sont dotés d'une fonction antivol appelée Absolute LoJack, anciennement connue sous le nom de Computrace, qui permet aux utilisateurs de suivre et d'effacer leur ordinateur à distance en cas de vol. Cette fonction est mise en œuvre par un agent du BIOS qui injecte une application dans le système d'exploitation, même s'il est réinstallé.

Des connexions non sécurisées au serveur de téléchargement

Selon les chercheurs, des groupes APT sophistiqués exploitent des implémentations similaires activement. Les chercheurs en sécurité ont déjà averti depuis 2014 que l'agent LoJack Windows par exemple pouvait être utilisé de manière abusive et connecté à un malware. Puis, en 2018, les chercheurs ont découvert que la technologie était utilisée de manière abusive par APT28, alias Fancy Bear, une division de piratage du service de renseignement militaire russe. Le cas est similaire avec le module firmware de Gigabyte, qui injecte un exécutable Windows dans la table ACPI WPBT lors du démarrage du système, d'où il est automatiquement exécuté par le Windows Session Manager Subsystem (smss.exe) et écrit un fichier dans le dossier Windows system32 appelé GigabyteUpdateService.exe. L'objectif dans ce cas est que le BIOS déploie automatiquement une application de mise à jour du système et des pilotes Gigabyte lorsque la fonction du BIOS appelée APP Center Download & Install est activée.

L'application de mise à jour de Gigabyte recherche automatiquement les mises à jour à télécharger et à exécuter en vérifiant trois URL. L'une d'entre elles est un serveur de téléchargement Gigabyte via HTTPS, une autre est le même serveur mais la connexion utilise un simple HTTP, et la troisième est une URL vers un domaine non qualifié appelé software-nas qui peut être un appareil sur le réseau local. Deux des trois méthodes de téléchargement de fichiers sont très problématiques. Les connexions HTTP non chiffrées sont vulnérables aux attaques de type man-in-the-middle. Un attaquant se trouvant sur le même réseau ou contrôlant un routeur sur le réseau peut diriger le système vers un serveur sous son contrôle et l'application n'aurait aucun moyen de savoir qu'elle ne parle pas avec le vrai serveur de Gigabyte. La troisième URL est tout aussi problématique et encore plus facile à abuser, car un attaquant sur le même réseau, sur un système compromis, pourrait déployer un serveur web et définir le nom de l'ordinateur sur software-nas sans même avoir recours à l'usurpation de DNS ou à d'autres techniques. Enfin, même la connexion HTTPS est vulnérable au man-in-the-middle car l'application de mise à jour n'implémente pas correctement la validation du certificat du serveur, ce qui signifie que les attaquants peuvent toujours usurper le serveur.

Une solution de contournement proposée

Un autre problème est que même si les outils et les mises à jour de Gigabyte sont signés numériquement avec une signature valide, le micrologiciel n'effectue aucune vérification ou validation de cette marque sur les exécutables, de sorte que les attaquants pourraient facilement abuser de la fonctionnalité. « Le rythme de découverte de nouveaux rootkits UEFI s'est fortement accéléré ces dernières années, comme en témoigne la découverte de LoJax (2018), MosaicRegressor (2020), FinSpy (2021), ESPecter (2021), MoonBounce (2022), CosmicStrand (2022) et BlackLotus (2023) », expliquent les chercheurs d'Eclypsium. « La plupart d'entre eux ont été utilisés pour permettre la persistance d'autres logiciels malveillants basés sur le système d'exploitation. Les images du micrologiciel de Gigabyte et l'exécutable Windows persistant permettent le même scénario d'attaque. Souvent, les implants susmentionnés font passer leurs exécutables Windows natifs pour des outils de mise à jour légitimes. Dans le cas de MosaicRegressor, la charge utile Windows était nommée IntelUpdater.exe ».

Les chercheurs conseillent aux entreprises équipées de systèmes Gigabyte de désactiver la fonction de téléchargement et d'installation de l'APP Center dans l'UEFI et de bloquer les trois URL à risque dans les parefeux. Les organisations peuvent également rechercher les tentatives de connexion à ces URL afin de détecter les systèmes susceptibles d'être affectés sur leurs réseaux, mais elles devraient plus généralement rechercher les connexions qui pourraient provenir de fonctions similaires d'autres fabricants. Même si elles ne sont pas déployées dans les microprogrammes, les applications préinstallées par les fabricants de PC sur les ordinateurs peuvent également présenter des vulnérabilités. C'est ce qui s'est passé avec une application Lenovo appelée Superfish, qui a déployé un certificat racine non fiable pouvant être utilisé de manière abusive par des attaquants.