web-dev-qa-db-fra.com

Comment détecter et supprimer un cheval de Troie Linux?

J'ai récemment trébuché sur ceci:

Oui, je sais que l'ajout de certains PPA/logiciels aléatoires d'une source non approuvée est de demander des ennuis (ou de pire). Je ne fais jamais cela, mais beaucoup font (de nombreux blogs et tabloïds de Linux et favorisent l'ajout de PPA pour les applications fantaisistes, sans avertir que cela peut briser votre système ou pire encore, compromettre votre sécurité.)

Comment peut-on détecter un cheval de Troie ou une application de voyous/script?

16
iamsid

Il n'y a pas de recette générale. Si votre système a été infecté par un cheval de Troie inconnu, tout ce que vous pouvez faire est de réinstaller.

Si vous savez que le Trojan opère d'une certaine manière - par exemple, vous savez que le Trojan n'infecte pas le noyau - il peut y avoir une manière moins correcte de récupération. Mais cela dépend entièrement de savoir comment le cheval de Troie se comporte. Si tout ce que vous avez est les symptômes (tels que votre ordinateur envoi de spam sans votre consentement), il n'y a pas de technique générale: le détecteur de Troie doit être plus intelligent que le designer de Troie (et la chance). En ce qui concerne les chevaux de Troie, la détection et la cachette sont comme une arme à feu et une armure: il y a une escalade technologique et aucune autre partie n'a un avantage intrinsèque (bien que les hiders ont un début de tête).

De nombreux systèmes ont un canal de distribution sécurisé en place. Par exemple, lorsque vous installez un package à partir des référentiels Ubuntu avec les outils à base d'APT (apt-get, aptitude, Synaptic, Software Center, ...), l'outil vérifie que le colis est signé (vérifié) par une personne Ubuntu Trust. (La plupart des distributions ont un mécanisme similaire.) Lorsque vous installez un colis d'un PPA, tout ce que vous pouvez savoir, c'est que le propriétaire de l'APP a vérifié le package, qui n'est pas une aide si vous n'avez aucune raison de faire confiance au propriétaire de la PPA.

À propos des chevrottes et des porte-gastryors, je recommande vivement de lire Ken Thompson Ture Turing Award Lecture, Réflexions sur la confiance de confiance . Pour résumer, il a changé le compilateur de sorte que lors de la compilation du programme de connexion, il ajouterait du code qui lui a permis de se connecter avec un mot de passe secret; Ensuite, il a changé le compilateur de sorte que lorsqu'il se compilait, cela insérerait le code pour ajouter le porte-bouchon; Ensuite, il a recompressé tout le système (en particulier le programme de connexion et le compilateur); Enfin, il a restauré la source du compilateur à la source originale et incontestable. Encore une fois, lisez article de Ken Thompson ; Ensuite, vous pouvez également lire Counterpoint de David Wheeler , peut-être le mieux appréhendé à travers Bruce Schneierarticle de blog ==.

Selinux et l'APPARMOR existent pour la prévention de Trojan/Rootkit et d'autres infections. Je dis à l'affaire Selinux, que je connais mieux. Avec SELINUX activé, vous donnez un contexte à tout le processus (démon inclus) que vous installez sur la machine. Vous étiquetez également le système de fichiers pour travailler avec le contexte, ce qui correspond à eux. Lorsqu'un processus tente de faire quelque chose qui n'est pas dans son contexte, vous recevez un message et, si SELINUX est en mode d'application, l'action ne peut pas terminer.
[. ____ Et vous seriez informé.
[.
[.____] Même mon serveur de maison est maintenant en mode d'application.
[.____] Une autre stratégie est une analyse régulière de détecteurs rootkit qui calculent une somme de contrôle pour les commandes de Cirtical et vous informent des modifications apportées aux commandes de base.
[.____] Je travaille avec le SELINUX et le RKHunter activé (plus un antivirus de clamav).

Salutations

4
lucabotti