Login
Newsletter
Werbung

Mo, 17. September 2001, 00:00

Intrusion Detection am Beispiel von Snort (Teil 1)

1.2.2 Datenanalyse

Im zweiten Schritt werden diese Daten vom System analysiert, um dem Administrator in einem dritten Schritt Angriffe benutzergerecht aufzuzeigen. Für die Technik des Erkennungsprozesses existieren zwei Möglichkeiten. Die erste ist die Missbrauchserkennung, die anhand vordefinierter Muster Einbrüche zu erkennen versucht. Hier werden etwa Netzwerkpakete mit Hilfe von vorgegebenen Signaturen überprüft und mit Pattern-Matching Angriffe erkannt. Mit dieser Methode arbeitet auch Snort. Über das Internet kann man auf eine große Anzahl von Konfigurationen für eine Unmenge an Angriffssignaturen zurückgreifen. In Abschnitt 2.2 wird darauf näher eingegangen. Daraus läßt sich schließen, dass die Voraussetzung für die Missbrauchserkennung eine für den stattfindenden Angriff passende Signatur ist und dass das IDS selbstverständlich Zugriff auf diese Signatur hat.

Exkurs: Der letzte Abschnitt führte den Begriff der Signatur ein. Hier bezog sich der Begriff auf den Fingerprint eines Angriffs. Jeder Angriff erzeugt bestimmte Pakete, die sich entweder durch einen String auf Applikationsebene, wie z.B. /cgi-bin/phf für ein CGI-Probe, durch eine bestimmte Konstellation gesetzter TCP-Flags, wie z.B. der XMas-Tree-Scan, bei dem alle Flags gesetzt sind, oder ähnliche Merkmale auszeichnen. So kommt die Signatur zustande, die jeden Angriff auszeichnet. Ähnliche Bedeutung hat die Signatur, anhand derer ein IDS einen Angriff erkennt. Eigentlich stellt diese Signatur nur das Ebenbild des Fingerprints eines Angriffs dar, allerdings in der Form, in der sie das IDS verarbeiten kann. Ähnlich den Regeln eines Paketfilters, anhand der er Pakete passieren läßt oder nicht, benötigt ein IDS eine Reihe von Signaturen, d.h. Regeln, um die entsprechenden Angriffe zu erkennen. Für perfekte Verwirrung sorgt hier noch die digitale Signatur, auf die aber erst später eingegangen wird.

Eine andere Technik der Analyse ist die Anomalieerkennung. Sie stellt eine Art Heuristik dar und versucht, auch unbekannte Angriffe zu erkennen. Eine Anomalie wäre am Beispiel eines Network Intrusion Detection Systems eine Abweichung vom normalen Netzwerkverkehr. Natürlich stellt eine Anomalie nicht immer eine Gefahr dar, weswegen eine längere Einlaufzeit für das System wie weiter oben schon erwähnt von elementarer Bedeutung ist, um ihm den normalen Netzwerkverkehr »beizubringen«. In einem anderen Umfeld sind hier natürlich auch Dinge wie die Auslastung der CPU von Bedeutung, da das System auf Dauer von einem Durchschnittswert ausgehen können muss, um eine Anomalie zu erkennen. Dieses Vorgehen verfolgt somit statistische Ansätze. Wenn ein zu überwachender Parameter außerhalb der definierten Akzeptanzschwellen liegt, wird Alarm ausgelöst.

Eine zweite Herangehensweise der Anomalieerkennung verfolgt logische Ansätze. Hierbei wird im Gegensatz zum statistischen Ansatz die zeitliche Abfolge von Ereignissen in Betracht gezogen. Dieser logische Ansatz betrachtet bestimmte Ereignisfolgen als typisch. Beobachtet das System den Anfang einer solchen Ereignisfolge, erwartet es, dass auch der Rest dieser Ereignisfolge abläuft. Passiert dies nicht, schlägt das System Alarm.

1.2.3 Ausgabe der Ergebnisse

Die Darstellung des Ergebnisses der Analyse geschieht dann je nach Erkennungstechnik. Die Ergebnisse der Missbrauchserkennung können in einer einfachen Ja/Nein-Darstellung veranschaulicht werden. Wurde ein Angriff mit Hilfe einer entsprechenden Signatur erkannt, wird dies entsprechend veranschaulicht. Hierzu sei noch angemerkt, dass man nicht immer genau zwischen einer Missbrauchserkennung und einer Anomalieerkennung differenzieren kann. So existieren auch signaturbasierte Intrusion Detection-Systeme, die für bestimmte Angriffe Schwellwerte bieten. So muss ein Network Intrusion Detection System zum Beispiel auch einen Portscan erkennen, bei dem die Pakete in längeren Abständen gesendet werden.

