ARP-Spoofing – Schwachstelle in der Netzwerksicherheit

Firewalls, Proxyserver, Demilitarisierte Zonen (DMZ) – Unternehmen rüsten zunehmend auf, um private Netze vor den Gefahren des Internets zu schützen. Doch nicht alle Attacken erfolgen von außen. Schwächstes Glied der Sicherheitskette ist das Local Area Network (LAN). Befindet sich ein Angreifer bereits im internen Netzwerk, stehen ihm meist alle Wege offen, den Datenverkehr zu belauschen und nach Belieben zu manipulieren. Innentäter machen sich dazu die Angreifbarkeit des ARP-Protokolls zunutze. Dieses kommt in IPv4-basierten Ethernet-Netzwerken zum Einsatz, um IP-Adressen in MAC-Adressen aufzulösen, und stellt Administratoren bis heute vor ein Sicherheitsproblem.

ARP-Einträge lassen sich durch gefälschte Datenpakete mühelos manipulieren. Man spricht in diesem Fall von ARP-Spoofing (engl. to spoof = täuschen, reinlegen), einem Man-in-the-Middle-Angriff, der es Hackern ermöglicht, sich unbemerkt zwischen zwei kommunizierende Systeme zu schalten. Wir zeigen, wie sich die Adressauflösung via ARP gezielt manipulieren lässt, und stellen mögliche Gegenmaßnahmen vor.

Definition ARP-Spoofing

Als ARP-Spoofing (auch bekannt unter ARP-Poisoning) bezeichnet man Man-in-the-Middle-Angriffe auf die ARP-Tabellen lokaler Netzwerke. Bei dieser Angriffsform senden Hacker gefälschte ARP-Pakete, um sich unbemerkt zwischen zwei kommunizierende Systeme zu schalten und deren Datenverkehr abzuhören oder zu manipulieren.

ARP: Adressierung im LAN

Anders als im Internet kommunizieren Geräte im LAN nicht direkt über IP-Adressen. Stattdessen werden für die Adressierung in lokalen IPv4-Netzen physische Hardware-Adressen genutzt. Bei diesen sogenannten MAC-Adressen (Media Access Control) handelt es sich um einzigartige 48-Bit-Nummern, die es ermöglichen, jedes Gerät im LAN über seine Netzwerkkarte eindeutig zu identifizieren.

Beispiel einer MAC-Adresse: 00-80-41-ae-fd-7e

MAC-Adressen werden von den jeweiligen Hardware-Herstellern vergeben und sind weltweit einmalig. Theoretisch würden sich diese Hardware-Adressen somit für eine globale Adressierung eignen. In der Praxis lässt sich dies jedoch nicht umsetzen, da IPv4-Adressen zu kurz sind, um die MAC-Adresse komplett abzubilden. In Netzwerken auf Basis von IPv4 ist die Adressauflösung via ARP daher unumgänglich.

Möchte nun ein Rechner A einen Rechner B im gleichen Netzwerk kontaktieren, muss dieser für dessen IP-Adresse zunächst die passende MAC-Adresse ermitteln. Dabei kommt das Address Resolution Protocol (ARP) zum Einsatz, ein Netzwerkprotokoll, das nach dem Request-Response-Schema arbeitet.

Auf der Suche nach der passenden MAC-Adresse sendet Rechner A zunächst eine Broadcast-Anfrage (den sogenannten ARP-Request) an alle Geräte im Netzwerk. Diese beinhaltet in etwa folgende Informationen:

Ein Rechner mit der MAC-Adresse xx-xx-xx-xx-xx-xx und der IP-Adresse yyy.yyy.yyy.yyy möchte Kontakt mit einem Rechner mit der IP-Adresse zzz.zzz.zzz.zzz aufnehmen und benötigt die passende MAC-Adresse.

Der ARP-Request wird von allen Rechnern im LAN entgegengenommen. Um zu verhindern, dass vor dem Absenden eines jeden Datenpakets eine ARP-Anfrage gestellt werden muss, führt jeder Rechner im Netzwerk eine lokale Tabelle, den ARP-Cache. In diesem werden alle bekannten MAC-Adressen inklusive der zugeordneten IP temporär gespeichert.

Alle Rechner im Netzwerk notieren sich somit das in der Broadcast-Anfrage mitgelieferte Absender-Adresspaar. Eine Antwort auf die Broadcast-Anfrage wird jedoch nur von Rechner B erwartet. Dessen ARP-Reply beinhaltet folgende Informationen:

