Ce que vous devez savoir sur les rootkits

Une idée qui fait froid dans le dos : il se peut qu’en ce moment votre ordinateur soit plein de virus et de malwares, et qu’il soit peut-être même relié à un botnet utilisé pour réaliser des cyberattaques et des fraudes au clic de grande envergure. Si c’est le cas, vous ne vous en apercevrez absolument pas. Car dans la plupart des cas, un rootkit va faire croire à l’utilisateur que tout est en ordre : le rootkit fonctionne un peu comme une cape magique sous laquelle ont lieu de manière invisible toutes sortes d’activités criminelles. Mais si vous connaissez le risque des rootkits et leur manière de fonctionner, vous pourrez mieux vous protéger. Vous trouverez ci-dessous les principales choses à savoir sur les rootkits.

Qu’est-ce qu’un rootkit ? Définition

Par rootkit, on ne fait pas référence à un logiciel malveillant isolé. C’est tout un ensemble de programmes malveillants qui a réussi à entrer dans votre ordinateur en exploitant une faille de sécurité qui lui donne un accès à distance (Remote access), permettant ainsi au rootkit d’être manipulé à distance également. Une des particularités du rootkit est de pouvoir se cacher soi-même, mais aussi de dissimuler d’autres programmes malveillants, et de les rendre indétectables par les programmes antivirus et autres solutions de sécurité, à tel point que l’utilisateur ignore leur existence.

En fonction du niveau du système où le rootkit s’est installé, l’attaquant pourra s’arroger des droits d’administrateur importants (dans ce cas on parle de rootkit en mode noyau) et prendre ainsi un contrôle illimité de l’ordinateur.

Définition

Un rootkit est un ensemble de plusieurs logiciels malveillants qui se sont introduits à plusieurs niveaux d’un ordinateur, qui masquent l’activité de virus et de malwares, facilitant l’accès et le contrôle du système pour la suite des événements.

Les premiers rootkits sont apparus au début des années 90 et ciblaient au départ essentiellement les systèmes d’exploitation sur une base Unix, comme par exemple les systèmes Linux. Ils étaient composés principalement de programmes modifiés, comme par exemple « ps » (une commande Unix permettant de lancer toute une série de processus) et « passwd » (pour modifier le mot de passe de l’utilisateur). C’est de là que vient leur appellation : Le mot « Root » désigne chez Unix l’Administrateur, et le mot « kit » signifie « Équipement » ou « Caisse à outils ». Le mot composé Rootkit désigne donc un ensemble d’utilitaires logiciels qui permettant à un hacker de s’arroger des droits d’administration sur un ordinateur (en d’autres mots des rootkits en mode noyau).

Entre temps sont apparus des rootkits susceptibles d’affecter tous les systèmes d’exploitation. Les rootkits affectent désormais les systèmes Windows comme tout autre système d’exploitation : Certains rootkits réussissent à pénétrer jusque dans le noyau, c’est à dire le noyau interne, et donc à la « racine » (en anglais : « root ») du système, où ils développent leur activité.

Comment fonctionnent les rootkits ?

Bien qu’il existe toute une variété de rootkits, ils ont généralement un mode de fonctionnement commun. La manière dont ils pénètrent dans le système suit elle-aussi le même mode opératoire.

Étape 1 : contamination du système

Une infection de rootkit est généralement précédée par une sorte de Social Engineering (ingénierie sociale) : des cyber-criminels exploitent pour ce faire l’élément le plus faible du système de sécurité, à savoir le facteur humain. En influençant ou en trompant sciemment leurs victimes, les hackers réussissent souvent à leur extirper les données d’accès et les mots de passe. Munis de ces données, ils se connectent à l’ordinateur et y installent le rootkit.

On peut aussi être contaminé par un rootkit d’autres manières, par exemple par un Drive-by-Downloads (téléchargement à la volée) sur un site internet infecté, en téléchargeant un logiciel d’une source non vérifiée ou en cliquant sur un lien ou sur une pièce jointe dans un email de phishing.

