LOCAL DETOUR. Jedną z najbardziej groźnych form ataku jest fałszowanie ruchu ARP. Fałszowanie pakietów



Podobne dokumenty
Problemy z bezpieczeństwem w sieci lokalnej

ARP Address Resolution Protocol (RFC 826)

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Zdalne logowanie do serwerów

Metody zabezpieczania transmisji w sieci Ethernet

Problemy z bezpieczeństwem w sieci lokalnej

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Przesyłania danych przez protokół TCP/IP

BEZPIECZEŃSTWO W SIECIACH

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Sieci komputerowe - administracja

Protokoły sieciowe - TCP/IP

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

dostępu do okręslonej usługi odbywa się na podstawie tego adresu dostaniemu inie uprawniony dostep

Zadania z sieci Rozwiązanie

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

4. Podstawowa konfiguracja

Windows W celu dostępu do i konfiguracji firewall idź do Panelu sterowania -> System i zabezpieczenia -> Zapora systemu Windows.

Zagrożenia warstwy drugiej modelu OSI - metody zabezpieczania i przeciwdziałania Autor: Miłosz Tomaszewski Opiekun: Dr inż. Łukasz Sturgulewski

Laboratorium nr 4 Ataki aktywne

PBS. Wykład Zabezpieczenie przełączników i dostępu do sieci LAN

SIECI KOMPUTEROWE Adresowanie IP

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

System Kancelaris. Zdalny dostęp do danych

Spoofing. Wprowadzenie teoretyczne

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Ćwiczenie 5b Sieć komputerowa z wykorzystaniem rutera.

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Konfiguracja programu MS Outlook 2007 dla poczty w hostingu Sprint Data Center

AM_Student. Instrukcja konfiguracji połączenia do studenckiej sieci bezprzewodowej Akademii Morskiej w Szczecinie

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

ZiMSK. VLAN, trunk, intervlan-routing 1

Routing i protokoły routingu

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

Eduroam - swobodny dostęp do Internetu

Metody ataków sieciowych

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci

Ćwiczenie 5a Sieć komputerowa z wykorzystaniem rutera.

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

INSTRUKCJA OBSŁUGI Program konfiguracji sieciowej Net configuration Drukarka A11

OCHRONA PRZED RANSOMWARE

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PODSTAWY RUTINGU IP. WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r.

Obsługa poczty elektronicznej w domenie emeritus.ue.poznan.pl

OCHRONA PRZED RANSOMWARE. Konfiguracja ustawień

Instrukcja konfiguracji funkcji skanowania

Wireshark analizator ruchu sieciowego

PODSŁUCH W SIECIACH ETHERNET SSL PRZECIWDZIAŁANIE PODSŁUCHOWI

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

SPOSOBY DYSTRYBUCJI OPROGRAMOWANIA PANDA

MASKI SIECIOWE W IPv4

pasja-informatyki.pl

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

ZiMSK dr inż. Łukasz Sturgulewski, DHCP

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Instalacja Active Directory w Windows Server 2003

Którą normę stosuje się dla okablowania strukturalnego w sieciach komputerowych?

WLAN bezpieczne sieci radiowe 01

Protokół ARP Datagram IP

Konfiguracja programu pocztowego dla kont w domenie spcsk.pl

Konfiguracja programu pocztowego Outlook Express i toŝsamości.

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Protokoły zdalnego logowania Telnet i SSH

Projektowanie bezpieczeństwa sieci i serwerów

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

12. Wirtualne sieci prywatne (VPN)

ZAKŁAD SYSTEMÓW ROZPROSZONYCH. Politechnika Rzeszowska BEZPIECZEŃSTWO I OCHRONA INFORAMCJI

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

Laboratorium Badanie protokołu ARP w wierszu poleceń systemu Windows oraz w programie Wireshark

Ataki na serwery Domain Name System (DNS Cache Poisoning)

z paska narzędzi lub z polecenia Capture

Bazy Danych i Usługi Sieciowe

Uwaga: NIE korzystaj z portów USB oraz PWR jednocześnie. Może to trwale uszkodzić urządzenie ZyWALL.

Konfigurowanie interfejsu sieciowego może być wykonane na wiele sposobów.

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Dostęp zdalny

ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

Połączenia. Obsługiwane systemy operacyjne. Strona 1 z 5

Stos TCP/IP. Warstwa aplikacji cz.2

Adresy w sieciach komputerowych

Laboratorium podstaw telekomunikacji

System kontroli dostępu ACCO NET Instrukcja instalacji

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Instrukcja aktywacji tokena w usłudze BPTP

DHCP Copyright : JaRo

Warstwy i funkcje modelu ISO/OSI

Wykaz zmian w programie SysLoger

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Przewodnik Google Cloud Print

Bezpieczeństwo w sieci lokalnej - prezentacja na potrzeby Systemów operacyjnych

Problemy techniczne SQL Server

