IP, ARP, TCP, UDP, ICMP, DHCP
Transkrypt
IP, ARP, TCP, UDP, ICMP, DHCP
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 Seminarium 2004 – PP, SKiSR 1/29 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). Plan wystąpienia 1. Wprowadzenie 2. Podstawowe protokoły 3. Zarządzanie adresami i nazwami 4. Przykłady ataków typu DOS 5. Podsumowanie Seminarium 2004 – PP, SKiSR 2/100 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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 Seminarium 2004 – PP, SKiSR 3/100 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). Wprowadzenie (2/2) TCP/IP - zbiór protokołów komunikacyjnych ● ● ARPANET 1983 Schemat przepływu danych w sieci TCP/IP : ● Seminarium 2004 – PP, SKiSR 4/100 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). Podstawowe protokoły (1/8) Protokół IP (1/2) ● 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 ● Seminarium 2004 – PP, SKiSR 5/100 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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 ● Seminarium 2004 – PP, SKiSR 6/10 0 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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) Seminarium 2004 – PP, SKiSR 7/100 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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 Seminarium 2004 – PP, SKiSR 8 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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 Seminarium 2004 – PP, SKiSR 9 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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 ● Seminarium 2004 – PP, SKiSR 10 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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 ● Seminarium 2004 – PP, SKiSR 11 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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) Seminarium 2004 – PP, SKiSR 12 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). Zarządzanie adresami i nazwami Seminarium 2004 – PP, SKiSR 13 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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 Seminarium 2004 – PP, SKiSR ● 14 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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 ● Seminarium 2004 – PP, SKiSR 15 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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 ... ● Seminarium 2004 – PP, SKiSR 16 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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ą Seminarium 2004 – PP, SKiSR nazwę stacji. 17 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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. ● Seminarium 2004 – PP, SKiSR 18 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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 ARPSeminarium 2004 – PP, SKiSR ● 19 Ataki wykorzystujące luki w protokołach Seminarium 2004 – PP, SKiSR 20 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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ą. ● Seminarium 2004 – PP, SKiSR 21 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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) Seminarium 2004 – PP, SKiSR 22 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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. Seminarium 2004 – PP, SKiSR 23 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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) ... Seminarium 2004 – PP, SKiSR 24 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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) Seminarium 2004 – PP, SKiSR ● 25 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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 Seminarium 2004 – PP, SKiSR 26 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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 ● Seminarium 2004 – PP, SKiSR 27 Omówienie bezpieczeństwa niższych warstw ( IP, ARP, TCP, UDP, ICMP, DHCP ). 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 ● Seminarium 2004 – PP, SKiSR 28 cos o dnsie, Selinuxie i itd. Koniec: Seminarium 2004 – PP, SKiSR 3