Une autre méthode consiste pour un cybercriminel à laisser traîner dans un lieu stratégique une clef USB contenant un rootkit. Quelqu’un trouve cette clé et l’emporte avec lui à la maison, curieux de voir ce qu’elle contient. Une fois que la clé est branchée sur son ordinateur, la contamination a lieu. C’est ainsi que se font les attaques de type « Evil Maid Attacks » où le hacker installe de lui-même le rootkit sur un ordinateur laissé sans surveillance. Cette méthode doit son nom au scénario qui consisterait à demander à une femme de chambre dans un hôtel de contaminer les ordinateurs portables de plusieurs clients d’un hôtel.

Étape 2 : mode furtif (Stealth)

Une fois introduit dans le système, le rootkit cache son existence. Pour ce faire, il commence à manipuler tous les processus, en intervertissant les données des programmes et des fonctions systèmes. De cette manière, un programme antivirus qui fera un scan obtiendra des informations faussées, dans lesquelles auront été supprimées toutes les mentions indiquant la présence du rootkit. C’est la raison pour laquelle il est parfois impossible, même pour les plus grands antivirus, de détecter ces programmes malveillants au moyen de leur signature ou de leur comportement (heuristique).

Étape 3 : mise en place d’une porte dérobée (Backdoor)

Pour continuer, le rootkit se fabrique une « Backdoor », une porte dérobée dans le système, que le hacker peut utiliser au moyen d’un mot de passe espionné ou d’une coquille pour pouvoir accéder à distance à l’ordinateur. Le travail du rootkit consiste à dissimuler toutes les connexions et toutes les activités suspicieuses.

Le hacker a ainsi la possibilité d’installer d’autres logiciels, comme par exemple des Keylogger (enregistreurs de frappe), d’espionner ce que vous tapez au clavier avec des Spyware, de vous dérober des données ou (en fonction du niveau et des droits) de modifier les paramètres de votre système. Assez souvent, les ordinateurs contaminés par un rootkit sont reliés à des botnets pour être utilisés à des fins de phishing ou d’attaques DDoS (déni de service).

Quelle est la différence entre des rootkits et les autres logiciels malveillants ?

Pour des raisons évidentes, on appelle aussi les rootkits des virus furtifs, bien qu’ils ne soient officiellement pas classés dans la catégorie des virus. Mais qu’est-ce qui différencie précisément les rootkits des autres programmes malveillants ?

  • Les virus : un virus se fixe sur un fichier exécutable ou sur un programme (généralement sur un fichier ayant l’extension .exe). Il est certes capable de se répliquer lui-même, mais il ne peut pas se propager tout seul. Pour ce faire, il a besoin de l’assistance d’une personne ou d’un autre logiciel.
  • Les vers : les vers constituent une sous-catégorie des virus capables de s’auto-reproduire en utilisant les fonctions de transferts de données au sein d’un système.
  • Les chevaux de Troie : ce ne sont pas des virus, mais des malwares, c’est à dire des logiciels malveillants qui se font passer pour des applications utiles. Les hackers utilisent les chevaux de Troie pour ouvrir des portes dérobées dans le système.
  • Les rootkits : le rootkit est aussi décrit comme une sous-catégorie des chevaux de Troie. Plusieurs chevaux de Troie ont les mêmes caractéristiques que les rootkits. La principale différence, c’est que les rootkits se cachent de manière délibérée dans le système et qu’ils aident le hacker à s’attribuer des droits d’administrateur.

Quels types de rootkit existe-t-il ?

Les rootkits se distinguent avant tout par la méthode qu’ils emploient pour camoufler les processus des malwares et les activités des hackers. Le plus souvent, ce sont des rootkits en mode noyau ou en mode utilisateur. Ces boîtes à outils particulièrement dangereuses sont constamment développées par les cybercriminels, et il est de plus en plus difficile de se protéger contre leur action.

Les rootkits en mode noyau