ZiMSK NAT, PAT, ACL 1

Transkrypt:

Fałszowanie pakietów ARP TEMAT MIESIĄCA Fałszowanie i zatruwanie protokołu ARP LOCAL DETOUR Każdy użytkownik przyłączony do lokalnej sieci komputerowej może podsłuchiwać i manipulować ruchem sieciowym. Techniki podsłuchiwania i zatruwania protokołu ARP stanowią dodatkowe możliwości przeprowadzenia ataku. THOMAS DEMUTH, ACHIM LEITNER Ciekawość, zemsta, szpiegostwo przemysłowe -- to możliwe przyczyny przeprowadzania ataków sieciowych od wewnątrz. Statystyki dowodzą, że od 70 do 80 procent stanowią ataki tego typu [1]. Administratorzy mają utrudnione zadanie, ponieważ zabezpieczenie sieci od środka jest o wiele trudniejsze od zabezpieczenia sieci przed atakami zewnętrznymi. Jedną z najbardziej groźnych form ataku jest fałszowanie ruchu Fałszowanie pakietów ARP pozwala napastnikowi podsłuchiwać i manipulować ruchem lokalnym. Napastnik może przeprowadzać ataki pośredniczące (man-in-the-middle), a dzięki zaawansowanemu oprogramowaniu nawet niedoświadczeni złoczyńcy mają duże szanse powodzenia. Działanie protokołu ARP Protokół ARP został opublikowany w listopadzie 1982 roku przez Davida C. Plummera w ramach dokumentu RFC 826 [2]. W roku 1982 bezpieczeństwo sieciowe nie było ważnym zagadnieniem; celem opracowania protokołu było zapewnienie sprawnego działania. ARP odwzorowuje adresy IP na adresy MAC. Jeśli klient C potrzebuje wysłać pakiet do ser- Adresy w sieci lokalnej: podstawy Gdy dwa komputery w sieci lokalnej muszą nawiązać połączenie, potrzebny jest sposób ich jednoznacznej identyfikacji. Ethernet wykorzystuje 48-bitowe (6 bajtowe) liczby przypisane każdemu urządzeniu sieciowemu. To tak zwane adresy MAC (Media Access Control), które są unikalne na całym świecie. Dzięki temu użytkownicy mogą przyłączać (teoretycznie) dowolną liczbę urządzeń Ethernet do sieci lokalnej. Ethernet nie wykorzystujący przełączników i mostów stosuje technikę rozgłaszania. Oznacza to, że każdy pakiet jest wysyłany do każdego węzła w danym segmencie sieci. Tylko adresat pakietu przyjmuje go, pozostałe węzły ignorują obce pakiety. To bardzo prosty mechanizm, lecz nie jest skalowalny. Każdy węzeł sieci pochłania część jej przepustowości. Mosty i przełączniki poprawiają sytuację, dzieląc sieć na wiele segmentów i zapamiętując, które adresy MAC znajdują się w którym segmencie (służy do tego tak zwana tablica CAM, czyli Content Addressable Memory). Dzięki temu przełączniki i mosty wysyłają pakiet tylko do tego z segmentów, do którego przyłączony jest jego adresat. W ramach każdego segmentu pakiety mogą być przesyłane bez zakłócania ruchu w pozostałych segmentach. Opisany mechanizm nie może być stosowany w sieciach rozległych. Każdy przełącznik musi znać lokalizację każdego komputera docelowego. Aby temu zaradzić, twórcy Internetu opracowali mechanizm adresowania, wykorzystujący adresy IP. Adres IP ma długość 32 bitów (4 bajty) i składa się z sekcji sieciowej i sekcji hosta. Maska podsieci informuje o tym, która część adresu dotyczy sieci, a która identyfikuje hosty. Sieci wchodzące w skład Internetu są połączone ruterami. Rutery muszą znać tylko adresy sieci, dzięki czemu pakiety są przesyłane jedynie pomiędzy ruterami poszczególnych sieci. Ruting opiera się na adresach IP, natomiast sieci lokalne nadal wykorzystują adresowanie MAC. Jednak gdyby każdy program potrzebował znać zarówno adres IP jak i adres MAC adresata, byłoby to niewygodne. W tym miejscu pomocny jest protokół ARP (Address Resolution Protocol), który służy do dopasowania adresów MAC do adresów IP. Administrator nie musi konfigurować tego mechanizmu, to znaczy nie ma potrzeby odwzorowywania adresów IP na adresy MAC. Wszystko to odbywa się automatycznie. Taki automatyzm stanowi jednak poważne zagrożenie, które zostanie omówione właśnie w tym artykule. Oprócz protokołu ARP istnieje również protokół RARP (Reverse ARP, [3]). W podobny sposób co DHCP, serwer RARP przypisuje adresy IP do maszyn w oparciu o znajomość ich adresów MAC. RARP nie może służyć do przekazania klientowi innych parametrów (serwera nazw, adresu bramy, maski sieciowej), jest zatem stosowany bardzo sporadycznie. WWW.LINUX-MAGAZINE.PL NUMER 18 LIPIEC 2005 27