Hier das System mit der IP-Adresse zzz.zzz.zzz.zzz. Die gesuchte MAC-Adresse lautet aa-aa-aa-aa-aa-aa.

Geht ein solcher ARP-Reply bei Rechner A ein, verfügt dieser somit über alle benötigten Informationen, um Datenpakete an Rechner B zu senden. Der Kommunikation über das lokale Netzwerk steht nun nichts mehr im Wege.

Doch was, wenn nicht der gesuchte Zielrechner antwortet, sondern ein anderes Gerät, das von einem Innentäter mit unlautereren Absichten kontrolliert wird? Hier kommt ARP-Spoofing ins Spiel.

Was ist ARP-Spoofing?

Das Request-Response-Schema des ARP-Protokolls ist so angelegt, dass die erste Antwort auf einen ARP-Request akzeptiert und gespeichert wird. Im Rahmen des ARP-Spoofings versuchen Hacker daher dem eigentlichen Zielrechner zuvorzukommen, ein Reply-Paket mit falschen Informationen zu versenden und somit die ARP-Tabelle des anfragenden Rechners zu manipulieren. Man spricht daher auch von ARP-Poisoning, einer „Vergiftung“ des ARP-Caches. In der Regel beinhaltet das Datenpaket dabei die MAC-Adresse eines Netzwerkgeräts, das sich unter der Kontrolle des Angreifers befindet. Das Opfersystem verknüpft die Ausgangs-IP somit mit der falschen Hardware-Adresse und sendet in Zukunft alle Datenpakete unbemerkt an das vom Hacker kontrollierte System. Dieser hat nun die Möglichkeit, den kompletten Datenverkehr mitzuschneiden oder zu manipulieren.

Um unbemerkt zu bleiben, wird der abgehörte Datenverkehr in der Regel an das eigentliche Zielsystem weitergeleitet. Ein Angreifer erschleicht sich somit eine Position als Man in the Middle. Werden abgefangene Datenpakete nicht weitergeleitet, sondern verworfen, kann ARP-Spoofing einen Denial of Service (DoS) zur Folge haben. ARP-Spoofing funktioniert sowohl in LAN- als auch in WLAN- Umgebungen. Selbst die Verschlüsselung drahtloser Netze via Wi-Fi Protected Access (WPA) bietet keinen Schutz. Denn um in lokalen IPv4-Netzen kommunizieren zu können, müssen alle eingebundenen Geräte MAC-Adressen auflösen – und das geht nur über ARP.

Eine bekannte Software, die gezielt auf Broadcast-Anfragen lauert und diese mit gefälschten ARP-Replys beatwortet, ist Cain&Abel. Um den ARP-Cache von Netzwerkgeräten zu „vergiften“, muss ein Angreifer jedoch nicht zwangsläufig auf ARP-Requests warten. Eine andere Strategie sieht vor, das Netzwerk kontinuierlich mit gefälschten ARP-Replys zu bombardieren. Zwar ignorieren die meisten Systeme Antwortpakete, die sich keiner Anfrage zuordnen lassen; dies ändert sich jedoch, sobald ein Rechner im LAN einen ARP-Request startet und folglich gewillt ist eine Antwort entgegenzunehmen. Dann entscheidet das Timing, ob die Antwort des Zielsystems oder eines der gefälschten Pakete zuerst beim Absender eintrifft. Automatisieren lässt sich dieses Angriffsmuster durch Programme wie Ettercap.

ARP-Angriffssoftware im Überblick

