Möglichkeiten
der Signalerkennung
Um Angriffe erkennen
zu können, muss man wissen wonach man suchen muss. Angreifer
setzen häufig bestimmte Techniken ein, um Angriffe vorzubereiten. Diese Angriffe erfolgen nach
bestimmten Mustern. Kennt man das Muster, Signatur genannt, des Angriffs ist eine Erkennung
(Detection) des Angriffs möglich. Einige typische Auswirkungen, die einen Angriff kennzeichnen
und deutliche Signaturen hinterlassen, sollen hier als Beispiele kurz vorgestellt werden. Viele
dieser Signaturen können nur als Anzeichen für einen Angriff gewertet werden, wenn sie gehäuft
oder in ungewöhnlichem Zusammenhang auftreten (ein Einlogversuch mit falschem Passwort ist
sicher kein Angriff, bei mehreren hundert Versuchen, ist es eindeutig einer). In den folgenden
Unterkapiteln werden einige der häufigsten Angriffsarten beschrieben.
TCP-Portscan
Ein TCP-Portscan
ermöglicht es festzustellen, welche TCP-basierten Dienste ein Zielrechner
anbietet. Ein TCP-Verbindungsaufbau geschieht normalerweise in drei Schritten:
- Angreifer sendet SYN an zu testenden Port
des Zielrechners
- Zielsystem antwortet mit SYN/ACK
- Angreifer sendet ACK an Zielsystem
Nun ist eine aktive
Verbindung aufgebaut, die vom Zielsystem normalerweise protokolliert
werden sollte, so dass sie leicht entdeckt werden kann. Verzichtet der Angreifer auf den dritten
Schritt, weiss er trotzdem, dass dieser Dienst existiert. Der versuchte Verbindungsaufbau wird
jedoch häufig nicht in die Log-Dateien übertragen. Programme wie Tcplog sind allerdings in
der
Lage, auch fehlgeschlagene Verbindungsaufbauten zu protokollieren. Werden häufige
(fehlgeschlagene) Verbindungsaufbauten in relativ kurzer Zeit beobachtet, ist dies ein sicheres
Zeichen für einen Angriff. Es gibt allerdings auch Portscans, die von Tcplog nicht erkannt
werden.
UDP-Portscan
UDP ist ein verbindungsloses
Protokoll und besitzt demnach keine
Verbindungsaufbauprozedur, die Informationen über angebotene Dienste geben kann. Schickt
der Angreifer jedoch UDP-Anfragen an einen inaktiven UDP-Port, so antwortet der
Zielrechner mit "ICMP Port unreachable", so dass der Angreifer von den inaktiven auf die
aktiven Ports schliessen kann. Die Vielzahl der Anfragen kann einem IDS als Signatur dienen.
Finger- und
r-Dienste
Diese und einige
weitere Dienste können Informationen über die Benutzer eines Systems liefern,
die eventuell für einen Angriff genutzt werden können. Werden diese Dienste auffällig
häufig
benutzt, deutet dies auf einen bevorstehenden Angriff hin.
IP mit falschen
Parametern
Diese Angriffsart
wird häufig benutzt, um den Betrieb eines Rechners zu stören (Denial of
Service). Die IP-Pakete sind allerdings an ihren falschen Parametern zu erkennen, so dass sie
als eindeutige Signatur für einen Angriff dienen können. Beispielsweise stürzen viele
Rechner
aufgrund einer fehlerhaften Implementierung ab, wenn die Quell- und die Zieladresse sowie
Quell- und Zielport übereinstimmen.
Überflutung
Dieser Angriff
basiert darauf, einen Rechner oder Dienst dadurch auszuschalten, dass man ihn
mit Daten "überflutet". Sendet man beispielsweise E-Mail in grossen Mengen an einen Rechner,
so wird das Spool-Verzeichnis überlaufen und kann keine weiteren Daten entgegennehmen. Bei
einigen Implementierungen kann es auch zu einem Totalabsturz des Rechners kommen. Diese
Angriffsart funktioniert auch mit einigen anderen Diensten, als Indiz kann einem IDS der
gehäufte Bedarf an Resourcen dienen.
Ist die Quelladresse eines SYN-Pakets (das normalerweise dem Verbindungsaufbau dient)
unerreichbar, weil sie gefälscht ist, wird trotzdem Arbeitsspeicher für die gewünschte
Verbindung reserviert. Wird die Anfrage in schneller Folge wiederholt, bindet der Angriff im
Rechner zuviel Betriebsmittel und kann seine normalen Aufgaben nicht mehr im vollen Umfang
bewältigen.
ICMP-Echo-Request
Ein ICMP-Echo-Request
(ping) dient normalerweise dazu, die Erreichbarkeit bestimmter
Rechner zu überprüfen. Übersteigen diese ICMP-Pakete eine bestimmte in der Spezifikation
vorgesehene Maximalgrösse können sie aufgrund einer falschen Implementierung den
Zielrechner zum Absturz bringen. Die ICMP-Echo-Request-Pakete können durch ein IDS
analysiert werden, so dass auch dieser Angriff automatisch erkannt werden kann.
Mit ICMP-Echo-Requests ist es leicht möglich, die Netzinfrastruktur des Opfers zu
untersuchen, indem man alle Netzadressen, die in dem Zielnetz vorkommen können, anspricht.
Ping-Pakete an alle vorhandene und sogar an nicht vorhandene Rechner sind ein starkes Indiz
für die Vorbereitung eines Angriffs.
Einkapselung/Tunneln
Fast jedes Transportprotokoll
lässt es zu, dass in seinem Datenfeld bestimmte Daten
untergebracht werden, die auf der Empfängerseite interpretiert werden können. So kann
beispielsweise SMB über IP übertragen (getunnelt) werden. Natürlich kann auch IP in IP
eingekapselt und so getunnelt werden. Firewalls überprüfen häufig die in Datenfeldern
stehenden Informationen nicht. Bestimmte getunnelte Protokolle können jedoch durch
Überwachung des Netzverkehrs aufgedeckt werden.
WWW-Spoofing
Der Betreiber eines
WWW-Servers hat die Möglichkeit, als Angreifer dem Opfer ein
Dokument mit ausschliesslich gefälschten URLs zuzuspielen. Der Benutzer kann diesen Angriff
leicht entdecken, indem er die Statusanzeige des Browsers beobachtet. Auch ist es notwendig,
dass der Benutzer die WWW-Seiten des Angreifers anwählt. Als Signatur können die für
diesen Angriff notwendigen verlängerten URLs leicht von einer IDS entdeckt werden.