TEMAT MIESIĄCA Fałszowanie pakietów ARP Rysunek 1: Klient przed przesłaniem pakietu wykorzystuje protokół ARP do uzyskania adresu MAC serwera w sieci lokalnej. Żądanie typu kto ma... jest wysyłane do wszystkich komputerów w sieci lokalnej (rozgłaszane). Węzeł posiadający poszukiwany adres odpowiada bezpośrednio pytającej maszynie. wera S i obydwa węzły są przyłączone do tej samej podsieci, musi znać jego adres MAC. Nawet w sytuacji, gdy S znajduje się w innej sieci, C nadal potrzebuje znać adres MAC, w tym przypadku jednak musi to być adres MAC rutera, który przekaże pakiet w dalszą drogę. W celu pozyskania adresu MAC, C rozgłasza żądanie ARP do wszystkich systemów w sieci lokalnej. Jest to pytanie typu Kto ma adres IP a.b.c.d?. Komputer, którego dotyczy zapytanie odpowiada nadawcy, informując go o swoim adresie MAC (Rysunek 1.). Jak widać na Rysunku 2, pakiet ARP jest przesyłany jako zawartość ramki ethernetowej. W tym celu w polu typu nagłówka ramki umieszczana jest wartość 0x8006, która informuje adresata, że ma do czynienia z pakietem Rozgłaszanie żądania ARP i oczekiwanie na odpowiedź za każdym razem, gdy jest nawiązywane połączenie, powodowałoby zbyt duże opóźnienia, zatem każdy stos IP obsługuje tabelę ARP, zwaną również pamięcią podręczna ARP (ARP cache, Rysunek 3.). Pamięć podręczna ARP zawiera tablicę odwzorowującą adresy IP na odpowiadające im adresy MAC. Tabela ta może zawierać statyczne dane (skonfigurowane przez użytkownika) lub dynamiczne (uzyskane za pośrednictwem zapytań ARP). Dynamiczne wpisy są ważne przez określony okres, z reguły kilka minut. Rysunek 2: Pakiet ARP jest przesyłany jako zawartość ramki ethernetowej. Po polach typu i długości następują adresy źródłowy i docelowy. Ataki sieciowe wykorzystujące mechanizmy adresowania Protokół ARP nie zawiera zabezpieczeń przed fałszowaniem pakietów, jest więc podatny na różne typy ataków. Najpowszechniej spotykane jest fałszowanie adresów MAC (MAC spoofing), zalewanie MAC (MAC flooding) oraz fałszowanie pakietów ARP (ARP spoofing). Fałszowanie adresów MAC polega na wykorzystaniu przez napastnika określonych adresów MAC z sieci lokalnej. Takie ataki mają sens głównie w przypadku, gdy dostęp do zasobów w sieci jest zdefiniowany w oparciu o adresy MAC. Wiele sieci WLAN (bezprzewodowych) wykorzystuje adresy MAC autoryzowanych stacji jako elementy list kontroli dostępu. To bardzo słabe zabezpieczenie, które łatwo ominąć. Napastnik musi po prostu poznać uprzywilejowane adresy MAC 28 NUMER 18 LIPIEC 2005 WWW.LINUX-MAGAZINE.PL

