Signaturbasierter Rootkit-Scanner?

20

Derzeit müssen die einzigen mir bekannten Rootkit-Scanner vor dem Rootkit auf dem Computer installiert sein, damit sie Dateiänderungen usw. (z. B.: chkrootkitund rkhunter) vergleichen können. Ich muss jedoch wirklich in der Lage sein, meinen Computer und andere Computer zu scannen von einem LiveUSB, denn wenn das Rootkit gut genug ist, hat es auch die Rootkit-Erkennungsprogramme übernommen.

Gibt es also einen signaturbasierten Rootkit-Scanner für Ubuntu / Linux, den ich einfach auf einem LiveUSB installieren und zum zuverlässigen Scannen von Computern verwenden könnte, an die ich ihn angeschlossen habe, ohne dass das Verhalten überwacht oder Dateien aus früheren Daten verglichen werden müssen?


quelle
Sie haben sicher den richtigen Namen, @Paranoid. Sind Ihre Computer im Internet völlig gefährdet?
SDsolar
@ SDsolar: Nein, aber ich mag einen Backup-Plan nur für den Fall. Außerdem möchte ich möglicherweise den Computer eines Freundes scannen, und wenn dies bereits zu einer Kompromittierung geführt hat, kann die Installation von so etwas rkhunterwahrscheinlich nicht viel bewirken. In der Tat, wenn ein Rootkit installiert ist, würde ich erwarten rkhunter, dass es keine genauen Ergebnisse mehr liefert, so dass es ein bisschen albern ist, nur ein Tool auf dem tatsächlichen Computer zu installieren, das kompromittiert werden würde.
Ich möchte Ihre Bewegung nicht dämpfen, aber ich glaube, Sie fragen nach einem Tool, mit dem ein Großteil der Experten für Computerforensik ihre Arbeit verlieren und Millionen von US-Dollars schnell verdienen könnten. :-)
CatMan
@Paranoid Panda - Der kostenlose Scanner für Linux von Sophos hat mehr als 12,5 Millionen Signaturen, aber soweit ich weiß, heißt es: Nur für Viren? Aber ich denke, sie meinen mit "Virus" jede Art von Malware in der Wildnis (von M $ ...) ...
dschinn1001
@ParanoidPanda: Anscheinend möchten Sie einen Rootkit-Scanner, der Ihnen gefällt, auf einem System installieren, auf dem Sie sicher sind, dass er sauber ist, und dann DIESES auf einem LiveUSB installieren, sodass Ihr Scanner-Stick auf die guten Dateien auf dem Stick verweisen kann wenn es ein (möglicherweise gefährdetes) System scannt. Möglicherweise muss der Scanner gehackt werden, um auf dem Stick nach den Referenzdateien / Signaturen zu suchen, mit denen er den Zielcomputer überprüft. Möglicherweise benötigen Sie auch einen separaten Stick für jede Betriebssystemversion, die Sie scannen möchten.
Tom Barron

Antworten:

3

AIDE ( A dvanced I ntruder D etection E nvionment) ist ein Ersatz tripwirehier in einer anderen Antwort erwähnt. Aus Wikipedia :

Die Advanced Intrusion Detection Environment (AIDE) wurde ursprünglich als kostenloser Ersatz für Tripwire entwickelt, das unter den Bedingungen der GNU General Public License (GPL) lizenziert ist.

Die Hauptentwickler sind Rami Lehti und Pablo Virolainen, die beide mit der Tampere University of Technology verbunden sind, sowie Richard van den Berg, ein unabhängiger niederländischer Sicherheitsberater. Das Projekt wird auf vielen Unix-ähnlichen Systemen als kostengünstiges Baseline-Steuerungs- und Rootkit-Erkennungssystem verwendet.


Funktionalität

AIDE erstellt einen "Schnappschuss" des Systemstatus, registriert Hashes, Änderungszeiten und andere Daten zu den vom Administrator definierten Dateien. Dieser "Schnappschuss" wird zum Erstellen einer Datenbank verwendet, die gespeichert und auf einem externen Gerät zur sicheren Aufbewahrung gespeichert werden kann.

Wenn der Administrator einen Integritätstest ausführen möchte, platziert der Administrator die zuvor erstellte Datenbank an einem zugänglichen Ort und weist AIDE an, die Datenbank mit dem tatsächlichen Status des Systems zu vergleichen. Sollte zwischen der Erstellung des Snapshots und dem Test eine Änderung am Computer eingetreten sein, erkennt AIDE diese und meldet sie dem Administrator. Alternativ kann AIDE so konfiguriert werden, dass es nach einem Zeitplan ausgeführt wird und Änderungen täglich mit Zeitplantechnologien wie cron, dem Standardverhalten des Debian AIDE-Pakets, gemeldet werden. 2

Dies ist hauptsächlich aus Sicherheitsgründen nützlich, da alle böswilligen Änderungen, die innerhalb des Systems aufgetreten sein könnten, von AIDE gemeldet werden.


Seit der Veröffentlichung des Wikipedia-Artikels wurde der damalige Betreuer Richard van den Berg (2003-2010) von 2010 bis heute durch einen neuen Betreuer Hannes von Haugwitz ersetzt .

Die AIDE-Homepage besagt, dass Debian unterstützt wird, was bedeutet, dass die Anwendung unter Ubuntu mit den folgenden Vorhersagen installiert werden kann:

sudo apt install aide

In Bezug auf Portabilität und USB-Stick-Unterstützung heißt es auf der Homepage:

