Scanner de rootkit basé sur les signatures?

20

Actuellement, les seuls scanners de rootkits que je connaisse doivent être installés sur la machine avant le rootkit afin qu'ils puissent comparer les modifications de fichiers, etc. (par exemple: chkrootkitet rkhunter), mais ce que je dois vraiment faire est de pouvoir scanner ma machine et d'autres machines à partir d'un LiveUSB parce que si le rootkit est assez bon, il aura également repris les programmes de détection de rootkit.

Existe-t-il donc un scanner de rootkit basé sur les signatures pour Ubuntu / Linux que je pourrais simplement installer sur un LiveUSB et utiliser pour analyser de manière fiable les machines auxquelles je le branche sans qu'il ait à surveiller le comportement ou comparer des fichiers de dates précédentes?


la source
Vous avez certainement le bon nom, @Paranoid. Vos ordinateurs sont-ils à l'état sauvage sur Internet, totalement exposés?
SDsolar
@SDsolar: Non, mais j'aime un plan de sauvegarde au cas où. En outre, je pourrais vouloir analyser la machine d'un ami et si elle est déjà compromise, l'installation de quelque chose comme rkhunterça ne fera probablement pas grand-chose. En fait, si un rootkit est installé, je m'attendrais rkhunterà ne plus donner de résultats précis, donc c'est un peu idiot qu'il ne soit qu'un outil installé sur la machine réelle qui serait compromis.
Je ne veux pas amortir votre mouvement, mais je pense que vous demandez un outil qui perdrait une grande partie des experts en informatique judiciaire et pourrait faire des millions de $$$ rapidement. :-)
CatMan
@Paranoid Panda - Le scanner gratuit pour Linux de Sophos a plus de 12,5 millions de signatures, mais pour autant que je sache, ils disent - c'est seulement pour les virus? Mais je suppose qu'ils signifient avec "virus" toutes sortes de malwares dans le désert (de M $ ...) ...
dschinn1001
@ParanoidPanda: Il semble que ce que vous voulez, c'est prendre un scanner de rootkit que vous aimez, l'installer sur un système dont vous êtes sûr qu'il est propre, puis l'installer sur un LiveUSB afin que votre bâton de scanner puisse se référer aux bons fichiers sur le bâton lorsqu'il analyse un système (potentiellement compromis). Le scanner devra peut-être être piraté pour regarder le stick pour les fichiers de référence / signatures qu'il utilise pour vérifier la machine cible. Vous devrez peut-être également avoir un stick séparé pour chaque version du système d'exploitation que vous souhaitez analyser.
Tom Barron

Réponses:

3

AIDE ( A dvanced I ntruder D etection E nvionment) est un remplacement tripwirementionné dans une autre réponse ici. De wikipedia :

L'environnement de détection d'intrusion avancée (AIDE) a été initialement développé en remplacement gratuit de Tripwire sous licence selon les termes de la GNU General Public License (GPL).

Les développeurs principaux sont nommés Rami Lehti et Pablo Virolainen, tous deux associés à l'Université de technologie de Tampere, avec Richard van den Berg, un consultant indépendant en sécurité néerlandais. Le projet est utilisé sur de nombreux systèmes de type Unix comme système de contrôle de base et de détection de rootkit peu coûteux.


Fonctionnalité

AIDE prend un "instantané" de l'état du système, enregistre les hachages, les heures de modification et d'autres données concernant les fichiers définis par l'administrateur. Cet «instantané» est utilisé pour créer une base de données qui est enregistrée et peut être stockée sur un périphérique externe pour être conservée.

Lorsque l'administrateur souhaite exécuter un test d'intégrité, l'administrateur place la base de données précédemment créée dans un endroit accessible et ordonne à AIDE de comparer la base de données avec l'état réel du système. Si un changement s'est produit sur l'ordinateur entre la création de l'instantané et le test, AIDE le détecte et le signale à l'administrateur. Alternativement, AIDE peut être configuré pour s'exécuter selon une planification et signaler quotidiennement les changements en utilisant des technologies de planification telles que cron, qui est le comportement par défaut du paquet Debian AIDE. 2

Ceci est principalement utile à des fins de sécurité, étant donné que tout changement malveillant qui aurait pu se produire à l'intérieur du système serait signalé par AIDE.


Depuis que l'article de wikipedia a été écrit, le responsable de l'époque Richard van den Berg (2003-2010) a été remplacé par un nouveau responsable Hannes von Haugwitz de 2010 à aujourd'hui.

La page d'accueil AIDE indique que Debian est prise en charge, ce qui signifie que l'application peut être installée dans ubuntu avec le prédictable:

sudo apt install aide

