Bootkitty - Découverte du 1er bootkit Linux UEFI

Image illustrant l'article : Bootkitty - Découverte du 1er bootkit Linux UEFI

Bootkitty - Découverte du 1er bootkit Linux UEFI

par Korben -

Aujourd’hui nous allons plonger dans les entrailles obscures de Linux pour y découvrir un truc particulièrement intéressant : Bootkitty, le premier bootkit conçu spécifiquement pour infiltrer nos chers systèmes libres.

Alors faut savoir que jusqu’à présent, les bootkits - ces programmes malveillants qui s’incrustent dans le processus de démarrage - étaient l’apanage exclusif du monde Windows. Tout a commencé en 2012 avec une première preuve de concept (PoC) par Andrea Allievi, suivie par d’autres tentatives comme EfiGuard ou Boot Backdoor puis en 2021, on a vu apparaître les premiers bootkits UEFI dans la nature avec ESPecter et FinSpy, puis BlackLotus en 2023 qui a réussi l’exploit de contourner le Secure Boot. Mais tous ces petits malins ne visaient que Windows. Ah ah ah ! Chè comme dirait l’autre.

Mais tel Neo dans la matrice, ils passaient à travers toutes les défenses en prenant le contrôle du système avant même que l’OS ne soit chargé. Mais voilà, les temps changent, et Linux n’est plus épargné.

Des chercheurs en sécurité d’ESET viennent de mettre la main sur ce qui ressemble à un véritable chef-d’œuvre d’ingénierie malveillante : Bootkitty. Cette petite bête cible spécifiquement certaines versions d’Ubuntu qui vont miauler fort si elles se font infecter. Et ce n’est pas resté qu’une menace théorique puisque les experts de Binarly viennent de découvrir du code malveillant qui exploite une vulnérabilité baptisée LogoFAIL pour installer Bootkitty sur des machines Linux d’Acer, HP, Fujitsu et Lenovo. Cela montre bien que ses créateurs ont fait leurs devoirs.

Ce bootkit se distingue par sa capacité à modifier le processus de démarrage UEFI (Unified Extensible Firmware Interface) des systèmes Linux et c’est une prouesse technique qui n’avait encore jamais été observée dans la nature. La vulnérabilité LogoFAIL qu’il exploite est particulièrement vicieuse car elle permet de contourner le Secure Boot en injectant du code malveillant dans une simple image bitmap affichée au démarrage.

Le fonctionnement de ce bootkit est à la fois classique et sophistiqué. Il commence par s’infiltrer dans les composants critiques du système de démarrage en trois étapes majeures : d’abord il modifie le bootloader GRUB légitime, ensuite il patche le chargeur EFI stub du noyau Linux, et enfin il s’attaque à l’image décompressée du noyau directement en mémoire. Son objectif ? Désactiver la vérification des signatures du noyau Linux et précharger des fichiers malveillants via le processus d’initialisation.

La sophistication de Bootkitty ne s’arrête pas là puisque le malware utilise une approche modulaire particulièrement rusée. Tout d’abord un premier module charge un bootloader modifié, puis un second composant s’occupe de désactiver les vérifications de sécurité en bidouillant la fonction module_sig_check. Et enfin, pour couronner le tout, il utilise la variable d’environnement LD_PRELOAD pour charger des modules additionnels à la demande. Les chercheurs ont d’ailleurs découvert un module kernel suspect nommé “BCDropper” qui pourrait être lié à toute cette machinerie.

Les développeurs de Bootkitty ont même laissé leur signature sous forme d’ASCII art dans le code, comme pour narguer les chercheurs. On y trouve aussi une liste de noms qui pourrait correspondre aux auteurs - un petit clin d’œil arrogant qui rappelle les signatures des hackers des années 90 qu’on admirait tous. D’ailleurs, le code trouvé par Binarly remplace même le logo de démarrage par l’image d’un mignon petit chat, comme pour signer son méfait avec humour.

Pour les plus techniques d’entre vous, voici comment ce petit malin opère :

  • Il commence par s’installer dans la partition EFI du système
  • Il remplace ou modifie les fichiers GRUB légitimes
  • Il désactive les vérifications de signature du noyau
  • Il précharge ses composants malveillants au démarrage
  • Pour faire bonne mesure, il change même la version du kernel en “BoB13”

La bonne nouvelle, c’est que Bootkitty nécessite que le Secure Boot soit désactivé ou que les certificats des attaquants soient installés pour fonctionner. Donc comme un vampire, vous avez besoin de l’inviter pour qu’il puisse entrer… mais une fois à l’intérieur, bonjour les dégâts ! D’ailleurs, sa présence laisse des traces : le noyau est marqué comme “tainted” et il devient possible de charger des modules non signés même avec Secure Boot activé.

Pour se protéger de cette nouvelle menace, voici quelques recommandations essentielles : Gardez le Secure Boot activé sur vos systèmes, maintenez votre firmware UEFI et sa liste de révocations à jour, surveillez les modifications suspectes dans votre partition EFI et n’hésitez pas à utiliser des outils de vérification d’intégrité du système. Si vous possédez une machine Acer, HP, Fujitsu ou Lenovo avec un UEFI Insyde, assurez-vous d’avoir appliqué les derniers correctifs de sécurité.

Selon les chercheurs d’ESET, Bootkitty n’est probablement qu’une preuve de concept plutôt qu’une menace active dans la nature. Mais ne vous y trompez pas : cette découverte a aussi un côté positif car elle pousse la communauté Linux à renforcer ses défenses au niveau du démarrage, un aspect parfois négligé de la sécurité.

L’avenir ne sera que mieux !

Sources : The Hacker News, Ars Technica

Que faire après le bac quand on est passionné de cybersécurité ?

Contenu partenaire
Logo de l'école de Cybersécurité Guardia
Tracking Matomo Guardia

Entièrement dédiée à la cybersécurité, l'école Guardia est accessible soit directement après le bac (post-bac), soit après un bac+2 ou bac+3. En rejoignant l'école Guardia, vous deviendrez développeur informatique option cybersécurité (Bac+3) ou expert en cybersécurité (Bac+5).

Cliquez ici pour en savoir plus