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.
|