Programme, die im Rahmen des ARP-Spoofings als Angriffssoftware zum Einsatz kommen, werden in der Regel als Sicherheits-Tools gehandelt und sind im Netz frei erhältlich. Administratoren können mithilfe der Programme das eigene Netzwerk überprüfen und gegen gängige Angriffsmuster absichern. Zu den bekanntesten Anwendungen gehören ARP0c/WCI, Arpoison, Cain&Abel, Dsniff, Ettercap, FaceNiff und NetCut.

  • ARP0c/WCI: Laut Anbieterseite handelt es sich bei ARP0c/WCI um ein Tool, das ARP-Spoofing nutzt, um Verbindungen in einem privaten Netzwerk abzufangen. Dazu versendet die Software gefälschte ARP-Response-Pakete, die den Datenverkehr auf das System umleiten, auf dem ARP0c/WCI läuft. Eine Weiterleitung an das eigentliche Zielsystem erfolgt durch die integrierte Bridging-Engine. Pakete, die nicht lokal zugestellt werden, leitet ARP0c/WCI an den entsprechenden Router weiter. Ein Man-in-the-Middle-Angriff bleibt somit in der Regel unerkannt. Das Programm ist für sowohl für Linux als auch für Windows erhältlich und kann auf der Anbieterseite kostenlos heruntergeladen werden.
  • Arpoison: Das Kommandozeilen-Tool Arpoison erzeugt benutzerdefinierte ARP-Pakete, bei denen der Benutzer Ziel- und Absenderadresse beliebig festlegen kann. Arpoison lässt sich im Rahmen der Netzwerkanalyse nutzen, kommt jedoch auch als Angriffssoftware zum Einsatz. Das Tool ist frei verfügbar und steht unter GNU-Lizenz.
  • Cain&Abel: Das als Passwort-Recovery-Tool entwickelte Programm Cain&Abel bietet die Möglichkeit, Netzwerke abzuhören und verschlüsselte Passwörter zu dechiffrieren. Seit Version 2.5 enthält die Software zudem ARP-Poisoning-Funktionen, mit denen sich der IP-Verkehr in geswitchten LANs abfangen lässt. Selbst SSH- und HTTPS-Verbindungen stellen für Cain&Abel keine Hürde dar. Zur Analyse des WLAN-Netzwerkverkehrs unterstützt Cain&Abel seit Version 4.0 den AirPcap-Adapter, der das passive Mitlesen des Datenverkehrs im WLAN ermöglicht. Angriffe gegen WPA-gesicherte drahtlose Netze sind seit Version 4.9.1 möglich.
  • Dsniff: Bei Dsniff handelt es sich um eine Programmsammlung, die verschiedene Tools für die Netzwerkanalyse und Penetrationstests zur Verfügung stellt: Mit Dsniff, Filesnarf, Mailsnarf, Msgsnarf, Urlsnarf und Webspy lassen sich Netzwerke belauschen und Dateien, E-Mails oder Passwörter abfangen. Arpspoof, Dnsspoof und Macof ermöglichen, Daten aufzuspüren, die in geswitchten Netzwerken normalerweise nicht zugänglich sind. Man-in-the-Middle-Angriffe auf SSH- und SSL/TLS-gesicherte Verbindungen lassen sich durch die Programme Sshmitm und Webmitm umsetzen.
  • Ettercap: Bei Ettercap handelt es sich um ein benutzerfreundliches ARP-Spoofing-Tool, das in erster Linie bei Man-in-the-Middle-Attacken zum Einsatz kommt. Die Software unterstützt diverse Linux-Distributionen sowie Mac OS X (Snow Leopard & Lion). Eine Windows-Installation ist möglich, erfordert jedoch zusätzliche Einstellungen. Neben der Bedienung über die Konsole stehen Nutzern das ncurses-Frontend und die GTK2-GUI als grafische Benutzeroberfläche zur Verfügung. Aktionen wie Sniffing, ARP-Attacken und das Sammeln von Passwörtern lassen sich automatisieren. Ettercap kann abgefangene Daten manipulieren und greift auch Verbindungen an, die via SSH oder SSL gesichert sind. Das Programm wird offiziell als Sicherheitssoftware angeboten und kommt bei Produkttests zum Einsatz.
  • FaceNiff: Die Android-App FaceNiff erlaubt Nutzern, Session-Cookies in WLAN-Netzwerken mitzulesen und Sitzungen zu übernehmen. Angreifer verwenden das Tool, um Facebook-, Amazon- oder Twitter-Konten zu hacken. Dabei spielt es keine Rolle, ob das drahtlose Netzwerk frei zugänglich ist oder durch WEP, WPA-PSK oder WPA2-PSK verschlüsselt wurde. Einen zuverlässigen Schutz gegen FaceNiff bieten jedoch das Authentifizierungsprotokoll EAP (Extensible Authentication Protocol) sowie SSL. Die Android-Software basiert auf der Firefox-Erweiterung Firesheep und wird auf Smartphones in Kombination mit dem vorinstallierten Stock-Browser verwendet.
  • NetCut: Mit der Netzwerk-Management-Software NetCut verwalten Administratoren ihr Netzwerk auf Basis von ARP. Das Tool ermittelt alle im Netzwerk verbundenen Geräte und gibt deren MAC-Adresse aus. Ein simpler Klick auf eine der aufgelisteten Adressen genügt, um das betreffende Gerät vom Netzwerk zu trennen. NetCut eignet sich somit besonders für DoS-Attacken, sofern sich der Angreifer im selben Netzwerk befindet wie das Opfer. Man-in-the-Middle-Angriffe lassen sich mit der Software nicht umsetzen.