Quand on parle de rootkits, on fait généralement allusion à ce type de rootkit. Les rootkits en mode noyau se glissent dans le noyau du système d’exploitation. Cette zone, aussi appelée « anneau 0 » est la zone où vous disposez des droits d’accès les plus privilégiés, et qui vous permet d’accéder à toutes les composantes du matériel, mais aussi de modifier les paramètres du système. Concrètement : si un hacker réussit à y placer un rootkit, il est en mesure de prendre le contrôle de l'ensemble du système.

De tels rootkits remplacent des parties du noyau par leur propre code. Dans le cas des systèmes d’exploitation basés sur Unix, cela se fait généralement au moyen de modules du noyau qui sont téléchargés ultérieurement, d’où l’expression « Rootkits LKM » (abréviation de loadable kernel modules). Dans les systèmes Windows, le noyau est généralement manipulé directement, en y introduisant de nouveaux pilotes-système. Quelle que soit la procédure : le rootkit en mode noyau peut exploiter sa position privilégiée pour transmettre de fausses informations au programme antivirus de l’ordinateur. Les rootkits de ce type sont donc difficiles à déceler et à éliminer. En raison de leur complexité, ils sont aussi assez rares.

Conseil

Vu leur complexité, les rootkits en mode noyau sont très exposés aux erreurs de programmation, qui peuvent parfois rendre très instable un système qui a été contaminé. Dans ce cas, l’utilisateur finira par remarquer que des logiciels malveillants sont installés sur son ordinateur, notamment à cause des nombreux « écrans bleus » et des plantages du système.

Les rootkits en mode utilisateur

À la différence des rootkits en mode noyau, cet autre type de rootkit s’implante au niveau de l’utilisateur de l’ordinateur, là où se trouvent tous les programmes à exécuter. Ce domaine constituant le niveau le plus bas du CPU (anneau 3), les rootkits en mode utilisateur ne peuvent assigner qu’un accès restreint à l’attaquant. Leur structure est cependant moins complexe et on les rencontre plus souvent que les rootkits en mode noyau, en particulier dans les environnements Windows.

Les rootkits en mode utilisateur se camouflent en détectant l’échange de données entre le système d’exploitation et les programmes de sécurité et antivirus installés sur l’ordinateur. Pour ce faire, ils utilisent les méthodes DLL-Injection et le API hooking : une bibliothèque logicielle propre (Dynamic Link Library, abrégé en DLL) se glisse dans l’échange de données et détourne les fonctions de certaines interfaces logicielles (Application Programming Interfaces, abrégé en API) en direction du rootkit. Il parvient ainsi à effacer ses propres traces dans les listes de processus, comme celles du gestionnaire de tâches Windows.

Autres rootkits

En plus de ces deux types de rootkits, il en existe d’autres, mais qui présentent des dangers moindres :

  • Les rootkits application : il s’agit de la forme primitive et initiale des rootkits. Ils remplacent des programmes systèmes par leurs propres programmes modifiés, et sont donc facilement détectables. C’est la raison pour laquelle les hackers ne les utilisent quasiment plus.
  • Les rootkits mémoire : de tels rootkits n’existent que dans la mémoire RAM, et disparaissent donc du système à chaque redémarrage.

Évolution des rootkits

À l’image de la plupart des logiciels malveillants, les rootkits font l’objet d’un développement permanent. C’est ainsi que sont apparus par exemple les « Bootkits », une espèce de rootkit en mode noyau dont la spécialité est de remplacer le chargeur d’amorçage d’un ordinateur pour désactiver les mécanismes de sécurité du système d’exploitation. Les téléphones portables (surtout ceux qui sont sous Android) sont aussi de plus en plus infectés, la plupart du temps lors d’un téléchargement d’une application non certifiée. On parle dans ce cas de « rootkit mobile ».

En 2006, des chercheurs de l’Université du Michigan a fait parler de lui, en faisant part de leur projet intitulé Projet SubVirt : un rootkit implanté sur une machine virtuelle, d’où le nom VMBR (Virtual Machine Based Rootkit). On utilise habituellement ce type de machines pour pouvoir implanter plusieurs systèmes d’exploitation (par exemple Linux et Windows) sur un seul et même ordinateur. À l’aide de cette technologie, le VMBR devait être capable d’implanter un système d’exploitation dans un environnement virtuel, et ensuite d’agir de manière complètement dissimulée. Un an plus tard, des chercheurs de l’Université de Stanford déclaraient être en mesure de détecter les VMBR sans la moindre difficulté.