Es erstellt eine Datenbank aus den Regeln für reguläre Ausdrücke, die es aus den Konfigurationsdateien findet. Nach der Initialisierung dieser Datenbank kann die Integrität der Dateien überprüft werden. Es verfügt über mehrere Message Digest-Algorithmen (siehe unten), mit denen die Integrität der Datei überprüft wird. Alle üblichen Dateiattribute können auch auf Inkonsistenzen überprüft werden. Es kann Datenbanken aus älteren oder neueren Versionen lesen. Weitere Informationen finden Sie auf den Manualseiten der Distribution.

Dies impliziert für mich, dass Sie die Signaturdatenbank zusammen mit der Anwendung auf einem permanenten USB-Speicher auf Ihrem Stick haben könnten. Ich bin mir nicht sicher, ob AIDE Ihren Bedürfnissen entspricht, aber es ist ein Ersatz für tripwireIhren aktuellen Favoriten.

WinEunuuchs2Unix
quelle
Schlaue Antwort! :-)
Fabby
@ Fabby Danke für das Kompliment. AIDE wird cronin den meisten Installationen eingerichtet. Ich würde es vielleicht nicht nur als Rootkit-Schutz betrachten, sondern vielmehr als Schutz vor meiner eigenen schlechten Programmierung: p Es ist vielleicht lehrreich, zu sehen, was sich nach einem apt get installzu ändert .
WinEunuuchs2Unix
3

Erinnert mich an tripwire, das kryptografische Prüfsummen der von Ihnen angegebenen Dateien erstellt. Installieren Sie eine Kopie des Systems, das Sie von einer als funktionierend bekannten Quelle überprüfen (z. B. DVD), installieren Sie dieselben Updates des Zielsystems, und lassen Sie die Prüfsummendatei von tripwire erstellen. Kopieren Sie die Prüfsummen-Datei von tripwire auf das Zielsystem. Lassen Sie tripwire die Prüfsummen-Datei mit den Dateien des Zielsystems vergleichen.

Nicht synchronisierte Updates / Upgrades / Installationen / systemspezifische Konfigurationsdateien werden natürlich als geändert gekennzeichnet.

Update 2018-05-06:

Ich sollte auch hinzufügen, dass das Zielsystem offline überprüft werden muss. Wenn das Ziel kompromittiert wurde, wurden möglicherweise bereits Hardware, Boot-Firmware, Betriebssystemkernel, Kerneltreiber, Systembibliotheken und Binärdateien kompromittiert und stören oder geben falsche Positive zurück. Sogar das Ausführen über ein Netzwerk in das Zielsystem ist möglicherweise nicht sicher, da das (gefährdete) Zielsystem die Netzwerkpakete, das Dateisystem, das Blockgerät usw. lokal verarbeitet.

Das kleinste vergleichbare Szenario, das in den Sinn kommt, sind Smartcards (EMV, das in Kreditkarten verwendet wird, PIV, das von der Bundesregierung verwendet wird, usw.). Ohne Berücksichtigung der Funkschnittstellen und aller Schutzfunktionen für Hardware, Elektrik und Hochfrequenz ist die Kontaktschnittstelle im Wesentlichen eine serielle Schnittstelle, dreiadrig oder zweiadrig. Die API ist standardisiert und in einer White-Box verpackt, sodass jeder zustimmt, dass sie undurchlässig ist. Haben sie die Daten während der Übertragung, im Laufzeitspeicher und im Flash-Speicher geschützt?

Aber die Umsetzung ist Closed Source. In der Hardware ist möglicherweise eine Hintertür vorhanden, über die die gesamte Laufzeit und der gesamte Flash-Speicher kopiert werden können. Andere manipulieren möglicherweise die Daten, die zwischen der Hardware und den internen Speichern, dem Smart Card-Betriebssystem oder E / A von / zu der Karte übertragen werden. Selbst wenn es sich bei hw / fw / sw / compilern um Open Source handelt, müssten Sie bei jedem Schritt alles überprüfen, und dennoch könnten Sie etwas übersehen, an das Sie / alle anderen nicht gedacht haben. Die Paranoia kann dich in einen weißen Gummiraum schicken.

Entschuldigen Sie, dass Sie mit einer Paranoia-Tangente davonlaufen. Nehmen Sie die Ziellaufwerke ernst, um sie zu testen. Sie müssen sich dann nur noch um das Ziellaufwerk hw / fw kümmern. Besser noch, nehmen Sie einfach die HDD-Platten / SSD-Flash-Chips zum Testen heraus (vorausgesetzt, Ihr Testsystem ist golden). ;)

rcpa0
quelle
Improvisiert ja, aber das ist in der Tat eine sehr gute Lösung für das Problem! Ich werde es akzeptieren, da es keine andere gute Lösung für Linux gibt. Obwohl, wenn eine andere Antwort kommt, die die vollständige und nach einer Lösung für die Frage gestellte liefert, muss ich den Akzeptanzmarker verschieben. Aber vielen Dank für diese zumindest vorübergehende Lösung!
Hinweis: Einige SSDs verschlüsseln tatsächlich ruhende Daten im Flash-Speicher. Mein Kommentar zum Herausziehen der Flash-Chips zum Testen funktioniert in diesem Fall nicht. Irgendwann muss man nur noch seufzen und den Kompromiss zwischen Sicherheit und Erledigung seiner Computeraufgabe akzeptieren.
rcpa0