- ARP-Poisoning
-
ARP-Spoofing (vom engl. to spoof – dt. täuschen, reinlegen) oder auch ARP Request Poisoning (zu dt. etwa Anfrageverfälschung) bezeichnet das Senden von gefälschten ARP-Paketen. Beim ARP-Spoofing wird das gezielte Senden von gefälschten ARP-Paketen dazu benutzt, um die ARP-Tabellen in einem Netzwerk so zu verändern, dass anschließend der Datenverkehr zwischen zwei Rechnern in einem Computernetz abgehört oder manipuliert werden kann.
Inhaltsverzeichnis
Funktionsweise
Um den Datenverkehr zwischen Host A und Host B abzuhören, sendet der Angreifer an Host A eine manipulierte ARP-Nachricht. In dieser ist nicht seine eigene IP-Adresse sondern die von Host B enthalten, so dass Host A zukünftig die Pakete, die eigentlich für Host B bestimmt sind, an den Angreifer sendet. Dasselbe geschieht mit Host B, so dass dieser Pakete statt direkt an A nun ungewollt zum Angreifer sendet. Der Angreifer muss nun die von A und B erhaltenen Pakete an den eigentlichen Empfänger weiterleiten, damit eine abhörbare Verbindung zustande kommen kann. Ist dies geschehen, so arbeitet der Angreifer unbemerkt als Proxy. Man spricht dabei von einem Man-In-The-Middle-Angriff.
Während ein reines Abhören des Netzwerkverkehrs mit Hilfe eines Sniffers nur in ungeswitchten Netzwerken funktioniert, ist dieser Angriff auch in geswitchten Netzwerken erfolgreich. Software, die diese Proxy-Funktion implementiert, ist für alle gängigen Betriebssysteme kostenlos im Internet zu erhalten und relativ leicht zu bedienen (siehe Ettercap, Wireshark).
Konsequenzen
Damit hat ein Angreifer bei ungeschützten Verbindungen, wie sie beim Senden von E-Mails oder Betrachten von Webseiten verwendet werden, fast freie Hand zum Mitlesen und Manipulieren. Verschlüsselte Verbindungen sind tendenziell sicher, da diese meistens Zertifikate verwenden. Würde ein Angreifer sich zum Beispiel in eine HTTPS-Verbindung einklinken, um das Homebanking zu manipulieren, so erkennt der Anwender dies an einer Warnmeldung des Browsers über ein ungültiges Zertifikat. Auch SSH-Verbindungen sind als sicher einzustufen (SSH Version 1 nicht), da ein veränderter Fingerprint von der Software sofort angezeigt wird.
ARP-Spoofing erkennen
ARP-Spoofing zu erkennen oder zu verhindern ist nicht einfach. Dazu gibt es mehrere Möglichkeiten. Eine davon ist, das ARP ganz außen vor zu lassen und mit statischen Tabellen zur Umsetzung von IP-Adressen zu Hardware-Adressen zu arbeiten. Diese Möglichkeit ist nicht sehr effizient, weil die ARP-Tabellen ständig aktualisiert werden müssen. Besser ist es, am Grundproblem anzusetzen: Jede ARP-Antwort, ob angefordert oder nicht, ob sinnvoll oder nicht, wird von fast allen Betriebssystemen akzeptiert. Hier kann es helfen, das Verarbeiten von ARP-Antworten Programmen mit größerer Intelligenz zu überlassen. Diese überwachen, wer die Antworten wann schickt und welche Informationen die Antworten enthalten. Offensichtlich gefälschte ARP-Pakete lassen sich so erkennen und verwerfen. Dieser Ansatz wird zum Beispiel von ArpWatch implementiert. XArp2 verwendet zusätzlich weitergehende Inspektionsmodule um Angriffe zu erkennen und aktive Validierung der ARP-Mappings.
Legale/sinnvolle Anwendung
Im Bereich der linuxbasierten Hochverfügbarkeitscluster wird das gezielte Manipulieren der ARP-Pakete verwendet um bei Ausfall des primären Servers keine Datenpakete zu verlieren und sofort zum neuen „Ansprechpartner“ im Cluster umzuleiten. Der sekundäre Server muss dann die gemeinsame IP-Adresse des Clusters übernehmen.
Siehe auch
Weblinks
- Manipulation von ARP-Tabellen – Erläuterung des BSI
- How to Troubleshoot ARP attacks
- arprelay – Implementierung der ARP-Spoofing-Attacke von Felix von Leitner
- Cain & Abel – ARP-Spoofing unter Windows
- Ettercap – Sniffer für Switched LANs
- ArpWatch – Überwachen des IP-MAC-Mappings für Unix
- ArpWatch Next Generation – Neuere Version von ArpWatch
- XArp2 – Intelligente Überwachung des ARP-Verkehrs mit aktiven und passiven Methoden
- Eine Facharbeit, u.a. über die Funktionsweise des ARP-Spoofing
Wikimedia Foundation.