Fałszowanie pakietów ARP TEMAT MIESIĄCA wcześniej zapytań ARP; informacja o adresie otrzymana w odpowiedzi jest zapisywana do później- Rysunek 3: Tablica ARP w systemie Linux z jednym niekompletnym wpisem, jednym wpisem statycznym i dwoma wpisami dynamicznymi szego wykorzystania. (znacznik C: kompletny, M: statyczny). W systemach Windows napastnicy mają możliwość modyfikacji nawet wpisów statycznych zdefiniowanych przez użytkownika. Dzięki temu napastnik może monitorować wymianę danych pomiędzy klientem a serwerem i, działając jako pośrednik w tej komunikacji, manipulować tą komunikacją. Pośrednik (man in the middle) modyfikuje wpis serwera w pamięci podręcznej ARP klienta, zmuszając klienta do uwierzenia, że adres MAC napastnika należy do serwera. i podszyć się pod system nieaktywny w danym momencie. Fałszowanie adresów MAC jest stosowane przy atakach, w których pożądane jest ukrycie tożsamości napastnika. W sieciach przewodowych można dość łatwo uchronić się przed atakami tego typu. Wiele przełączników sieciowych obsługuje funkcje bezpieczeństwa portów. Przełącznik uczy się adresu MAC na danym porcie i zapisuje go na stałe. Od tego momentu przełącznik nie przyjmie żadnych innych źródłowych adresów MAC na tym porcie. To bardzo skuteczny sposób zapobiegający atakom fałszowania adresów MAC. Wadą tego rozwiązania jest to, że administrator musi modyfikować ustawienia przełącznika w przypadku planowanych zmian w sieci. Zabezpieczenia portów pozwalają również chronić sieć przed atakami innego typu. Ataki zalewania MAC zostały wymyślone w celu zablokowania mechanizmów zabezpieczeń portów przełącznika. Przełączniki, w przeciwieństwie do koncentratorów, wykorzystują tablice CAM (Content Addressable Memory), w których zapisywane są informacje o adresach MAC przypisanych każdemu portowi przełącznika. Przełącznik wysyła pakiet tylko na ten port, do którego jest przyłączony jego adresat. Napastnik może zablokować tę funkcję, zalewając przełącznik adresami -- tablica CAM jest w stanie pomieścić ograniczoną liczbę adresów. Jeśli atak powiedzie się, przełącznik zaczyna pracować jak koncentrator i przesyła pakiety do wszystkich portów, co umożliwia podsłuchiwanie pakietów i inne ataki. Zatruwanie tablicy ARP Trzeci typ ataków nie jest łatwy do wykrycia i nie są znane proste do zastosowania środki zapobiegawcze. Atak opiera się na fałszowaniu pakietów ARP (napastnik celowo przesyła nieprawdziwe pakiety ARP). Zatruwanie tablic ARP jest specyficzną formą ataków fałszowania pakietów ARP, których celem jest nieautoryzowana modyfikacja (zatrucie) tablic ARP systemów w sieci lokalnej. Systemy operacyjne sprawdzają, czy otrzymane odpowiedzi ARP dotyczą wysłanych Podobną manipulację napastnik stosuje w stosunku do serwera. Jeśli klient chce nawiązać połączenie z serwerem, sprawdzi wpisy w zatrutej tablicy ARP i wyśle pakiet na adres MAC napastnika. Dzięki temu napastnik może czytać i modyfikować pakiety przed przekazaniem ich do serwera. Serwer zakłada, że pakiet został wysłany bezpośrednio przez klienta. Odpowiedź serwera jest przesyłana do napastnika, który przekazuje ją do klienta. Jeśli serwer jest umieszczony w osobnej podsieci, napastnik może przeprowadzić analogiczny atak na ruter. Oczywiście napastnik może przeprowadzić również atak blokady usług, po prostu odrzucając wszelkie pakiety przesyłane pomiędzy serwerem a klientem. Aby manipulować danymi, napastnik odsyła do adresata inny pakiet, niż otrzymał. Napastnik może gromadzić hasła, ponieważ znajomość portu, na który był przesyłany pakiet pozwala odgadnąć typ protokołu i w oparciu o tę wiedzę odkodować dane uwierzytelniające użytkownika na serwerze. Rysunek 4: Ettercap oczekujący na połączenie pomiędzy 192.168.1.120 i 192.168.1.124 (adres źródłowy i docelowy). To narzędzie potrafi w prosty sposób podsłuchiwać połączenia telnet i FTP. W przypadku połączeń SSHv1 posługuje się techniką pośrednika (man in the middle), aby odkodować dane połączenia. Nawet SSL i SSH nie zawsze są bezpieczne Szyfrowane połączenia nie są nietykalne z założenia, co demonstrują narzędzia do przeprowadzania ataków z zastosowaniem protokołu Programy te można zdobyć w wersjach dla różnych systemów operacyjnych (zobacz ramka Narzędzia do ataków wykorzystujące ARP ). Oprócz zatruwania tablic ARP, narzędzia te zawierają własną implementację SSL (Secure Socket Layer), TLS (Transport Layer Security), SSH (Secure Shell) oraz PPTP (Point to Point Tunneling Protocol), pozwalające podszywać się zarówno pod serwer, jak i pod klienta. Podczas połączenia SSL z serwerem WWW przeglądarka ostrzega użytkownika, że coś jest nie w porządku z certyfikatem sesji. Wielu użytkowników nie rozumie powagi zagrożenia i po prostu ignoruje ostrzeżenie. Wiele serwerów ma skonfigurowane samodzielnie podpisane certyfikaty i ostrzeżenia tego typu są dobrze znane użytkownikom, zatem jedyną reakcją jest z reguły kliknięcie przycisku Anuluj. Błąd w starszych wersjach Internet Explorera umożliwiał przeprowadzenie ataku tego typu nawet bez wyświetlania ostrzeżenia. Atak na połączenie SSH przebiega podobnie (Rysunek 4.). Jeśli klient zna już klucz serwera, pojawi się ostrzeżenie (Rysunek 5). Wielu użytkowników i administratorów zignoruje to ostrzeżenie, zakładając, że coś się zmieniło na serwerze SSH. Tak naprawdę niewiele protokołów i implementacji jest od- WWW.LINUX-MAGAZINE.PL NUMER 18 LIPIEC 2005 29

