Wykład 3 82
SKANOWANIE PORTÓW 83
Co to jest port? elementu struktury protokołu komunikacyjnego; pojęcie związane z protokołami używanymi w Internecie do identyfikowania procesów działających na lokalnych oraz odległych systemach; jest to jeden z parametrów gniazda sieciowego (socket); 84
TCP TCP (ang. Transmission Control Protocol - protokół kontroli transmisji) Strumieniowy protokół komunikacji między dwoma komputerami. Umożliwia komunikację połączeniową oraz niezawodne przesyłanie danych między komunikującymi się procesami. 85
TCP TCP Posiada mechanizmy pozwalające na utworzenie wirtualnego połączenia, przez które przesyłane są dane wraz z informacjami pozwalającymi kontrolować proces przesyłania danych między nadawcą i odbiorcą. Opisany w RFC 793 86
TCP Bity 0-3 4-7 8-15 16-31 0 Port nadawcy Port odbiorcy 32 Numer sekwencyjny 64 Numer potwierdzenia 96 Długość nagłówka Zarezerwowane Flagi Szerokość okna 128 Suma kontrolna Wskaźnik priorytetu 160 Opcje (opcjonalnie) 160/192+ Dane 87
Flagi w TCP 8-bitowa informacja/polecenie dotyczące bieżącego pakietu CWR - (ang. Congestion Window Reduced) flaga potwierdzająca odebranie powiadomienia przez nadawcę, umożliwia odbiorcy zaprzestanie wysyłania echa. ECE - (ang. ECN-Echo) flaga ustawiana przez odbiorcę w momencie otrzymania pakietu z ustawioną flagą CE URG - informuje o istotności pola "Priorytet" 88
Flagi w TCP ACK - informuje o istotności pola "Numer potwierdzenia" PSH - wymusza przesłanie pakietu RST - resetuje połączenie (wymagane ponowne uzgodnienie sekwencji) SYN - synchronizuje kolejne numery sekwencyjne FIN - oznacza zakończenie przekazu danych 89
Ustanawianie połączenia TCP z ang. three-way handshake Host inicjujący połączenie wysyła pakiet zawierający segment TCP z ustawioną flagą SYN. Numer sekwencyjny jest ustawiany przypadkowo. Host odbierający połączenie, jeśli zechce je obsłużyć, odsyła pakiet z ustawionymi flagami SYN i ACK. Otrzymany numer sekwencyjny jest zwiększany o jeden i odsyłany jako numer potwierdzenia. Aktualny numer sekwencyjny jest ustawiany przypadkowo. Jeśli host odbierający połączenie nie chce lub nie może odebrać połączenia, powinien odpowiedzieć pakietem z ustawioną flagą RST. Inicjujący host wysyła pakiet ustawiając już tylko flagę ACK. Numer sekwencyjny jest ustawiany zgodnie z otrzymanym nr potwierdzenia, a numer potwierdzenia jest ustawiany o jeden więcej od otrzymanego numeru sekwencyjnego. 90
Ustanawianie połączenia TCP c.d. 1 SYN 2 SYN+ACK 3 ACK 91
Zamykanie połączenia TCP 1 FIN 2 ACK 3 FIN 4 ACK 1 FIN 2 FIN+ACK 3 ACK 92
Diagram stanów TCP 93 www.wikipedia.org
Po co skanować porty? Uruchomione usługi Luki w systemie Informacje o systemie operacyjnym 94
TCP-Connect Napastnik wysyła pakiet TCP z flagą SYN W zależności od odpowiedzi znamy stan portu: SYN/ACK port otwarty RST/ACK port zamknięty Napastnik odsyła ACK Pozostaje ślad w logach ofiary 95
TCP-SYN Napastnik wysyła pakiet TCP z flagą SYN W zależności od odpowiedzi znamy stan portu: SYN/ACK port otwarty RST/ACK port zamknięty Napastnik nie odsyła ACK Może nie być śladu w logach ofiary 96
TCP-FIN Napastnik wysyła pakiet TCP z flagą FIN W zależności od odpowiedzi znamy stan portu: brak odpowiedzi port otwarty RST port zamknięty 97
TCP-ACK Napastnik wysyła pakiet TCP z flagą ACK, gdzie wartość ACK odnosi się do połącznia, którego nie było W zależności od odpowiedzi znamy stan portu: brak odpowiedzi port otwarty RST port zamknięty 98
TCP-NULL Napastnik wysyła pakiet TCP bez ustawionej żadnej flagi W zależności od odpowiedzi znamy stan portu: brak odpowiedzi port otwarty RST port zamknięty 99
TCP-XMAS Napastnik wysyła pakiet TCP z flagami FIN, URG, PSH W zależności od odpowiedzi znamy stan portu: brak odpowiedzi port otwarty RST port zamknięty 100
UDP UDP (ang. User Datagram Protocol - protokół datagramów użytkownika) protokół bezpołączeniowy możliwość transmisji do kilku adresów docelowych na raz nie ma narzutu na nawiązywanie połączenia i śledzenie sesji nie ma mechanizmów kontroli przepływu opisany w RFC 768 + Bity 0-15 16-31 0 Port nadawcy Port odbiorcy 32 Długość Suma kontrolna 64 Dane 101
ICMP ICMP (ang. Internet Control Message Protocol) Protokół warstwy sieciowej wykorzystywany w diagnostyce sieci oraz trasowaniu. Opisany jest w RFC 792 Bit 0 7 Bit 8 15 Bit 16 23 Bit 24 31 Typ Kod Suma kontrolna Dane (opcjonalne) Typy: 0 Echo Reply (zwrot echa "odpowiedź na ping") 1 Zarezerwowane 2 Zarezerwowane 3 Destination Unreachable (nieosiągalność miejsca przeznaczenia) 4 Source Quench (tłumienie nadawcy) 5 Redirect Message (zmień trasowanie) 6 Alternate Host Address (alternatywny adres hosta) 7 Zarezerwowane 8 Echo Request (żądanie echa) 9 Router Advertisement (ogłoszenie routera) 10 Router Solicitation (wybór routera) 11 Time Exceeded (przekroczenie limitu czasu) 12 Parameter Problem (Problem z parametrem) 13 Timestamp (żądanie sygnatury czasowej) 14 Timestamp Reply (zwrot sygnatury czasowej) 15 Information Request (żądanie informacji) 16 Information Reply (zwrot informacji) 17 Address Mask Request (żądanie maski adresowej) 18 Address Mask Reply (zwrot maski adresowej) 19 Zarezerwowane dla bezpieczeństwa 20-29 Zarezerwowane 30 Traceroute (śledzenie trasy) 31 Datagram Conversion Error (błąd konwersji datagramu) 32 Mobile Host Redirect (zmiana adresu ruchomego węzła) 33 IPv6 Where-Are-You (Pytanie IPv6 "gdzie jesteś") 34 IPv6 Here-I-Am (Odpowiedź IPv6 "tu jestem") 35 Mobile Registration Request (prośba o rejestrację węzła ruchomego) 36 Mobile Registration Reply (odpowiedź na prośbę o rejestrację węzła ruchomego 37 Domain Name Request (żądanie nazwy domeny) 38 Domain Name Reply (zwrot nazwy domeny) 39 SKIP Algorithm Discovery Protocol 40 Photuris, Security failures 41-255 Zarezerwowane 102 www.wikipedia.org
Skanowanie UDP Napastnik wysyła datagram UDP W zależności od odpowiedzi ICMP znamy stan portu: brak odpowiedzi prawdopodobnie port otwarty ICMP_PRT_UNREACH port zamknięty 103
Skanowanie ICMP Napastnik próbuje wysyłać różne pakiety ICMP np.: echo request timestamp request address mask 104
FTP-bounce Port 20 służy do wysyłania danych Port 21 służy do przesyłania komend Polecenie PORT służy do wskazania na jaki adres IP i port mają zostać wysłane dane 105
Obrona przed skanowaniem Firewall IDS Instalowanie poprawek 106
ATAKI DOS I DDOS 107
DoS (ang. Denial of Service odmowa usługi) Ping of Death Wysłanie do ofiary pakietu ping większego od 65535 bajtów. Teardrop Wysłanie serii datagramów IP z nachodzącymi na siebie wartościami w polach offset field. SYN-flood Zalewanie ofiary segmentami TCP z ustawioną flagą SYN z fałszywych nr IP. Land Wysyłanie do ofiary segmentów TCP z ustawioną flagą SYN z adresem nadawcy ustawionym na adres IP ofiary. 108
DoS Naptha Wysyłanie do ofiary segmentów TCP z ustawioną flagą SYN, a po uzyskaniu odpowiedzi wysłanie segmentu TCP z flagami FIN/ACK. Smurf Wysyłanie pakietu ICMP Echo Request na adres rozgłoszeniowy sieci pośrednika z adresem źródłowym ofiary. UDP-flood Wykorzystuje echo UDP działająca na porcie 7 (odbija datagramy do nadawcy) oraz chargen UDP działający na procie 19 (odpowiada datagramem zawierającym tablice znaków ASCII). Smbnuke Wysłanie spreparowanego pakietu protokołu SMB, który poprzez usługę NetBIOS spowoduje restart. Wymaga otwartych portów 137, 138, 139 oraz systemu Windows NT/2000/XP. 109
DoS Connection-flood Nawiązanie dużej ilości połączeń na tym samym porcie ofiary. Fraggle Jak Smurf ale wykorzystuje UDP echo. Jolt Wysyłanie bardzo dużych i pofragmentowanych pakietów ICMP echo request, których ofiara nie potrafi złożyć (Windows 95 i NT). 110
DDoS (ang. Distributed Denial of Service rozproszony atak odmowy usługi) Trinoo trójstopniowa architektur, wykorzystuje UDP-flooding, nie fałszuje adresów IP i nie szyfruje komunikacji w ramach sieci DDoS TFN dwustopniowa architektura, wykorzystuje: UDP-flooding, SYN-flooding, ICMP-flooding, Smurf, nie fałszuje adresów IP i nie szyfruje komunikacji w ramach sieci DDoS TFN2K trójstopniowa architektura, ataki jak TFN oraz Targa3 i mieszany, fałszuje adresy IP i szyfruje komunikację w ramach sieci DDoS 111
DDoS Stacheldraht trójstopniowa architektura, wykorzystuje: UDPflooding, SYN-flooding, ICMP-flooding, Smurf, ACKflooding, TCP NULL-flooding, fałszuje adresy IP i szyfruje komunikację w ramach sieci DDoS Shaft wykorzystuje: UDP-flooding, SYN-flooding, ICMPflooding oraz atak mieszany, dostarcza moduł prowadzenia statystyk Mstream wykorzystuje: ACK-flooding i fałszowanie adresów IP 112
Projektowanie obrony przed DoS i DDoS Regularne instalowanie łat i poprawek. Filtrowanie pakietów na firewallach. Analizowanie ruchu sieciowego. Stosowanie IDS (ang. Intrusion Detection System) 113
ATAKI NA APLIKACJE I SYSTEMY 114
Złośliwe oprogramowanie - Malware wirusy robaki adware backdoor dialer hijacker keylogger spyware trojany rootkity 115
Ataki związane z DNS DNS-Cache Poisoning Wysłanie do serwera DNS fałszywego rekordu kojarzącego nazwę domeny z adresem IP, który to serwer zapisuje w swojej pamięci cache. Serwer powinien zapamiętywać tylko odpowiedzi na wysłane przez niego pytania i tylko pochodzące z autorytatywnego źródła. 116
Ataki związane z DNS DNS-Spoofing Wysłanie do klienta fałszywej odpowiedzi kojarzącego nazwę domeny z adresem IP. Klient powinien zapamiętywać tylko odpowiedzi na wysłane przez niego pytania i tylko pochodzące z autorytatywnego źródła. 117
Ataki związane z DNS 118 B. Matusiak, Ł. Poźniak. M. Stępień - DNS insecure, Hakin9 6/2007(26)
Obrona przed atakami na DNS Klient systemu może mieć pewność, że otrzymane przez niego dane, od serwera DNS, są wiarygodne i nie zostały podmienione podczas transportu. W protokole tym definiowane są zabezpieczania strefy a nie serwera, dzięki czemu nawet w przypadku włamania do jednego z serwerów autorytatywnych dla danej strefy, bezpieczeństwo systemu jako całości zostaje zachowane. DNSSEC daje także możliwość weryfikacji odpowiedzi negatywnych (ang. authenticated denial of existence of DNS data). 119 B. Matusiak, Ł. Poźniak. M. Stępień - DNS insecure, Hakin9 6/2007(26)
Obrona przed atakami na DNS Statyczne odwzorowania nazw DNSSEC (DNS Security Extensions) Jest protokołem opartym na cyfrowych podpisach, który wykorzystuje mechanizmy kryptografii asymetrycznej bazującej na kluczach publicznych. Umożliwia zapewnienie integralności i możliwość weryfikacji autentyczności pozyskanych danych oraz jednocześnie zabezpiecza informacje DNS przed sfałszowaniem i modyfikacją. 120 B. Matusiak, Ł. Poźniak. M. Stępień - DNS insecure, Hakin9 6/2007(26)
Man In The Middle klient serwer człowiek w środku man in the middle 121 M. Szmit, M. Tomaszewski, D. Lisiak, I. Politowska - 13 najpopularniejszych sieciowych ataków na Twój komputer. Wykrywanie, usuwanie skutków i zapobieganie, rozdział 2 i 3, Wydawnictwo Helion SA 2008
Man In The Middle Próba połączenia się klienta z serwerem jest kierowana do fałszywego serwera lub też przechodzi przez komputer atakującego. Dokonuje się ataku DNS-spoofing lub ataku ARPspoofing. Poprzez przekierowanie zapytania klienta do własnego komputera i przedstawienie mu fałszywego certyfikatu lub klucza publicznego, atakujący uzyskuje dostęp do zaszyfrowanego połączenia. 122 M. Szmit, M. Tomaszewski, D. Lisiak, I. Politowska - 13 najpopularniejszych sieciowych ataków na Twój komputer. Wykrywanie, usuwanie skutków i zapobieganie, rozdział 2 i 3, Wydawnictwo Helion SA 2008
Projektowanie obrony przed MITM Obrona przed atakami ARP-spoofing Obrona przed atakami DNS-spoofing Kontrola certyfikatów Używanie SSL 3 Zasada ograniczonego zaufania 123
Phishing Phishing (ang. password harvesting fishing łowienie haseł) Atak mający na celu pozyskanie poufnych informacji poprzez podszywanie się pod zaufane podmioty (np. banki, sklepy internetowe, aukcje internetowe serwisy aukcyjne, serwisy pocztowe). 124 M. Szmit, M. Tomaszewski, D. Lisiak, I. Politowska - 13 najpopularniejszych sieciowych ataków na Twój komputer. Wykrywanie, usuwanie skutków i zapobieganie, rozdział 2 i 3, Wydawnictwo Helion SA 2008
Pharming 1 atak na serwer DNS atakujący fałszywa strona www serwer DNS 4 odpowiedź z zaatakowango serwera 3 wysłanie zapytania do serwera dns o adres IP strony www 5 połączenie z fałszywą stroną www użytkownik oryginalna strona www 2 próba połączenia ze stroną www 125 M. Szmit, M. Tomaszewski, D. Lisiak, I. Politowska - 13 najpopularniejszych sieciowych ataków na Twój komputer. Wykrywanie, usuwanie skutków i zapobieganie, rozdział 2 i 3, Wydawnictwo Helion SA 2008
UWIERZYTELNIANIE 126
Uwierzytelnianie Uwierzytelnianie jest procesem weryfikacji tożsamości użytkownika lub komputera. Metody uwierzytelniania co wiesz - są to dane uwierzytelniające, które użytkownik zna (hasło, PIN); 127
Uwierzytelnianie co posiadasz - są to dane uwierzytelniające, które użytkownik posiada (token, karta szyfrująca, karta inteligentna, certyfikaty cyfrowe i klucze prywatne) kim jesteś - są to dane uwierzytelniające będące cechami anatomicznymi lub behawioralnymi użytkownika (odcisk palca, obraz tęczówki lub siatkówki oka, geometria dłoni i twarzy, głos, struktura podpisu) 128
Hasła Niebezpieczne sposoby tworzenia haseł: Użycie informacji osobistych np. imię, nazwisko, data urodzenia; Użycie nazw własnych np. Coca Cola, Sprite, Mercedes, Macintosh; Użycie wyłącznie cyfr, małych lub dużych liter; 129
Hasła Dobre hasło charakteryzuje się: Zawiera małe i duże litery, cyfry i znaki specjale. Ma długość minimum 8 (12) znaków. Nie zawiera informacji osobistych. Nie zostało nigdzie zapisane*. Nie ma podejrzeń, że mogło zostać uwidocznione podczas wpisywania. Nie znajduje się w żadnym słowniku, podobnie jak jego odmiana. Nie jest prostą kombinacją lub wzorem np. z klawiatury. 130
Przechowywanie haseł Z wykorzystanie algorytmów mieszania funkcje jednokierunkowe. Dla kont lokalnych w bazie Menadżera Kont Zabezpieczeń SAM (Security Account Manager). W przypadku domeny w bazie AD (Active Directory). 131
Dane biometryczne Dane uwierzytelniające, które zawsze posiada się przy sobie. Uwierzytelniane osób na podstawie cech fizycznych osobnika. 132
Dane biometryczne Dane biometryczne można podzielić na dwa rodzaje: Na dane cech fizycznych (odcisk linii papilarnych, kształt siatkówki oka, kształt twarzy). Na dane cech behawiorystycznych (próbka pisma odręcznego, próbka głosu). Pomiarów biometrycznych dokonują urządzenia i od nich zależy dokładność pomiarów. Nie zawsze legalne w świetle prawa. 133
Uwierzytelnianie jednokierunkowe 134 Praca dyplomowa pt: Centralne systemy zarządzania zasobami i uwierzytelniania, Przemysław Jagieła, 2010
Uwierzytelnianie dwukierunkowe 135 Praca dyplomowa pt: Centralne systemy zarządzania zasobami i uwierzytelniania, Przemysław Jagieła, 2010
Uwierzytelnianie z pośrednikiem 136 Praca dyplomowa pt: Centralne systemy zarządzania zasobami i uwierzytelniania, Przemysław Jagieła, 2010
Typy uwierzytelniania Typ uwierzytelniania Anonimowe Lokalne logowanie Kerberos LM, NTLM, NTLMv2 Podstawowe, zintegrowane Windows, szyfrowane, usługi Passport.NET Przeznaczenie Lokalne i w domenie Lokalne W domenie, interaktywne, w sieci W domenie, interaktywne, w sieci (starsze wersje klientów) Uwierzytelnianie na serwerze WWW 137
Typy uwierzytelniania Typ uwierzytelniania SST/TLS PAP, CHAP, MS-CHAP i MS- CHAPv2 802.1x, PEAP, WPA Certyfikaty Karty inteligentne Przeznaczenie Uwierzytelnianie na serwerze WWW Zdalny dostęp, VPN Sieci bezprzewodowe oraz tradycyjne IPSec, uwierzytelnianie klientów i komputerów, SSL/TLS i karty inteligentne W domenie przy protokole Kerberos i certyfikatach 138
Kiedy stosowany jest który protokół? Windows 2000 i nowsze w domenie Kerberos Windows 2000 i nowsze poza domeną NTLM Windows 9x w domenie LM Windows NT 4.0 w domenie NTLM przy dostępie do zasobu gdy adres serwera jest podany jako nr IP NTLM przy dostępie do zasobu gdy adres serwera jest podany za pomocą nazwy - Kerberos 139
Koniec Wykładu 3 140