Depuis, il ne semble pas qu’on ait eu d’innovations majeures en termes de rootkits, ce qui ne veut cependant pas dire que les risques aient reculé. À titre d’exemple, l’Exploit-Kit RIG a donné naissance en 2018 à un nouveau rootkit baptisé CEIDPageLock. Celui-ci s’introduit dans les systèmes d’exploitation Windows via certains pilotes et prend le contrôle de l’ordinateur au moyen de votre navigateur Internet. Il redirige ensuite l’utilisateur vers des sites falsifiés où sont pratiquées toutes sortes d’extorsions de données à des fins criminelles. Actuellement, ce sont principalement des ordinateurs en Chine qui sont affectés (données d’août 2018). Les experts pensent cependant que ce logiciel malveillant va se propager au-delà de ces frontières.

Remarque

Exploit-Kits (du mot anglais « exploiter ») contient un ensemble d’outils qui ciblent des failles de sécurité dans des applications très souvent utilisées, comme Adobe Flash, Java et Microsoft Silverlight. Avec ses 27 000 infections par jour, RIG est à l’heure actuelle l’Exploit-Kit le plus actif.

Des exemples de rootkits connus

On a identifié des rootkits pour les différents systèmes d’exploitation. Ci-dessous, vous avez deux exemples de rootkits qui affectent les environnements Windows :

  • TDSS aka Alureon (découvert en 2007) est classé comme cheval de Troie, ce qui en dit long sur la proximité entre ces deux types d’applications malveillantes. Le rootkit manipule le registre de Windows, et désactive par exemple le gestionnaire de tâches, la fonction de mise à jour, voire les programmes antivirus qui sont installés, et met ensuite en place un botnet.
  • ZeroAccess (découvert en 2011) : un autre cheval de Troie avec des attributs de rootkit. Celui-ci infecte le Master Boot Record (MBR) (zone d’amorce) ainsi qu’un pilote système au hasard, et désactive dans la foulée le Centre de sécurité de Windows, le Windows Defender et le pare-feu. Une fois que ceci est fait, l’ordinateur est intégré dans un botnet, utilisé pour du Bitcoin-Mining et de la fraude au clic.

Les rootkits ne servent cependant pas toujours à des activités criminelles aussi poussées. Certains émulateurs de CD emploient cette technique pour contourner les protections des titres. Quant à savoir si c’est légal ou répréhensible, tout dépendra de l’utilisation qui en est faite et du volume de fichiers lus de cette sorte.

Il n’y a d’ailleurs pas que les consommateurs qui flirtent avec la légalité des droits d’auteurs au moyen de rootkits : En octobre 2015, le groupe japonais Sony a déclenché un scandale de grande envergure, lorsqu’il a été constaté que la protection XCP (Extended Copy Protection) de plusieurs CD de musique du fournisseur avait été camouflée par un rootkit. Le groupe voulait ainsi empêcher la reproduction illégale de ses CD. Le logiciel malveillant en profitait pour fournir à Sony des informations sur les goûts musicaux de ses clients, enfreignant ainsi le Règlement général sur la protection des données. Les critiques à l’égard de Sony furent particulièrement sévères parce que les rootkits dissimulaient leur présence aux programmes antivirus, ouvrant ainsi les portes aux hackers qui en profitaient à leur entière convenance.

Des cas similaires, par exemple celui de la société Kinowelt en 2006 ont fait dire aux experts informatiques qu’il n’y aurait pas seulement les hackers qui utiliseraient les rootkits à l’avenir, mais aussi de grands groupes.

Comment peut-on se protéger contre les rootkits ?

Comme le camouflage est la spécialité d'un rootkit, il est généralement difficile, voire impossible de le détecter et de le supprimer. Il existe cependant quelques mesures pour améliorer votre protection :

Prévenir une contamination