Die Ausgabe der Ergebnisse beschränkt sich natürlich nicht auf die Aufbereitung der Daten für die lokale Einsicht, zum Beispiel über ein Web-Interface wie ACID1([5]), sondern muss auch die entsprechende Benachrichtigung des Administrators in geeigneter Form beinhalten.

1.3 Warum Intrusion Detection?

Die Gründe, warum man sein Netzwerk oder auch nur einen Einzelrechner, der wichtige Aufgaben im Firmenumfeld hat, mit einem Intrusion Detection System absichern sollte, liegen heutzutage auf der Hand. Kaum ein Tag vergeht, an dem man nicht von neuen Hackversuchen oder Einbrüchen in Firmennetzwerken hört. So manche Kreditkartennummer hat durch Einbruchsversuche schon den Weg in die Finger böswilliger Cracker gefunden. Die Ursachen für einen möglichen Einbruch können sehr vielfältig sein. Der Angreifer kann zum Beispiel über Fehler in der Implementierung des TCP/IP-Stacks Zugriff auf das System oder dessen Ressourcen erhalten. Ein Profi findet anhand einer Untersuchung des TCP/IP-Fingerprints, welchen ein System hinterläßt, heraus, um welches System es sich handelt, und kann daraus auf etwaige Fehler in der Implementierung schließen, um diese dann letzten Endes auszunutzen. Ein Einbruch kann aber auch über Fehler in der auf dem System verwendeten Software erfolgen. Häufige Ursache für solche Fehler sind die sogenannten Buffer Overflows. In letzter Zeit sind immer mehr Fehler in Programmen, seien es Buffer Overflows oder Fehler, durch die ein normaler Benutzer root-Rechte erlangen kann, bekannt geworden. In letzter Zeit hat hier vor allem der DNS-Daemon BIND, welcher der Quasi-Standard unter Unix und seinen Derivaten ist, der FTP-Server Wu-FTP und natürlich der Klassiker, der Microsoft Internet Information Server, von sich reden gemacht. Durch die ersten beiden Programme gelangten die ersten Würmer2 in die Unix-Welt. Mittlerweile gibt es sogar einen Wurm, der eine Kombination aus Sicherheitslöchern im Microsoft IIS und BIND ausnutzt.

Es mag so scheinen, als ob Einbruchsversuche grundsätzlich nur in Netzwerken geschehen. Tatsächlich ist prinzipiell jeder Portscans u.ä. ausgeliefert, der sich z.B. über sein Modem ins Internet einwählt. Aber eine IP-Adresse, von der man weiß, dass die dahintersteckenden Rechnersysteme häufig wechseln, ist nicht halb so interessant wie ein System, welches dauerhaften Kontakt zum Netzwerk hat oder gar mehrere Systeme in einem Netzwerk, die für einen der gefürchteten Distributed Denial of Service-Attacken genutzt werden könnten. So sind zum Beispiel die IP-Adressen, die den DSL-Anschlüssen der deutschen Telekom zugeteilt sind, beliebtes Ziel für Portscans, da die Benutzer, die hinter der IP-Adresse stecken, oftmals tagelang ununterbrochen eine Verbindung zum Internet haben, womit sie sich sehr gut als »Mittäter« eines Distributed Denial of Service eignen.

Letzten Endes ist eine Kette immer nur so stark wie ihr schwächstes Glied, was zum Benutzer des Systems führt. Oftmals sind Einbruchsversuche auf falsch gewählte Passwörter zurückzuführen, was einen Einbruch in ein Rechnersystem erheblich erleichtert. Hat ein Einbrecher erstmal einen Zugang zum System, ist es ein Leichtes, zu noch höheren oder gar den absoluten, den root-Rechten auf einem Rechner zu gelangen. Läuft auf einem System beispielsweise der finger-Daemon, besteht schonmal die Möglichkeit, an etwaige Benutzerkennungen zu kommen, um mit deren Hilfe mit einem Dictionary bekannte Passwörter zu überprüfen.

Der Angreifer kann natürlich auch über Social Engineering versuchen, an das Passwort des Benutzers zu kommen. Man hört immer wieder von Fällen, in denen dreiste Personen unter einem Vorwand oder mit einer falschen Identität versucht haben, einen Benutzer zur Herausgabe seines Passwortes zu bewegen.

Ein Intrusion Detection System kann einen Login eines normalen Benutzers nicht als Angriff erkennen, auch wenn eine andere Person dahintersteckt. Das IDS kann hier nur noch etwaige ungewöhnliche Aktivitäten erkennen, die in nächster Zukunft von diesem Login ausgehen würden.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung