Omówienie bezpieczeństwa protokołów niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). Bezpieczeństwo systemów komputerowych Seminarium 05.IV.2004 Autor: Radosław Luboch Omówienie bezpieczeństwa protokołów niższych warstw 1/29
Plan wyst ą pienia 1. Wprowadzenie 2. Podstawowe protokoły 3. Zarządzanie adresami i nazwami 4. Przykłady ataków typu DOS 5. Podsumowanie 2/100
Wprowadzenie (1/2) Bezpieczeństwo nie było zagadnieniem priorytetowym dla twórców protokołów Protokoły nie tworzono po to, by zapewniać bezpieczeństwo Brak uwierzytelnienia na poziomie niższych warstw protokołu TCP/IP Anonimowo ść w sieci można ukryć źródło i nadawc ę wiadomo ści. Brak prywatno ci wi kszo ć danych jest ś ę ś przesyłana jawnie 3/100
Wprowadzenie (2/2) TCP/IP - zbiór protokołów komunikacyjnych ARPANET 1983 Schemat przepływu danych w sieci TCP/IP : 4/100
Protokół IP (1/2) Podstawowe protokoły (1/8) najważniejszy protokół usług bezpołączeniowych, podstawowa jednostka przesyłania danych w sieciach TCP/IP nie jest niezawodn ą usług ą przesyłu datagramów w każdym pakiecie znajduj ą si ę: adres docelowy i adres źródła oraz dodatkowe bity wskazuj ące na pewne własno ści specjalne pakietów, suma kontrolna nagłówka, dane, adresy IPv4, długość 32 bitów i s ą dzielone na dwie części: sieciow ą i cześć hosta (CIDR) 192.168.1.2/25 5/100
Podstawowe protokoły (2/8) Protokół IP (2/2) zapewnia procedury logicznego adresowania, dzięki któremu pakiety mog ą przechodzić przez kolejne sieci a ż do osiągnięcia celu, nie ma żadnej pewno ści, że dany pakiet został wysłany z adresu, który znajduje si ę w polu nadawcy (IP Spoofing) ukierunkowane nadawanie rozgłoszeniowe, żądanie echa (directed broadcast, SMURF) no ip directedbroadcast 6/10 0
Podstawowe protokoły (3/8) Protokół ARP (1/1) protokół sieci TCP/IP przeznaczony do konwersji adresów w środowiskach Ethernet, Token Ring translacja adresu 32-bitowego na ethernetowy (48-bitowy adres przeznaczenia) informacje zapisywane w pamięci podręcznej nadawcy pakietu rozgłoszeniowego wymiana pakietów ARP odbywa si ę samoczynnie transmisja fałszywych zapyta lub odpowiedzi ARP ń (ARP Spoofing) 7/100
Podstawowe protokoły (4/8) Protokół TCP (1/3) Protokół sterowania transmisją Oprócz numerów portów, nagłówek TCP zawiera znaczniki stanu, numer porządkowy i potwierdzenie, dzięki którym zwiększa si ę niezawodno ść sieci TCP/IP. Numer porządkowy pozwala odbiorcy posegregować pakiety. Potwierdzenie pozwala odbiorcy powiedzieć nadawcy jaka część strumienia danych została poprawnie doręczona. Znaczniki stanu: SYN, ACK, FIN, RST 8
Podstawowe protokoły (5/8) Protokół TCP (2/3) zawiera adres nadawczy, numer portu nadawcy, adres odbiorcy oraz numer portu odbiorcy trzyetapowy proces otwierania połączenia TCP 9
Podstawowe protokoły (6/8) Protokół TCP (3/3) Zalewanie serwera pakietami synchronizacji ciche wykrywanie usług TCP sequance number attack przewidywanie wyboru punktu startowego 10
Podstawowe protokoły (7/8) Protokół UDP (1/1) transport danych w trybie bezpołączeniowym protokół datagramów użytkownika brak mechanizmu korekcji błędów, ponownej transmisji niewła ściwe zachowania przy transmisji większej ilości danych brak kontroli transmisji brak wymiany potwierdze oraz numerów ń sekwencyjnych ułatwia sfałszowania pakietu UDP 11
Podstawowe protokoły (8/8) Protokół ICMP (1/1) protokół zarządzania informacjami raportowanie błędów, informacje o stanie sieci - ping, traceroute, zmiana trasy ramek wiadomości redirect blokowanie wiadomości ICMP MTU (niezalecane) 12
Zarz ą dzanie adresami i nazwami 13
Zarz ą dzanie adresami i nazwami (1/6) Protokoły Routingu (1/2) mechanizmy służące do dynamicznego wykrywania odpowiednich tras w Internecie. trasy asymetryczne opcja IP polegająca na swobodnym wyborze trasy przez nadawc ę (loose source routing) pozwala osobie inicjalizuj ąca połączenie TCP określenia konkretnej trasy do punktu docelowego, pomijając proces selekcji trasy. Maszyna docelowa musi posłużyć si ę odwrotno ści ą tej trasy dla wyznaczenia trasy powrotnej co oznacza, że atakujący może podszyć si ę pod jakąkolwiek maszyn ę, która komputer docelowy darzy zaufaniem 14
Zarz ą dzanie adresami i nazwami (2/6) Protokoły Routingu (2/2) obrona przed problemem związanym z wyznaczeniem tras przez źródło - odmówienie przyjęcia pakietów zawieraj ących t ę opcję Wiele protokołów trasujących jest podatnych na nadużycia podmieniaj ąc tablice tras rutera, można spowodować skierowanie ruchu sieciowego na wybrane przez siebie łącze 15
Zarz ą dzanie adresami i nazwami (3/6) System DNS (1/3) System nazw domen (ang. Domain Name Systems) umożliwia posługiwanie si ę nazwami zamiast adresami IP. Zapytania (UDP) kierowane do serwera DNS s ą kierowane na port 53. Odpowiedzi na zapytania s ą przyjmowane bez podejrzliwo ści. Każdy, kto jest w stanie odpowiedzieć na zapytanie wcześniej ni ż prawdziwy DNS może przekierować ruch w wybrane przez siebie miejsce. Sytuacja ta pozwala na atak typu man-in-the- middle... 16
Zarz ą dzanie adresami i nazwami (4/6) System DNS (2/3) Zasoby nazw DNS maj ą struktur ę drzewa. Aby ułatwić ich funkcjonowanie, poddrzewa mog ą być delegowane do innych serwerów. Stosuje si ę dwa logicznie wykluczaj ących si ę drzew. Pierwsze z nich mapuje nazwy hostów na adresy w formie bezpośredniej. Drugie drzewo to drzewo tzw. Zapyta ń odwrotnych i zawiera rekordy PTR. W tym przypadku dokonywane jest odwzorowanie 4.255.20.192.in-addr.arpa na nazw ę hosta. Osoba kontroluj ąca pewn ą część drzewa mapowania odwrotnego, może sprawić że będzie ono podawało fałszywe informacje. W ten sposób rekord drzewa, któremu ufa system, może zawierać niewła ściw ą nazw ę stacji. 17
Zarz ą dzanie adresami i nazwami (5/6) DNSsec Wszystkie zestawy RRset w bezpiecznym obszarze maj ą przypisane rekordy SIG. Publiczne klucze (podpisane) znajduj ą si ę w drzewie DNS, zajmując miejsce certyfikatów. Co więcej, dany obszar może zostać podpisany offline, tym samym ograniczając ryzyko ujawnienia prywatnych kluczy podpisujących dla pewnego obszaru. 18
Zarz ą dzanie adresami i nazwami (6/6) DHCP Protokół dynamicznej konfiguracji hostów DHCP jest wykorzystywany do przydzielania adresów IP oraz dostarczania innych informacji do stacji. Klient w fazie rozruchu systemu wysyła pakiet rozgłoszeniowy UDP, a serwer na nie odpowiada (stały adres na podstawie adresu ethernetowego, albo adres z puli) Zapytania DHCP bez uwierzytelnienia odpowiedzi serwera mog ą stać si ę celem ataków, takich jak DOS, a gdy napastnik ma dostęp do sieci lokalnej może rozpocząć atak polegający na sfałszowaniu ARP 19
Ataki wykorzystuj ą ce luki w protokołach 20
Ataki wykorzystuj ące luki w protokołach (1/7) Ataki blokujące usługi (ataki przez uniemo żliwienie działania) (ang. Denial of Service) Stanowi ą znaczne zagrożenie - mog ą tymczasowo unieruchomić cał ą sieć. Ataki te wykorzystuj ą głównie właściwo ści protokołu IP - mog ą być prowadzone przeciw serwerom na dowolnej platformie systemowej. Programy służące do przeprowadzania ataku są ogólnodostępne i mog ą je stosować osoby z minimaln ą wiedz ą programistyczn ą. 21
Ataki wykorzystuj ące luki w protokołach (2/7) Przykłady Ping of Death Finger of death Usługa Echo i Chargen Smurf lub fraggle Syn Flood Uprowadzenie sesji (session hijacking) Namierzanie sieci ( network snooping) 22
Ataki wykorzystuj ące luki w protokołach (3/7) Finger of death Atak polegający na wysyłaniu zlece ń FINGER do określonego komputera w regularnych odstępach (najczęściej co minut ę) Nieudane próby zakończenia połączenia mog ą szybko przeciążyć system, doprowadzaj ąc do praktycznego zawieszenia innych usług. 23
Ataki wykorzystuj ące luki w protokołach (4/7) Usługa Echo i Chargen echo - odsyłanie nadawcy tego, czego sam wysłał. chargen - odsyłanie pakietu zawieraj ącego pewn ą liczb ę znaków Do atakowanego komputera należ y wysłać spreparowany pakiet, zaadresowany do chargen (zamiana adresu nadawcy na adres atakowanego komputera i usług ę echo). Chargen odpowiada porcj ą znaków i przesyła usłudze echo. Echo odsyła do chargen. 2 maszyny - burza pakietów (ang. packet storm) chargen-echo, echo-echo, chargen-chargen Obrona: zablokowanie zbędnych usług, modyfikacja (ignorowane pakietów przychodz ących z wybranych portów)... 24
Ataki wykorzystuj ące luki w protokołach (5/7) Smurf lub Fraggle Funkcja protokołu ICMP - żą danie echa (ang. echo request) adresowany do wszystkich w określonej sieci żądanie echa, wszyscy na ń odpowiedz ą komputer wysyłający żądanie zostanie zalany odpowiedziami Atakujący musi bez przerwy dostarczać komunikaty z żądaniem echa Obrona: Właściwa konfiguracja routera (nie przepuszczanie pakietów przychodzących z zewnątrz, posiadających adres nadawcy wskazuj ący na komputer wewn ątrz sieci) Ignorowanie żądania echa na adres rozgłaszania (atak z wewn ątrz) 25
Ataki wykorzystuj ące luki w protokołach (6/7) TCP Syn flood Atak polega na wysłaniu do systemu ofiary tysięcy próśb o nawi ązanie połączenia TCP. System odsyła napastnikowi pakiety SYN/ACK jednocze śnie rezerwuj ąc część pamięci na nowo nawi ązan ą komunikacj ę Jednak napastnik nigdy nie wysyła do ofiary pakietu trzeciej fazy nawi ązywania połączenia, w rezultacie ofiara nie może zwolnić zarezerwowanych zasobów. Atak ten może wpłyn ąć także na systemy pomocnicze zapory sieciowe, systemy wykrywania włama ń, przeł ączniki wyższej warstwy, które także musz ą tworzyć za każdym razem now ą pozycj ę w tablicy stanów 26
Ataki wykorzystuj ące luki w protokołach (7/7) Uprowadzenie sesji (session hijacking) Odgadując numer sekwencyjny IP, haker przejmuje istniejące połączenie pomiędzy dwoma komputerami i gra rol ę jednej strony takiego połączenia. Legalny użytkownik lub host zostanie rozłączony a haker dziedziczy możliwo ść dostępu w aktualnej sesji. Możliwo ść tak ą stwarza niewła ściwa implementacja ranodmizacji numerów sekwencyjnych w stosie TCP/IP systemu operacyjnego 27
Ataki wykorzystuj ące luki w protokołach (8/9) Uprowadzenie sesji (session hijacking) Odgadując numer sekwencyjny IP, haker przejmuje istniejące połączenie pomiędzy dwoma komputerami i gra rol ę jednej strony takiego połączenia. Legalny użytkownik lub host zostanie rozłączony a haker dziedziczy możliwo ść dostępu w aktualnej sesji. Możliwo ść tak ą stwarza niewła ściwa implementacja ranodmizacji numerów sekwencyjnych w stosie TCP/IP systemu operacyjnego 28
cos o dnsie, Selinuxie i itd. Koniec: 3