TEMAT MIESIĄCA Fałszowanie pakietów ARP Rysunek 5: Podczas ataku przeprowadzonego przez Ettercap (Rysunek 4), klient (w tym przypadku odo) otrzymuje od serwera fałszywy klucz hosta. Klucz ten tak naprawdę pochodzi od napastnika -- a nie jak oczekuje klient, od odpowiedniego serwera (bashir). Jeśli użytkownik zignoruje ostrzeżenie o nieprawidłowym kluczu, połączenie będzie manipulowane. pornych na atak pośredniczący. Jednym z wyjątków jest IPsec, który odmawia pracy, gdy w procesie uwierzytelniania wystąpi jakikolwiek problem. Z tego powodu prawie całość ruchu wewnętrznego jest podatna na ataki. Istnieją nawet gotowe, łatwe do wykorzystania skryp- ty przechwytujące hasła przesyłane ponad pięćdziesięcioma różnymi protokołami. Ataki te działają na poziomie ARP, a z reguły w dziennikach zapisuje się dostęp na poziomie IP, więc napastnicy mogą być całkiem spokojni o to, że nikt nie zauważy ich działalności. Zapobieganie atakom ARP Jedno z podejść do problemu ataków ARP mogłoby polegać na zakazaniu pobierania i uruchamiania wszelkiego zewnętrznego oprogramowania. Taka reguła jest jednak niezwykle trudna do wyegzekwowania. Administratorzy musieliby ograniczyć dostęp do łącza internetowego. Złośliwe oprogramowanie może dostać się do sieci lokalnej wieloma drogami: HTTP, HTTPS, FTP czy pocztą elektroniczną. Administratorzy musieliby ponadto zakazać stosowania pamięci masowej, jak dyskietek, dysków CD oraz urządzeń przenośnych, jak laptopy czy PDA. Z powodu znacznych ograniczeń użyteczności, takie rozwiązanie jest w praktyce nie do zastosowania. W przypadku, gdy w sieci znajdują się tylko systemy Linux, w których użytkownicy pracują bez praw konta root, automatycznie unika się wielu potencjalnych ataków. Powód jest prosty: do wysyłki sfałszowanego pakietu ARP konieczne są uprawnienia konta root w systemie. Nie ma jednak możliwości uniknięcia uruchomienia systemu z dysku CD lub przyłączenia do sieci obcego laptopa. Poniżej omawiamy kilka programów używanych do przeprowadzania ataków wykorzystujących słabości protokołu Administrator może wykorzystać te narzędzia do sprawdzenia odporności swojej sieci. Narzędzia te są dość użyteczne w celu demonstracji wagi zagrożenia ze strony ataków na poziomie protokołu Należy wszakże pamiętać, że prawdziwy problem nie wynika z faktu, że te narzędzia istnieją, lecz z tego, że protokół ARP jest z definicji bardzo mało bezpieczny. ARP-SK: Twórcy tego programu określają go jako szwajcarski scyzoryk dla ARP. Jest dostępny dla systemów Unix i Windows. Program potrafi manipulować tablicami ARP różnych urządzeń. http://www.arp-sk.org Arpoc i WCI: To program dla Linuksa i Windows, realizujący ataki pośredniczące w sieci lokalnej. Odpowiada na każde żądanie ARP, wysyłając sfałszowane odpowiedzi ARP, i przekazuje wszystkie pakiety adresowane poza sieć do odpowiedniego rutera. http://www.phenoelit.de/arpoc/ Arpoison: Narzędzie uruchamiane z wiersza poleceń, tworzące sfałszowane pakiety Użytkownik może określić adresy źródłowe i docelowe adresy IP lub MAC. http://arpoison.sourceforge.net Narzędzia do ataków ARP Brian: Bardzo proste narzędzie (źródła występują w jednym pliku języka C) realizujące atak zatruwania pamięci podręcznej ARP w celu zablokowania funkcji przełącznika w sieci lokalnej. Dzięki temu napastnik może podsłuchiwać cały ruch odbywający się w sieci. http://www.bournemouthbynight.co.uk/tools/ Cain & Abel: To zaawansowane narzędzie dla systemu Windows rozpoczęło swoje istnienie od prostego narzędzia do odzyskiwania haseł. Podsłuchuje sieć i wykorzystuje różne techniki odszyfrowywania zaszyfrowanych i zaciemnionych haseł. W wersji 2.5 tego narzędzia wprowadzono funkcję zatruwania tablic ARP, dzięki czemu napastnik może podsłuchiwać ruch IP w sieci przełączanej. Program przeprowadza ataki na połączenia SSH i HTTPS. http://www.oxid.it/cain.html Dsniff: Pakiet programów specjalizowanych do różnych zadań. Dsniff, Filesnarf, Mailsnarf, Msgsnarf, Urlsnarf oraz Webspy podsłuchują ruch sieciowy i przechwytują interesujące dane (hasła, adresy e-mail i pliki). Arpspoof, Dnsspoof oraz Macof pozwalają administratorom i napastnikom uzyskać dostęp do danych teoretycznie zabezpieczonych przez przełącznik sieciowy. Sshmitm i Webmitm obsługują ataki pośredniczące na sesje SSH i HTTPS (autor określa ten typ ataku mianem Monkey in the Middle, czyli małpy pośredniczącej). http://naughty.monkey.org/~dugsong/dsniff/ Ettercap: Niezwykle skuteczny program z interfejsem tekstowym (Rysunek 4). Najnowsza wersja posiada również interfejs GTK. Działania programu są przeprowadzane w sposób automatyczny, program wyświetla w oknie listę potencjalnych celów ataku. Może służyć do podsłuchiwania, ataków ARP, automatycznego przechwytywania haseł, jak również potrafi manipulować danymi przechwyconych połączeń. Program ten potrafi atakować sesje SSHv1 oraz SSL (z wykorzystaniem technik pośredniczących). http://ettercap.sourceforge.net Hunt: Resetuje połączenia, podsłuchuje dane, przechwytuje sesje. Narzędzie stosuje między innymi techniki fałszowania pakietów http://packetstormsecurity.nl/sniffers/hunt/ Juggernaut: W roku 1997 Phrack Magazine opublikował program Juggernaut, przodka wielu dostępnych obecnie programów do podsłuchiwania w sieci z możliwościami zatruwania pamięci podręcznej http://www.phrack.org/show.php?p=50&a=6 Parasite: Demon Parasite podsłuchuje sieć lokalną i odpowiada na żądania ARP, wysyłając sfałszowane odpowiedzi Program stopniowo zdobywa funkcję pośrednika wszelkiego ruchu sieciowego. http://www.thc.org/releases.php 30 NUMER 18 LIPIEC 2005 WWW.LINUX-MAGAZINE.PL

