Rootkit

Un rootkit est un logiciel malveillant qui permet à un utilisateur non autorisé d'obtenir le contrôle d'un ordinateur à distance, sans être détecté.

Rootkit : définition

A l'origine, dans le contexte des systèmes de type UNIX, un rootkit était un ensemble d'outils du système d'exploitation, comme netstat, passwd et ps, qui avait été modifié par un intrus de manière à obtenir un accès illimité à l'ordinateur cible sans que cette intrusion soit détectée par l'administrateur système.

Dans la terminologie des systèmes UNIX, l'administrateur système s'appelait "root", d'où le terme générique désignant ces outils, qui restaient cachés dans le système après avoir obtenu les privilèges root.

Les systèmes Windows sont aujourd'hui les systèmes d'exploitation les plus répandus, mais le concept reste le même.

 

Qu'est-ce qu'un rootkit ?

Un rootkit Windows est un programme qui masque certains éléments (fichiers, processus, clés du Registre Windows, adresses mémoire, connexions réseau, etc.) à d'autres programmes ou au système d'exploitation.

Comme on peut le voir, cette définition n'implique pas en elle-même d'effet dommageable sur le système - il s'agit d'une technologie qui peut être utilisée à des fins constructives aussi bien que destructives.

 

Quel danger présentent les rootkits ?

Contrairement à une opinion répandue, les rootkits ne sont pas des outils qui peuvent être employés pour exposer un ordinateur à des risques.


Rootkits sous UNIX

Dans les systèmes UNIX, les rootkits sont un moyen de garantir un accès continu à un ordinateur distant préalablement compromis pour, par exemple :

  • Installer des chevaux de Troie de portes dérobées grâce auxquels il sera possible d'accéder à l'ordinateur.
  • Dissimuler des modifications apportées à la configuration de l'ordinateur.
  • Dissimuler des preuves éventuelles d'intrusions dans le système.

Rootkits sous Windows

Pour les systèmes Windows, l'objectif des rootkits reste le même : masquer l'existence d'autres éléments dans l'ordinateur, afin que leur présence aussi bien que leur exécution ne soient pas détectées par l'utilisateur, ni même par le logiciel de sécurité. Si ces éléments sont des virus, alors le propriétaire de l'ordinateur est face à un problème grave.

Cela correspond parfaitement au comportement des logiciels malveillants actuels. Comme le but d'un logiciel malveillant est de perpétrer des crimes contre des informations dans le but d'en retirer un gain économique, il est de la plus haute importance pour lui d'être très peu visible voire totalement invisible. Ainsi, le logiciel malveillant restera actif dans l'ordinateur le plus longtemps possible, sans être détecté.


Rootkits légitimes

Bien que les implications doivent en être soigneusement analysées, il peut y avoir certains avantages à utiliser des rootkits dans les domaines suivants :

  • La surveillance d'employés.
  • La protection de propriétés intellectuelles.
  • La protection de programmes contre des activités malveillantes ou des erreurs d'utilisation (suppression accidentelle, par exemple).

 

Quels sont les différents types de rootkits ?

Les rootkits peuvent être classés selon les caractéristiques suivantes :


La persistance :

Un rootkit persistant est un rootkit activé à chaque démarrage du système. Pour cela, il doit avoir un moyen de stocker son code dans l'ordinateur et doit pouvoir démarrer automatiquement de lui-même.

A l'inverse, un rootkit non persistant n'est pas capable de s'exécuter à nouveau automatiquement après un redémarrage du système.


La manière dont ils s'exécutent :

Mode utilisateur : ce type de rootkit se connecte aux appels système et filtre les informations renvoyées par les API (interfaces de programmation d'applications).

Mode noyau (coeur du système d'exploitation) : ces rootkits modifient les structures de données du noyau et se connectent à ses API.

 

Comment se protéger des rootkits ?

Les techniques suivantes peuvent être employées pour détecter des rootkits au sein d'un système :


Détecter des rootkits à partir de signatures :

Cette technologie mâture est utilisée avec succès par les éditeurs d'antivirus depuis maintenant de nombreuses années. Cette technologie repose sur l'analyse des fichiers et leur comparaison avec un ensemble de signatures de logiciels malveillants connus.


Détecter des rootkits de manière heuristique ou comportementale :

Identification de rootkits en reconnaissant les écarts par rapport à l'activité normale de l'ordinateur.


Détecter des rootkits par comparaison :

Si, en comparant les résultats renvoyés par le système d'exploitation à ceux obtenus par des appels de bas niveau, une différence est détectée, cela veut dire qu'un rootkit est présent dans le système.


Détecter des rootkits en se basant sur l'intégrité :

Détection de l'existence d'un rootkit en comparant les fichiers et la mémoire avec un état réputé fiable.

Chacune de ces techniques a ses limites, et c'est pourquoi il est fortement recommandé d'intégrer plusieurs techniques différentes. On doit aussi tenir compte du fait que certains rootkits sont spécialement conçus pour éviter toute détection par les éditeurs d'antivirus leaders du marché.

Si vous pensez à un anti-rootkit, sachez que la première ligne de défense contre les rootkits consiste à les empêcher de pénétrer dans votre ordinateur. Pour cela, gardez à l'esprit les conseils de base suivants sur la manière de vous protéger contre les logiciels malveillants :

  • Installez une bonne solution antimalware sur votre ordinateur et faites en sorte qu'elle soit toujours activée et à jour.
  • Installez un firewall qui protègera contre les accès non autorisés à votre ordinateur.
  • Mettez à jour les applications installées sur votre ordinateur et assurez-vous d'installer tout correctif de sécurité fourni par les éditeurs.

La protection contre les rootkits n'est cependant pas une tâche à prendre à la légère et ne peut pas se limiter à une série de mesures de protection génériques.