Spoofing: sztuka ataku i obrony

Ataki polegające na fałszowaniu to niewątpliwie jedno z najpoważniejszych zagrożeń sieciowych. Spoofing oznacza fałszowanie podstawowych usług oraz protokołów sieciowych tak, aby ofiara ataku nie rozpoznała atakującego. Pozwala to uzyskać nieuprawniony dostęp do zasobów sieci, zdobycie numerów kart kredytowych, haseł, informacji osobowych itp. Spoofing może przybierać różne formy.

Ataki polegające na fałszowaniu to niewątpliwie jedno z najpoważniejszych zagrożeń sieciowych. Spoofing oznacza fałszowanie podstawowych usług oraz protokołów sieciowych tak, aby ofiara ataku nie rozpoznała atakującego. Pozwala to uzyskać nieuprawniony dostęp do zasobów sieci, zdobycie numerów kart kredytowych, haseł, informacji osobowych itp. Spoofing może przybierać różne formy.

Fałszowanie wykorzystuje nić zaufania utworzoną pomiędzy systemem atakowanym a systemem atakującym. Wiele ataków z fałszowaniem jest trudnych technicznie do wykonania, ale są też ataki powszechnie znane, które można przeprowadzić przy użyciu ogólnie dostępnych skryptów lub po zapoznaniu się z materiałami dostępnymi w Internecie. Niestety, wiele nadużyć wynika z błędów użytkownika.

Przyjrzyjmy się kilku popularnym metodom spoofingu, m.in. IP, ARP, DNS, web i e-mail. Jak się przed nimi bronić?

Fałszowanie protokołu ARP

Spoofing: sztuka ataku i obrony

ARP spoofing

Każdy komputer w sieci dysponuje tablicą ARP. Zawarte są w niej adresy MAC i powiązane z nimi adresy IP komputerów oraz urządzeń w danej sieci. Jeżeli dowolny komputer chce się skomunikować w sieci z innym, wysyła zapytanie ARP do wszystkich hostów o dany adres IP. Odpowie mu tylko jeden host, przekazując adres IP oraz adres fizyczny MAC. Host pytający zapisuje tak utworzoną parę IP-MAC w tablicy ARP. Komputer szukając ponownie jakiegoś hosta w sieci, przeszukuje początkowo lokalną tablicę ARP. Jeżeli nie znajdzie odpowiedniego wpisu, rozsyła pakiet ARP broadcast do wszystkich komputerów w sieci. Uzyskując odpowiedź ARP reply od właściwego hosta, dopisuje ją znowu do tablicy ARP.

Jak przeprowadzić atak fałszowania przy wykorzystaniu protokołu ARP? ARP spoofing stosuje konstrukcję fałszowanego pakietu ARP request oraz ARP reply. Po wysłaniu sfałszowanego pakietu ARP reply docelowy host będzie przesyłał pakiety do hosta atakującego, zamiast do właściwego. Taki atak to "zatruwanie" tablicy ARP (ARP poisoning). Istnieją programy automatycznie wykonujące proces zatruwania (np. ARPoison).

Spoofing: sztuka ataku i obrony

Atak man-in-the middle

Drugą metodą fałszowania ARP jest wykorzystanie oprogramowania typu sniffer do badania ruchu, w celu zdobycia tablicy ARP sieci lokalnej. Zmiana adresu MAC karty sieciowej jest możliwa praktycznie w przypadku każdego systemu. Fałszując dane MAC, możemy "udawać" dowolny komputer w sieci lokalnej, uzyskując dostęp do informacji nieprzeznaczonych dla danego użytkownika. W ten sposób można ominąć ograniczenia związane z regułami zapory ogniowej, przydziałem dynamicznych adresów, czy dostępem do określonego VLAN.

Zabezpieczeniem chroniącym przed takim atakiem może być wprowadzenie statycznej tablicy ARP na przełączniku. Do monitorowania zmian ARP w lokalnej sieci można użyć oprogramownia ArpWatch, dostępnego w wersji dla systemu Unix.

IP spoofing

Spoofing w warstwie sieciowej polega na podmianie źródłowego adresu IP. Atakujący wysyła pakiety do ofiary z fałszowanym źródłowym adresem IP, wskazującym na zaufaną maszynę. Aby atak zakończył się powodzeniem, należy użyć znanych technik poszukiwania zaufanego adresu IP, który zostanie sfałszowany. Następnym krokiem jest modyfikacja nagłówka pakietu tak, aby wyglądał na pakiet przychodzący z zaufanej maszyny. Wynikiem fałszowania IP są znaczne utrudnienia w komunikacji sieciowej oraz komplikacje w wykryciu źródła ataków.

IP spoofing jest bardzo często używany w celu zdobycia nieautoryzowanego dostępu do zasobów oraz blokady usługi (DoS). Atakujący przekazuje pakiety do ofiary z adresem źródłowym, z którego analizy wynika, że pochodzą one z zaufanego systemu. W drodze do celu napastnik musi przejść kilka skomplikowanych kroków:

  • określenie celu ataku oraz adresu IP zaufanej maszyny;

  • wyłączenie komunikacji zaufanej maszyny;

  • próba komunikacji pomiędzy maszyną atakowaną a atakującym;

  • analiza numerów sekwencyjnych pakietów zaufanej maszyny;

  • modyfikacja nagłówka pakietów tak, aby wyglądały, że pochodzą z zaufanej sieci.
Spoofing: sztuka ataku i obrony

DNS spoofing

Istnieje kilka typów ataków wykorzystujących IP spoofing: non-blind spoofing, blind spoofing, man-in-the-middle, Denial of Service. Atak może zostać przeprowadzony z wykorzystaniem adresu IP z puli publicznej używanej w Internecie lub puli niealokowanej czy prywatnej. W jaki sposób wykrywać tego typu nadużycia? Można monitorować pakiety, używając specjalnego oprogramowania. Pakiet na zewnętrznym interfejsie, który w nagłówku zawiera źródłowy i docelowy adres IP należący do sieci lokalnej, jest pakietem sfałszowanym.

W obecnym stanie technologii protokołu IP nie jest możliwe wyeliminowanie fałszowania pakietów IP. Można jednak podjąć kroki w celu zredukowania tego zjawiska. Obecnie podstawową metodą jest instalacja zapory ogniowej na brzegu sieci. Zapora na zewnętrznym interfejsie odrzuci pakiety zawierające adres źródłowy z wewnętrznej sieci. Tak samo powinniśmy filtrować wychodzące pakiety, wychwytując te, których adres źródłowy nie należy do zakresu adresów IP sieci wewnętrznej.

Atak fałszowania serwera nazw

Można wyróżnić trzy główne ataki związane z fałszowaniem DNS. Warto przedstawić skrótowo ich założenia:

1. Atakujący włamuje się do serwera DNS, podmieniając odwzorowanie nazw URL na adresy IP. Zapytanie o dany URL zostaje odesłane do maszyny, która będzie kontrolowana przez atakującego.

2. Atakujący może fałszować odpowiedź z serwera DNS przez kontrolę połączenia pomiędzy klientem a serwerem nazw. Umożliwia to bezpołączeniowy charakter protokołu UDP. Numery sekwencyjne są zwiększane o jeden, co pozwala łatwo przewidzieć ich kolejność. Jeżeli atakujący potrafi odczytać wymianę pakietów z serwerem DNS, może przewidzieć numerowanie sekwencji.

3. DNS cache może zostać "zatruty" poprzez podesłanie fałszywej strefy z dużą wartością pola TTL. Atak jest wykonywalny przy założeniu, że zdalny serwer nazw jest kontrolowany przez atakującego.


TOP 200