160 likes | 368 Views
Żaneta Agacka, Katarzyna Zając. Generator liczb losowych a bezpieczeństwo w sieci. Problematyka. Umieszczenie wadliwego pakietu w połączeniu TCP Połączenie TCP używające adresu innej maszyny Spoofing Sets Odporność głównych SO na taki atak.
E N D
Żaneta Agacka, Katarzyna Zając Generator liczb losowych a bezpieczeństwo w sieci
Problematyka Umieszczenie wadliwego pakietu w połączeniu TCP Połączenie TCP używające adresu innej maszyny Spoofing Sets Odporność głównych SO na taki atak
Protokół sterowania transmisją:TCP TCP jest protokołem obsługi połączeniowej procesu użytkowania,umożliwiającym niezawodne i w pełni dwukierunkowe przesyłania strumienia bajtów. NadawcaOdbiorca Aplikacja 1 Aplikacja 2 Aplikacja 1 Aplikacja 2 Pakiet TCP zawierający nr. portu aplikacji 2 + dane Pakiet TCP zawierający nr. portu aplikacji 2 + dane Datagram zawierajacy adres IP odbiorcy + pakiet TCP Datagram zawierajacy adres IP odbiorcy + pakiet TCP
NAGŁÓWEK TCP 0 4 16 32 Port nadawcy Port odbiorcy Numer sekwencyjny( SEQ ) Numer potwierdzenia( ACK ) Offset Rezerwa U A P R S F Okno Suma kontrolna Wskaźnik pilności Opcje i wypełnienie zerami Transmission Control Protocol (TCP) pozwala, aby dane niezawodnie dotarły do celu. Zapewnia on prawidłowe przesyłanie danych we właściwej kolejności. Wykorzystuje właściwości IP do nadawania i odbioru.TCP jest zorientowany na połączenia. Protokół tworzy zatem połączenie logiczne komputer-komputer. W tym celu wysyła przed rozpoczęciem właściwej transmisji danych użytecznych pewną ilość informacji kontrolnych, nazywanych handshake.
Warstwa IP ( Internet Protocol ) IP zapewnia transmisję danych między sieciami.IP nie udostępnia żadnego zabezpieczonego połączenia i nie może przesyłać ponownie utraconych pakietów danych. Każdy pakiet danych IP przesyłany jest do odbiorcy jako niezależny (datagram).Pakiety wysyłane są wprawdzie we właściwej kolejności,niekoniecznie jednak w takiej samej docierają do celu. Ponieważ mogą się przemieszczać różnymi drogami, konieczne są dodatkowe informacje, umożliwiające zrekonstruowanie pierwotnego stanu pakietu. W trakcie transmisji każdy pakiet otrzymuje na początku nagłówek.
Ataki na sieci TCP/IP Typowe skutki przeprowadzonego ataku to: • Nieautoryzowany dostęp wykorzystanie zasobu przez nieuprawnione podmioty, • Podszycie się – spreparowanie danych wskazujących na innego nadawcę, • Wyciek (przechwycenie) danych, • Modyfikacja danych, • Przejęcie połączenia sieciowego, • Odmowa usługi – uniemożliwienie skorzystania z usługi lub degradacja parametrów jej obsługi. Przykład włamania do systemu Celem włamania był komputer o nazwie gruchot pełniący w sieci funkcję serwera. Włamywacz zalogował się na komputer przez konto jednego z użytkowników, który wybrał sobie zbyt proste i łatwe do odgadnięcia hasło. Ponieważ nie znał on dokładnie konfiguracji systemu próbował początkowo różnych metod takich jak uruchamianie gotowych programów, tzw. Exploits, które są łatwo dostępne na stronach o tematyce hackerskiej. Ostatecznie włamał się do systemu za pomocą bardzo prostej metody. Cracker gruchot
Schemat typowego włamania Zwykłe konto 1. Internet 2.Dziura w systemie Konto z uprawnieniami administratora 1’. 4. 3.Ukrycie się w systemie Własne binaria i ”tylne furtki” Konto na innym komputerze
Połączenie TCP (Transmission Control Protocol) • Wygenerowanie Initial Sequance Number (31 bitów stworzonych przy pomocy specyfikacji RFC) specyficznego dla różnych Systemów Operacyjnych • Czy jeśli znamy kolejny ISN to możemy podrobić połączenie z zaufanym hostem? (1985 r.) • Bezpieczeństwo SO w sieci zależy od implementacji generatora liczb losowych!
Generowanie liczb losowych dla ISN Ograniczony zbiór operacji oraz skończona precyzja obliczeń wykonywanych przez komputer zmniejszają losowość wygenerowanych liczb Wiekszą losowość zapewnia uwzględnienie adresu IP (swojego i przeznaczenia), portu źródłowego i docelowego oraz sekretnego klucza losowego w algorytmie generującym liczby losowe
Jak badać czy dany System Operacyjny jest bezpieczny w sieci? Badanie podatności na włamania:1. wygenerowanie ciągu (a[t]) kolejnych numerów ISN (5000 – 50000 liczb) 2. stworzenie A- zbioru punktów (x[t], y[t],z[t]) w przestrzeni 3D:x[t] = a[t] – a[t-1] y[t] = a[t-1] –a[t-2] z[t] = a[t-2] – a[t-3] 3. rysowanie wykresu 3D dla tych punktów i na jego podstawie określenie bezpieczeństwa SO
Punkty równomiernie rozmieszczone – ISN jest generowane losowo (nie ma zależności), system jest bezpieczny. • Punkty rozmieszczone w pewnych skupieniach–można zgadnąć kolejny ISN, system nie jest bezpieczny • Ilustracje ze strony:http://lcamtuf.coredump.cx/oldtcp/tcpseq.html
Przykład –linux 2.4 Na rysunku obok można dostrzec pewne skupienie punktów( w środkowej części ) , jednak występują także chmury , co świadczy o tym , że dany system operacyjny należy do systemów średnio bezpiecznych.
Spoofing Set- zbiór kolejnych przewidywalnych wartości ISB Spoofing-fałszowanie ISN w wysyłanym przez komputer pakiecie sieciowym. Taki atak może służyć ukryciu tożsamości atakującego, podszyciu się pod innego użytkownika sieci i ingerowanie w jego aktywność sieciową, lub wykorzystaniu uprawnień posiadanych przez inny adres. Jeśli zjawisko 3-wymiarowego atraktora dla wcześniej omówionego ciągu (a[t]) jest silne, możemy założyć, że aktualna wartość a[t] będzie zbieżna lub bliska punktowi, który jest na przecięciu zbioru A i linii L opisanej równaniami:L: y[t] = a[t-1] – a[t-2] z[t] = a[t-2] – a[t-3]
Konstrukcja Spoofing Set Do Spoofing Set dołączamy wszystkie punkty na przecięciu linii L i atraktora A. Jeśli tak zbudowany zbiór jest pusty, dodajemy wszystkie punkty z A, które są w pewnym promieniu R1 od linii L i używamy ich wartości x[t] do wyboru numerów do Spoofing Set. Ilustracja ze strony: http://lcamtuf.coredump.cx/oldtcp/tcpseq.html
Bezpieczeństwo głównych systemów operacyjnych Ilustracja badań ze strony:http://lcamtuf.coredump.cx/oldtcp/tcpseq.html • Najbezpieczniejszy system to bieżący OpenBSD • Systemy Windows NT4/95/98, AIX, HPU najbardziej podatne na włamania