Mobile-Menu

Grundlegende Sicherheitsüberlegungen für Netzwerke – Teil 2 Schwachstellen der TCP/IP-Protokolle machen Netzwerke angreifbar

Autor / Redakteur: Karin Winkler / Dipl.-Ing. (FH) Andreas Donner

Leider können Programme im Internet nicht auf ihre korrekte Arbeitsweise hin untersucht werden, weil selbst einfachste TCP/IP-Implementierungen hierfür zu groß sind. Dies vereinfacht Angriffe enorm. Also müssen schon auf dieser Ebene Gegenmaßnahmen eingeleitet werden.

Firewalls sollen das Unternehmensnetz nach außen absichern – doch dies gelingt meist nur unzureichend.
Firewalls sollen das Unternehmensnetz nach außen absichern – doch dies gelingt meist nur unzureichend.
( Archiv: Vogel Business Media )

Ein IP-Programm hat keine Möglichkeit zu bemerken, wenn man ihm gefälschte Adressen vorhält (IP-Adress-Spoofing). Man kann z.B. eine auf IP-basierenden Firewall, die autorisierte (interne) Benutzer und nichtautorisierte (externe) Benutzer auf der Basis von IP-trennt, leicht dadurch überwinden, dass man von außen kommt und ihr eine IP-Adresse vorhält, von der sie glaubt, dass sie zu einem von einer autorisierten inneren Station abgeschickten Paket gehört.

Viele Firewall-Programme konnten zu Beginn noch nicht einmal zwischen äußeren und inneren Stationen differenzieren, sondern führten Weitertransport und Ablehnung der Pakete lediglich mittels Filterung auf IP-Ebene durch. Damit kann man in der Praxis aber höchstens gutwillige Benutzer von anderen gutwilligen Benutzern trennen, z.B. im Sinne einer Netzwerkstrukturierung. Gegen ernsthafte Angreifer wirkt eine solche Firewall wie eine Papptür bei Feuer. Im Einzelnen wird die TCP/IP Handshakesequenz ausgenutzt:

  • A –> B: SYN, A_SNa
  • B –> A: SYN, A_SNb
  • A –> B: ACK (A_SNb)

Der Anfangswert SN wird aus SN der vorhergehenden Verbindung zuzüglich 128/Sekunde berechnet. Zunächst bereitet man die Verbindung auf einen harmlosen Port vor, um so einen Ausgangswert SN zu ermitteln. Diesen Port lässt man aber dann in Ruhe und errät den Wert SNb + 128n; mit n = natürliche Zahl. Mit dem erratenen Wert schmuggelt man sich dann an den Port, der das eigentliche Ziel des Angriffes ist.

Eine weitere Angriffsmöglichkeit auf TCP/IP-Ebene ist das Erzeugen offener Verbindungen. Der Verbindungsaufbau umfasst einen Three-Way Handshake. Wenn eine Client-Station das erste Paket schickt, eine Antwort vom Server erhält und auf diese Antwort ihrerseits aber nicht antwortet, wird der Server verwirrt, weil er eben als nächstes die Antwort erwartet. Der Server möchte weiterhin eine Verbindung zustande bringen und wartet nunmehr auf das zweite Paket vom Client. Dieser denkt aber gar nicht daran, sondern baut unter einem anderen »Namen« die nächste offene Verbindung auf. Die Kapazität eines jeden Servers für solche Verbindungen ist eng begrenzt, nach einer Handvoll bis einigen Dutzend wird er daher normalerweise aussteigen und damit auch den Service für alle anderen Verbindungen beenden.

So kann man einem Server-Betreiber von außen damit drohen, seinen Server außer Betrieb zu setzen und z.B. ein Lösegeld verlangen. Neuere Server können hiermit aber natürlich schon wieder umgehen.

Eine andere Alternative der Überlastung ist natürlich gegeben, wenn man einem Server, z.B. einem Mail-Server, lauter Unsinn schickt, den er aber bearbeiten muss. Damit kann man die Nutzbarkeit eines Mail-Systems zerstören.

TCP Sequenznummerierung & IP-Spoofing

Eine andere beliebte Methode ist die Ausnutzung der Sequenznummerierung bei TCP. Wenn man Sequenznummern einer Verbindung abfängt, kann man eigene Pakete mit passenden Sequenznummern einschleusen. Kombiniert man dies mit dem IP-Spoofing und der Blockierung entscheidender Anwendungsprogramme durch halboffene Verbindungen, stehen Tür und Tor für weitere Angriffe offen.

So kann man z.B. ein Server-Login zunächst dadurch angreifen, dass man so viele halboffene Verbindungen hineinschreibt, bis es nicht mehr geht und der für diese Zwecke reservierte Pufferspeicher gänzlich voll ist. Danach kann man Server-Login-Pakete z.B. an ein X-Terminal vortäuschen, da ja der tatsächliche Server-Login gar nicht mehr reagiert. Auf ein vorgetäuschtes SYN vom Server-Login an X-Terminal antwortet dieses mit einem SYN-ACK. Das vorgetäuschte Server-Login kann dann ein ACK mit erratener Sequenznummer losschicken und somit das SYN-ACK bestätigen. Damit steht die Verbindung aber nicht zwischen Terminal und Server, sondern zwischen Terminal und Angreifer. Und der ist jetzt ganz gespannt, was das Terminal dem Server zu sagen hat!

Für praktisch jede Komponente im Internet-Protokollstack gibt es mehr oder minder bequeme Möglichkeiten, diese anzugreifen. Sogar die eigentlichen Authentifikationsverfahren (z.B. Passwort) sind nicht sicher, solange sie nicht oder nur unzureichend verschlüsselt arbeiten und mit einfachen Methoden wie Sniffer-Analyse ausgehebelt werden können. Spätestens seit ein besserer Student in kurzer Zeit die 40 Bit DES-Verschlüsselung geknackt hat, weiß man, wo die Latte liegt: Auf jeden Fall deutlich über dem, was die US-Regierung freizugeben gewillt ist.

weiter mit: Intrusion-Detection-Systeme (ID)

(ID:2052459)