SCOP d'ingénieurs experts du logiciel libre depuis 2004
+33 1 70 61 60 16

Boothole : Grub2 affecté par une vulnérabilité critique

C'est quoi un Bootloader? Le système d'amorçage d'un système d'exploitation (bootloader) est un composant particulièrement critique. Fonctionnellement, c'est à lui...

Notre prochain webinar

C'est quoi un Bootloader?

Le système d'amorçage d'un système d'exploitation (bootloader) est un composant particulièrement critique. Fonctionnellement, c'est à lui qu'incombe la tâche de faire démarrer votre système d'exploitation (OS). Système d'exploitation qui peut parfois cohabiter avec d'autres OS, et dans ce cas, c'est grâce à lui que vous pourrez sélectionner celui sur lequel vous démarrez.

À cette étape (le démarrage ou le boot), votre ordinateur ne dispose pas, par définition, des "mécanismes immunitaires" du système d'exploitation pour se prémunir d'attaques. Cette caractéristique fait de lui une cible de choix pour des personnes mal intentionnées, au même titre, si ce n'est plus, que le noyau ou ses modules dont l'exploitation d'une vulnérabilité est souvent plus complexe. L'objectif est bien évidemment ici de prendre le contrôle total de la machine ciblée. Concrètement, en parvenant à corrompre un bootloader, il devient possible d'exécuter au démarrage des commandes avec des droits super utilisateur (root), d'interférer très significativement avec la procédure de démarrage du noyau, d'en corrompre la mémoire, etc.

Ces derniers mois, les bootloaders de nombreux objets connectés ont été mis en défaut (comme le vers UbootKit ) et UEFI/Secure Boot, qui est censé protéger le système d'amorçage de nombreux devices, est ironiquement devenu une cible pour des assaillants.

Boothole

Boothole

La vulnérabilité qui nous anime aujourd'hui répond au doux nom de Boothole et affiche un score CVSS de 8.2. Elle est le fruit de la découverte de Mickey Shkatov et Jesse Michael, chercheurs pour le compte de la société Eclypsium . Boothole affecte directement UEFI (Unified Extensible Firmware Interface) / Secure Boot, dont le rôle est la « validation du processus de démarrage », et surtout la vérification des signatures logicielles de tout ce qui s'exécute au démarrage. L'exploitation de cette vulnérabilité consiste en la découverte d'un débordement de tampon ( buffer overflow ) menant à une exécution de code arbitraire pendant la séquence de boot, même avec Secure Boot actif. Le problème se produit pendant la lecture du fichier de configuration de GRUB, le grub.cfg (fichier au passage non signé comme c'est le cas pour les exécutables) quand on y injecte des signatures trop longues pour être traitées par le bout de code responsable de la lecture de ce fichier. Le buffer overflow ici décrit va écraser la zone mémoire de l'analyseur et rendre possible l'injection de code permettant de modifier la procédure normale de démarrage. Les zones de mémoire écrasées par ce débordement de tampon peuvent ainsi servir à l'injection de code arbitraire en mémoire, menant à une prise de contrôle totale de la machine ciblée.

Mitigation

Pour GNU/Linux, quasiment toutes les distributions sont vulnérables (serveurs, laptops, ordinateurs de bureau, mais aussi d'autres équipements connectés ou des routeurs...). Windows est également vulnérable et, de par sa nature, cette vulnérabilité est quasi universelle. Notez que la vulnérabilité a bien été confirmée sur les architectures ARM et n'affecte donc pas seulement x86. Toutes les distributions embarquant un GRUB2 qui lisent des commandes à partir d'un fichier externe grub.cfg sont considérées vulnérables. L'impact est naturellement colossal sur la sécurité de nos machines, et le temps qu'il faudra aux différents éditeurs logiciels et fabricants de matériel pour fournir des correctifs sur ce composant assez complexe joue contre la sécurité de nos infrastructures.

Pour se débarrasser de Boothole, Eclypsium prévient qu'il faudra attendre un correctif de GRUB , attendre les correctifs programmes d'installation des distributions, des bootloaders et des SHIM . Une fois les SHIM signés par l'autorité de certification (la CA de Microsoft), la liste de révocation de l'UEFI (dbx) devra être mise à jour pour que des programmes non signés ne puissent pas s'exécuter pendant la séquence de boot.

Évidemment, les responsables de SI devront prendre soin de bien mettre à jour les systèmes vulnérables ainsi que les différentes images dont ils se servent pour leurs déploiements... Il y a donc du travail et nous allons probablement nous traîner Boothole pendant encore quelques années. La version plus anxiogène est que de très nombreux objets connectés et matériels dont le support n'est pas ou plus assuré, resteront connectés au Net, vulnérables, et leur nombre en fait une menace durable.

Crédit image : Eclypsium


Olivier Laurelli

Inscrivez-vous à notre newsletter

Mieux comprendre le monde du DevOps et de l'administration système.

Abonnez-vous à notre newsletter

Hébergement & Infogérance

  • ✓ Service Astreinte 24h/7j/365
  • ✓ Supervision, monitoring & Alertes
  • ✓ Mises à jour en continu
  • ✓ Certificat SSL letsencrypt
  • ✓ Hébergement dédié sécurisé en France
  • ✓ Backup vers datacenter distant
Découvrir notre offre

Expertise Technologique

Notre équipe possède une vaste expertise technologique.