close

Rootkit

Aller à la navigation Aller à la recherche

Un rootkit est défini comme un ensemble de logiciels qui permet à un utilisateur un accès "privilégié" à un ordinateur, mais garde sa présence initialement cachée aux administrateurs en perturbant le fonctionnement normal du système d'exploitation . Ce terme provient d'une concaténation du mot anglais root , qui signifie 'root' (nom traditionnel du compte privilégié dans les systèmes d'exploitation Unix ) et du mot anglais kit , qui signifie 'ensemble d'outils' (en référence aux composants du logiciel qui mettre en œuvre ce programme). Certaines versions espagnoles de programmes informatiques, de documents universitaires et de l'ICANN elle-même l' ont traduit par correcteur . [ 1 ] ​[ 2 ] ​[ 3 ]

Le terme rootkit a des connotations péjoratives car il est associé à des logiciels malveillants , se cachant ainsi que d' autres programmes , processus , fichiers , répertoires , clés de registre et ports qui permettent à un attaquant de maintenir l' accès à une grande variété de systèmes d ' exploitation . /Linux , Solaris ou Microsoft Windows pour commander à distance des actions ou extraire des informations sensibles .

Typiquement, un attaquant installe un rootkit sur un ordinateur après avoir d'abord obtenu des droits d'écriture ailleurs dans la hiérarchie du système de fichiers , soit en exploitant une vulnérabilité connue, soit en obtenant un mot de passe (soit en cassant le rootkit de cryptage, soit par ingénierie sociale ). Une fois le rootkit installé, il permet à l'attaquant de déguiser la prochaine intrusion et de conserver un accès privilégié à l'ordinateur en contournant les mécanismes normaux d'authentification et d' autorisation . Bien que les rootkits puissent servir à de nombreuses fins, ils ont acquis une notoriété principalement en tant que logiciels malveillants, cachant des programmes qui détournent des ressources informatiques ou volent des mots de passe à l'insu des administrateurs et des utilisateurs des systèmes concernés. Les rootkits peuvent cibler le firmware , l' hyperviseur , le noyau ou, plus communément, les programmes utilisateur.

La détection des rootkits est compliquée car elle est capable de corrompre le programme qui devrait le détecter. Les méthodes de détection comprennent l'utilisation d'un système d'exploitation alternatif de confiance ; méthodes basées sur le comportement ; vérifications de signature, vérifications de différences et analyse de vidage mémoire . La suppression du rootkit peut être très difficile, voire pratiquement impossible, en particulier dans les cas où le rootkit réside dans le noyau ; étant parfois la réinstallation du système d'exploitation la seule méthode possible pour résoudre le problème.

Utilisation de rootkits

Un rootkit est couramment utilisé pour masquer certaines applications qui pourraient agir sur le système attaqué. Ils incluent souvent des portes dérobées pour aider un attaquant à accéder facilement au système une fois qu'il y est entré pour la première fois. Par exemple, le rootkit peut masquer une application qui lance une console chaque fois que l'attaquant se connecte au système via un certain port . Les rootkits du noyau peuvent contenir des fonctionnalités similaires. Une porte dérobée peut également permettre à des processus lancés par un utilisateur sans privilèges d'administrateur d'exécuter certaines fonctionnalités réservées uniquement à l' utilisateur root . Toutes sortes d'outils utiles pour obtenir illégalement des informations peuvent être cachés par des rootkits.

Les rootkits servent également à utiliser le système attaqué comme une "base d'opérations", c'est-à-dire à l'utiliser à son tour pour lancer des attaques contre d'autres ordinateurs. De cette manière, il peut apparaître que c'est le système infiltré qui lance les attaques et non l'intrus externe. Ces types d'attaques peuvent être des attaques par déni de service ( DoS ), des attaques IRC ou des e- mails ( spam ).

Comment fonctionnent les rootkits

Le fonctionnement des rootkits peut être généralisé comme suit :

1. Infection du système - Tout d'abord, le rootkit s'installe sur l'appareil et infecte le système.

2. Le mode secret – Une fois le rootkit installé, il passe en mode secret. En d'autres termes, le rootkit se cache dans le système et commence à manipuler les processus d'échange de données utilisés par les programmes et les fonctions pour envoyer de fausses informations aux programmes de sécurité tels que les programmes antivirus .

3. Créer une porte dérobée : La dernière étape consiste à créer une porte dérobée pour permettre l'accès à distance à l'appareil. La tâche du rootkit est de masquer les connexions à distance et toute activité pouvant être classée comme suspecte afin de manipuler l'appareil sans laisser de traces. [ 4 ]

Types de rootkits

Types de base

Les rootkits peuvent être classés en deux groupes : ceux qui sont intégrés au noyau et ceux qui fonctionnent au niveau de l' application . Ceux qui agissent depuis le noyau ajoutent ou modifient une partie du code du noyau pour masquer la porte dérobée . Normalement, cette procédure est complétée par l'ajout d'un nouveau code au noyau, soit via un pilote ( driver ) ou un module, tel que les modules du noyau Linux ou les périphériques système Windows. Ces rootkits corrigent souvent les appels système avec des versions qui cachent des informations sur l'attaquant. Ce sont les plus dangereux, car leur détection peut être très compliquée.

Les rootkits agissant comme des applications peuvent remplacer les fichiers exécutables d'origine par des versions crackées contenant des chevaux de Troie, ou ils peuvent également modifier le comportement des applications existantes à l'aide de hacks , de correctifs, de code injecté, etc.

Exemples

Certains chevaux de Troie ont utilisé ces rootkits non persistants (FU Rootkits) qui se chargent en mémoire une fois installés :

  • Suce-le
  • adorer
  • T0rn
  • Rootkit d'Ambient (ARK)
  • Défenseur des pirates
  • 4 premiers DRM Internet XCP (Extended Copy Protection)
  • Rootkit de test RkU et irréel [ 5 ]
  • Rootkit du noyau : UACd (ajoute un pilote de très bas niveau appelé UACd.sys)
  • Rootkits Macintosh

Détection de rootkit

Il existe des limites inhérentes à tout programme qui tente de détecter les rootkits lorsqu'ils s'exécutent sur le système suspect. Les rootkits sont des applications qui modifient de nombreux outils et bibliothèques dont dépend le système. Certains rootkits modifient le noyau lui-même (via des modules et d'autres méthodes comme indiqué ci-dessus). [ citation nécessaire ] Le principal problème avec la détection des rootkits est que le système d'exploitation en cours d'exécution n'est globalement pas digne de confiance. [ citation nécessaire ] En d'autres termes, certaines actions telles que demander la liste des processus en cours d'exécution ou répertorier les fichiers dans un répertoire ne sont pas fiables car elles ne se comportent pas comme elles le devraient.

La meilleure méthode de détection d'un rootkit est d'arrêter le système que l'on croit infecté et d'examiner ou d'enregistrer les données en démarrant à partir d'un support alternatif, tel qu'un CD-ROM de secours ou une clé USB . Un rootkit inactif ne peut pas cacher sa présence. Les programmes antivirus mieux préparés identifient souvent les rootkits fonctionnels par le biais d'appels système et de requêtes de bas niveau, qui doivent tous deux rester intacts. S'il y a une différence entre eux, la présence d'un rootkit peut être affirmée. Les rootkits tentent de se protéger en surveillant les processus en cours d'exécution et en suspendant leur activité jusqu'à la fin de l'analyse, de sorte que le rootkit ne puisse pas être identifié par un scanner.

Les fournisseurs d'applications de sécurité intègrent des analyseurs de rootkits dans les produits de détection antivirus traditionnels . Si un rootkit parvient à se cacher pendant le processus de détection, il sera identifié par le détecteur de rootkit, qui recherche les mouvements suspects. Si le rootkit "décide" de s'arrêter momentanément, il sera identifié comme un virus . Cette technique de détection combinée peut forcer les attaquants à implémenter des mécanismes de compteurs ( également appelés rétro-routines ) dans le code du rootkit, dans le but de tuer les processus créés par les logiciels de sécurité, tuant ainsi le virus de la mémoire. Comme pour les virus conventionnels, la détection et la suppression des rootkits seront une bataille permanente entre les auteurs de rootkits et les logiciels de sécurité.

Il existe plusieurs programmes disponibles pour détecter les rootkits. Sur les systèmes basés sur Unix, deux des applications les plus populaires sont chkrootkit et rkhunter . Pour Windows, un détecteur appelé Blacklight est disponible (gratuit pour un usage personnel) sur le site F-Secure. [ citation nécessaire ] Blacklight a des problèmes d'incompatibilité dans Windows 7. [ citation nécessaire ] Une autre application de détection pour Windows est Rootkit Revealer de Sysinternals . Détecte tous les rootkits actuels en comparant les fonctionnalités du système d'exploitation d'origine avec celles qui ont été détectées. Cependant, certains rootkits ont commencé à ajouter ce programme à la liste de ceux qui ne doivent pas être cachés. Essentiellement, ils suppriment les différences entre les deux listes, de sorte que le détecteur ne les trouve pas. Mais quelque chose d'aussi simple que de renommer le fichier rootkitrevealer.exe fait que le rootkit ne sait plus qu'il a affaire à un détecteur. Comme dit précédemment, ce sera une bataille continue entre les rootkits et les antivirus.

Voir aussi

Références

  1. "Qu'est-ce qu'un rootkit et comment le supprimer ?" . www.avast.com . Consulté le 8 avril 2019 . 
  2. "Rootkits" . moodle2017-18.ua.es . Consulté le 8 avril 2019 . 
  3. "Qu'est-ce qu'une attaque man-in-the-middle ?" . www.icann.org . Consulté le 8 avril 2019 . 
  4. "Ce que vous devez savoir sur le rootkit" . Guide numérique IONOS . Consulté le 20 avril 2022 . 
  5. RkU Test Rootkit & Unreal (en français) rootkits pour tester votre logiciel de protection.

Liens externes