Les mesures à prendre pour éviter les rootkits sont les mêmes que pour tous les autres programmes malveillants :

  • Installez un logiciel de sécurité sur votre ordinateur.
  • Entretenez bien votre système avec des mises à jour régulières.
  • Développez un sens critique pour toutes les formes d’arnaque sur Internet, comme par exemple le Phishing.
  • Utilisez des mots de passe sécurisés.

Il existe encore quelques conseils plus spécifiques pour se prémunir contre les infections de rootkits :

  • Conseils pour les débutants en informatique : utilisez le moins possible votre compte-administrateur, et surtout pas lorsque vous êtes sur internet. Le compte-administrateur est nettement moins protégé que le compte-utilisateur ordinaire. Le compte-utilisateur d’origine ayant des droits restreints, vous limiterez les dégâts en cas d’infection par un rootkit.
  • Des conseils pour les pros : pour éviter qu’un rootkit ne contamine votre BIOS, et qu’il soit quasiment impossible à supprimer, il est envisageable d’ajouter une protection physique bloquant l’accès en écriture à votre BIOS. Il s’agit d’un cavalier que l’on insère dans la platine principale.

Identifier un rootkit

La plupart des programmes antivirus recherchent les rootkits connus au moyen de leurs signatures et cherchent à en identifier de nouveaux en analysant les comportements spéciaux, comme la suppression de fichiers. Le problème : Sauf si vous êtes face à un rootkit de mode noyau mal programmé, engendrant des écrans bleus à répétition, et qui attire votre attention, la plupart des rootkits ne laisse absolument rien filtrer de leur présence dans votre système.

Comme les rootkits font l’objet d’une programmation toujours plus sophistiquée, il devient de plus en plus difficile de les dénicher. On dispose cependant d’outils techniques, spécialement conçus pour s’attaquer aux rootkits : les scans à rootkit. Cette fonction est intégrée dans plusieurs solutions de sécurité, mais elle existe aussi en tant que programme dédié à cette fonction. On trouve entre autres Sophos Anti Rootkit ainsi que le Rootkit Remover de Bitdefender, deux outils disponibles gratuitement.

Un tel scan à rootkit peut aussi être effectué à partir d’un CD d’amorçage. Un tel CD va démarrer votre ordinateur sans prêter attention au système d’exploitation installé. Le rootkit restera donc inactif, ce qui permettra peut-être à un antivirus du CD de le déceler.

Éliminer un rootkit

Il n’existe malheureusement pas de solution fiable à 100 % pour éliminer un rootkit de votre ordinateur. Même les antivirus professionnels comme AntiVir, Kaspersky et Microsoft laissent passer plusieurs rootkits si l’on veut croire de nombreux rapports de test. Selon certains magazines spécialisés, il est préférable de combiner l'utilisation de trois de ces programmes.

Et même cette méthode n’est pas efficace à tous les coups face à des rootkits qui sont profondément cachés dans le BIOS. Il ne vous reste souvent qu’une seule solution : formater complètement le disque dur et réinstaller le système d’exploitation pour enfin éradiquer cet outil malveillant et récalcitrant.

Pour conclure : le risque subsiste

Les rootkits représentent une menace difficile à contrer, et peuvent ouvrir la porte à des criminels qui prendront le contrôle de votre ordinateur. Prendre conscience de ce risque, c’est faire un premier pas vers plus de sécurité. La principale mesure de sécurité consiste comme souvent à empêcher l’infiltration du système, car les rootkits sont difficiles à déceler, et encore plus difficiles à éradiquer. Le remède est encore souvent de tout réinstaller.

Lors du congrès « Black Hat » en janvier 2006, il a même été fait état de rootkits qui ont pu survivre au formatage d’un disque dur – après avoir manipulé le ACPI (Advanced Configuration and Power Interface) qui gère l’alimentation électrique d'un ordinateur, ou en s’étant logé dans le BIOS de la machine. Aussi longtemps qu’une solution fiable permettant de régler ces problèmes n’aura été trouvée, les rootkits resteront des outils dangereux et ultra-complexes entre les mains des cyber-criminels.