Jak walczyć z atakami ARP w sieci LAN?
10 stycznia 2008 13:51
Kamil Folga
IP wykorzystuje protokół ARP do mapowania adresu IP na adres fizyczny MAC. Sieć Ethernet LAN pracuje przy wykorzystaniu przełączników. Przełączniki posiadają informację, w którym miejscu można odnaleźć daną stację: komputer, serwer, drukarkę, router, itp. Jeżeli przełącznik zrobi to nieprawidłowo, dane trafią w niewłaściwe miejsce, co powoduje obniżenie wydajności oraz zwiększa ryzyko zagrożeń. Jeżeli ktoś potrafi włamać się do sieci i oszukać przełączniki tak, aby przesyłały dane do złego miejsca przeznaczenia, może narobić wiele kłopotu. Czego potrzebujemy, aby zaobserwować takie zjawiska i jak je powstrzymać?
ARP Spoofing
Jeżeli komputer zamierza wymieniać informację z innymi urządzeniami IP w sieci, wysyła zapytanie ARP (Address Resolution Protocol), poszukując adres MAC odpowiadający danemu IP. W modelowej sytuacji urządzenie, które posiada dany adres IP powinno odpowiedzieć przekazując własny MAC. Następnie rozpoczyna się komunikacja pomiędzy urządzeniami.
Istnieje jednak inna możliwość. Do sieci włącza się trzeci komputer, który będzie odpowiadał na zapytania ARP fałszywym adresem MAC. Od tej pory dane będą trafiały do nowego miejsca przeznaczenia. W ataku "Man In Middle" atakujący wykonuje właśnie taką czynność, aby następnie kierować ruch do prawidłowego urządzenia. W rzeczywistości nie zauważa się takiego zjawiska, ale informacje mogą zostać przeczytane przez osoby nieuprawnione.
Najlepszą drogą do zatrzymanie tego zjawiska jest niedopuszczanie nieautoryzowanych urządzeń do sieci. Atak tego typu jest jednak często wywoływany przez autoryzowanego użytkownika, więc potrzebujemy bardziej skomplikowanej metody do zatrzymania ataku.
Dobrym zabezpieczeniem będą statyczne wpisy ARP dla hostów w sieci. Zbudowanie takiej konfiguracji zajmie sporo czasu. Konfiguracja nie odświeży się automatycznie, jeżeli posiadamy dynamiczną sieć dowolnego rozmiaru. Urządzenia posiadające adresy IP, które nie zmieniają się zbyt często (serwery, routery), mogą zostać uzupełnione o taki dodatkowy poziom zabezpieczenia. W przypadku dynamicznie przyłączających się hostów nie jest to już idealna metoda. Oczywiście należy pamiętać o zmianie statycznych wpisów, podczas zmian kart sieciowych w serwerach, itp.
Narzędziem, które pozwoli monitorować mapowanie par IP na MAC oraz zapamiętujące ich zmian jest ARPWATCH (dostępny za darmo na wielu stronach internetowych). Oprogramowanie wymaga instalacji na serwerze "widzącym" cały ruch sieciowy. Konieczne będzie więc uruchomienie przełącznika do monitorowania ruchu (port mirroring) na danym porcie.
Niektóre zaawansowane przełączniki oferują funkcjonalność inspekcji ARP. Polega to na przechwytywaniu wszystkich zapytań i odpowiedzi ARP, a następnie sprawdzeniu ich poprawności, bazując na informacjach o prawdziwym mapowaniu IP/MAC (pobieranym z serwera DHCP lub statycznej konfiguracji). Warto sprawdzić czy posiadany sprzęt wspiera dany typ mechanizmu.
Arp flooding
Inną przestrzenią ataków jest manipulacja pamięcią podręczną ARP przełącznika (arp cache). Przełączniki posiadają całkiem dużo dedykowanej pamięci do zapamiętywania mapowania portów na MAC adresy. Pozwala to kierować ruch bezpośrednio do portu przeznaczenia. Jeżeli przełącznik nie posiada informacji o porcie, do którego należy posłać ramkę, wysyła ramkę na wszystkie porty. W ten sposób upewnia się, że wiadomość dotrze do miejsca przeznaczenia. Atak "arp flooding" wypełnia pamięć przełącznika błędnymi adresami MAC, aby nie pozostawić miejsca na właściwe adresy. Powoduje to zalew całej sieci ruchem wysyłanym na każdy port przełącznika. Cały ruch jest teraz widoczny w każdym miejscu sieci. Atak może w łatwy sposób zostać wykryty przez sieciowy sniffer.
Jak ochronić sieć...
Najprostszą drogą do zapobiegania atakom ARP (pamiętając, że mogą one pochodzić zarówno z zewnątrz oraz wewnątrz sieci) jest utworzenie zabezpieczeń na portach przełącznika. Należy pamiętać o włączeniu funkcji bezpieczeństwa portów (port security) w przełącznikach. Opcja pozwoli przyłączyć się do portu przełącznika tylko określonemu adresowi MAC lub uwierzytelnionemu użytkownikowi (802.1x). Funkcjonalność zwiększa ogólne bezpieczeństwo, ale nie zapobiega podszywaniu się pod adres MAC. Producenci przełączników oferują różne metody bezpieczeństwa. Określenie adresu MAC na danym porcie może być zbyt restrykcyjne. Mimo wszystko jest to dobra metoda na zabezpieczenie rutera/serwera.
Co zrobić z dynamicznie przyłączającymi się hostami? Warto pomyśleć o następującej ochronie - jeżeli przełącznik zobaczy zbyt wiele adresów MAC powiązanych z pojedynczym portem, powinien podjąć określoną akcję (najlepiej wyłączającą port). Zatrzymuje to jednocześnie możliwość podłączania koncentratorów w celu nielegalnego uzyskania dodatkowych połączeń sieciowych. W nadzorowaniu tych zjawisk pomocny może okazać się także ARPWATCH zintegrowany z systemem wykrywania intruzów.
Trudno sobie wyobrazić sieć bez pomocy ARP, ale należy pamiętać, że protokół ten był rozwijany w czasach, gdy bezpieczeństwo nie stanowiło znacznego problemu. Protokół ARP nie zagwarantuje bezpiecznej pracy sieci, więc warto zatroszczyć się o dodatkowe elementy ochrony.
***
Artykuł powstał na podstawie informacji zamieszczonych w TechWorld (UK).