Le temps où les virus étaient simples à débusquer et à supprimer semble révolu...
Notez, avant de commencer que tous les rootkits ne sont pas forcément nuisibles, simplement ici, je parlerai plus particulièrement des virus et autres malwares utilisant des techniques de dissimulations dignes de rootkit que je nommerai tout simplement rootkits.
Le rootkit, où l’agent secret.
Qu’est-ce qu’un rootkit ?
Le terme rootkit est utilisé pour décrire les mécanismes et les technologies utilisées par les malwares, ce qui inclut des virus, spywares, troyens, pour essayer de cacher leur présence contre les anti-spywares, les antivirus, et les outils de gestion système. Il y a plusieurs classifications de rootkits qui dépendent du mode d’exécution des malwares (mode utilisateur ou noyau) et s’ils survivent au redémarrage de la machine.
Pourquoi se cache-t-il ? Dans le cas ou il est nuisible c’est simple : pour échapper aux logiciels de protection, par contre lorsqu’il n’est pas nuisible, c’est le cas par exemple des rootkits de Daemon tools et d’alcohol, afin de déjouer les mécanismes de protection inclus sur certains cd dans ce cas présent.
(définition extraite du Topic Protection -section 2- sur le forum de Clubic.com, adresse en fin d’article)
Le rootkit est donc avant même d’être potentiellement nuisible un programme qui sait se faire discret. En effet dans la plupart des cas, même lancé un rootkit reste invisible, même dans la liste des processus du gestionnaire des tâches ! Mais ce n’est pas tout, il est aussi possible (lorsqu’il est lancé) qu’un rootkit rende invisible le dossier dans lequel il est stocké ainsi que la clé de la base de registre qu’il utilise pour se lancer ! (au démarrage de la machine le plus souvent.) A partir de là, pour quelqu’un de non expérimenté il est réellement très difficile de soupçonner qu’un programme illégitime est installé ! Etant donné que le plupart du temps, il s’agit d’un virus ou d’un malware l’utilisateur va avoir des soupçons car le pc même s’il apparait propre après un scan antivirus (en effet, vu qu’il est caché le rootkit restera la plupart du temps invisible pour l’antivirus. Il existe toutefois des exceptions, nous le verrons plus loin) peut laisser apparaitre des signes évidents de contamination virale. (Fichiers qui disparaissent, lenteurs et forte occupation processeur ou plantage des logiciels de sécurité lorsqu’ils sont lancés.)
L’art et la manière de se cacher.
Comment un rootkit fait-il pour demeurer invisible ? C’est relativement simple (cette partie volontairement vulgarisée, reste technique, si un terme vous échappe n’hésitez pas a demander.)
Sachez tout d’abord que Windows mets à la disposition de tout développeur de programmes des fonctions standardisées (pour copier un fichier par exemple.) Ces fonctions, documentées, pour la plupart sont réunies dans ce que l’on appelle des API (Application Programming Interfaces) qui permettent au développeur de réutiliser des fonction existantes et donc de ne pas avoir a réinventer la poudre. Ces API sont utilisées par la plupart des applications, dont les antivirus et autres logiciels de protection pour par exemple réaliser une analyse du disque dur de votre ordinateur. (D’autres méthodes peuvent être utilisés, j’y reviendrai).Les API, très pratiques, offres une "faille" possible, utilisée par les rootkits justement :
Etant donné que la plupart des softs utilisent les méthodes standard de Windows pour détecter les virus, rien n’empêche que ces même virus (ceux qui sont dans la catégorie rootkits donc) utilisent des méthodes non standards, permettant de réaliser des choses (copies de fichiers, cacher un processus, etc...) sans que cela ne passe par le noyau (qui execute les fonctions contenues dans ces fameuses API), du coup, les applications utilisant les API n’y voient rien non plus ! Il est dès lors possible pour le rootkit d’arrêter un programme antivirus, de cacher son dossier par exemple.
Trouver un rootkit.
Pour trouver un rootkit, il y a deux solutions :
1) Soit utiliser un programme adapté à leur détection, comme Rootkit Revealer qui saura les trouver, le problème principal de ce type de logiciel étant qu’il va vous indiquer tout ce qui n’utilise pas les API Windows, or tout ce qui rentre dans ce cas n’est pas forcément nuisible, le plus dur étant donc de faire le tri. Toujours au niveau des programmes capable de détecter des rootkits, notez que de plus en plus d’antivirus, dans leurs versions les plus récentes sont capable de trouver des programmes se dissimulant dans le système. La, le diagnostic est plus simple, l’antivirus ne cherchant que le programmes lancés en mémoire et tentant de se dissimuler, le risque de fausses alertes est donc plus faible.
2) Soit la méthode manuelle, eh oui ! Il y a en effet, une chose importante à savoir : Un rootkit ne peut se dissimuler que lorsqu’il est lancé ! Et là, Windows nous offre une arme intéressante : le mode sans échec. Accessible, en appuyant sur F8 juste avant le lancement de Windows (après les écran du BIOS), ce mode minimal, qui démarre avec des pilotes standard et ne chargeant aucun programme lors du démarrage nous permet de trouver facilement toute trace d’un rootkit. Comment ?
C’est simple : En allant dans "Executer" (dans le menu démarrer) et en tapant la commande "msconfig" (sans guillemets) on lance l’utilitaire msconfig qui nous donne entres autres accès à la liste des programmes se lançant au démarrage (onglet "Démarrage"). Comment alors identifier à coup sur un rootkit ? Eh bien c’est simple, la ligne de démarrage n’apparait qu’en mode sans échec ! En mode de fonctionnement normal de Windows, sa ligne de démarrage reste invisible dans msconfig ! (rappelez vous : un rootkit se dissimule lorsqu’il est lancé.) Du coup, il suffit de supprimer le programme indiqué (son chemin est indiqué par msconfig), de décocher enfin la ligne correspondant à son lancement dans msconfig, de redémarrer normalement et c’est fini !
Conclusion
Bien que relativement simple a éliminer pour quelqu’un qui à l’habitude de désinfecter des pc, un virus de type rootkit risque de donner pas mal de fil à retordre aux novices, il y a fort à parier que les virus de type rootkits soient de plus en plus nombreux à l’avenir. On ne peut que saluer l’inclusion d’une fonction anti rootkit dans les antivirus.
Sando_Blood