Montag, 1. März 2010


Topthema

Donnerstag, 22. Juni 2006 | Topthema

About Security #60: Angriffe auf TCP/IP — ARP Spoofing

(Link zum Artikel: http://www.entwickler.de/php/kolumnen/029528)

Für das TCP-Hijacking muss der Angreifer den Netzwerkverkehr mindestens eines Opfers belauschen. Während dies bei über einen Hub verbundenen Rechnern sehr einfach ist, ist es in geswitchten Netzwerken aufwendiger. Da ein Switch Eins-zu-Eins-Verbindungen herstellt, sieht ein unbeteiligter Rechner die Pakete einer fremden Verbindung nicht. Damit der Angreifer trotzdem die gewünschten Pakete empfangen kann, muss er sie zu sich umleiten. Dazu nutzt er eine Schwachstelle im Adress Resolution Protocol (ARP).

About Security: Die komplette Serie
ARP – Adress Resolution Protocol

Das Adress Resolution Protocol befindet sich auf der Netzzugangsschicht des TCP/IP-Schichtenmodells (About Security #29). Es dient der Zuordnung von IP-Adressen zur entsprechenden Adresse im physikalischen Netzwerk, im Fall von Ethernet der MAC-Adresse (Media Access Control) der Ethernetkarte des entsprechenden Rechners. Immer wenn ein IP-Paket im lokalen Netz verschickt werden soll, braucht der Absender die MAC-Adresse des Empfängers. Dazu sendet er an alle Rechner im lokalen Netz (Broadcast) eine Anfrage: "Welche MAC-Adresse gehört zur IP-Adresse a.b.c.d?" (ARP-Who-Has). Der Rechner mit der gesuchten IP-Adresse a.b.c.d antwortet dem Fragenden mit einem ARP-Paket, das seine MAC-Adresse enthält. Um nicht bei jedem Paket erneut nach der MAC-Adresse fragen zu müssen, wird die entsprechende Zuordnung für einen gewissen Zeitraum in einem Puffer gespeichert.

Jetzt kommt die Schwachstelle von ARP ins Spiel: Es gibt keine Möglichkeit sicherzustellen, dass die Antwort wirklich vom Rechner mit der gesuchten IP-Adresse stammt. Dadurch kann jeder Rechner im lokalen Netz behaupten, eine bestimmte IP-Adresse gehöre ihm. Darüber hinaus erlaubt ARP auch die Verarbeitung und Speicherung von Antwort-Paketen, für die gar keine Anfrage gesendet wurde. Über so genannte Gratuitous-ARP-Pakete (siehe Kasten) können dadurch z.B. bei Bedarf geänderte MAC-IP-Zuordnungen bekannt gegeben werden. Alle Rechner im lokalen Netz speichern die so erhaltenen MAC-IP-Zuordnungen in ihrem Cache.

Ein Gratuitous-ARP-Paket ist ein ARP-Request-Paket, bei dem Quell- und Ziel-IP-Adresse der Adresse des absendenden Rechners entsprechen und das an die MAC-Broadcast-Adresse geschickt wird. Dadurch kann z.B. eine doppelt vergebene IP-Adresse erkannt werden: Empfängt ein Rechner ein Paket mit seiner eigenen IP-Adresse als Quelle, weiß er, dass ein IP-Adresskonflikt vorliegt. Ändert sich die IP-Adresse eines Rechners, z.B. durch eine Umkonfiguration, kann die Änderung durch ein Gratuitous-ARP-Paket allen anderen Rechnern im lokalen Netz mitgeteilt werden.
ARP Spoofing

Ein Angreifer kann dies ausnutzen, um eine Verbindung zwischen zwei Rechnern über sich umzuleiten. Dazu schickt er gefälschte ARP-Pakete an seine Opfer, in denen er seine eigene MAC-Adresse den IP-Adressen der jeweiligen Kommunikationspartner zuordnet (ARP-Spoofing). Dieses Einschleusen gefälschter Informationen in den Cache wird auch als Cache-Poisoning bezeichnet. Nach dem Angriff schicken die Opfer ihre Pakete ohne weitere ARP-Anfrage (die entsprechende Zuordnung befindet sich ja in ihrem Cache) an den Angreifer, der sie auswertet und an den jeweils anderen Kommunikationspartner weiterleitet. Der Angreifer hat so die vollständige Kontrolle über die Kommunikation zwischen den angegriffenen Rechnern, er fungiert als 'Man-in-the-Middle'.

Statt der ARP-Adresse eines normalen Rechners kann z.B. auch die eines Gateway-Rechners gefälscht werden, wodurch der Angreifer den gesamten über das Gateway abgewickelten IP-Verkehr belauschen kann.

Weitere ARP-Angriffe

Statt durch das Fälschen der MAC-IP-Zuordnung kann der Angreifer sich auch durch Fälschen seiner MAC-Adresse als anderer Rechner ausgeben, wenn er diesen gleichzeitig durch einen DoS-Angriff lahm legt. Die MAC-Adressen sollten zwar eigentlich weltweit eindeutig sein, lassen sich aber meist überschreiben.

Außer das gezielte ARP Spoofing einzelner Adressen gibt es auch noch eine brutalere Methode: Wird der Cache eines Switches mit zu vielen MAC-Adressen überflutet, schalten manche Geräte in den Hub-Modus um, leiten also alle empfangenen Pakete an alle Ports weiter.

Nach dem Angriff ist vor dem Angriff...

Nachdem der Angreifer eine Kommunikationsverbindung durch ARP-Spoofing über sich umgeleitet hat, kann er darin z.B. nach Benutzerkennungen und Passwörtern suchen (= sniffen). Auch TCP Hijacking ist nun möglich.

N E U ! Security aktuell
Täglich aktuelle Security-Infos!

Der Angreifer kann u.U. auch eine verschlüsselte Verbindung unter seine Kontrolle bringen. Um z.B. eine SSL-geschützte Verbindung aufzubrechen, simuliert er gegenüber dem Client einen SSL-fähigen Webserver. Prüft der Benutzer des Clients nicht, ob das verwendete SSL-Zertifikat zum gewünschten Server gehört, werden die Daten nur bis zum Rechner des Angreifers SSL-geschützt übertragen. Dort kann der Angreifer sie als Klartext lesen und danach (ggf. manipuliert) über eine neue SSL-Verbindung zum Server weiterleiten. Durch einen derartigen Man-in-the-Middle-Angriff lässt sich auch das iTAN-Verfahren angreifen.

In der nächsten Folge werden weitere Angriffe auf TCP/IP beschrieben: Das Hijacking von Protokollen der Anwendungsschicht.

Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!

Carsten Eilers

About Security – Übersicht zum aktuellen Thema "Angriffe auf TCP/IP"

Kommentare

Folgende Links könnten Sie auch interessieren