HIDS überwachen Daten und Prozesse auf einem einzelnen
Rechner. Sie beobachten Logfiles, offene
Netzwerkschnittstellen und Netzwerkverbindungen
des Computers.
Eine Möglichkeit der Einbruchserkennung stellen die
sogenannten System Integrity Verifier (SIV) dar,
welche Dateien und Verzeichnisse anhand von Hashwerten
auf deren Echtheit und Originalität prüfen.
Damit können Trojaner, Viren und
Root-Kits gefunden werden. Eine ganz einfachen SIV kann
man mit dem ls-Kommando folgendermaßen selbst entwickeln:
Das Ausführen von
root@linux #
ls -ailR /etc >/root/etc.orginal
|
erzeugt eine Datei, welche neben Dateigröße und Dateirechten
auch die Nummer der Inode enthält. Diese Datei wird auf
einem Medium mit Schreibschutzmöglichkeit (Diskette, CD-ROM)
abgelegt.
Über Veränderungen informiert das folgende Kommando:
root@linux #
ls -ailR /etc | diff /root/etc.original
|
wobei hier natürlich der Ablageort der Datei angepasst werden
muss. Wichtig sind neben dem /etc Verzeichnis auch die mit
dem t-Bit (Sticky-Attribut) versehen Dateien, die mit
root@linux #
find / -type f -perm -6000 -exec /bin/ls -ail{} \; >/root/original
|
gesichert werden. Die Auswertung der Log-Files gehört ebenfalls
zu den Maßnahmen, die man ohne Weiteres realisieren kann. Zur
Übertragung dieser Protokollinformationen sollte man den
sichereren ssyslog in Betracht ziehen.
Da ein Angreifer natürlich auch eine Datei modifizieren kann
ohne die Dateigröße zu ändern, sollten bessere Mechanismen wie
beispielsweise Hashwerte zum Einsatz kommen. Diesen Ansatz
verfolgen beispielsweise die md5-tools und debsums sowie das
mittlerweile auch in einer freien Version (GPL) verfügbare
Tripwire. Letztgenanntes bietet sehr feingranulare
Zugriffsmechanismen.
So kann man mit mehr als 15 Dateiattributen detaillierte
Richtlinien festlegen, z.B. schützt man mit
/sbin/iptables -> $(SEC_KRIT);
/tmp -> $(SEC_INVARIANT)
den Paketfilter iptables vor jeglicher Manipulation und das
temporäre Verzeichnis /tmp vor Änderung des Besitzers und der
Zugriffsrechte. Solche Regeln sind bereits vordefiniert und
müssen nur noch angepasst werden. Eine sehr gute Dokumentation
findet man auf den Internet-Seiten des Linux Magazins.
Weiterhin sei an dieser Stelle auf LIDS (Linux Intrusion
Detection System) verwiesen. LIDS versucht die Schwächen von
Linux insbesondere die Allmacht des Superusers "root" zu
beseitigen. Ein Kernel-Patch erweitert den Kernel um
differenzierte Sicherheitseinstellungen, sodass Dateien,
Prozesse und Teile der Systemverwaltung (Firewall-Regeln,
Routing) besser geschützt werden können. Weitere
Zugriffssteuerungsmodelle wurden in
SELinux (Security Enhanced Linux) umgesetzt.
|