Professional Documents
Culture Documents
101 Zabezpieczeń Przed Atakami W Sieci Komputerowej
101 Zabezpieczeń Przed Atakami W Sieci Komputerowej
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
101 zabezpiecze
przed atakami
w sieci komputerowej
Autorzy: Maciej Szmit, Marek Gusta,
Mariusz Tomaszewski
ISBN: 83-7361-517-2
Format: B5, stron: 560
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Wstp ............................................................................................. 11
Rozdzia 1. Metody obrony przed atakami prowadzonymi
w warstwie dostpu do sieci ............................................................ 15
Sniffing w sieci o fizycznej topologii magistrali i w sieci wykorzystujcej koncentratory...... 16
Programy wykorzystywane do podsuchu................................................................. 16
Tcpdump ............................................................................................................. 16
Ethereal ............................................................................................................... 17
Sniff v. 1.4 .......................................................................................................... 18
Konfiguracja sieci testowej ....................................................................................... 18
Przeprowadzenie ataku.............................................................................................. 20
Sniffing w sieci zbudowanej przy wykorzystaniu przecznikw ................................... 22
Konfiguracja sieci testowej ....................................................................................... 23
Sniffing w sieci zbudowanej przy wykorzystaniu przecznikw ARP-spoofing.... 24
Przeprowadzenie ataku ....................................................................................... 25
Sniffing w sieci zbudowanej z wykorzystaniem przecznikw MAC-flooding ..... 26
Przeprowadzenie ataku ....................................................................................... 27
Sniffing w sieci zbudowanej przy wykorzystaniu przecznikw
duplikacja adresu fizycznego ............................................................................ 29
Przeprowadzenie ataku ....................................................................................... 29
Antysniffing .................................................................................................................... 30
Zabezpieczenie nr 1. Wykrywanie sniffingu za pomoc testu ARP.................... 31
Zabezpieczenie nr 2. Wykrywanie sniffingu za pomoc testu ARP-Cache ........ 34
Zabezpieczenie nr 3. Wykrywanie sniffingu za pomoc testu ICMP.................. 37
Zabezpieczenie nr 4. Wykrywanie sniffingu za pomoc testu DNS ................... 39
Zabezpieczenie nr 5. Wykrywanie sniffingu za pomoc
pomiarw czasw latencji................................................................................ 41
Zabezpieczenie nr 6. Wykrywanie podsuchu metodami reflektometrycznymi .. 45
Zabezpieczenie nr 7. Wykrywanie ataku ARP-spoofing
za pomoc programu arpwatch ........................................................................ 46
Zabezpieczenie nr 8. Ochrona przed atakiem ARP-spoofing
za pomoc statycznej tablicy ARP................................................................... 48
Zabezpieczenie nr 9. Wykrywanie ataku ARP-spoofing
za pomoc programu ARP-Analyzer ............................................................... 51
Zabezpieczenie nr 10. Lokalne wykrywanie sniffingu........................................ 54
Zabezpieczenie nr 11. Ochrona przed podsuchem
przy uyciu technologii VLAN........................................................................ 55
Spis treci
5
Zabezpieczenie nr 30. Narzdzie Portsentry jako obrona
przed skanowaniem portw w systemie Linux .............................................. 111
Przeprowadzenie prby skanowania portw komputera
zabezpieczonego przez Portsentry ................................................................. 115
Zabezpieczenie nr 31. Osobiste zapory sieciowe jako obrona
przed skanowaniem portw w systemach Windows ...................................... 116
Skanowanie UDP.............................................................................................. 128
Zabezpieczenie nr 32. Wykorzystanie zapory sieciowej iptables
do blokowania prb skanowania pakietami UDP .......................................... 129
Skanowanie ICMP ............................................................................................ 129
Zabezpieczenie nr 33. Wykorzystanie zapory sieciowej iptables
do blokowania prb skanowania pakietami ICMP......................................... 129
Techniki ukrywania przez napastnika skanowania portw...................................... 130
Metody wykrywania systemu operacyjnego (ang. OS fingerprinting) .......................... 131
Pasywne wykrywanie systemu operacyjnego.......................................................... 131
Pasywna analiza stosu TCP/IP.......................................................................... 132
Aktywne wykrywanie systemu operacyjnego ......................................................... 134
Zabezpieczenie nr 34. Zmiana parametrw stosu TCP/IP
w systemie Linux w celu utrudnienia fingerprintingu.................................... 136
IP-spoofing.................................................................................................................... 137
Zabezpieczenie nr 35. Filtrowanie ruchu na zaporze sieciowej
jako zabezpieczenie przed atakami wykorzystujcymi IP-spoofing .............. 137
Zabezpieczenie nr 36. Weryfikacja adresu rdowego
za pomoc funkcji rp_filter ............................................................................ 141
Atak wyboru trasy (ang. Source routing)....................................................................... 142
Zabezpieczenie nr 37. Wyczenie opcji source routing ................................... 142
Zabezpieczenie nr 38. Wykorzystanie uwierzytelniania RIPv2
jako ochrona przed atakami na routery .......................................................... 143
Spis treci
7
Zabezpieczenie nr 66. Wykorzystanie systemu IDS Snort
do wykrywania ataku Trinoo ......................................................................... 200
Zabezpieczenie nr 67. Wykorzystanie systemu IDS Snort
do wykrywania ataku Tribe Flood Network .................................................. 204
Zabezpieczenie nr 68. Wykorzystanie systemu IDS Snort
do wykrywania ataku Tribe Flood Network 2000.......................................... 204
Zabezpieczenie nr 69. Wykorzystanie systemu IDS Snort
do wykrywania ataku Stacheldraht ................................................................ 205
Zabezpieczenie nr 70. Wykorzystanie systemu IDS Snort
do wykrywania ataku Shaft............................................................................ 205
Zabezpieczenie nr 71. Wykorzystanie systemu IDS Snort
do wykrywania ataku Mstream ...................................................................... 206
Spis treci
9
Host trzysieciowy (ang. tri-homed host) ................................................................. 471
Wiele ekranowanych podsieci (ang. split-screened subnet) .................................... 471
Dwa popularne filtry pakietw: Ipfilter i Iptables ......................................................... 472
Ipfilter ..................................................................................................................... 472
IPtables.................................................................................................................... 484
Przygotowanie skryptu z reguami filtrowania.................................................. 491
Konfiguracja systemu linux Redhat 9.0 ............................................................ 493
Konfiguracja systemu Linux Knoppix .............................................................. 494
Rozdzia 3.
Metody obrony
przed atakami DoS i DDoS
Jednym z najbardziej niebezpiecznych, a zarazem popularnych, zagroe w sieciach
komputerowych s ataki DoS (ang. Denial of Service, odmowa usug) w tym ich odmiana ataki DDoS (ang. Distributed Denial of Service, rozproszone ataki odmowa usugi). Ich celem jest unieruchomienie atakowanego serwisu (na przykad serwera
WWW, DNS czy caej atakowanej sieci) za pomoc rnych mechanizmw wykorzystujcych zarwno luki konkretnych systemw operacyjnych, jak i niedocignicia
stosu TCP/IP. Ataki DoS (pominwszy pobudki czysto chuligaskie) mog by podejmowane jako cz szerszych dziaa majcych na celu oszustwo, spenetrowanie
cudzych zasobw bd przejcie nad nimi kontroli (na przykad zablokowanie prawdziwego DNS-a moe by pomocne podczas prowadzenia ataku DNS-spoofing).
Obrona przed atakami DoS sprowadza si przede wszystkim do zainstalowania odpowiednich at na znane luki w systemach operacyjnych oraz do odfiltrowania na zaporze sieciowej pakietw nioscych atak. Do wykrycia atakw DoS i DDoS najlepiej
posuy si analizatorami ruchu sieciowego oraz systemami IDS. W tym rozdziale
zaprezentujemy szereg najpopularniejszych atakw DoS i DDoS oraz sposoby obrony
przed nimi. Jako zapor sieciow wykorzystywalimy linuksowy program iptables, za jako systemu IDS uywalimy Snorta (odpowiednie reguy zostay wzite z aktualnych
w chwili pisania ksiki baz Snorta). Opis instalacji i wykorzystania obu pakietw mona
znale w dodatkach. Zachcamy Czytelnika, aby na podstawie niniejszego rozdziau
sprbowa samodzielnie skonfigurowa zapor sieciow wraz z systemem detekcji intruzw i dynamicznej reakcji (za pomoc opisanego w dodatku C. programu Guardian).
Ataki DoS
Ataki typu DoS generuj duy ruch, co powoduje zaburzanie lub cakowite zablokowanie pracy normalnych aplikacji sieciowych, lub te wykorzystuj sabe punkty stosu protokow TCP/IP dla unieruchomienia atakowanego systemu lub zaburzenia jego
156
dziaania. Niektre z nich s moliwe do przeprowadzenia, poniewa hosty sieciowe przy uwierzytelnianiu polegaj tylko na rdowym adresie IP. Inne istniej, dlatego
e niektre mechanizmy kontrolne i wikszo protokow routingu stosuje sabe metody uwierzytelniania rda, z ktrego pochodzi informacja, bd w ogle ich nie uywa.
Ataki DOS moemy podzieli na trzy grupy:
ataki bazujce na implementacji stosu TCP/IP. Ataki tego typu wykorzystuj
generuj duy ruch, ktry zajmuje pasmo sieciowe. Przykadami atakw tego
typu s Smurf, Fraggle.
Ping of Death
Ping of Death jest do prostym atakiem. Standardy opisujce stos TCP/IP okrelaj
maksymaln wielko datagramu IP na 65536 bajtw. Wiele systemw, szczeglnie
starsze wersje systemw uniksowych i linuksowych, moe ulec uszkodzeniu, zawiesi
si albo zrestartowa, jeli otrzyma datagram IP wikszy od moliwego maksymalnego rozmiaru. Podczas tego ataku tworzony jest i wysyany do systemu ofiary pakiet
ping przekraczajcy 65536 bajtw.
Rysunek 3.1. Regua zapory sieciowej dopuszczajca pakiety ICMP Echo request o wielkoci od 60 do
65535 bajtw
157
Powysza regua przepuszcza tylko pakiety ICMP Echo Request, ktrych rozmiary
mieszcz si w zakresie od 60 bajtw do 65535 bajtw.
Teardrop
Atak teardrop wykorzystuje sabo w procesie skadania po stronie odbiorcy datagramw IP z poszczeglnych fragmentw. Podczas transmisji w sieci publicznej datagram IP przechodzi przez rne routery i sieci, w szczeglnoci takie, w ktrych
maksymalny rozmiar ramki moe by mniejszy ni rozmiar datagramu. W takim
przypadku datagram moe zosta podzielony na mniejsze fragmenty. Kady fragment
zawiera pole offset field, w ktrym wpisana jest informacja pozwalajca na prawidow defragmentacj pakietu. Urzdzenie odbierajce fragmenty skada je w oryginalny
datagram IP uywajc do tego wartoci w polu offset field. Podczas przeprowadzania
ataku teardrop s wysyane serie datagramw IP z nachodzcymi na siebie wartociami w polach offset field. Kiedy system odbiorcy stara si poskada fragment
w cao, zawiesza si bd ulega uszkodzeniu.
Na rysunku 3.2 przedstawiono sposb przeprowadzenia tego ataku. W naszym przypadku pakiety byy wysyane na port 69 komputera o adresie 172.16.30.1.
Rysunek 3.2.
Przykad
przeprowadzenia
ataku Teardrop
Na rysunku 3.3 pokazano przechwycone za pomoc sniffera pakiety generowane podczas tego ataku. Jak wida, s one pofragmentowane.
158
Wykrycie ataku przez Snorta, a nastpnie dynamiczna reakcja za pomoc zapory sieciowej pozwoli na zabezpieczenie si przed tego typu pakietami. Poszczeglne opcje
w regule przytoczonej wczeniej oznaczaj, e alarm ma by ogoszony w przypadku
wykrycia pofragmentowanego (fragbits:M;) ruchu UDP z dowolnego adresu na dowolny adres (alert udp any any -> any any). Pola Id oraz Sid wskazuj indeks reguy
w bazie danych Snorta (ta regua, jak i kolejne przedstawione poniej, zostay zaczerpnite
z najnowszej w chwili pisania ksiki bazy programu Snort).
Atak SYN-flood
Atak SYN-flood wykorzystuje moment nawizania poczenia TCP midzy dwoma
hostami. Kiedy klient w sieci z implementowanym stosem TCP/IP chce nawiza
poczenie z serwerem, nastpuje tzw. three-way-handshake. Skada si on z trzech faz:
1. Klient wysya segment tcp z flag SYN do serwera.
159
Wykonanie tych trzech krokw powoduje ustanowienie poczenia i od tej chwili dane mog by ju wymieniane midzy nadawc i odbiorc. Kade wysanie segmentu
z flag SYN na otwarty port u odbiorcy wymusza na nim odpowied przez odesanie
SYN i ACK i oczekiwanie na potwierdzenie od nadawcy flag ACK. SYN-flood polega na zalewaniu systemu odbiorczego segmentami TCP z ustawiona flag SYN
spod faszywych adresw IP. W tym przypadku ostateczna odpowied (ACK od
klienta) nigdy nie nadejdzie, poniewa odbiorca wysya segment z flagami SYN i ACK
pod faszywy adres IP. Podczas gdy system odbiorcy czeka na potwierdzenie ACK,
ktre nigdy nie przyjdzie, zapisuje wszystkie segmenty SYN i ACK, na ktre nie odpowiedzia w swojej kolejce, zwykle do maej. Po zapenieniu tej kolejki system
odbiorcy bdzie ignorowa wszystkie nowe prby nawizania poczenia SYN. Segmenty z flagami SYN-ACK opuszczaj kolejk w momencie, gdy zostanie odebrane
potwierdzenie ACK od nadawcy albo upynie czas oczekiwania na to potwierdzenie
timeout. Przez ten czas system nie pozwoli na nawizywanie nowych pocze.
Znak () oznacza negacj. W tym przypadku bd przepuszczane tylko pakiety z adresami
rdowymi pochodzcymi z sieci 212.51.2.0/24, pozostae bd odrzucane.
W przypadku sieci lokalnej z prywatn pul adresw np. 10.13.0.0/16, ktra jest ukryta za
NAT-em, aby uchroni si przed atakiem SYN z wntrza naszej sieci, naley dokonywa
translacji tylko dla adresw z naszej sieci lokalnej. Sposb dokonywania translacji adresu
rdowego tylko dla adresw z naszej sieci przedstawiono na rysunku 3.6.
160
Rysunek 3.6.
Translacja
adresw tylko
z prywatnej puli
Atak Land
Atak Land jest podobny do ataku SYN. Tak jak w przypadku ataku SYN, wysyane s
do systemu odbiorcy segmenty z ustawion flag synchronizacji, jednak, podczas gdy
w ataku SYN adres IP nadawcy jest nieosigalny lub jego komputer jest wyczony,
atak Land podmienia adres rdowy na taki sam, jak adres odbiorcy. Serwer odbierajc tak spreparowany pakiet wysya potwierdzenie (pakiet z bitem ACK) na wasny
adres i nawizuje nieaktywne poczenie zaptla swoje dziaanie. Likwidacja nieaktywnego poczenia nastpuje dopiero po upywie czasu ustalonego w systemie
operacyjnym serwera dla nieaktywnych pocze.
Na rysunku 3.8 zaprezentowano sposb przeprowadzenia tego ataku.
161
Rysunek 3.8.
Przeprowadzenie
ataku Land
162
Atak Naptha
Atak ten dziaa podobnie do ataku SYN-flood. Rwnie wykorzystuje moment nawizywania poczenia TCP midzy klientem i serwerem i, analogicznie do ataku
SYN-flood, jego zadaniem jest zajcie caej kolejki pocze serwera i uniemoliwienie korzystania z danej usugi. Rnica w stosunku do zalewania segmentami SYN
polega na tym, e atakujcy wysya pakiety SYN na okrelony port komputera ofiary
i oczekuje na powracajce pakiety SYN/ACK (w przypadku ataku SYN-flood atakujcy wysya tylko pakiety SYN i nic wicej nie robi). Jeli atakujcy zauway pakiety
powrotne SYN/ACK, wysya do ofiary segment z ustawionymi flagami FIN/ACK.
Powoduje to przestawienie serwera w stan tzw. pasywnego zamknicia. Wynika on
std, e serwer po odebraniu segmentu FIN/ACK odsya pakiet FIN i czeka na pakiet
ACK, ktrego nigdy nie otrzymuje. Serwer przechodzi w stan LAST_ACK i oczekuje
na przyjcie ostatniego segmentu ACK. W systemie Windows 98 stan ten utrzymywany jest przez okoo dwie minuty. W tym czasie serwer odrzuca wszelkie prby nawizania z nim poczenia sieciowego (dopty bdzie ignorowa wszystkie pakiety
SYN, dopki nie zwolni si miejsce w kolejce). Zalewajc w ten sposb ofiar sfaszowanymi segmentami SYN atakujcy skutecznie blokuje moliwo korzystania
z danej usugi.
Ograniczeniem tego ataku jest fakt, e napastnik musi generujc faszywe pakiety
SYN podszywa si w nich pod adresy IP z wasnej sieci. Jest to wymg konieczny, aby powracajce od zaatakowanej maszyny pakiety SYN/ACK mogy by zauwaone przez napastnika i tym samym, by mg on wysya poprawnie zbudowane pakiety FIN/ACK. Napastnik musi w pakiecie SYN/ACK odczyta numer sekwencyjny
i na jego podstawie zbudowa poprawny dla ofiary pakiet FIN/ACK. Wysyanie pakietw FIN/ACK z ustawionym niepoprawnym numerem sekwencyjnym zakoczy
si niepowodzeniem, poniewa port ofiary stwierdzi, e pakiety takie nie nale do
danego poczenia.
Na poniszym listingu pokazano sposb przeprowadzania ataku:
15(
15(6&78
&7869'(
163
Rysunek 3.12.
Stany pocze
serwera
po wykonaniu
ataku Naptha
164
Rysunek 3.13.
Prba
ustanowienia
poczenia
z portem 139
ofiary po
wykonaniu
ataku naptha