Qu'est-ce qu'un Rootkit ?

mai 23, 2022

Un rootkit est un ensemble de logiciels conçu pour permettre à des cybercriminels de prendre le contrôle d’une application ou d’un réseau informatique. Une fois activé, le programme malveillant installe une porte dérobée et peut même distribuer d’autres logiciels malveillants, comme des ransomwares, des robots, des enregistreurs de frappe ou des chevaux de Troie. Les rootkits peuvent rester en place pendant des années, car ils sont particulièrement difficiles à détecter, notamment en raison de leur capacité à bloquer certains antivirus et logiciels de recherche de logiciels malveillants.

Types de rootkits

Les rootkits connus peuvent être classés en plusieurs grandes familles, même s’il existe de nombreuses formes hybrides. Les principales familles sont les suivantes :

Rootkits de firmware

Un rootkit de firmware cible le logiciel qui contrôle certains composants matériels en se greffant au logiciel exécuté pendant le processus de démarrage, avant même que le système d’exploitation ne soit lancé. Les rootkits de firmware sont particulièrement discrets et peuvent subsister malgré la réinstallation du système d’exploitation.

Leur utilisation s’est développée à mesure que les technologies ont abandonné les logiciels du BIOS codés en dur au profit de versions pouvant être mises à jour à distance. Les environnements cloud qui regroupent différentes machines virtuelles sur un même système physique sont également vulnérables.

Exemples de rootkits de firmware :

  • Rootkit UEFI (interface micrologicielle extensible unifiée)
  • Cloaker
  • Rootkit VGA (adaptateur d’interface graphique)

Rootkits en mode noyau

Un rootkit en mode noyau est un logiciel malveillant sophistiqué capable d’ajouter un nouveau code au système d’exploitation ou de supprimer/modifier le code existant du système d’exploitation. La création de ces rootkits est une opération complexe et, pour peu qu’un rootkit en mode noyau soit mal codé, il aura un impact considérable sur les performances de l’ordinateur ciblé. L’avantage d’un rootkit en mode noyau mal codé est qu’il laisse un certain nombre de traces susceptibles d’être détectées par les solutions antivirus.

Exemples de rootkits en mode noyau :

  • Spicy Hot Pot
  • FU
  • Knark

Bootkits ou rootkits du chargeur de démarrage

Les bootkits ou rootkits du chargeur de démarrage se lancent en même temps que le système d’exploitation et ciblent soit le MBR (Master Boot Record), autrement dit le premier code exécuté lors du démarrage d’un ordinateur, soit le VBR (Volume Boot Record), lequel contient le code nécessaire pour lancer le processus de démarrage ou pour charger un système d’exploitation ou une application. En se greffant à l’un de ces types de registres, les bootkits évitent d’être répertoriés dans la vue standard du système de fichiers et sont dès lors difficiles à détecter pour les antivirus ou les solutions de suppression de rootkits.

Exemples de bootkits :

  • Stoned Bootkit
  • Olmasco
  • Rovnix

Rootkits virtuels

Contrairement aux rootkits en mode noyau qui s’exécutent au démarrage du système ciblé, les rootkits virtuels se lancent avant même que le système d’exploitation ne démarre. Ils s’enracinent au cœur des ordinateurs et sont extrêmement difficiles, voire impossibles, à supprimer.

Rootkits en mode utilisateur

Les rootkits en mode utilisateur ont pour but de modifier le comportement des API (interfaces de programmation d’applications). Ils sont ainsi capables d’afficher de fausses informations à l’intention des administrateurs, d’intercepter les appels système, de filtrer les résultats des processus et de faire le nécessaire pour masquer leur présence. Toutefois, dans la mesure où les rootkits en mode utilisateur ciblent des applications plutôt que les systèmes d’exploitation ou d’autres processus critiques, ils laissent des traces susceptibles de générer des alertes de la part des antivirus ou des solutions de suppression des rootkits et ne sont pas aussi difficiles à neutraliser que d’autres types de rootkits.

Exemples de rootkits en mode utilisateur :

  • Vanquish
  • Hacker Defender
  • Aphex

Rootkits de mémoire

Les rootkits de mémoire se chargent dans la mémoire RAM, ce qui veut dire qu’ils sont uniquement actifs jusqu’au vidage de cette mémoire lors du redémarrage du système. Tant que ces rootkits sont actifs, leurs activités malveillantes mobilisent les ressources du système ciblé et réduisent donc les performances de la mémoire vive.

Exemple de rootkit : Spicy Hot Pot

CrowdStrike a découvert un rootkit utilisé de manière intéressante pour pirater les navigateurs et remplacer la page d’accueil des utilisateurs par une page contrôlée par le cyberattaquant. Il s’agit d’une approche différente du piratage habituel des navigateurs, qui s’appuie sur des clés de Registre ou des fichiers exécutables malveillants pour modifier la page d’accueil des utilisateurs.

Principe

Ce logiciel malveillant, baptisé Spicy Hot Pot, récupère les vidages de mémoire des systèmes des utilisateurs pour les charger sur les serveurs de son opérateur, puis ajoute une fonction de mise à jour locale qui permet au logiciel malveillant de rester toujours à jour. Spicy Hot Pot, qui constitue une évolution par rapport aux rootkits utilisés précédemment pour pirater les navigateurs, intègre une fonctionnalité qui lui permet de rester furtif : il injecte deux pilotes en mode noyau sur le disque, lesquels s’installent sur le système dans le cadre du processus d’infection.