Fałszowanie pakietów ARP TEMAT MIESIĄCA Aby zapobiec wielu atakom ARP, można zastosować statyczne wpisy Zarządzanie taką konfiguracją wiąże się jednak z ogromnym wysiłkiem ze strony administratorów, którzy muszą ręcznie ustawiać adresy prawie wszystkich systemów (oprócz ruterów i serwerów). Systemy operacyjne firmy Microsoft pozwalają jednak na zatruwanie nawet ręcznie zdefiniowanych wpisów w tablicach ARP, co niweluje wszelkie zabezpieczenia dokonane tym sposobem. Ponadto to rozwiązanie ma sens jedynie w niewielkich sieciach, ponieważ liczba wpisów ARP wzrasta proporcjonalnie do kwadratu liczby węzłów w sieci. Innymi słowy, w sieci zawierającej sto komputerów trzeba zarządzać 9900 wpisami ARP (99 w każdym systemie). To stanowi gigantyczny wysiłek administratorski, szczególnie w przypadku pojawienia się problemów w sieci. Zachować czujność Arpwatch [4] to narzędzie Open Source dla systemów Unix monitorujące ruch ARP w sieci. System z uruchomionym programem Arpwatch odczytuje informacje o adresach z każdego pakietu ARP i porównuje ją z zapisaną bazą danych. Jeśli dane nie pasują do zapisanych wcześniej, program wysyła wiadomość e-mail do administratora. Autorzy twierdzą, że Arpwatch obsługuje SNMP, lecz nie udało nam się zastosować tej opcji. Wiele sieci wykorzystuje obecnie mechanizmy dynamicznego przyznawania adresów IP, czyli DHCP (Dynamic Host Configuration Protocol). W takim środowisku Arpwatch będzie generował dużo fałszywych alarmów z powodu częstych zmian odwzorowania adresów IP i MAC. ARP-Guard [5] jest stosunkowo nowym produktem firmy ISL, który wykorzystuje infrastrukturę czujników (sensorów). Czujniki monitorują informację ARP i przekazują ją do systemu zarządzającego, który analizuje te dane i informuje administratora w przypadku wykrycia próby ataku. Architektura pakietu ARP-Guard zapewnia dobrą skalowalność, a interfejs zarządzania za pośrednictwem przeglądarki WWW docenią administratorzy nieprzywykli do wiersza poleceń powłoki. ARP-Guard wykorzystuje czujniki sieci lokalnej oraz SNMP. Czujnik sieci lokalnej działa podobnie jak Arpwatch lub dowolny, klasyczny system IDS -- analizuje napotkane pakiety Czujnik SNMP wykorzystuje protokół SNMP do komunikacji z urządzeniami i sprawdzania stanu ich tablic Systemy wykrywania włamań (IDS, zobacz ramka Snort i ARP ) również mają możliwość wykrywania ataków ARP, lecz z reguły systemy tego typu instaluje się na obrzeżach sieci. Ponadto pracownicy mogą czuć się niekomfortowo wiedząc, że ich działania są śledzone przez system wykrywania włamań. Administrator widzi cały ruch w sieci i w ten sposób monitoruje działania wszystkich pracowników. Użyteczność tego podejścia jest ponadto dość kontrowersyjna, ponieważ wiele narzędzi IDS ignoruje protokół Taki system okaże się nieskuteczny, gdy będzie miał do czynienia z atakami zatruwania ARP w środowisku wykorzystującym dynamiczne przyznawanie adresów IP (DHCP). Szyfrowanie może pomóc Gdy są stosowane protokoły kryptograficzne (przede wszystkim IPsec) zapewniające poufność, autentyczność i integralność danych, ataki ARP są zredukowane do prób wywołania blokady usług. Każda próba podsłuchania lub zamanipulowania danych skończy się fiaskiem. Jednakże może minąć pewien czas, zanim IPsec oraz inne protokoły szyfrujące znajdą powszechne zastosowanie i będą poprawnie konfigurowane w sieciach lokalnych. Jedna z grup badaczy zaproponowała zastąpienie protokołu ARP jego bezpieczniejszą wersją [7]. S-ARP wykorzystuje szyfrowanie, ośrodki certyfikacji CA i cyfrowo podpisane komunikaty Należy jednak rozważyć, czy ten wysiłek jest uzasadniony: IPsec zapewnia większe bezpieczeństwo przy porównywalnym narzucie obciążenia łącza i ma uniwersalne zastosowanie, natomiast S-ARP zabezpiecza tylko protokół Jedyna zaleta S-ARP polega na tym, że relatywnie mniej obciąża procesor komputera. Snort i ARP Inne techniki zapobiegania atakom Niektórzy producenci zapór sieciowych i ruterów twierdzą, że ich produkty potrafią wykrywać ataki fałszowania ARP, lecz nie jest to tak do końca prawda. Systemy te potrafią Snort [6] jest doskonałym przykładem sieciowego systemu IDS. Systemy detekcji włamań pomagają administratorowi wykrywać ataki sieciowe we wczesnym etapie i podjąć odpowiednie działania zaradcze. Snort wykorzystuje preprocesor Arpspoof, obsługujący cztery mechanizmy detekcji: Każde wykryte żądanie ARP jest weryfikowane pod kątem zgodności adresu źródłowego w ramce ethernetowej z adresem źródłowym pakietu Jeśli te dwa adresy są niezgodne, Snort wywołuje ostrzeżenie. W przypadku ataków zatruwania tablic ARP adresy nie będą się różnić, więc ta metoda detekcji nie będzie skuteczna. Przy odpowiedzi na żądanie ARP porównywane są pary adresów źródłowych i docelowych żądania i odpowiedzi. Jeśli dowolna z tych par nie jest zgodna, Snort wywołuje ostrzeżenie. Ta metoda również nie wykrywa ataków zatruwania tablic ARP, ale wykrywa ataki pośredniczące, wykorzystujące Z drugiej strony taka sytuacja może być w zupełności legalna, gdy jeden komputer odpowiada na żądania ARP w imieniu innego komputera. System podnosi alarm, gdy pojawia się żądanie ARP na adres hosta zamiast na adres rozgłaszania. Taka sytuacja jest w konflikcie ze standardem (ponad dwudziestoletnim), lecz zdarzają się zupełnie legalne powody takiego działania w sieci. Oryginalne ataki ARP nie wykorzystują żądań ARP na adresy hostów, więc ta metoda detekcji nie wykrywa niektórych ataków, w tym zatruwania Snort sprawdza pakiety ARP w oparciu o listy adresów IP oraz adresów MAC dostarczanych przez administratora. Jeśli źródłowy adres IP znajduje się na liście, Snort odczytuje odpowiadający mu adres MAC z listy i porównuje go z adresem MAC z pakietu ARP i ramki ethernetowej. W przypadku rozbieżności, Snort wysyła ostrzeżenie do administratora. Ten mechanizm jest użyteczny głównie w niewielkich sieciach, ponieważ przy dużych liczbach węzłów wysiłek administratorski znacznie się zwiększa. Nie ma rozsądnego sposobu użycia tej metody w środowiskach wykorzystujących dynamiczne przyznawanie adresów IP (DHCP). Jak widać, możliwości Snorta na polu wykrywania ataków ARP są mocno ograniczone, podobna sytuacja występuje w większości systemów detekcji włamań. WWW.LINUX-MAGAZINE.PL NUMER 18 LIPIEC 2005 31

