alunablue - stock.adobe.com
Grundlagen zum ARP-Protokoll: Von der MAC- zur IP-Adresse
Unsere Computer kommunizieren über TCP/IP – doch das ist nur die halbe Wahrheit. Auf den letzten Zentimetern spielen MAC/ARP die Hauptrolle.
Das Zusammenspiel zwischen DNS-, beziehungsweise Host-Namen, und der IP-Adresse eines Computersystems ist gemeinhin bekannt. Hinter den Kulissen, für den Anwender in der Regel vollkommen transparent, gibt es eine weitere Übersetzungsebene, und zwar für die Zuordnung der IP-Adresse und der Netzwerkkarte selbst. Hierfür kommt das ARP (Adress Resolution Protocol) zum Einsatz.
Die Funktionsweise von ARP ist anhand eines kleinen Beispiels recht schnell erklärt. Stellen Sie sich eine äußerst überschaubare Netzwerkkonstellation vor, bestehend aus einem DSL-Router mit integriertem Switch. Der Router fungiert als Standard-Gateway für das lokale Netzwerk unter 192.168.1.254/24 und verbindet zwei angeschlossene PCs mit dem Internet. Die Computer haben die IP-Adressen 192.168.1.1/24 und 192.168.1.2/24. Auf dem ersten PC starten Sie nun Wireshark als Sniffing-Software (mit dem Capture-Filter host 192.168.1.1 or host 192.168.1.2) und geben anschließend in der Eingabeaufforderung den Befehl
Der protokollierte Mitschnitt enthält in der Regel 12 Einträge, wobei die erste Zeile einen Eintrag führt wie who has 192.168.1.2? Tell 192.168.1.1. Unter Protocol ist der Eintrag ARP zu finden, als Source gibt die Software die MAC-Adresse der ersten PCs aus, während als Destination Broadcast zu lesen ist.
Faktisch fragt ein System mit der Adresse 192.168.1.1 alle erreichbaren Systeme in seiner Umgebung ab, wer denn die 192.168.1.2 sei. Die Antwort folgt direkt im Anschluss, das betreffende System antwortet mit seiner MAC-Adresse und signalisiert somit, wo die gewünschte IP-Adresse zu finden ist.
Die logische Übersetzung des Vorgangs bedeutet aber auch, dass Computersysteme innerhalb ihres Netzsegments in Wirklichkeit nicht etwa über die IP-Adresse miteinander kommunizieren, sondern über die MAC-Adresse. ARP, als Vermittler zwischen den OSI-Schichten 2 und 3 löst IP-Adressen in MAC-Adressen auf.
Ist die Zuordnung bekannt, speichern Computersysteme diese eine gewisse Zeit, üblicherweise 15 Minuten, in einem Zwischenspeicher, dem sogenannten ARP-Cache. Mit jeder erneuten Kommunikation wird der Zeitwert verlängert. Dieser Cache ist somit auch dafür verantwortlich, dass bei einem Austausch der IP-Adressen es etwas länger dauern kann, bis die Kommunikation wieder störungsfrei arbeitet.
Innerhalb des Subnetzes funktioniert die Erkennung über aktives Nachfragen in der Nachbarschaft und deren jeweiliger Antwort. Doch was geschieht, sobald das Ziel nicht mehr im eigenen Segment zu finden ist? ARP-Broadcasts gelangen selbst nicht über das Gateway hinaus. Eine Anfrage in der Art ping www.computerweekly.de wird innerhalb des lokalen Adressraums in der Regel zu keinem Ergebnis führen, somit geht die Frage stellvertretend an das Standard-Gateway über Layer 3. Ein Echo-Request-Mitschnitt mit Wireshark würde ergeben, dass die aufgelöste IP-Adresse der Webseite in diesem Fall die MAC-Adresse des Routers führt.
Was ist die MAC-Adresse?
Jetzt wurde sooft die MAC-Adresse genannt, dass wir auch diese einmal näher erläutern sollten. Diese Adresse (Media Access Control) wird auch als BIA (Burned-In Adress), Hardware Adresse, physische Adresse oder Ethernet-ID bezeichnet. MAC-Adressen sind, per Definition, eindeutig. Jedem Hersteller von Netzwerksystemen wird auf kostenpflichtige Anfrage ein kompletter Bereich zugewiesen (Abfragen sind über https://macvendors.com möglich).
Durch den Einsatz immer mehr virtueller Systeme besteht jedoch die mögliche Gefahr einer doppelten MAC-Adresse im Netzwerk. Hat sich ein Administrator für eine manuell vergebene MAC-Adresse entschieden, achtet beispielsweise VMware darauf, dass diese bei einer Migration der VM zwischen vCenter-Server-Systemen erhalten bleibt. Bei den dynamischen MAC-Adressen achten Hypervisor-Verwaltungsprogramme mit Blacklists darauf, dass die Eindeutigkeit stets gegeben ist und keine Adresse versehentlich doppelt zum Einsatz kommt.
Interessanterweise konnten sich die Hersteller von Hard- und Software nicht einmal auf eine eindeutige Schreibweise der MAC-Adressen einigen. Das Redmonder Software-Haus Microsoft nutzt Trennstriche im Stil von 38-f9-d3-17-7a-f6, während in der Linux- und MacOS-Welt eher der Doppelpunkt zum Einsatz kommt: 38:f9:d3:17:7a:f6. Cisco wiederum kommt auf einer gänzlich andere Notation: 38f9.d317.7af6 und einige wenige Anbieter verzichten gänzlich auf Trennzeichen und geben die Adresse in einem Rutsch aus: 38f9d3177af6.
Da es bei Problemen mit ARP beziehungsweise der MAC-Adresse überhaupt keine Fehlermeldung für das virtualisierte Betriebssystem gibt, ist eine Fehlersuche entsprechend mit hohem Aufwand verbunden. Ab IPv6 funktioniert die Auflösung von MAC-Adressen nicht mehr über das ARP-Protokoll, sondern über das Neighbor Discovery Protocol (NDP).
MAC-spezifische Sicherheitsrisiken
Wie beinahe alle Strukturen in der IT, lässt sich auch ARP missbräuchlich von Hackern verwenden. Angesichts des Alters von ARP ist das auch kaum verwunderlich. Die Definition im RFC 926 geht auf den November 1982 zurück. Da ARP bestimmt, welche MAC-Adresse, sprich welcher Netzwerkadapter, welcher IP-Adresse zugeordnet ist, kann der Netzwerkverkehr möglicherweise künstlich umgelenkt werden. Eben ein solches Szenario verbirgt sich hinter ARP-Spoofing oder ARP-Poisoning.
Beim ARP-Spoofing versuchen Hacker dem Zielrechner zuvorzukommen, ein Reply-Paket mit falschen Informationen zu versenden und somit die ARP-Tabelle des anfragenden Rechners aus der Distanz heraus zu manipulieren. Der Ziel-Computer verknüpft die Ausgangs-IP somit mit der falschen Hardwareadresse und sendet in Zukunft alle Datenpakete unbemerkt an das vom Hacker vorgesehene System.
Bleiben die eigentlichen Antworten des echten Zielrechners aus, würde die Anomalie relativ rasch auffliegen. Häufig ist es aber das Ziel eines Hackers, den Datenverkehr über eine längere Zeit mitzuprotokollieren, um weitere Angriffswege vorzubereiten. Aus diesem Grund wird der abgehörte Datenverkehr typischerweise an das eigentliche Ziel weitergeleitet.
Diese Szenarien werden treffenderweise als Man-in-the-middle-Attacken bezeichnet. Um einen solchen Angriff durchzuführen, muss der IT-Kriminelle nicht einmal selbst etwas programmieren, denn mit Cain&Abel steht eine direkt herunterladbare Software zur Verfügung, die gezielt auf Broadcast-Anfragen lauert und diese mit gefälschten ARP-Replys beantwortet.
Gegenmaßnahmen sind unkomfortabel
Unglücklicherweise ist die Reduzierung des Risikos gegenüber ARP-basierten Attacken eher schwierig. ARP ist ein fester Bestandteil der IPv4-Kommunikation und auch die Verwendung des bereits gesetzten IPv6-Nachfolgers löst das grundlegende Problem nicht. Der ARP-Nachfolger NDP für IPv6 ist in identischer Art und Weise anfällig für Spoofings. Die Verwendung von Secure Neighbor Discovery (SEND) wäre eine Lösung, doch ist dessen Verbreitung bei den klassischen Betriebssystemen noch nicht weit fortgeschritten.
Theoretisch könnten IT-Profis im ARP-Cache der Desktop- und Servercomputer feste Einträge vornehmen, um die ARP-Anfragen für die wichtigsten Systeme im Netzwerk zu unterbinden. Diese Maßnahme ließe sich jedoch nur mithilfe geeigneter Tools halbwegs komfortabel realisieren und erfordert eine disziplinierte IT-Abteilung.
Eine andere Variante wäre eine feinere Unterteilung des Netzwerks mit Layer-3-Switches. Das würde den Broadcast-Raum für ARP-Anfragen deutlich verkleinern. ARP-Requests in anderen Segmente prüft der Netzwerk-Switch. Arbeitet dieser auf der Netzwerkschicht, wird neben der MAC-Adresse auch die IP-Adresse mit vorhergehenden Einträgen abgeglichen. Tauchen Unstimmigkeiten auf oder häufen sich Neuzuordnungen, könnte der Switch über die Integration in SIEM einen Alarm aufgeben. Eine solche Schutzfunktion dürfte in vielen Umgebungen schlicht zu teuer sein.