ARP spoofing – atak sieciowy w sieci Ethernet pozwalający atakującemu przechwytywać dane przesyłane w obrębie segmentu sieci lokalnej. Przeprowadzony tą metodą atak polega na rozsyłaniu w sieci LAN odpowiednio spreparowanych pakietów ARP zawierających adres MAC atakującego. W efekcie pakiety danych wysyłane przez inne komputery w sieci zamiast do adresata trafiają do osoby atakującej, pozwalając jej na podsłuchiwanie komunikacji[1].

Inny wariant tego ataku polega na przeprowadzeniu techniki ARP spoofingu wobec

  • bramy domyślnej w sieci celem przejęcia ruchu wysyłanego do atakowanego komputera
  • atakowanego komputera celem przejęcia ruchu wysyłanego do bramy domyślnej umożliwiający przejęcie zarówno pakietów wysyłanych, jak i odbieranych przez atakowany komputer, możliwa jest wtedy modyfikacja transmisji (atak typu man in the middle).

Zabezpieczenie przed tym atakiem można osiągnąć stosując statyczne mapowania rekordów ARP. Istnieją też narzędzia śledzące tablice ARP w sieci lokalnej i raportujące podejrzane sytuacje.

Technika ARP spoofing ma zastosowanie w sieciach Ethernet wykorzystujących przełączniki. Kiedy sieci lokalne oparte były na hubach, wystarczyło przestawić kartę sieciową w tryb odbioru wszystkich pakietów (tryb mieszany), aby podsłuchać całą komunikację. Potrafiły to programy nazywane snifferami. Podsłuch był możliwy dzięki temu, że hub wysyłał wszystkie pakiety do każdego urządzenia sieciowego niezależnie od jego adresu MAC. Kiedy pojawiły się inteligentne switche, możliwość ta została zablokowana. Taki switch wysyła pakiet Ethernetowy tylko do właściwej karty sieciowej, a nie do wszystkich, jeśli zna adres MAC docelowego hosta. Aby podsłuchiwać sieć opartą na tej technologii, można wykorzystać dynamiczne tablice ARP (ang. ARP cache).

Gdy użytkownik chce przesłać dane do komputera o adresie IP 192.168.1.34, to:

  1. Karta sieciowa w komputerze źródłowym wysyła zapytanie ARP: kto ma adres IP 192.168.1.34?
  2. Karta sieciowa w komputerze docelowym o adresie MAC 00:07:95:03:1A:7E wysyła odpowiedź: Hej to ja!
  3. W komputerze nadawcy zostaje do dynamicznej tablicy ARP dodany wpis: IP 192.168.1.34 -> MAC 00:07:95:03:1A:7E.
  4. Wszystkie pakiety z docelowym adresem IP 192.168.1.34 są przez warstwę łącza danych tłumaczone na pakiety z docelowym adresem MAC 00:07:95:03:1A:7E.

W każdym komputerze powstaje w ten sposób dynamiczna tablica ARP, w której przechowywane są pary adresów MAC oraz IP. Jej obraz można otrzymać poleceniem arp -a.

Jednakże na jednym z urządzeń cracker może uruchomić program, który oszukuje karty sieciowe. Sniffer tego typu działa w następujący sposób:

  1. Karta sieciowa w komputerze źródłowym wysyła zapytanie ARP: Kto ma adres IP 192.168.1.34?
  2. Karta sieciowa w komputerze crackera o adresie MAC 00:C0:DF:01:AE:43 wysyła odpowiedź: Hej to ja!
  3. W komputerze nadawcy do dynamicznej tablicy ARP trafia wpis: IP 192.168.1.34 -> MAC 00:C0:DF:01:AE:43.
  4. Wszystkie pakiety z docelowym adresem IP 192.168.1.34 są przez warstwę łącza danych tłumaczone na pakiety z docelowym adresem MAC 00:C0:DF:01:AE:43 i trafiają do komputera crackera.
  5. Cracker dodaje odpowiedni wpis do swojej tablicy ARP wiążący prawdziwy adres IP komputera docelowego 192.168.1.34 z jego fizycznym adresem MAC 00:07:95:03:1A:7E
  6. Haker uruchamia na swoim komputerze usługę IP Forwarding, pozwalającą przekierowywać komunikaty sieciowe protokołu IP.
  7. Wszystkie pakiety z docelowym adresem IP 192.168.1.34 cracker wysyła do ich prawdziwego odbiorcy z adresem MAC 00:07:95:03:1A:7E.

W sytuacji, gdy atakowana maszyna posiada już poprawny adres warstwy łącza danych dla celu, atakujący może podmienić go, wysyłając odpowiednio spreparowaną „odpowiedź”, mimo iż atakowana maszyna nie wysłała zapytania. Spreparowana odpowiedź zostanie zaakceptowana, a wpis w tablicy ARP atakowanej maszyny – zmieniony.

Powyższa technika sniffingu określana jest jako zatruwanie tablicy ARP przez człowieka w środku (ang. the ARP poisoning man in the middle attack). Dzięki jej wykorzystaniu można podsłuchiwać ruch w sieciach ze switchami. Nieszyfrowana komunikacja bez podpisów cyfrowych w sieci Ethernet zawsze narażona jest na atak i nigdy nie powinno się wykorzystywać jej do przesyłania tajnych informacji.

W systemach rodziny GNU/Linux oraz Windows przed podobnymi atakami uchronić może ładowanie adresów ze statycznej listy, jednak wówczas konieczna jest zmiana wspomnianej listy przy każdej zmianie adresów warstwy łącza danych. W Uniksowych można także wykorzystać arptables do większej kontroli nad ruchem wchodzącym i wychodzącym generowanym przez protokół ARP.

Technika ARP spoofingu może być również użyta do blokowania komunikacji przy ataku DoS.

Przypisy edytuj

  1. What is ARP Spoofing Attack? [online], GeeksforGeeks, 22 sierpnia 2022 [dostęp 2023-07-09] (ang.).

Zobacz też edytuj