,
ataki na lan przez stp vovciaataki na lan przez stp vovcia, cisco, CISCO(1)
[ Pobierz całość w formacie PDF ]
Vladimir “vovcia” Mitiouchev <vovcia@irc.pl> Zaawansowany sniffing, ataki typu MitM i DoS w sieciach LAN i VLAN używając dziur w protokole STP Spis treści: 1. Wprowadzenie 2. Krótki opis protokołu STP (Spanning Tree Protocol) 3. STP a VLAN (Virtual Local Area Network) 4. Algorytmy działania STP 5. Możliwe ataki 6. Ocena zagrożenia 7. Wykrywanie i przeciwdziałanie 1. Wprowadzenie Wraz z rozwojem sieci lokalnych istniejące rozwiązania przestawały zaspokajać potrzeby administratorów i projektantów. O ile zaprojektowanie sieci bez pętli nie stanowiło większych problemów, problem na jednym łączu powodował rozdzielenie segmentów LANu. Kiedy zachodziła potrzeba redundancji połączenia pomiędzy segmentami LANu, trzeba było po obu stronach linków stawiać routery obsługujące lan-bridging (mostkowanie lanów) i konfigurować zapasowe łącza. Na początku lat 90-tych XX-tego wieku powstał standard protokołu umożliwiającego działanie sieci lokalnej przy obecności nadmiarowych łącz (ANSI/IEEE 802.1D 1993 Edition). Był on dopracowywany w latach 1996 i 1998 i opierał się na przedstawieniu połączeń pomiędzy urządzeniami jako grafu w kształcie drzewa. Protokół ten nazywa się STP. W roku 2000 została stworzona nowa wersja protokołu nazywająca się RSTP (IEEE 802.1w), wprowadza ona kilka ulepszeń umożliwiających szybszą stabilizację sieci. Ulepszenia te opierają się głównie o funkcje wprowadzone wcześniej przez Cisco, takie jak Uplink Fast, Backbone Fast i Port Fast. Niestety nie poprawiają one bezpieczeństwa protokołu. Po wprowadzeniu STP, wszystko stało się prostsze. Umożliwia on automagiczną konfigurację urządzeń wspierających ten protokół w sposób zapobiegający powstawaniu logicznych pętli. Kiedy STP wykryje nadmiarowe połączenie, blokuje on port na urządzeniu tak by nie przekazywał on żadnych danych Natomiast w momencie wykrycia przez STP problemu z łączem następuje aktywacja zapasowego łącza (o ile oczywiście takowe istnieje). Niestety, podczas projektowania STP (standard IEEE 802.1d) nacisk położono na funkcjonalność, a nie na bezpieczeństwo. Mówiąc wprost – nie uwzględniono żadnych mechanizmów zabezpieczających przed manipulowaniem STP. W konsekwencji stwarza on wiele możliwości ataków, poczynając od ataku typu DoS na segment sieci lub całą sieć, poprzez sniffowanie ruchu i ataki MitM (Man in the Middle – człowiek pośrodku), do rozprzestrzeniania się tych ataków na sieci VLAN. W drugiej części omówię pokrótce sposób działania STP. W trzeciej mowa będzie o działaniu STP w środowisku VLANów. W czwartej opowiem o algorytmach kierujących budowaniem drzewa STP i wykrywaniem problemów. W piątej przedstawię znane sposoby ataków na STP. W następnej znajduje się ocena zagrożenia tymi atakami w zależności od topologii i konfiguracji sieci, a w ostatniej – siódmej – metody wykrywania i przeciwdziałania tym atakom. 2.Krótki opis protokołu STP (Spanning Tree Protocol) Wyobraźmy sobie sieć LAN stworzoną z 4 switchy połączonych ze sobą w następujący sposób: W sieci bez obsługi STP jakakolwiek ramka wpuszczona w taką sieć zaczęłaby krążyć pomiędzy switchami, doprowadzając do przeciążenia sieci i w konsekwencji jej załamania. Natomiast gdyby sieć ta obsługiwała STP, protokół ten stworzyłby graf bez pętli w kształcie drzewa i ustalił zapasowe łącze, blokując je w trakcie normalnej pracy sieci. Graf ten mógłby wyglądać na przykład tak: Linią punktowaną zaznaczono tu łącze skonfigurowane jako nadmiarowe, nieużywane do przesyłu danych. Jak widać powstaje struktura bez pętli. Co dzieje się gdy jedno z łącz zostanie przerwanych, można zobaczyć poniżej: Jak widać z rysunku, w momencie gdy STP wykryje zerwany link, uaktywnia on łącze zapasowe. Czas potrzebny na wykrycie problemu zależy od zegarów ustawionych przez administratora i wynosi zwykle od kilkudziesięciu sekund do minuty (protokół RSTP w takiej sytuacji ustala stabilną konfigurację w ciągu milisekund). 3.STP a VLAN (Virtual Local Area Network) Na początek trochę o VLANie: – VLAN czyli Virtual LAN został stworzony by udostępnić możliwość rozdzielania LANu na grupy użytkowników znajdujących się w wirtualnie różnych sieciach i ograniczyć ruch rozgłoszeniowy – Kolejnym zastosowaniem jest uproszczenie procedury przeprowadzki użytkownika, przy zmianie miejsca w LANie wciąż znajduje się on w swoim domowym VLANie. – znamy 3 rodzaje VLANów: MAC-based, port-based i tag-based – MAC-based grupuje komputery na podstawie adresów sprzętowych – port-based grupuje porty w obrębie jednego switcha – tag-based grupuje porty w obrębie switcha i przesyła je dalej znakując tzw. tagami, które są czytane przez switche pośredniczące, switch końcowy przed wysłaniem ramki do komputera usuwa tag. Niestety, większość implementacji protokołu STP w VLANie nie zachowuje się tak jakbyśmy tego od nich oczekiwali. Z reguły w obrębie całego LANu funkcjonuje jeden STP, co rozszerza wszystkie ataki opisane w tym dokumencie o atakowanie VLANów właśnie. Wszędzie tam gdzie nie jest wyraźnie zaznaczone inaczej ataki w LAN dają się analogicznie przeprowadzać również w VLAN. 4.Algorytmy działania STP Pierwszą fazą działania protokołu STP są wybory Designated Root Bridge. Jest to urządzenie od którego zaczynamy rysowanie drzewa. Oprócz bycia logicznym początkiem nie pełni ono żadnych dodatkowych funkcji. Wybory te odbywają się w następujący sposób: – każde urządzenie generuje ramkę BPDU zawierający Bridge Identifier, który zwykle obliczany jest na podstawie adresu MAC i ustalonego przez administratora (bądź fabrycznie) priorytetu – po otrzymaniu zgłoszenia od kandydata (A) na Root Bridge urządzenie (B) porównuje otrzymany Bridge Identifier (A) ze swoim (B) i jeżeli kandydat (A) ma mniejsze ID to urządzenie (B) przestaje kandydować w wyborach i zaczyna anonsować do swoich sąsiadów że A jest Designated Root Bridge. Kolejną fazą jest budowa drzewa, zasada jest podobna jak w protokołach routingu – każde urządzenie anonsuje na każdym z portów koszt połączenia do Root Bridge składający się z kosztów otrzymanych od poprzedniego urządzenia i kosztu portu z którego wysyłany jest BPDU. Należy zauważyć że BPDU nigdy nie są retransmitowane przez urządzenia podtrzymujące STP, są one interpretowane i na ich podstawie tworzone są własne BPDU. Port który dostanie od sąsiada BPDU z najmniejszym kosztem dostępu do Root Bridge staje się Designated Root Port, co oznacza że komunikacja z resztą sieci przechodzi właśnie przez niego. Pozostałe porty z większymi kosztami dostępu są przełączane w tryb Blocking (więcej o trybach dalej). Na podobnej zasadzie wybierany jest Designated Bridge który staje się odpowiedzialny za obsługę danego segmentu LAN. Po wszystkich wyborach następuje faza stabilności która charakteryzuje się następującymi właściwościami: – jest tylko jedno urządzenie w sieci które regularnie ogłasza się jak Designated Root Bridge, a wszystkie pozostałe ogłaszają TO urządzenie. BPDU są wysyłane w regularnych odstępach czasu wyznaczanych przez parametr Hello Time. – W każdym segmencie sieci jest tylko jeden Designated Root Port przez który następuje wymiana ruchu z Desigated Root Bridge – Wymiana danych poza obrębem switcha przebiega tylko poprzez Designated Root Port, wszystkie pozostałe porty są w stanie Blocking Teraz krótki opis stanów w którym może znajdować się port: – blocking: port zablokowany, ramki BPDU są otrzymywane i wysyłane, ramki użytkowe są ignorowane – listening: pierwszy etap przygotowania do stanu Forwarding, BPDU są wysyłane i interpretowane, cała reszta – ignorancja – learning: drugi etap: BPDU przetwarzane i wysyłane, uczenie się MACów, nie są [ Pobierz całość w formacie PDF ] |
Podobne
|