En ce qui concerne la portabilité et la prise en charge de la clé USB, la page d'accueil poursuit:

Il crée une base de données à partir des règles d'expression régulière qu'il trouve dans le ou les fichiers de configuration. Une fois cette base de données initialisée, elle peut être utilisée pour vérifier l'intégrité des fichiers. Il dispose de plusieurs algorithmes de résumé de message (voir ci-dessous) qui sont utilisés pour vérifier l'intégrité du fichier. Tous les attributs de fichier habituels peuvent également être vérifiés pour des incohérences. Il peut lire des bases de données de versions plus anciennes ou plus récentes. Voir les pages de manuel de la distribution pour plus d'informations.

Cela signifie pour moi que vous pourriez avoir la base de données de signatures sur votre clé USB ainsi que l'application sur le stockage persistant USB en direct. Je ne suis pas sûr qu'AIDE réponde à vos besoins, mais comme il remplace tripwirevotre favori actuel, il mérite d'être étudié .

WinEunuuchs2Unix
la source
Réponse intelligente! :-)
Fabby
@Fabby Merci pour le compliment. AIDE est installé crondans la plupart des installations. Je pourrais le considérer moi-même non seulement pour la protection des rootkits, mais plus encore pour la protection contre ma propre mauvaise programmation: p Il pourrait être instructif de voir ce qui change après un apt get installaussi.
WinEunuuchs2Unix
3

Me rappelle tripwire qui crée des sommes de contrôle cryptographiques des fichiers que vous spécifiez. Installez une copie du système que vous vérifiez à partir d'une bonne source connue (DVD par exemple), installez les mêmes mises à jour du système cible), demandez à tripwire de créer le fichier de somme de contrôle. Copiez le fichier de somme de contrôle de tripwire sur le système cible, demandez à tripwire de comparer le fichier de somme de contrôle avec les fichiers du système cible.

Les mises à jour / mises à niveau / installations / les fichiers de configuration spécifiques au système non synchronisés seront bien sûr marqués / marqués comme modifiés.

Mise à jour 2018-05-06:

Je dois également ajouter que le système cible doit être vérifié hors ligne. Si la cible a été compromise, le matériel, le microprogramme de démarrage, le noyau du système d'exploitation, les pilotes du noyau, les bibliothèques système, les binaires peuvent avoir déjà été compromis et interférer ou renvoyer des faux positifs. Même l'exécution sur un réseau dans le système cible peut ne pas être sûre car le système cible (compromis) traiterait localement les paquets réseau, le système de fichiers, le périphérique de bloc, etc.

Le plus petit scénario comparable qui me vient à l'esprit sont les cartes à puce (EMV utilisées dans les cartes de crédit, PIV utilisées par le gouvernement fédéral, etc.). Sans tenir compte des interfaces sans fil et de toutes les protections hw / électriques / rf, l'interface de contact est essentiellement un port série, trois fils ou deux fils. L'API est normalisée et encadrée de blanc, donc tout le monde convient qu'elle est imperméable. Ont-ils protégé les données en transit, dans la mémoire d'exécution, au repos dans la mémoire flash?

Mais la mise en œuvre est de source fermée. Une porte dérobée peut exister dans le matériel pour copier l'intégralité du runtime et de la mémoire flash. D'autres peuvent manipuler les données en transit entre le matériel et les mémoires internes, le système d'exploitation de la carte à puce ou les E / S de / vers la carte. Même si les compilateurs hw / fw / sw / sont open source, vous devrez tout auditer à chaque étape et vous pourriez toujours manquer quelque chose auquel vous / tout le monde ne pensiez pas. La paranoïa peut vous envoyer dans une pièce en caoutchouc blanc.

Désolé de s'être enfui sur une tangente de paranoïa. Sérieusement, sortez les lecteurs cibles pour les tester. Vous n'avez alors qu'à vous soucier du disque cible hw / fw. Mieux encore, sortez simplement les plateaux HDD / puces flash SSD pour tester (en supposant que votre système de test est d'or). ;)

rcpa0
la source
Improvisé oui, mais c'est en fait une très bonne solution au problème! Je l'accepterai car il ne semble pas y avoir d'autre bonne solution pour Linux. Bien que si une autre réponse arrive qui fournit la solution complète et demandée à la question, je devrai déplacer le marqueur d'acceptation. Mais merci beaucoup pour cette solution au moins temporaire!
Remarque: Certains SSD chiffrent réellement les données au repos dans la mémoire flash, donc mon commentaire sur le déplacement des puces flash uniquement pour les tester ne fonctionnera pas dans ce cas. À un moment donné, il vous suffit de soupirer et d'accepter le compromis entre la sécurité et la réalisation de votre tâche informatique.
rcpa0