Aus LinuxUser 02/2007

Hostbasierte Angriffserkennung mit AIDE

Spurensucher

Oft tauschen Angreifer die Originalprogramme gegen eigene aus, um ihr Treiben zu verschleiern. Hostbasierte Intrusion-Detection-Systeme entdecken solche Rootkits.

Der Datenverkehr steigt und steigt: Für jeden Webmaster erfreulich, so lange die Daten abgerufen werden, die er selbst bereitstellt. Nicht selten bedienen sich aber andere am kostbaren Plattenplatz und Transfervolumen, ohne dass der Besitzer etwas davon weiß. Sowohl Serverdienste als auch Webapplikationen bieten oft Lücken, über die Angreifer den Rechner still und heimlich der Kontrolle des Besitzers entziehen können.

Damit die eingerichtete Backdoor dauerhaft bestehen bleibt, spielt der Eindringling nach dem Angriff ein Rootkit ein, welches einen versteckten Server installiert und Zugriff über einen unüblichen Netzwerkport auf das System gestattet – selbst dann, wenn das ursprüngliche Einfallstor zwischenzeitlich geschlossen wurde.

Um die Existenz des Hintertürchens zu verschleiern, tauscht das Rootkit zusätzlich wichtige Systemprogramme wie beispielsweise ps und netstat gegen modifizierte Versionen aus, die beim Aufruf weder den Prozess noch die Netzwerkverbindung der Backdoor anzeigen. So genannte hostbasierte Intrusion-Detection-Systeme (HIDS) sorgen dafür, dass derartige Machenschaften auffliegen.

Das Programm AIDE (Advanced Intrusion Detection Environment, [1]) ist im Vergleich zu anderen Produkten wie Tripwire mit einer Größe von 800 KByte ein ein echtes Leichtgewicht, das auch den ambitionierten Einstiger nicht vor unüberwindliche Hürden bei der Installation und Konfiguration stellt, aber einen ausreichenden Funktionsumfang mitbringt.

AIDE

Der Weg, den wie die meisten Programme dieser Art auch AIDE geht, ist einfach und effektiv: Es erstellt von spezifizierten Dateien und Verzeichnissen so genannte Fingerprints. Dazu sammelt es in einer Datenbank deren Charakteristika wie Dateigröße, Zugriffsberechtigungen und dergleichen. Beim erneuten Aufruf des Programms vergleicht es den Ist-Zustand der Datei mit den in der Datenbank hinterlegten Merkmalen. Fehlende Übereinstimmung ist ein eindeutiges Indiz für eine Veränderung am Programm.

Installation

Auf der Heft-CD finden Sie für alle gängigen Distributionen passende Binärpakete im RPM- oder DEB-Format, die Sie je nach Typ über rpm -ivh aide-Version.rpm oder dpkg --install aide-Version.deb installieren. Sollte für Ihr System kein passendes Paket vorhanden sein, kompilieren Sie das Programm aus den ebenfalls auf der Heft-CD befindlichen Quellen mit dem üblichen Dreisatz ./configure && make && su -c make install.

Das beste Intrusion-Detection-System ist nur so gut wie die Konfiguration, die es steuert. Daher gilt es, das System über die Konfigurationsdatei /etc/aide.conf noch vor der Initialisierung der Soll-Datenbank möglichst präzise an die spezifischen Gegebenheiten anzupassen.

Die aide.conf bestimmt vor allem, welche Datei- und Ordnerattribute AIDE in seiner Datenbank als Soll-Zustand speichert. Diese Soll-Datenbank beschreibt einen sicheren Zustand des System, den Sie am besten direkt nach einer Installation des Betriebssystems erzeugen. Anschließend verwenden Sie sie beliebig oft als Referenz für die Suche nach Veränderungen.

Zu den möglichen Dateiattributen zählen Zugriffsrechte, Dateigröße, Anzahl der Links sowie berechtige Benutzer und Gruppen. Außerdem berechnet AIDE mit verschiedenen Algorithmen kryptographische Checksummen der zu überprüfenden Objekte und speichert diese ebenfalls in der Datenbank.

Konfiguration

Ein Beispiel für eine /etc/aide.conf finden Sie in Listing 1. Die Konfiguration beginnt mit einigen Parametern (Zeile 3 bis 6), die unter anderem festlegen, wo AIDE seine Datenbank ablegt. Die Zeilen 7 bis 9 definieren neue Gruppen von zu überprüfenden Attributen (siehe Tabelle „AIDE-Attribute“).

Bei den Prüfregeln geben Sie das Objekt an, gefolgt von den Attributen, die AIDE überwachen soll (Zeile 18). Lassen Sie dabei größte Sorgfalt walten: Sind zu wenig Objekte oder unzureichende Attribute angegeben, fällt ein Einbruch unter Umständen gar nicht auf. Achten Sie auch darauf, dass AIDE keine Objekte überwacht, die auf dem eigenen System gar nicht existieren: Das Programm würde in diesem Fall überflüssigerweise Alarm schlagen und das Fehlen von Objekten direkt in der Datenbank vermerken.

Die Zeilen 12 bis 15 weisen AIDE an, die angegebenen Verzeichnisse nicht zu überprüfen. Das Ausrufezeichen (!) dient generell zur Ausschließen einzelner Dateien oder Verzeichnisse.

LinuxUser 02/2007 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: