Adressauflösungsprotokoll

Die Address Resolution Protocol (ARP Address Resolution Protocol) ist ein Protokoll verwendet , um eine Protokoll - Adresse zu übersetzen , Netzwerkschicht (typischerweise eine IPv4 - Adresse ) in eine Protokolladresse Bindeschicht (typischerweise eine MAC - Adresse ). Es befindet sich an der Schnittstelle zwischen der Netzwerkschicht ( Schicht 3 des OSI-Modells ) und der Verbindungsschicht ( Schicht 2 des OSI-Modells ).

Es wurde in RFC  826 definiert : Ein Ethernet Address Resolution Protocol .

Das ARP-Protokoll ist für den Betrieb von IPv4 über ein Ethernet- Netzwerk erforderlich . In IPv6 werden die Funktionen von ARP vom Neighbor Discovery Protocol (NDP) übernommen.

Im Rest des Artikels bezieht sich der Begriff IP-Adresse auf eine IPv4-Adresse.

Operation

Ein Computer, der mit einem Computernetzwerk verbunden ist, möchte einen Ethernet- Frame an einen anderen Computer senden, dessen IP-Adresse er kennt und der sich im selben Subnetz befindet . In diesem Fall hält dieser Computer seine Übertragung in der Warteschleife und führt eine Broadcast- ARP-Anforderung der Ebene 2 aus. Diese Anforderung ist vom Typ "Welche MAC-Adresse entspricht der IP-Adresse IP- Adresse  ?" Antworte auf myIPAddress  ”.

Da es sich um eine Sendung handelt , erhalten alle Computer im Segment die Anforderung. Durch Beobachtung des Inhalts können sie feststellen, nach welcher IP-Adresse gesucht wird. Der Computer mit dieser IP-Adresse ist der einzige, der antwortet, indem er dem sendenden Gerät eine ARP-Antwort wie "Ich IP- Adresse, meine MAC-Adresse ist MAC-Adresse  " sendet . Um diese Antwort an den richtigen Computer zu senden , erstellt er einen Eintrag in seinem ARP-Cache aus den Daten, die in der gerade empfangenen ARP-Anforderung enthalten sind.

Der Computer am Ursprung der ARP-Anforderung empfängt die Antwort, aktualisiert seinen ARP-Cache und kann daher die Nachricht, die er angehalten hat, an den betreffenden Computer senden .

Sie benötigen also nur eine Übertragung und einen Unicast , um einen Eintrag im ARP-Cache von zwei Computern zu erstellen .

ARP-Befehl

Der Befehl arpermöglicht die Abfrage und manchmal die Änderung der ARP-Tabelle in bestimmten Betriebssystemen. Nützlich zur Erkennung von ARP-Vergiftungen .

Das ARP-Protokoll wurde ohne besondere Sicherheitsbedenken entwickelt. Es ist anfällig für lokale Angriffe auf das Segment, die hauptsächlich auf dem Senden gefälschter ARP-Nachrichten an einen oder mehrere Computer beruhen . Sie werden unter dem Namen ARP-Vergiftung ( ARP-Cache- Verschmutzung ) zusammengefasst. Die Anfälligkeit eines Computers für ARP-Cache-Verschmutzung hängt von der Implementierung des ARP-Protokolls durch sein Betriebssystem ab .

Stellen Sie sich eine Charlie-Maschine vor, die Nachrichten von Alice an Bob abfangen möchte, die alle zum selben Subnetz gehören. Der Angriff besteht darin, dass Charlie ein " Paket "  arp who-has an Alices Maschine sendet . Dieses Paket enthält eine speziell als Quell-IP erstellte IP-Adresse des Computers von Bob, den wir imitieren möchten ( ARP-Spoofing ), und die MAC-Adresse der Netzwerkkarte Charlie. Alices Maschine erstellt daher einen Eintrag, der unsere MAC-Adresse mit der IP-Adresse von Bobs Maschine verknüpft. Alice, Empfängerin des "  arp who-has ", verwendet das Paket, um einen Eintrag in ihrer MAC-Tabelle zu erstellen. Wenn Alice auf IP-Ebene mit Bob kommunizieren möchte, erhält Charlie Alices Frames, da unsere MAC-Adresse in Alices vergiftetem Cache als Äquivalent zu Bobs Stations-IP gespeichert ist. Dies ist eine bekannte Schwachstelle der ARP-Implementierung und ermöglicht eine einfache Beschädigung eines Remote-ARP-Cache.