Ces pilotes malveillants remplissent diverses fonctions, notamment :

  • Empêcher les logiciels de sécurité d’intercepter leurs rappels
  • Récupérer les vidages de mémoire créés sur le système informatique à partir d’un répertoire spécifique
  • Permettre aux cybercriminels de mettre à jour leurs logiciels malveillants à leur guise
  • Intercepter et modifier les requêtes des utilisateurs en entrée et en sortie
  • Empêcher les administrateurs de mettre au jour les fichiers malveillants en les rendant pratiquement invisibles, même pour un logiciel de recherche de rootkits

Découverte

Spicy Hot Pot a été mis au jour après que l’équipe CrowdStrike Falcon Complete™ a été avertie qu’un fichier binaire suspect essayait de s’exécuter dans l’environnement Windows 10 d’un de ses clients. L’investigation a permis de déterminer que ce fichier binaire était intégré à un rootkit de piratage de navigateurs. Ce rootkit avait injecté sept fichiers exécutables et deux pilotes malveillants sur le système du client avant de désactiver le mode de veille prolongée de la machine ciblée. Les pilotes en mode noyau injectés sur le disque étaient invisibles pour les utilisateurs, car le rootkit empêchait tout bonnement l’affichage des fichiers du logiciel malveillant.

Investigation

L’équipe CrowdStrike a identifié ce rootkit comme étant un rootkit observé dès 2019 et ayant depuis lors donné naissance à de nombreuses variantes. CrowdStrike est parvenu à simuler les actions de ce logiciel malveillant, ce qui lui a permis de découvrir une variante encore plus répandue que le rootkit examiné. La date de création de cette variante remontait à quatre ans plus tôt, ce qui signifie que Spicy Hot Pot reposait sur un outil de craquage plus ancien, qui avait vraisemblablement été recyclé et redistribué par son créateur.

Sur les neuf fichiers injectés par Spicy Hot Pot, huit présentaient des certificats de signature différents, mais accordés à une seule et même entité. Les dates d’expiration de ces certificats remontaient à dix ans pour certains et à une minute pour d’autres, mais tous étaient expirés. Cependant, bien qu’expirés, ils étaient toujours en mesure de s’installer en raison des exceptions définies pour l’application des signatures des pilotes.

L’équipe CrowdStrike a alors comparé le premier certificat de signature à un référentiel public d’échantillons de logiciels malveillants et a découvert des centaines d’échantillons différents liés à Spicy Hot Pot. Elle en a conclu que l’opérateur de ces logiciels malveillants ne voyait aucun problème à continuer d’utiliser ces certificats et n’arrêterait sûrement pas de sitôt.

Même si Spicy Hot Pot filtre les requêtes des utilisateurs en entrée et en sortie afin de dissimuler ses fichiers, CrowdStrike Falcon est parvenu, à l’aide de la télémétrie, à mettre au jour les opérations d’infection programmées dans le logiciel malveillant. La fonction d’intervention en temps réel de Falcon a quant à elle permis de localiser les fichiers binaires et les pilotes en mode noyau injectés sur le système ciblé.

Correction

À l’instar d’autres rootkits, les pilotes de filtre en mode noyau de Spicy Hot Pot ne peuvent pas être arrêtés par les utilisateurs. Un pilote malveillant empêche la suppression des clés de Registre, des services ou des pilotes eux-mêmes, de sorte que neutraliser ce rootkit à distance peut s’avérer particulièrement difficile. La suppression d’un rootkit nécessite souvent la mise hors tension d’une machine et son redémarrage en mode sans échec, deux opérations impossibles à réaliser à distance. CrowdStrike a toutefois trouvé un moyen d’empêcher Spicy Hot Pot de s’exécuter au démarrage, ce qui a rendu possible la correction à distance.

Spicy Hot Pot place les pilotes malveillants dans le dossier WindowsApps. Le fait de renommer ce dossier a permis de rendre les pilotes de filtre visibles, car le chemin d’accès utilisé par les pilotes malveillants n’existait plus, ce qui a tout simplement empêché leur chargement. Il devenait ainsi possible de supprimer les services et les clés de Registre associés à Spicy Hot Pot.

Comment se protéger contre les rootkits

Les rootkits se propagent de la même manière que n’importe quel autre logiciel malveillant : par le biais d’e-mails, de clés USB, de vulnérabilités, etc. Pour protéger leurs endpoints, les entreprises doivent donc mettre en place toutes les mesures standard de protection des endpoints, comme des formations de sensibilisation à la sécurité, des programmes de gestion des vulnérabilités et un contrôle des terminaux. Ces mesures permettront d’empêcher certains logiciels malveillants de s’introduire dans l’infrastructure de l’entreprise. Elles ne permettront toutefois pas de neutraliser tous les logiciels malveillants et ne faciliteront pas les efforts de correction.

La plupart des solutions de protection des endpoints se concentrent sur le système d’exploitation local et sur les applications qu’il permet d’exécuter. Certaines avancées comme le Machine Learning, la détection et l’intervention sur les endpoints ou encore l’analyse comportementale ont rendu la tâche plus difficile pour les cybercriminels. Dès lors, ceux-ci ont décidé de porter leur attention sur les couches informatiques en amont du système d’exploitation, autrement dit les logiciels qui exécutent les composants matériels, avec pour conséquence une multiplication des rootkits.

La meilleure protection contre les rootkits est une solution de protection des endpoints tirant parti de technologies avancées (comme l’intelligence artificielle, la télémétrie et l’intervention en temps réel) capables d’identifier les rootkits les plus difficiles à détecter et de les neutraliser avant qu’ils ne s’exécutent. Une surveillance continue et vérifiable du BIOS de chaque endpoint peut également contribuer à prévenir les attaques de rootkits en mode noyau. En adoptant une telle approche, les entreprises seront en mesure de bloquer les attaques avant même qu’elles ne puissent être activées, mais aussi de détecter les menaces dormantes dissimulées dans les couches informatiques les plus profondes.