TEMAT MIESIĄCA Fałszowanie pakietów ARP wykrywać i zapisywać w dziennikach informacje o modyfikacji ich własnych tablic ARP, nie mają jednak możliwości stwierdzić, czy zmiana nie wynikła z legalnej przyczyny. Podział sieci na większą liczbę segmentów i przyłączanie do nich mniejszej liczby użytkowników może wpłynąć na obniżenie ilości ataków Zarządzane przełączniki sieciowe, pozwalające administratorom na większą kontrolę nad ruchem sieciowym, zapewniają zabezpieczenie przed atakami ARP, a ponadto znacznie optymalizują sam ruch. Są jednak kosztowne, przysparzają dodatkowych zadań administratorskich i mogą sprawiać problemy niektórym aplikacjom. Część programistów próbuje dodać warstwę zabezpieczeń protokołu IP na urządzeniach końcowych. Patch na jądro Linuksa o nazwie Antidote [8] powoduje, że system Linux przed modyfikacją wpisu ARP wysyła żądanie do poprzedniego adresu MAC obowiązującego we wpisie. System zmodyfikuje wpis w tablicy ARP wyłącznie w przypadku, gdy żądanie pozostanie bez odpowiedzi. Takie podejście nie stanowi zabezpieczenia przed sabotażem. Napastnik musi po prostu przeprowadzić atak w okresie, gdy pozostałe systemy w sieci nie działają (są wyłączone lub niedostępne). W przypadku rozwiązań wykorzystujących mechanizmy wysokiej dostępności lub równoważenia obciążenia, łatka Antidote może zablokować dostęp do takich systemów. Inna metoda zabezpieczająca przed zatruwaniem pamięci podręcznej ARP polega na zablokowaniu dowolnych zmian w odwzoro- waniach adresów MAC i IP. Łatka Anticap [9] jest dostępna dla systemów Linux, FreeBSD oraz NetBSD. Podobne rozwiązanie istnieje też w systemie Solaris. Zabezpieczenie wykorzystuje okres ważności wpisu w tablicy ARP, przed upłynięciem którego nie jest możliwa jego modyfikacja. Tę funkcję można dowolnie konfigurować, lecz zabezpiecza ona jedynie przed fałszowaniem pakietów systemów, które pracują bez przerw. Aby sfałszować nowy wpis ARP, wystarczy poczekać, aż upłynie jego okres ważności. Jądra Linuksa z serii 2.4 i nowsze nie reagują na nieproszone odpowiedzi Niestety, to zabezpieczenie łatwo oszukać, co jest szczegółowo objaśnione w pliku READ- ME pakietu Ettercap. Jądro zawsze musi przetworzyć żądanie Gdy do jądra dociera kombinacja adresu IP i MAC (źródłowego), jądro dodaje te dane do swojej pamięci podręcznej Zatem napastnik musi jedynie wysłać sfałszowane żądanie Ettercap wysyła kombinacje żądań i odpowiedzi ARP, aby oszukać dowolny system podatny na jedną z tych technik. Zabezpieczenia wbudowane w stos IP są bezsilne na ataki fałszowania Jeśli napastnik odpowie na żądanie ARP szybciej od właściwej maszyny, do której adresowane było żądanie, to wygrywa wyścig i jego adres będzie dodany do tablicy Nikt nie jest bezpieczny Współczesne techniki i protokoły nie zapewniają pełnego zabezpieczenia przed atakami ARP, można jednak uzbroić się w narzędzia pomocnicze, jak systemy detekcji włamań i specjalizowane detektory anomalii w danych ARP, które pozwolą wykryć większość prymitywniejszych prób manipulacji tablicami Aby zabezpieczyć się w pełni, należy stale stosować IPsec w sieci lokalnej. Ignorowanie tego problemu to nie najlepszy pomysł, chyba że w pełni ufa się wszystkim użytkownikom przyłączonym do korporacyjnej sieci lokalnej. INFO [1] Analiza bezpieczeństwa przeprowadzona przez KPMG: http://www.kpmg.com/about/press.asp?cid=469 [2] Address Resolution Protocol, RFC 826: http://www.ietf.org/rfc/rfc826.txt [3] Reverse ARP, RFC 903: http://www.ietf.org/rfc/rfc903.txt [4] Arpwatch: http://www-nrg.ee.lbl.gov und http://www.securityfocus.com/tools/142 [5] ARP-Guard: https://www.arp-guard.com [6] Snort: http://www.snort.org [7] Secure ARP: http://security.dico.unimi.it/research.en.html#sarpd and http://www.acsac.org/2003/papers/111.pdf [8] Patch Antidote na jądro Linuksa: http://www.securityfocus.com/archive/1/299929 [9] Patch Anticap na jądro Linuksa: http://cvs.antifork.org/cvsweb.cgi/anticap/ ZAMÓW REKLAMĘ W LINUX MAGAZINE Reklama internetowa w serwisie www.linux-magazine.pl W przypadku jakichkolwiek pytań dotyczących reklamy w Linux Magazine prosimy o kontakt! Dział reklamy: Andrzej Chłodziński tel/fax: (22) 642 70 05 ads@linux-magazine.pl 32 NUMER 18 LIPIEC 2005 WWW.LINUX-MAGAZINE.PL