web-dev-qa-db-fra.com

Comment savoir s'ils ont un rootkit?

Sont-ils impossibles à détecter? Étant donné que l'attaquant a des droits d'administrateur et pourrait modifier un logiciel antivirus qui pourrait autrement être utilisé pour détecter ou contourner un kit racine. Y a-t-il certains drapeaux rouges qui pointent vers un kit racine? Peuvent-ils voir tout ce que vous faites?

24
DBroncos1558

Un "rootkit" essaie normalement vraiment de ne pas être détecté. Cependant, il ne peut pas, en théorie, être complètement indétectable, car le but du rootkit est de maintenir un chemin d'entrée pour l'attaquant, de sorte qu'au moins l'attaquant peut savoir si le kit racine est en place ou non.

De nombreuses méthodes ont été utilisées dans le passé. Par exemple, certains rootkits s'installent dans la mémoire du noyau et ne laissent aucune trace sur le disque dur - ils sont donc très difficiles à détecter, mais disparaîtront au prochain redémarrage. Plus communément, les rootkits modifient certains fichiers ou certaines parties du disque afin de résister aux redémarrages, mais ils doivent ensuite modifier le noyau afin que leurs modifications ne soient pas visibles depuis les processus sur la machine.

Donc, fondamentalement, si le rootkit fait son travail correctement, vous ne pourrez pas le détecter depuis la machine elle-même. Vous pourriez le découvrir si vous redémarrez votre machine sur un CD live ou une clé USB, et à partir de que OS (présumé propre), inspectez le disque dur. Si les mêmes fichiers ne semblent pas identiques, lorsqu'ils sont inspectés de l'extérieur (le système d'exploitation démarré sur un CD live) et de l'intérieur, alors c'est un signe assez clair de jeu déloyal.

Tout cela suppose que le rootkit est bon dans ce qu'il est censé faire. Il existe un certain nombre de rootkits inexpertes (ou des attaquants inexpertes ) qui laisseront des traces. Par exemple, des fichiers étranges dans le répertoire personnel de root (ou Administrateur).


Un rootkit est logique dans les situations où l'attaquant a pris le contrôle total de votre machine; le travail du rootkit est de maintenir ce niveau de contrôle. L'attaquant peut alors voir tout ce que vous faites sur la machine, et tant que le rootkit est actif, il pourra continuer à voir tout ce que vous faites sur la machine.

(Le terme "rootkit" a également été appliqué aux outils d'escalade , c'est-à-dire aux outils qui exploitent les vulnérabilités locales pour transformer un accès de niveau utilisateur en un adin- accès de niveau sur la machine. Même résultat: la machine n'est plus votre machine.)

24
Thomas Pornin

Y a-t-il certains drapeaux rouges qui pointent vers un kit racine? Peuvent-ils voir tout ce que vous faites? Je suis nouveau dans le domaine de la sécurité, alors soyez facile.

Certain pour les rootkits en général, non. Cependant, comme Thomas l'a déjà noté, les rootkits doivent laisser une trace d'entrée à un attaquant, c'est-à-dire que le code de mode utilisateur de l'attaquant doit pouvoir parler au rootkit d'une manière ou d'une autre.

Pour vous donner quelques exemples de la façon dont vous pourriez y parvenir:

  • Implémentez un /proc appareil avec un nom important, disons /proc/gpuinfo. D'accord, c'est un peu évident, mais vous avez l'idée - à un point de terminaison de communication via /proc (procfs est un méta-système de fichiers sous Linux qui vous permet de communiquer avec l'espace utilisateur) ou /sys ou /dev qui ne serait pas normalement là, mais qu'un administrateur système pense est normal.

    Si vous regardez dans les journaux rkhunter, vous le verrez à la recherche de ceux-ci.

  • Modifiez l'entrée de l'un des éléments ci-dessus pour répondre à quelque chose qu'il ne ferait normalement pas. La plupart des entrées de périphériques répondent à différents codes leur disant de faire quelque chose - cela est particulièrement vrai dans /dev. Ajoutez-y un code obscur comme mécanisme de communication.

    Sur les systèmes Windows, vous pouvez obtenir la même chose avec les pilotes de filtre ou patcher l'objet pilote de la cible, faites votre choix (mais les pilotes de filtre sont plus stables).

    Un mécanisme de détection consisterait à essayer des codes d'appareil parasites sur des appareils qui ne répondent pas (normalement) à ces derniers. Si vous obtenez autre chose que le code d'erreur "Non implémenté" correspondant sur votre système, quelque chose d'étrange se produit.

  • Le montage de votre lecteur système sur un autre PC révèle une taille de système de fichiers différente de celle que vous attendez, ou des fichiers que vous ne pouviez pas voir auparavant. Sachez que la taille différente du système de fichiers n'est pas en soi un symptôme d'un rootkit, car certaines éditions de Windows utilisent toujours la géométrie du disque et ... ouais pas de panique tout de suite, mais une dans le rootkit sauvage rappelez-vous le nom de créé un système de fichiers crypté à la fin de votre volume NTFS, rétrécissant facilement votre disque pour vous. De même, un comportement de rootkit commun consiste à supprimer les entrées de fichier d'apparaître dans le FS sur le système en direct (pour les masquer).

Malheureusement, il n'y a pas de drapeaux rouges génériques pour les rootkits en général - la bataille est plus le chat et la souris. Dès que les auteurs de rootkits se rendront compte que les scanners sont capables de détecter un type de canal de communication ou de hook, ils changeront de stratégie.

Peuvent-ils voir tout ce que vous faites?

Rootkit dans le terme, j'ai tendance à le considérer comme, c'est-à-dire qu'une attaque au niveau du noyau dont le but est de maintenir l'intrusion sur votre système en général pourra, oui, car le noyau gère tout le système et le rootkit aura le même privilège. Il y a des défenses; Windows et certaines distributions Linux modernes appliquent les pilotes/modules du noyau signés et peuvent appliquer cela. Cela déplace le vecteur d'attaque vers la séquence de démarrage (avant que le noyau n'ait la possibilité d'imposer quoi que ce soit), auquel le démarrage sécurisé UEFI est conçu pour répondre.

Vous ne l'avez pas demandé, mais je vais quand même faire le point. Habituellement, à moins que votre stratégie système ne soit un peu folle, l'insertion de modules/pilotes du noyau nécessite des droits d'administrateur. Par conséquent, pour installer un rootkit, l'attaquant doit mener une attaque par élévation de privilèges en premier lieu. Faire de votre mieux pour que cela ne se produise pas est le moyen de se défendre contre les rootkits.

Mis à part 1: les rootkits ne doivent pas nécessairement être dans le noyau, ni les logiciels malveillants de type interception. Il est possible d'y parvenir sans pilotes de noyau. Si l'utilisateur en question n'est pas un administrateur, les dommages sont généralement plus limités.

11
user2213