ARP-Spoofing und Verschlüsselung

Gelingt es einem Innentäter, sich unbemerkt zwischen zwei Kommunikationspartner zu schalten, hat er bei ungeschützten Verbindungen freie Hand. Da die gesamte Kommunikation einer gehackten Verbindung über das System des Angreifers läuft, kann dieser Daten beliebig mitlesen und manipulieren. Einen Schutz gegen Datenspionage versprechen Verschlüsselungstechniken und Zertifikate zur Authentifizierung. Fängt ein Angreifer lediglich codierte Daten ab, beschränkt sich der Schaden im schlimmsten Fall auf einen Denial of Service durch verworfene Datenpakete. Voraussetzung für eine zuverlässige Datenverschlüsselung ist jedoch, dass diese konsequent umgesetzt wird.

Zahlreiche Tools, die im Rahmen von Man-in-the-Middle-Angriffen zum Einsatz kommen, bieten neben ARP-Spoofing-Funktionen auch Client- und Server-Implementierung für SSL/TLS, SSH und andere Verschlüsselungsprotokolle. Diese sind somit in der Lage, entsprechende Zertifikate zu imitieren und verschlüsselte Verbindungen aufzubauen. So simuliert Cain&Abel beispielsweise einen SSL-fähigen Webserver, der dem Opfersystem ein nicht vertrauenswürdiges SSL-Zertifikat übermittelt. Zwar bekommen Netzwerkteilnehmer in diesem Fall eine Sicherheitswarnung ausgespielt, diese wird von Anwendern jedoch oft ignoriert oder falsch gedeutet. Schulungen zum Thema Netzwerksicherheit sollten daher auch den verantwortungsvollen Umgang mit digitalen Zertifikaten umfassen.

Gegenmaßnahmen

Da sich ARP-Spoofing die Funktionsweise des Address Resolution Protocol zunutze macht, sind prinzipiell alle IPv4-Netzwerke anfällig gegen Angriffe dieser Art. Auch die Einführung von IPv6 hat das Kernproblem nicht lösen können. Der neue IP-Standard verzichtet zwar auf ARP und regelt die Adressauflösung im LAN via NDP (Neighbor Discovery Protocol), das aber ebenfalls anfällig für Spoofing-Attacken ist. Schließen ließe sich die Sicherheitslücke durch das Protokoll Secure Neighbor Discovery (SEND) – dieses wird jedoch von den wenigsten Desktop-Betriebssystemen unterstützt.

Einen möglichen Schutz vor der Manipulation des ARP-Caches bieten statische ARP-Einträge, die sich unter Windows beispielsweise über das Kommandozeilenprogramm ARP und den Befehl arp -s setzen lassen. Da Einträge dieser Art jedoch manuell vorgenommen werden müssen, beschränkt sich diese Schutzmaßnahme in der Regel auf die wichtigsten Systeme im Netzwerk.

Eine weitere Maßnahme gegen den Missbrauch von ARP stellt die Unterteilung des Netzwerks durch Layer-3-Switches dar. Unkontrolliert erreichen Broadcast-Anfragen so nur die Systeme, die sich im gleichen Netzsegment befinden. ARP-Requests in andere Segmente werden vom Switch geprüft. Arbeitet dieser auf der Netzwerkschicht (Layer 3), wird neben der MAC-Adresse auch die IP-Adresse mit vorhergehenden Einträgen abgeglichen. Fallen dabei Unstimmigkeiten oder häufige Neuzuordnungen auf, schlagt der Switch Alarm. Die benötigte Hardware ist jedoch mit hohen Anschaffungskosten verbunden. Administratoren müssen abwägen, ob der Zugewinn an Sicherheit den finanziellen Aufwand rechtfertigt. Nicht geeignet sind hingegen die deutlich günstigeren Layer-2-Switches, die auf der Sicherungsschicht arbeiten. Zwar registrieren auch diese eine Veränderung der MAC-Adresse, die Zuordnung zur jeweiligen IP-Adresse bleibt jedoch unbeachtet.