Diese Angriffe können das Abhören der Kommunikation zwischen zwei Computern ( Man-in-the-Middle-Angriff ), Verbindungsdiebstahl, Überlastung der Switches, die als Struktur des Computernetzwerks dienen, oder Denial-of-Service ermöglichen (führen Sie einfach einen Angriff dieses Typs durch MITM (Man In The Middle) lehnt dann die Pakete ab.

Um gegen diese Art von Angriff zu kämpfen, ist es möglich:

Jeder Eintrag in der ARP-Tabelle hat eine Lebensdauer, wodurch der Angreifer gezwungen wird, den Cache des Opfers regelmäßig zu beschädigen. Bei einigen Betriebssystemen wie Solaris kann der Wert dieses Zeitlimits (Befehls ndd) geändert werden . Ein kurzer Wert macht Korruption leichter sichtbar.

ARP-Header

Allgemeiner Fall
+ Bits 0 - 7 8 - 15 16 - 31
0 Hardwaretyp Protokolltyp
32 Hardware-Adresslänge Protokolladressenlänge Operation
64 Hardware-Adresse des Absenders
? Absenderprotokolladresse
? Zielhardwareadresse
? Zielprotokolladresse

mit:

Hardware-Typ ( Art des Materials ) Protokolltyp ( Protokolltyp )

Dieses Feld gibt an, welcher Layer 3- Protokolltyp (OSI) ARP verwendet.

Hardware-Adresslänge ( Länge der physischen Adresse )

Dieses Feld entspricht der Länge der physikalischen Adresse. Die Länge sollte in Bytes angegeben werden.

Protokolladressenlänge ( Länge der logischen Adresse )

Dieses Feld entspricht der Länge der Netzwerkadresse. Die Länge sollte in Bytes angegeben werden.

Operation

In diesem Feld können Sie die Funktion der Nachricht und damit ihr Ziel kennen.

Hardware- Adresse des Absenders ( physikalische Adresse des Absenders )

Quell-MAC-Adresse als Teil von Ethernet.

Protokoll Absenderadresse ( Netzwerkadresse des Senders )

Quell-IP-Adresse als Teil von TCP / IP.

Zielhardwareadresse ( physische Adresse des Empfängers )

Ziel-MAC-Adresse als Teil von Ethernet. Wenn es sich um eine ARP-Anforderung handelt, wird das Feld auf 0 gesetzt, da diese Adresse nicht bekannt ist.

Zielprotokolladresse ( Zielnetzwerkadresse )

Ziel-IP-Adresse als Teil von TCP / IP

Beispiel ARP-Header: IPv4 über Ethernet (28 Byte)
Byte 1 Byte 2 Byte 3 Byte 4
0x0001 0x0800
0x06 0x04 Operation
Quell-MAC-Adresse ( Bytes 1-4 )
Quell-MAC-Adresse ( Bytes 5-6 ) Quell-IP-Adresse ( Bytes 1-2 )
Quell-IP-Adresse ( Bytes 3-4 ) Ziel-MAC-Adresse ( Bytes 1-2 )
Ziel-MAC-Adresse ( Bytes 3-6 )
Ziel-IP-Adresse ( Bytes 1-4 )

Kostenlose ARP-Abfragen

Kostenlose ARP-Anforderungen ( kostenlose ARP ) werden gesendet, wenn einige Betriebssysteme gestartet werden. Beispielsweise senden einige Modemrouter diese Art von Anforderung beim Start. Sie ermöglichen es diesem Gerät, das neu im Netzwerk ist, zu überprüfen, ob seine IP-Adresse noch nicht vorhanden ist, wodurch Konflikte durch doppelte IP-Adressen vermieden werden. Die Schnittstelle, die die Anforderung gesendet hat, erwartet keine Antwort. Die Aktualisierung des Pufferspeichers der mit dem Netzwerk verbundenen Systeme ist dann sichergestellt. Die Switches werden über das Vorhandensein der MAC-Adresse der betreffenden Maschine informiert. Alle diese Aktionen gewährleisten eine höhere spätere Verbindungsgeschwindigkeit zum Netzwerk. Eine Vielzahl von Übertragungen dieser Art von Abfragen kann ein Hinweis auf ein fehlerhaftes Kabel sein, das zu häufigen erneuten Verbindungen führt.

Anmerkungen und Referenzen

  1. (in) Antrag auf Kommentare n o  826 .
  2. Tool der Netzwerkforschungsgruppe (NRG), der Abteilung für Informations- und Informatikwissenschaften (ICSD), der Netzwerkforschungsgruppe des LBNL des Lawrence Berkeley National Laboratory (LBNL) .
  3. Arpalaert .
  4. Hardwaretypen auf der IANA-Site .
  5. Beachten Sie, dass RFC 3927 vom regelmäßigen Senden kostenloser ARP-Anforderungen abrät.
  6. ARP-frei laut WireShark

Siehe auch

Zum Thema passende Artikel

Externe Links

  1. (in) Antrag auf Kommentare n o  826 .
  2. (in) Antrag auf Kommentare n o  2390 .
  3. (in) Antrag auf Kommentare n o  5494 .