Zahlreiche Software-Hersteller bieten zudem Monitoring-Programme an, mit denen sich Netzwerke überwachen und auffällige ARP-Vorgänge aufspüren lassen. Bekannte Tools sind die Open-Source-Software Arpwatch sowie ARP-Guard und XArp. Außerdem lassen sich Intrusion-Detection-Systeme wie Snort einsetzen, um die Adressauflösung via ARP zu überwachen.

  • Arpwatch: Wird das plattformübergreifende Open-Source-Tool Arpwatch in ein lokales IPv4-Netzwerk integriert, zeichnet dieses kontinuierlich alle ARP-Aktivitäten im LAN auf. Allen eingehenden ARP-Paketen entnimmt das Programm die mitgelieferten Adressinformationen und speichert diese in einer zentralen Datenbank. Finden sich dabei ältere Einträge, die mit aktuell übermittelten Daten nicht übereinstimmen, sendet das Programm eine E-Mail-Warnung an den Administrator. Dieses Verfahren ist effektiv, eignet sich jedoch nur für Netzwerke mit statischen IP-Adressen. Werden LAN-IPs dynamisch über einen DHCP-Server verteilt, führt jede Änderung der IP/MAC-Zuordnung zu einem Fehlalarm.
  • ARP-Guard: Auch ARP-Guard der Firma ISL beobachtet das interne Netzwerk und stützt sich dabei auf zwei verschiedene Sensoren. Der LAN-Sensor arbeitet ähnlich wie Arpwatch, analysiert eingehende Datenpakete und schlägt bei Unstimmigkeiten Alarm. Darüber hinaus verfügt die Sensor-Management-Architektur der Software über einen SNMP-Sensor, der über das Simple Network Management Protocol (SNMP) auf die im LAN verbundenen Endgeräte zugreift und deren ARP-Tabellen ausliest. So lassen sich nicht nur ARP-Angriffe lokalisieren und abwehren; das integrierte Adressmanagement ermöglicht zudem, unerwünschte Geräte aufzuspüren und deren Zugang zum Netzwerk zu unterbinden.
  • XArp: Die Software XArp setzt auf aktive und passive Module, um das Netzwerk vor ARP-Spoofing zu schützen. Die passiven Module analysieren ARP-Pakete, die im Netzwerk versendet werden, und gleichen die mitgelieferte Adresszuordnung mit älteren Einträgen ab. Werden dabei Unstimmigkeiten festgestellt, schlägt das Programm Alarm. Dabei stützt sich der Kontrollmechanismus auf statistische Analysen und überprüft den Netzwerk-Traffic anhand diverser Muster, die den Entwicklern zufolge ARP-Angriffe kennzeichnen. Die Empfindlichkeit dieses Traffic-Filters lässt sich stufenweise anpassen. Die aktiven Module der Software senden eigene Pakete ins Netzwerk, um die ARP-Tabellen der erreichbaren Geräte zu validieren und mit gültigen Einträgen zu befüllen.
     
  • macmon: Die Network Access Control (NAC)-Lösung macmon des Berliner Unternehmens macmon secure ist BSI-zertifiziert und arbeitet herstellerunabhängig in heterogenen Netzwerken. Sie erfordert keine Agenten oder Sensoren und auch keine Veränderungen in der Netzwerkstruktur. macmon NAC bietet eine graphische und lückenlose Übersicht aller Netzwerk- und Endgeräte durch das Auslesen von nahezu allen gängigen Netzwerkswitches. Dabei werden die ausgelesenen ARP-Informationen mit zusätzlich herangezogenen Informationen eines DHCP-Servers verglichen und so Angriffe wie ein ARP-Spoofing oder eine Abweichung der Zuordnung von IP- und MAC-Adressen zuverlässig erkannt. In der Folge lassen sich Endgeräte, die sich nicht entsprechend richtlinienkonform verhalten, isolieren oder ganz vom Netzwerk trennen.

Auch das Intrusion-Detection-System (IDS) Snort verfügt über einen integrierten Arpspoof-Präprozessor, der es ermöglicht, den Datenverkehr im Netzwerk zu überwachen und manuell Vergleichslisten anzulegen. Dies ist jedoch vergleichsweise aufwendig.

Zudem kommen IDS meist nur am Übergang zu fremden Netzwerken zur Anwendung. Ob sich der Einsatz innerhalb des LANs rechnet, muss im Einzelfall entschieden werden. Mitunter stößt eine solche Maßnahme auf Widerstand durch den Betriebsrat. Ein Administrator, der das Netzwerk via IDS überwacht, hat Zugriff auf den gesamten Netzwerkverkehr und somit auf alle Aktivitäten der Mitarbeiter eines Unternehmens – die damit mögliche Kontrollfunktion ist in der Regel nicht erwünscht.