You are on page 1of 13

DDoS - Nowoczesne

metody ataku i obrony


Atak
Micha Garcarz, Janusz Sosnowski

stopie trudnoci

Dokument ma na celu zapoznanie czytelnika z nowoczesnymi


atakami odmowy usugi (DoS - Denial of service), jak rwnie z
ich rozproszon odmian (DDoS - Distributed denial of service).
Celem powyszych atakw jest uniemoliwienie dostpu do usug
informatycznych uprawnionym uytkownikom.

tym artykule zostanie omwiony


szereg popularnych atakw: starsze, zwizane z wykorzystaniem
bdw w implementacjach stosu TCP/IP - takie jak Land, Ping of death, Winnuke czy Teardrop. Nastpnie - klasyczny atak wyczerpujcy
zasoby serwera - Syn flood. W dalszej kolejnoci ataki smurf, fraggle czy UDP echo-chargen
wykorzystujce luki w konfiguracjach routerw.
W ostatniej czci rozdziau zostan omwione
nowsze wersje atakw DDoS - w tym ataki Stacheldraht, Trinoo czy ataki na serwery DNS.

Klasyfikacja atakw DoS

Ataki DoS maj na celu uniemoliwienie dostpu do usug informatycznych uprawnionym


uytkownikom. Ze wzgldu na sposb dziaania mona wyrni techniki majce na celu wyczerpanie zasobw serwera (tak, aby
nie mg oferowa adnych usug) oraz techniki zaburzajce komunikacj pomidzy potencjalnym klientem a serwerem (np: poprzez
zapchanie cza internetowego od strony serwera). Jednoczenie pojawiy si rozproszone
ataki DoS (DDoS) wykorzystujce armi komputerw zombie do przeprowadzania waciwego ataku DoS.

16

hakin9 Nr 2/2007

Land attack

Naley do grupy atakw majcych na celu wykorzystanie niepoprawnej implementacji stosu TCP/IP. Naley ju raczej do atakw historycznych. Atakujcy wysya pakiet TCP SYN z
podmienionym adresem rdowym wskazujcym na ofiar oraz z takim samem portem rdowym i docelowym - wskazujcym na usug
atakowanego serwera. Jak si okazao, na taki
zabieg podatnych byo wiele systemw. Przykadowo cisco: IOS blokowao ruch na 30 sekund. Maszyny windows 95 wieszay si. Atak
mona atwo przeprowadzi przy uyciu publicznie dostpnego programu land.c. Kady
nowoczesny OS powinien by uodporniony na

Z artykuu dowiesz si...

jak klasyfikowa ataki D(DoS),


jak przeprowadzi atak na serwer DNS,
jak broni si przed atakami typu D(DoS).

Powiniene wiedzie...

www.hakin9.org

podstawowe informacje na temat atakw


D(DoS).

DDoS - Nowoczesne metody ataku i obrony

ten typ ataku. Poza tym takie pakiety powinny by wycinane na poziomie firewalla.

Ping of death

Znany te jako Long ICMP attack polega na wysyaniu bardzo duych,


podzielonych na wiele fragmentw
pakietw ICMP. Po ich sklejeniu po
stronie serwera okazuje si, e jego
wielko przekracza dopuszczalny
rozmiar pakietu IP czyli 65535 bajtw. Wiele systemw nie potrafio
sobie z tym poradzi - w tym wczesne wersje windows i Linux. Atak atwo przeprowadzi przy uyciu dostpnych narzdzi (a nawet skryptw z wykorzystaniem hping). W celu obrony naley zaktualizowa system albo blokowa komunikaty ICMP
na firewallu.

Winnuke

Gony swojego czasu atak wykorzystujcy w windows luk polegajc na niepoprawnym obsueniu danych OOB (Out of Band) skierowanych do portw 137-139 (NetBios).
Windows nie potrafi obsuy danych OOB, co skutkowao dziwnym
zachowaniem - od utraty poczenia internetowego po zawieszenie
si maszyny. Atak byo bardzo atwo
przeprowadzi za pomoc graficznych narzdzi spod windows. W celu
jego uniknicia mona wyczy obsug NetBios albo zablokowa na firewallu porty 137-139.

Teardrop

Podobnie jak Land attack wykorzystuje luki w implementacji TCP/IP.


Problem wystpowa w starszych
wersjach Linuxa i Windows. Systemy te niepoprawnie sklejay sfragmentowane pakiety. W przypadku
kiedy atakujcy poda ujemn warto dugoci fragmentu, nie podlegao to sprawdzeniu, przez co rezerwowa on olbrzymi ilo danych na bufor docelowy. Oczywicie t luk ju dawno usunito.
Jednak w ostatnim czasie pojawia
si ich bardzo wiele, zwaszcza w
kernelu Linuxa, ktre umoliwiaj
przeprowadzanie atakw DoS zarwno lokalnych jak i zdalnych. Na
szczcie luki te wykrywa si - zazwyczaj w bardziej zaawansowanych mechanizmach, ktre bywaj niewykorzystane w typowych instalacjach. Jednak w zwizku z tym
dobr regu s czste aktualizacje
systemu.

SYN flood

Celem ataku jest wyczerpanie zasobw serwera. Jest to jedna ze


starszych form ataku, jednak wci
do popularna i skuteczna. O jakie
zasoby moe chodzi? Wikszo
zwizanych ze stosem TCP/IP jest
alokowana dynamicznie. Nale do
nich midzy innymi PCB (Protocol
Control Blocks) - odpowiedzialna za
utrzymywanie informacji o punktach
kocowych UDP (adresy IP i porty

Rysunek 1. Nawizywanie poczenia TCP

www.hakin9.org

dla kadego poczenia) oraz TCP


(TCP Control Blocks) - odpowiedzialna za utrzymywanie informacji na temat stanu kadego poczenia TCP. Tu (ponad to co w PCB) zapisany jest szereg informacji takich
jak numery sekwencyjne i potwierdzenia (oba kierunki), rozmiar okna
segmentu, wartoci zegarw i wiele innych opcji - specyficznych dla
TCP. Ze wzgldu na spory rozmiar
TCB (w Linuksie 140 bajtw) zdecydowano si na stworzenie kolejki dla pocze ,,potwartych''1 ,
czyli pocze TCP, ktre nie zostay jeszcze w peni nawizane. Kolejka ta jest zasobem alokowanym statycznie i globalnie dla caego systemu2. Zawarto w niej tylko podstawowe informacje zwizane ze stanem TCP. S one przekazywane w
nagwku TCP z pierwszym pakietem SYN (na przykad MSS). Dopiero gdy poczenie zostanie uznane
za otwarte (stan ,,ESTABLISHED'')
tworzone s dla niego odpowiednie
rekordy TCB. Domylny rozmiar kolejki pocze nasuchujcych dla
Linuxa to 1024 3.
Jak moe wyglda potencjalne
zagroenie ? Do atakowanego serwera wysyane s tysice pakietw
TCP z ustawion flag SYN. Serwer
po odebraniu takiego pakietu rezerwuje rekord w kolejce pocze nasuchujcych, po czym odsya odpowied potwierdzajc z ustawion flag SYN i ACK. Atakujcy jednak nie koczy inicjalizacji poczenia TCP (poprzez odpowied z flag
ACK). Efektem tego na serwerze jest
duo ,,potwartych'' pocze TCP
(pocze w stanie SYN_RCVD). Jeli caa kolejka pocze nasuchujcych zostanie zapeniona nie bdzie
akceptowa on ju adnych nowych
pocze TCP, przez co uprawnieni
uytkownicy nie bd mogli skorzysta usug TCP na tym serwerze. Zaskakujce moe by to, e do takiego ,,zatkania'' serwera wcale nie potrzeba bardzo szybkiego cza, ani
olbrzymiej iloci pakietw. atwo to
policzy. Kade poczenie z kolejki pocze nasuchujcych jest losowo usuwane(gdy kolejka jest pena a nadszed nowy pakiet SYN)

hakin9 Nr 2/2007

17

Atak

z prawdopodobiestwem 1/N , gdzie


N to rozmiar kolejki. Jednoczenie
kady serwer ma szereg zegarw
TCP. Jednym z nich jest RTT (Round Trip Time), ktry jest wyliczany
(szacowany) przez serwer na podstawie statystyk aktualnych transmisji. Okrela on czas jaki serwer bdzie oczekiwa na odpowied z flag
ACK na wysany przez siebie pakiet
SYN,ACK. Po upyniciu tego czasu odpowiedni rekord z kolejki pocze nasuchujcych bdzie usuwany. Atakujcy musi wic wysya
tak ilo pakietw SYN, ktra zagwarantuje nadpisanie kadego rekordu w tej kolejce zanim upynie
RTT. Zamy, e RTT oszacowany
przez serwer wynosi 200ms a rozmiar N kolejki to 1024. W takim wypadku naley wysya co najmniej
N/RTT=5120 pakietw na sekund,
co przy najmniejszym rozmiarze pakietu rwnym 64B daje 320KB/s co
da si osign przy czu 3Mbit lub
szybszym. W efekcie mona zablokowa serwer Linuxowy z czem
155Mbit.
Dzi wikszo nowoczesnych
systemw wspiera mechanizmy
chronice w duym stopniu przed tego typu atakiem. FreeBSD domylnie wspiera Syncookie[8] z Syncache[9]. Kernel Linuxa posiada niestety tylko wsparcie dla Syncookie
(niestety nie kompilowane domylnie). Mechanizmy te zostan omwione szerzej w dalszej czci artykuu. Innym prostym zabezpieczeniem jest zwikszenie kolejki pocze nasuchujcych np:

tym przypadku ICMP echo) na adres rozgoszeniowy sieci. Pakiety te wysyane s z podmienionym
adresem rdowym IP. Wszystkie hosty w docelowej sieci po odebraniu takiego pakietu odpowiadaj ICMP reply przesyajc go podmienionemu adresowi rdowemu,
ktry staje si celem ataku. Na jeden pakiet wysany przez atakujcego, moe odpowiedzie nawet
kilkaset hostw, wic wzmocnienie tego ataku jest znaczne. Przykadowo - wysyajc pakiety z prdkoci 512kbit/s przy wzmocnieniu
100 serwer docelowy jest obciony strumieniem danych o przepywie 50Mbit/s.
Dzi wikszo routerw zapobiega rozprzestrzenianiu si tego rodzaju pakietw rozgoszeniowych. Ponadto wiele routerw filtruje komunikaty ICMP. Aby zabezpieczy si przed tymi atakami mona
zablokowa moliwo rozgaszania
pakietw IP na ca sie. Dla systemw BSD:
sysctl -w net.inet.ip.directedbroadcast=0

dla cisco IOS:


no ip directed-broadcast

na wysyaniu rozgoszeniowych pakietw UDP, na ktre zwracane s


odpowiedzi ICMP o nieosigalnym
porcie (ICMP typ 3, kod 3). Zapytania UDP oraz ICMP Port Unreachable s filtrowane znacznie rzadziej ni pakiety ICMP Echo request i Echo Reply. Jednak wyczenie moliwoci broadcastu na adresy IP skutecznie zabezpiecza przed
tym atakiem.

UDP chargen-echo

Rzadko dzi spotykana forma ataku.


Ma na celu sprzenie usug UDP,
z ktrych jedna wypisuje dane (np:
chargen) a druga zwraca je z powrotem. W tym celu atakujcy wysya pakiet UDP z adresem i portem
rdowym wskazujcym na usug echo oraz docelowym wskazujcym na usug chargen. W wyniku
tego usuga chargen wyle dane do
usugi echo, ktra zwrci je do chargen i tak w kko. Aby zabezpieczy
si przed t form ataku naley powycza niewykorzystywane usugi UDP i zawsze zwraca uwag na
tak potencjalnie niebezpieczne usugi jak echo.

Ataki aplikacyjne

Fraggle attack

Jest to starsza forma ataku, bardzo


podobna do smurf, jednak zamiast
ICMP echo i reply fraggle polega

Jest to caa grupa atakw majc na


celu wykorzystanie sabego punktu konkretnej aplikacji dziaajcej na
serwerze. Zaliczy mona do nich
ataki na serwery IRC, www, smtp

Intruder

sysctl -w net.ipv4.tcp_max_syn_

Master

Master

Master

backlog=8192

co 8-krotnie (w stosunku do standardowych wartoci) zwikszy wymagania na przepustowo cza dla


potencjalnego atakujcego.

Smurf attack

Naley do grupy atakw majcych na celu zapchanie cza lub(i) wykorzystanie zasobw atakowanego serwera. Polega na efekcie ,,wzmocnienia'', ktre mona
uzyska wysyajc pakiety IP (w

18

hakin9 Nr 2/2007

Victim
Control traffic

Attack traffic

Rysunek 2. Architektura Stacheldraht i innych systemw DDoS

www.hakin9.org

DDoS - Nowoczesne metody ataku i obrony

to dla atakujcego wzgldnie bezpieczna forma dziaania, gdy co


si dzieje, wwczas wystarczy zatrze lady na komputerach zarzdzajcych. Jakie s wady tego systemu ? System jest atwy do wykrycia zarwno na zarzdcy jak i zombie. Wida pootwierane porty TCP.
Nie s stosowane adne techniki
modyfikacji kernela majce na celu ukrywanie procesw czy plikw.
Forma obrony: jak przed kadym
wirusem czy koniem trojaskim: aktualizowa system, firewall ze cile
dopasowanymi reguami, program
antywirusowy.

Trinoo

Rysunek 3. Stacheldraht - przykadowa sesja


i wiele innych. Podatne s zwaszcza serwery aplikacyjne poczone z
bazami danych, gdzie wysanie jednego zapytania generuje spory ruch
czy te du ilo oblicze na serwerze (duy wspczynnik wzmocnienia). Ataki te s specyficzne, zale od architektury aplikacji i nie bd one tutaj dokadniej omawiane.

Stacheldraht

Zaliczany jest do atakw DDoS - Distributed Denial of Service. Ataki takie wykorzystuj wiele innych komputerw, ktre mog peni rol zombie. Dla porwnania smurf czy fraggle ich nie wykorzystuj i mimo, e
wykorzystuj wiele niewinnych hostw jako wzmocnienie nie s klasyfikowane jako DDoS. Jeli jednak
kontrolowana armia zombie zaatakuje docelowe serwery za pomoc
dowolnej techniki DoS to jest ju to
uwaane za DDoS. Stacheldraht jest
koniem trojaskim robicym z zaraonych komputerw zombie, ktre s kontrolowane przez komputery zarzdzajce (master) a te z kolei s kontrolowane przez atakujcego. W kadej chwili armia hostw
moe dosta od atakujcego rozkaz

przeprowadzenia zmasowanego ataku na dowolny cel. Narzdzie umoliwia przeprowadzenie z komputerw


zombie wikszoci znanych form
ataku DoS. Rozprzestrzenia si wykorzystujc rnorodne luki (jak robak) poprzez email, www, icq i inne
protokoy.
Program klienta (atakujcego) czy si z komputerami zarzdzajcymi przez TCP/16660 - interfejs przypomina telnet (uwierzytelnianie poprzez haso). Komunikacja ta jest szyfrowana przy pomocy algorytmu blowfish. Komputery zombie zgaszaj si do zarzdzajcych przy pomocy TCP/65000
oraz ICMP. Stacheldraht umoliwia
komputerom zarzdzajcym automatyczn aktualizacje oprogramowania na zombie poprzez wydanie
polecania .distro, po ktrym wspomniane komputery poprzez komend rcp cigaj najnowsz wersj
trojana z podanej wczeniej przez
.distro strony. Kady zombie ma zakodowany adres IP komputerw zarzdzajcych (przy uruchomieniu
czy si z zarzdc). Ten za nie
zna adresu IP atakujcego - tylko
nasuchuje i czeka na rozkazy. Jest

www.hakin9.org

Poprzednik Stacheldrahta. Znacznie prostszy, o trj warstwowej architekturze, ale umoliwia jedynie
ataki UDP. Oprcz standardowej
- tekstowej wersji, powstaa rwnie nakadka pod windows - wintrinoo - co przyczynio si do duej
popularnoci tego narzdzia wrd
mao zaawansowanych uytkownikw sieci. Trinoo nie wykorzystuje
ICMP do komunikacji. Posiada te
same wady co Stacheldraht. Forma
przeciwdziaania i obrony: podobnie
jak Stacheldraht.

TFN

Tribe flood network - poprzednik Stacheldrahta. Znacznie prostszy, te


o trj warstwowej architekturze,
umoliwia wicej atakw ni Trinoo,
jednak nie wykorzystuje szyfrowania
i uwierzytelniania. Posiada te same
wady co Stacheldraht. Forma przeciwdziaania i obrony: podobnie jak
Stacheldraht.

Ataki na serwery DNS

W ostatnim czasie bardzo modne


s ataki DDoS przeprowadzane na
serwery DNS. Zazwyczaj znacznie atwiej unieruchomi serwer
DNS odpowiedzialny za rozrnianie nazwy domenowej na dany IP
ni dobrze skonfigurowany i zabezpieczony serwer docelowy. Wikszo uytkownikw nie zna na pami adresu IP serwera udostpniajcego usugi, z ktrych korzysta
wic jest to do skuteczny atak.

hakin9 Nr 2/2007

19

Atak

Jednoczenie ma on znacznie wikszy zasig, poniewa potencjalnie


uniemoliwia dostp do wikszej iloci serwerw. Jeli celem jest bardzo popularny serwer, jego adres IP
i nazwa domeny moe by kaszowana przez inne serwery DNS, co
moe zmniejszy skuteczno ataku. Czsto serwery DNS sieci lokalnych peni funkcje kaszujce dziki
czemu korzystajcy z nich uytkownicy mog by przez pewien czas
odporni na atak na docelowy serwer
DNS, poniewa ich lokalny DNS kaszujcy nie kontaktuje si z docelowym serwerem DNS tak dugo jak
dugo dla danego rekordu dns wpis
jest aktualny zazwyczaj jest to 1
dzie (default TTL).

Ataki z uyciem
serwerw DNS

Kolejn, bardzo chtnie wykorzystywan form atakw jest uywanie


serwerw DNS jako wzmacniaczy
ataku. Na dodatek spraw pogarsza
fakt, e w sieci jest bardzo wiele serwerw zwanych open resolver. Pozwalaj one na rekursywne zapytania caemu wiatu (zamiast tylko zaufanym hostom). Jest tu analogia do
terminologii open relay stosowanej
w przypadku serwerw SMTP, ktre pozwalaj na wysyanie wiadomoci z podanego serwera wszystkim
uytkownikom internetu - zamiast
tylko niektrym (uwierzytelnionym
w jakikolwiek sposb). atwo wyobrazi sobie atak, w ktrym do poredniczcego serwera DNS wysane jest rekursywne zapytanie o fikcyjn domen hackin9.org ze sfaszowanym adresem rdowym IP1.
Zapytanie to jest maksymalnie zminimalizowane i (w zalenoci od nazwy domeny) zawiera okoo 60 bajtw. Pytamy o wszystkie typy rekordw4. Poredniczcy serwer DNS
zacznie wypytywa po kolei serwery
DNS - zaczynajc od korzenia, a w
kocu otrzyma odpowiednie dane. W
zalenoci od wybranej domeny moe to by nawet kilkaset bajtw, ktre zostaj zwrcone pod sfaszowany adres IP1, ktry jest celem ataku. W RFC1035 maksymalny rozmiar UDP jest okrelony na 512. Da-

20

hakin9 Nr 2/2007

tagramy UDP s preferowane tam


gdzie to moliwe. Segmenty TCP
s narzucane dla transferw strefy.
Uycie UDP jest konieczne do przeprowadzenia ataku ze wzgldu na
sfaszowany adres rdowy. 5. Jeli przyj, e uda si osign 500
bajtw odpowiedzi mona uzyska
wzmocnienie ponad 8, co oznacza
e przy strumieniu 1Mbit/s ze strony atakujcego serwer docelowy
jest zalewany strumieniem 8Mbit/s.
Co daje moliwo zadawania pyta rekursywnych ? Mona kontrolowa, ktre serwery DNS bd odpytywane zanim odpowied zostanie odesana do ofiary. Mona rwnie odpytywa sam ofiar (serwer
DNS danej organizacji, ktry czsto
jest w tym samym segmencie sieci
co atakowany serwer). Zalet techniki wzmocnienia przez DNS jest to
e datagramy UDP/53 s przepuszczane przez wikszo routerw w przeciwiestwie do np: ICMP echo
i reply uywanego przez smurf. Jednak to dopiero pocztek. Okazuje si, e mona uzyska znacznie
wiksze wzmocnienie. Coraz bardziej popularne staj si rozszerzenia protokou DNS zdefiniowane np: w RFC2671, ktre umoliwia
udzielanie odpowiedzi w datagramach UDP przekraczajcych rozmiar 4000 bajtw. Wystarczy tylko
znale odpowiedni serwer DNS,
a wtedy wzmocnienia rzdu 70 s
moliwe. Przy uyciu narzdzi takich jak Stacheldraht, kontrolujc
nawet niewielk liczb zombie np:
1000, mona uzyska wzmocnienie rzdu 70000, czyli atakujc strumieniem 64kbit/s mona zapcha cze 4Gbit/s. Aby wyszuka serwery
EDNS wystarczy napisa skrypt wysyajcy jakiekolwiek zapytanie, po
czym sprawdzi odpowied pod ktem rozszerzonego pola RCODE (w
ktrym pole VERSION wynosi 0.).
Mona te wysa rozszerzone zapytanie i jeli RCODE odpowiedzi
jest inny ni NOTIMPL, SERVFAIL
czy FORMERR wwczas jest dua
szansa na to, e to serwer EDNS.
Badania pokazuj, e liczba serwerw, zarwno dawniej jak i dzi, pozwalajcych wszystkim na wykony-

www.hakin9.org

wanie zapyta rekursywnych wynosi okoo 75%[1],[3] a nawet 80%[2].


Aby zabezpieczy si przed tego typu atakami naley wyczy na serwerze moliwo obsugi zapyta
rekursywnych dla niezaufanych hostw. Dobr praktyk jest te ograniczenie moliwoci transferu strefy (cho tutaj nie ma bezporedniego zagroenia jeli chodzi o DDoS).
Naley pamita jednak, e powysze kroki nie gwarantuj ochrony,
poniewa i bez zapyta rekursywnych mona przeprowadzi atak
DDoS. Na dodatek ofiar mog
pa dobrze zabezpieczone sieci
i serwery, ktry zostay zaatakowane
poprzez sabo zabezpieczonych porednikw. W celu ochrony przed tego typu atakami zaleca si zastosowanie mechanizmw, o ktrych bdzie mowa w kolejnych rozdziaach.

Masowe ataki (D)DoS

Ostatnio pojawio si kilka publikacji zwizanych z analiz wykrywalnoci masowych atakw DDoS. W
[4],[5] autorzy argumentuj e posiadajc milion komputerw pod
swoj kontrola mona przeprowadza ataki DDoS, ktre s na tyle
rozproszone, e wykrycie ich przy
uyciu dzisiejszych technik wydaje
si by niemoliwe. Kady z komputerw zombie wykonuje najzwyklejsze poczenie z usug serwera. Nie sposb rozrni poprawnych pocze dokonywanych
przez uprawnionych uytkownikw
od pocze dokonywanych przez
zombie. Z punktu widzenia atakujcego setki tysicy komputerw w
jednej chwili prbuj poczy si
z ofiar. Zaatakowany serwer nie
ma praktycznie adnej moliwoci
obrony przed takim atakiem. Jest
to bardzo powany problem, ktry wraz ze wzrostem iloci maszyn
podczonych do Internetu bdzie
si nasila. W celu zapobiegania albo przynajmniej minimalizowania
takiego ataku potrzebne s kompleksowe dziaania na wiksz skal. Nale do nich: instalacja wydajnych mechanizmw wykrywania
DDoS w wielu punktach sieci takich
jak styk midzy ISP a uytkownika-

DDoS - Nowoczesne metody ataku i obrony

mi, routery brzegowe czy firewalle


maych i duych firm podpitych do
Internetu.

Obrona przed atakami


(D)DoS

W tym rozdziale zostanie omwiony


szereg mechanizmw zwizanych z
obron i przeciwdziaaniem atakom
DDoS. Na pocztku dokonana zostanie prba klasyfikacji systemw
obrony po czym przeanalizowane
zostan sposoby rozmieszczenia
detektorw oraz najprostsze techniki i narzdzia, ktre mona potocznie wykorzysta w celu przeciwdziaania lub zmniejszania skutkw
atakw DDoS. Nastpnie zaprezentowane zostan mechanizmy zwizane z namierzeniem sprawcy ataku takie jak ICMP Traceback, IP Record Route Traceback oraz IP Traceback. W dalszej czci mechanizmy Syncookie i Synache, majce
zabezpiecza przed atakami Syn
flood. Potem DnsGuard pracujcy
jak DNS proksy - majcy na celu zabezpieczenie przed atakami z uyciem serwerw DNS jako wzmacniaczy. Nastpnie system DWARD
umiejscowiony blisko rda ataku.
Na koniec system SPUNNID bazujcy na nienadzorowanej sieci neuronowej ART-1.

Klasyfikacja

Przede wszystkim trzeba si zastanowi, co znaczy obrona przed


atakami DDoS. Czy to znaczy, e
do takiego ataku nigdy nie dojdzie
z racji zastosowanych mechanizmw? Oczywicie takie systemy
istniej. Jednak zazwyczaj ich implementacja wie si z gruntownymi zmianami w funkcjonowaniu
IP, bd protokow wyszej warstwy, ktre maj by chronione.
W takich sytuacjach trzeba stosowa kosztowne, nierzadko - sprztowe rozwizania. Implementacja takich rozwiza na szersz
skal jest mao prawdopodobna.
Wiele innych systemw dokonuje znacznie mniejszych modyfikacji zwizanych z protokoem, jednak z zwizku z tym posiada wiele wad i ogranicze. Takim przyka-

dem moe by Syncookie. Dlatego


czsto stosuje si rozwizania hybrydowe jak np: poczenie Syncookie z Syncache. Inne systemy takie jak DnsGuard czy DWARD nie
wymagaj dokonywania adnych
zmian w protokole lecz peni jedynie funkcje porednikw pomidzy klientem a serwerem. Osobn grup stanowi systemy namierzajce majce na celu ledzenie i
wykrywanie atakw. Mona do nich
zaliczy techniki zwizane z ICMP
czy IP Traceback. Bazuj one na
takiej modyfikacji routerw biorcych udzia w przekazywaniu pakietw, aby do kadego z tych pakietw (albo tylko niektrych) dodawa pewne informacje, ktre pozwol odbiorcy na okrelenie i namierzenie oryginalnego nadawcy
tych pakietw. Bez uycia takich
systemw takie namierzanie moe by skutecznie uniemoliwione
przez spoofing. Systemy te wic
nie chroni przed atakami, ale pozwalaj na namierzenie sprawcw.
Inn grup stanowi systemy, ktre wykrywaj ju trwajcy atak i minimalizuj jego skutki np: blokujc
ruch pakietw ktre s przyczyn
ataku. Budowa i implementacja takiego systemu wydaje si prosta:
wystarczy przed routerem brzegowym firmy wstawi czarn puszk, ktra bdzie blokowaa wszelkie ataki a przepuszczaa dozwolony ruch. Jednak okazuje si to niezwykle trudne. Przede wszystkim:
jak rozrni pakiety IP, ktre pochodz od uprawnionych uytkownikw a jak te, ktre s czci ataku DDoS ? Nawet jeli uda si odpowiedzie na poprzednie pytanie,
to co zrobi dalej ? Czy zablokowa
konkretne adresy IP ? Jeli tak, to
ktre ? Trzeba pamita o tym, e
podczas atakw DDoS adresy rdowe pakietw s prawie zawsze
faszowane. Na te i wiele innych pyta nie udao si na razie udzieli
jednoznacznej odpowiedzi, dlatego
badania w tej dziedzinie trwaj. Powstaje wiele specjalizowanych systemw, ktre s skuteczne tylko
w pewnych okolicznociach. Jest
wiele innych klasyfikacji systemw

www.hakin9.org

ochrony przed DDoS. Jedn z nich


moe by umiejscowienie detektora, co zostanie omwione dokadniej w nastpnym rozdziale.

Umiejscowienie
detektora DDoS

Warto przeanalizowa, poniewa


wnioski te s wsplne dla wikszoci systemw. Jakie s zalety umiejscowienia blisko celu ataku ? Przede wszystkim wida cay ruch wic mona atwo wykry,
e nastpi atak DDoS. Jednak bardzo trudno rozpozna, jaka cz
ruchu odpowiada za ten atak oraz
kto jest atakujcym. Ze wzgldu na
due natenie ruchu potrzebne s
due wymagania co do wydajnoci
sprztu analizujcego ruch. Takich
wad nie ma w przypadku ulokowania detektora blisko rda ataku. Wtedy ruch jest niewielki, atwiej wykry i zablokowa pakiety
ze sfaszowanymi adresami rdowymi. Jednak w przypadku zmasowanych DDoS z bardzo dobrym rozproszeniem nie da si wykry ataku, poniewa wyglda on jak zwyczajny ruch. Innym problemem - raczej socjologicznym - jest to, e administratorzy takich sieci niechtnie
implementuj takie zabezpieczenia,
poniewa su one ochronie innych sieci a nie ich (chroni internet
przed atakiem z ich sieci). Ostatnia
moliwo to ulokowanie detektora
w sieci szkieletowej. Przez routery
szkieletowe przepywa bardzo wielki ruch, dlatego stosuje si tam bardzo wyspecjalizowane mechanizmy
detekcji. Takim przykadem moe
by technika PCF(Prtial Completion
Filter)[6], ktra umoliwia analiz i
detekcj bez zapamitywania stanu
kadego poczenia TCP. Jednak
trzeba pamita o mechanizmie routingu IP i tym, e pewne pakiety
mog przechodzi przez pewien router szkieletowy, ale mog wraca
przez zupenie inny router. Z zwizku z tym zaburzona moe by rwnowaga symetrycznoci zapyta i
odpowiedzi - co niestety wyklucza,
albo znacznie utrudnia wykorzystanie szeregu technik detekcji. Najlepszym wyjciem wydaje si by

hakin9 Nr 2/2007

21

Atak

stosowanie detektorw wyspecjalizowanych - kady w innym miejscu sieci.

Proste mechanizmy

Zostan tutaj omwione proste rozwizania, ktrych implementacja


jest szybka a jednoczenie nie amie adnych specyfikacji protokow TCP/IP. Oczywicie oferowany poziom zabezpieczenia tych rozwiza pozostawia wiele do yczenia, jednak jest to zawsze jaka forma obrony.

Iptables

Uytkownicy systemu Linux maj do


dyspozycji bardzo przydatne rozszerzenia iptables zwane Path-O-Matic.
Jednym z moduw ktrego mona
uy jest fuzzy implementujcy mechanizmy logiki rozmytej (TSK FLC).
Przykadowo:
iptables -A INPUT -m fuzzy --lowerlimit
100 --upper-limit 1000 -j REJECT

Poniej 100 pakietw na sekund


filtr jest nieaktywny, od 100 do 1000
redni poziom akceptowalnoci bdzie spada ze 100% dla 100 pakietw na sekund do 1% dla 1000 pakietw na sekund. Powyej tej wartoci poziom akceptowalnoci bdzie wynosi 1% (czyli rednio 99%
pakietw zostanie odrzucona). Mona rwnie wykorzysta modu iplimit, na przykad:

li dokadn ciek, po jakiej ma nastpi atak:

iptables -A INPUT -p icmp --icmp-type

iptables -A INPUT -m ipv4options --ssrr

iptables -A INPUT -m recent --name

set -j DROP
-j DROP

Mona rwnie samemu wyci


wszystkie opcje IP:
iptables -t mangle -A PREROUTING -j
IPV4OPTSSTRIP

Innym zagroeniem s due komunikaty ICMP. Mog by one oznak


ataku DoS lub te np: tajnych polece przesyanych do maszyn bdcych pod kontrol rootkitw. Dlatego mona wykorzysta modu
length:

http
-m iplimit --iplimit-mask 8
--iplimit-above 4 -j REJECT

pozwoli na dostp do serwera


www, jeli dla kadej klasy A ilo
nowych pocze bdzie poniej 4
na sekund. Jeli zastosujemy mask 32 to ograniczenie to bdzie
naoone na kady pojedynczy adres IP.
Warto rwnie skorzysta z moduu ipv4options w celu odrzucenia
pakietw, ktre wykorzystuj opcj
dokadnych punktw routowania.
Atakujcy moe w ten sposb usta-

22

hakin9 Nr 2/2007

badguy
--rcheck --seconds 60 -j DROP

co zablokuje na kolejne 60 sekund


uytkownikw, ktrzy prbowali
przesa ICMP echo.
Aby zabezpieczy si przed
spoofowanym atakiem z wartociami TTL osigajcymi 1 (odpowied ICMP time exceeded) mona blokowa pakiety z TTL mniejszymi ni 2:
iptables -A INPUT -m ttl --ttl-lt 2 -j
DROP

Mona rwnie prbowa nakada


quote na ilo danych przesanych w
pakietach SYN:

Pod Linuxem mona oczywicie prbowa radzi sobie z atakami DoS


konstruujc odpowiedni mechanizm sterowania przepywem jak
CBQ[11]. Jednak takie rozwizanie
mogoby przynie sensowny skutek tylko w przypadku , gdy s jasno okreleni uprzywilejowani uytkownicy, bdcymi gwnymi odbiorcami usugi. Wtedy adresy te byyby
skierowane przez filtr (np: u32) do
kolejki dajcej szersze pasmo, natomiast caa reszta uytkownikw trafiaaby do kolejki o znacznie wszym pamie. To rozwizanie jednak
nie ochroni przed atakami Syn flood
i spoofingiem.

iptables -A INPUT -p tcp --syn

ipfw

iptables -A INPUT -p icmp --icmp-type


echo-request -m length
--length 90:0xffff -j DROP

co spowoduje wycicie wszystkich


ICMP echo-request z rozmiarem powyej 90 bajtw.
Warto rwnie skorzysta z pkttype do blokowania komunikatw
broadcast czy multicast np:
iptables -A INPUT -m pkttyp
--pkt-type broadcast -j DROP

--dport http -m quota --quota 10000 -j


iptables -A INPUT -p tcp --syn --dport

echo-request -m recent --name badguy --

ACCEPT

po czym blokowa pakiety SYN


przekraczajce t quot (np: dla niezaufanych hostw).
Czasami warto odrzuca pewn
liczb pakietw np:

Uytkownicy FreeBSD nie maj a


takiego wyboru jeli chodzi o moliwoci firewalla (w sumie pf ma podobne moliwoci co do ipfw wic
nie bdzie omawiany oddzielnie). Co
prawda mona np: blokowa 20%
ICMP echo:
add 1000 prob 0.8 allow icmp

iptables -A INPUT -p icmp --icmp-type


echo-request -m random --avarage 90 -j
DROP
co odrzuci 90% pakietw ICMP echorequest.

Mona rwnie prbowa kara


czasowo niedozwolone zachowanie np:

www.hakin9.org

from any to any in icmptypes 8

Jednak brakuje wielu innych opcji


zwizanych z quot, dostpem czasowym, karami czasowymi czy kontrol dugoci pakietw. Podobnie
jak dla Linuxa CBQ uytkownicy rodziny BSD maj do dyspozycji ALTQ. Do ograniczania pasma bardzo

DDoS - Nowoczesne metody ataku i obrony

dobrym mechanizmem jest rwnie


dummynet.

e si to z szeregiem problemw
jest to rozwizanie opcjonalne a
niektre routery mog nawet wyci te dodatkowe pola. Najwikszym problemem jest jednak rozmiar pola opcji. Pole IP header len
to tylko 4 bity wic cay nagwek IP
jest ograniczony do 15 sw 32-bitowych (60 bajtw). Odejmujc niezmienn dugo nagwka IP (20
bajtw), opcj RR (3 bajty), pozostaje 37 bajtw co pozwala zapisa
do 9 adresw IP. Niestety jest to za
mao. Na dodatek atakujcy moe
wygenerowa pakiety IP ju z jakimi opcjami, ktre zajmuj cenne
miejsce w nagwku, co praktycznie mogoby cakowicie zniwelowa
uycie powyszej techniki. Dlatego
nie jest ona szerzej uywana.

ICMP traceback

ICMP traceback jest technik, ktra nie suy do wykrywania czy zapobiegania atakom DDoS. Suy do
namierzania rda wzgldnie duej
liczby pakietw. W tym celu routery
przekazujce pakiety musz raz na
okoo 20000(do dostrojenia) przesanych pakietw wysa nowy komunikat - ICMP Traceback, w ktrym
zawarte s dane o pochodzeniu tego pakietu. Dziki temu podczas ataku DDoS atakujcy dostanie pewn liczb pakietw ICMP traceback,
ktre po odpowiednim sklejeniu poka mu ca ciek ataku. Wad tego rozwizania s komunikaty
ICMP, ktre s czsto filtrowane. Poza tym atakujcy moe wysya faszywe ICMP Traceback. W tym celu zaproponowano ju uycie infrastruktury klucza publicznego, jednak
na razie nic si nie przyjo na szersz skal.

IP traceback

Jest nowsz i lepsz technik namierzania. Rozrnia si dwie wersje tej techniki: Node sampling i Edge sampling.

Node Sampling

IP Record Route Traceback

Do nagwka IP doklejana jest nowa opcja z tylko jednym 32 bitowym


adresem. Kady router na ciece
z pewnym maym prawdopodobiestwem p wpisuje w to pole swj adres IP. Atakowany po odebraniu duej liczby pakietw jest w stanie odtworzy ciek ataku. Wystarczy

Do namierzania atakujcego mona rwnie wykorzysta routery,


ktre routowayby pakiety IP uaktywniajc opcj IP Record Route. Dziki temu kady kolejny router doklejaby swj adres IP do pola opcji nagwka IP. Jednak wi-

Routers
in path

Marked
packets

porwna iloci pakietw z tymi samymi adresami IP. Im mniej jest pakietw z danym adresem IP tym bliej rda znajduje si router z tym
adresem. Wad tej metody, oprcz
doklejania niestandardowej opcji do
nagwka IP, jest niemoliwo namierzenia wielu rde ataku. Jeli
nastpuje on z wielu adresw (wiele cieek) na raz nie da si ich odtworzy. Obie wady eliminuje kolejna technika.

Edge Sampling

Wszystkie dodatkowe informacje zapisuje si w 16-bitowym polu Identification nagwka IP. Normalnie wykorzystywane jest ono do
sklejania sfragmentowanych pakietw IP. Zakada si wic, e fragmentacja nie bdzie wykorzystana.
Jest to do racjonalne zaoenie,
jeli uwzgldni si, e dzi wiele routerw, ze wzgldw bezpieczestwa nie przekazuje sfragmentowanych pakietw IP. Edge Sampling
polega na tym, e kady router z
pewnym maym prawdopodobiestwem prbuje dokona zapisu informujcego o ciece. Wymagane
tutaj pola to start address, end address oraz distance field. Pierwszy
router, ktry postanowi dokona zapisu wpisuje swj adres w pole pocztkowego adresu, po czym ustawia dystans na 0. Kady kolejny ro-

Path reconstruction
at victim

a
a

b
b

c
c

c
c

d
c

d
victim

Reconstructed
path

Rysunek 4. Edge sampling - przesyanie adresw jako XOR

www.hakin9.org

hakin9 Nr 2/2007

23

Atak

Address

Hash (address)

BitInterleave

k-1

Rysunek 5. Edge sampling - podzia na k czci


uter, ktry chce dokona zapisu,
wpisuje swj adres w pole kocowe. Kady router, ktry przekazuje
pakiety, bez wzgldu na to czy postanawia dokona zapisu czy nie,
zwiksza o 1 pole dystansu. Atakowany, w celu odkrycia cieek
ataku wykorzystuje podobn zasad jak w Node Sampling. Prawdopodobiestwo jakiegokolwiek zapisu ronie wraz z odlegoci od
rda ataku. Pola startowe i kocowe umoliwiaj wykrycie wielu cieek ataku. Przykadowo jeli atakowany otrzyma przyblion ilo pakietw z tymi samymi wartociami
odlegoci, i rnymi adresami pocztkowymi to znaczy, e s one na
rnych ciekach. Jeli otrzyma
pakiety z tymi samymi wartociami odlegoci, tymi samymi adresami kocowymi, ale ronymi adresami pocztkowymi to wie, e gdzie
pomidzy nastpio poczenie si
cieek. Analiza ilociowa dla kadej grupy pakietw (pogrupowanych wedug dystansu, adresu pocztkowego i kocowego) pozwala
dokadnie stwierdzi gdzie. Oczywicie wszystko przy zaoeniu,
e odebrano du liczb pakietw
- co ma miejsce w przypadku ataku DDoS. Na pocztku wspomniaem, e wykorzystuje si 16 bitowe pole do zapisania tych informacji, a tymczasem wida, e na razie jest to 32+32(oba adresy)+8(dystans)=70 bitw. Dlatego do techniki tej wprowadzono szereg mechanizmw i zabiegw kompresujcych
bdcych kompromisem pomidzy dokadnoci (zalen od ilo-

24

hakin9 Nr 2/2007

ci odebranych pakietw) a rozmiarem doklejanych informacji, dziki ktremu udaje si zmieci w 16


bitach. Pierwsza sztuczka polega
na przesyaniu adresw poszczeglnych routerw jako suma XOR.
Dziki temu wystarczy jedno pole
adresu a nie dwa, a dziki odwracalnoci XOR atwo jest odtworzy
wszystkie adresy zaczynajc analiz od ofiary.
Kolejna sztuczka polega na podzieleniu adresu na k czci i wysyanie na raz tylko jednej z nich
oraz przesunicia informujcego o tym, ktra to cz. Oczywicie zwiksza to ilo pakietw jakie trzeba przesa, jednak przy duej iloci (DDoS) w kocu wszystkie fragmenty kadego pakietu dotr. Ostatnia modyfikacja naprawia
problem, ktry pojawia si przy okazji wprowadzenia drugiej - nie unikatowoci fragmentw. Przy wielu
ciekach ataku moe si zdarzy,
e ofiara otrzyma wiele fragmentw
z tym samym przesuniciem i dystansem, jednak nale one do rnych adresw (sum XOR). Dlatego
wprowadzono prosty mechanizm
detekcji bdw. Adres przepleciono
z jego skrtem - i takie dane powysyano w k fragmentach. Nadal za
kadym razem przesya si tyle samo danych, jednak potrzeba dwa razy wicej pakietw, eby zebra cay sfragmentowany pakiet. Sklejony
pakiet jest akceptowany tylko wtedy,
gdy warto adresu zgadza si ze
skrtem z niego wyliczonym.
Finalnie przesyany fragment ma
rozmiar 8 bitw. W kadej porcji da-

www.hakin9.org

nych jest 8 fragmentw (co daje 32


bity na adres + 32 bity na skrt), wic
na ilo fragmentw s 3 bity. Na dystans wystarcza swobodnie 5 bitw.
W efekcie dostajemy bardzo sprawny i wydajny system sucy do namierzenia rda ataku, modyfikujcy jedynie pole identyfikacji nagwka IP.

Syncookie

Jest technik majc na celu obron przed atakami Syn flood. Polega
na tym, e po odebraniu przez serwer pakietu z flag SYN nie zapisuje
on adnych informacji w kolejce pocze nasuchujcych. Zamiast tego w odpowiedzi SYN,ACK inicjalizuje pole ISN (pocztkowy numer
sekwencyjny TCP) na pewn okrelon warto - zwan ciasteczkiem.
Klient zobowizany jest, zgodnie z
protokoem TCP na odpowiedzenie
pakietem ACK z wartoci numeru
sekwencyjnego rwn ISN+1. Dopiero po odebraniu tej odpowiedzi
serwer odczytuje ciasteczko i sprawdza jego poprawno. Jeli jest poprawne zostaje nawizane poczenie TCP. Jeli nie - pakiet taki zostaje
odrzucony. Serwer utrzymuje 32 bitowy licznik czasowy t zwikszany o
1 co 64 sekundy. Podczas inicjalizacji w ISN zapisywane s: t modulo 32
(5 najmodszych bitw t), skrt MD5
z adresw rdowego i docelowego,
portu rdowego i docelowego oraz
licznika t(24 bity), oraz zakodowane
MSS (3 bity). Po odebraniu odpowiedzi sprawdzana jest warto licznika
czasowego czy jest ona taka sama
(albo o 1 wiksza) od aktualnej wartoci tego licznika na serwerze. Jeli
tak, to znaczy, e odpowied mieci
si w ustalonych ramach czasowych.
Jeli nie - pakiet jest odrzucany. Nastpnie wyliczona jest suma MD5 z
danych nagwka aktualnego pakietu oraz aktualnego t (albo o 1 mniejszego) i porwnana z wartoci z
ciasteczka. Gdyby nie ten etap, atakujcy musiaby wysa tylko 32 pakiety, aby nawiza poczenie (a
tak sprawdzany skrt, bazujc na
wartoci t gwarantuje, e odebrano
poprawn odpowied). Jeli wszystko si zgadza to oznacza, e na-

DDoS - Nowoczesne metody ataku i obrony

Rysunek 6. DnsGuard - tryb iteracyjny


wizywane jest poprawne poczenie. Mechanizm ten ma jednak wiele wad. Naley do nich niemoliwo
przekazania wielu opcji TCP ustalanych przy nawizywaniu poczenia
(bo nie zapisuje ich w kolejce pocze nasuchujcych). Inne to 8 predefiniowanych wartoci MSS (tylko 3
bity), brak retransmisji SYN+ACK jeli ACK si zagubi, niekompatybilno z wieloma rozszerzeniami np:
T/TCP, podatno na ataki ACK flood (serwer musi liczy MD5), problemy firewallami, ktre mog nie blokowa atakw ACK flood, poniewa
uwaaj to za cz ustanowionego
poczenia. Mechanizm ten zaimplementowano jako opcja w wielu systemach (w Linuxie to opcja kernela
CONFIG_SYN_COOKIES).

Syncache

Jest mechanizmem rozszerzajcych systemowe kolejki pocze


nasuchujcych6. Klasyczna kolejka z prawdopodobiestwem 1/N
wyrzuca rekordy informujce o potwartych poczeniach TCP. To
znaczy, e z nadejciem nowego
pakietu SYN statystycznie usuwany
jest jeden rekord z tej kolejki. Ktry ? Losowo wybrany. Syncache dla
kadego potwartego poczenia
rezerwuje znacznie krtszy rekord,
uywa FIFO do wyrzucania najstarszych potwartych pocze oraz
optymalizuje wyszukiwanie i wstawianie nowych rekordw, rozpraszajc rwnomiernie nowe poczenia. Syncache skada si z globalnej
tablicy haszujcej, ktrej elementami jest pewna ilo wiaderek (bucket). Kade wiaderko to lista rekor-

dw - kady opisuje jedno potwarte poczenie. Po nadejciu nowego pakietu SYN wyliczany jest skrt
z adresu i portu rdowego i docelowego oraz pewnej losowej wartoci. Warto tego skrtu decyduje o
tym, do ktrego wiaderka (na ktr
list FIFO) trafi informacja o tym poczeniu. Jeli lista ta jest ju pena,
usuwane jest najstarsze poczenie. Zastosowanie tablicy haszujcej oraz funkcji haszujcej z losow
wartoci ma na celu rwnomierne
rozoenie ruchu pomidzy wszystkie wiaderka. Nawet jeli przyjdzie
kilka identycznych pakietw SYN
trafi one do innego wiaderka. Wic
s one chronione przed selektywnymi atakami. Mona ustala maksymaln ilo rekordw dla caej tablicy haszujcej 7 oraz maksymalny
rozmiar kadego wiaderka 8. Mechanizm Syncache zazwyczaj czy
si z Syncookie. Zwykle Syncookie
jest wyczone, lecz jeli limity Syncache zostan przekroczone zostaje wczony mechanizm Syncookie.

DnsGuard

DnsGuard jest pomysem nieco przypominajcym Syncookie.


Uywa danych wygenerowanych
po stronie serwera do upewnienia
si, e klient korzystajcy z serwera DNS poprzez protok UDP jest
tym, za kogo si podaje. Uniemoliwia to ataki na serwery DNS opisane wczeniej. DnsGuard jest porednikiem midzy serwerem DNS a
klientem. Z punktu widzenia klienta
zachowuje si jak serwer DNS. Moe odpowiada na zapytania rekurencyjne jak i nierekurencyjne. Naj-

www.hakin9.org

pierw zostanie omwiony sposb


dziaania w trybie nierekurencyjnym
- czyli mechanizm odpowiedzi na
pytania nierekurencyjne. Zostanie to
zrobione na przykadzie. Zamy,
e DnsGuard chroni jeden z gwnych serwerw DNS (root serwer).
W pierwszym kroku klient zadaje nierekurencyjne pytanie o domen www.foo.com. DnsGuard przechwytuje zapytanie i bez kontaktowania si z prawdziwym serwerem
DNS odsya odpowied (krok drugi)
mwic o tym, e serwerem NS dla
domeny com jest COOKIEcom. COOKIE konstruuje si podobnie jak
dla Syncookie i jest ono zapisane w
czytelnym formacie (zgodnym z nazw domeny definiowan przez protok DNS). W trzecim kroku klient
wysya kolejne zapytanie w celu zamiany COOKIEcom na adres IP. W
tym momencie DnsGuard sprawdza
poprawno cookie. Jeli jest ono
poprawne, to w czwartym kroku pyta
si chronionego serwera DNS o adres IP serwera NS dla domeny com.
W pitym DnsGuard kroku dostaje
odpowied x, ktr zwraca klientowi w szstym kroku - wrcona odpowied to domena COOKIEcom z adresem x. Dalej klient moe ju poczy si z adresem x, ktry jest serwerem NS dla domen com, po czym
przeprowadzi proces od nowa, uzyskujc tym razem adres serwera NS
dla domeny foo.com.
W trybie zapyta rekursywnych jest troch inaczej. W pierwszym kroku klient wysya zapytanie o
www.foo.com. W drugim DnsGuard
odpowiada, e NS dla www.foo.com
to COOKIE www.foo.com. W trzecim klient przesya zapytanie o adres
IP COOKIEwww.foo.com po czym
nastpuje weryfikacja COOKIE. W
czwartym kroku DnsGuard wysya
zapytanie do chronionego serwera
DNS (przyjmujcego zapytania rekursywne) o adres www.foo.com,
po czym w pitym kroku dostaje odpowied x. W szstym kroku DnsGuard zwraca odpowied klientowi mwic o tym, e adres IP COOKIEwww.foo.com jest COOKIE2.
Jeli przez DnsGuard przepywa
ruch o adresach 1.2.3.0/24 to CO-

hakin9 Nr 2/2007

25

Atak

Rysunek 7. DnsGuard - tryb rekursywny


OKIE2 ma format 1.2.3.y gdzie y
moe przyj warto od 0 do 255.
Teraz klient zna adres IP serwera
NS dla domeny www.foo.com wic
wysya do niego zapytanie o adres www.foo.com (krok 7). Po jego
odebraniu DnsGuard sprawdza, czy
wczeniej zostaa do takiego klienta
wysana informacja o tym, e 1.2.3.y
to NS dla domeny www.foo.com. Jeli weryfikacja COOKIE2 przebiega poprawnie DnsGuard moe jeszcze raz wykona zapytanie do serwera DNS (kroki 8 i 9) albo od razu

Agflow Table

zwrci odpowied uzyskan w korku 5 (krok 10). Strzaki zaznaczone


lini przerywan na obu rysunkach
oznaczaj, e przy kolejnych zapytaniach od tych adresw IP kroki te
bd pominite (adresy te uznane za
zaufane).

DWARD

Jest projektem majcym na celu wykrywanie ataku DDoS w jego wczesnej fazie - w pobliu rda ataku. Skada si z moduw observation, rate-limiting oraz traffic-poli-

Legitimate
Connection List

Classification

Agflow Models

Traffic statistics

Connection Table

Connection Models
RESOURCE ROUTER

OBSERVATION COMPONENT

TRAFFIC-POLICING
COMPONENT

Aglow classification
results

Rate limit calculation


x

f(x-y)

RATE-LIMITING COMPONENT

Rate
Limit
Rules

Rysunek 8. DWARD - architektura

26

hakin9 Nr 2/2007

www.hakin9.org

cing. Obserwacja i zbieranie statystyk ruchu odbywa si dwutorowo. Po pierwsze zbierane s statystyki dla kadego odlegego adresu
IP (zwane agregacj agflow). Kady rekord agflow zawiera dane dotyczce iloci oraz rozmiarw pakietw TCP, UDP oraz ICMP wysyanych w obu kierunkach. Po drugie
zbierane s statystyki dla kadego
poczenia TCP (agregacja connection). Kady rekord opisujcy poczenie zawiera podobne statystyki
jak rekord agflow.
Jednoczenie stworzone zostay
trzy klasy ruchu dla agregacji agflow.
Pierwsza z nich to klasa Normal opisujca ruch, ktrego statystyki zgodne s z normalnym modelem ruchu.
Kolejna to Suspicious uywana do
opisania agflow zgodnego z normalnym modelem, jednak zaklasyfikowanego niedawno do trzeciej z klas:
Attack. Klasa Attack uywana jest do
opisania ruchu niezgodnego z okrelonymi normami.
Modu obserwacyjny porwnuje biece rekordy agflow z normalnym modelem ruchu, po czym decyduje do ktrej z tych klas zaliczy
dany ruch. W tym celu zdefiniowano

DDoS - Nowoczesne metody ataku i obrony

parametr, ktry okrela maksymalny stosunek iloci pakietw wysanych do odebranych. Jego przekroczenie oznacza, e zostao wysanych znaczco wicej pakietw ni
odebrano (prawdopodobnie bez potwierdzenia ACK dla TCP), co jest
jednym z syndromw ataku. Biecy stosunek ilociowy pakietw jest
odpowiednio modyfikowany w przypadku, jeli przez pewien czas nie
otrzymuje si potwierdzenia (jest on
zwikszany w celu wykrycia ataku).
Dziki temu jeli dany /emphagflow
by zaklasyfikowany jako normalny
w przypadku nagego nastpienia
ataku zostanie to szybciej wykryte. Dla TCP dodatkowo wykorzystywane s jeszcze stosunki ilociowe
pakietw TCP z flagami SYN i ACK.
Dla ICMP porwnywane s np: stosunek iloci ICMP echo i reply. Protok UDP nie posiada tak mocnej korelacji dwukierunkowej, wiele
aplikacji wysya datagramy UDP do
odbiorcy bez potwierdzenia. Dlatego tutaj dobrano dwie wartoci graniczne. Jedna z nich okrela maksymaln ilo adresw rdowych
a druga minimaln ilo pakietw
dla danego /emphagflow. Po przekroczeniu obu wartoci ruch klasyfikowany jest jako atak.
Podobn metod wykorzystano
dla agregacji connection. Wyrnione s trzy klasy pocze. Good, Bad
oraz Transient. Modu obserwacyjny
dla kadej agregacji typu connection
przydziela odpowiedni klas. Dla

ATTENTIONAL
SUBSYSTEM

GAIN
CONTROL
+

STM

+
GAIN
CONTROL
+

ORIENTING
SUBSYSTEM

DIPOLE FIELD
+

TCP stosowane s podobne metody klasyfikacji co dla agflow, jednak


z uwzgldnieniem specyfiki poczeniowoci. Przykadowo po wysaniu
pakietu z flag SYN i otrzymaniu SYN+ACK dane poczenie jest klasyfikowane jako Transient. Dla ICMP w
ogle nie buduje si agregacji connection ze wzgldu na bezpoczeniowo protokou. Dla UDP natomiast zdefiniowanych zostao szereg klas ruchu w zalenoci od protokow, takich jak: DNS, NTP, multimedia streaming, VoIP, NFS, aplikacje typu czat oraz gry sieciowe. Dla
kadej z tych klas s cile okrelone reguy dotyczce normalnoci
ruchu. DWARD umoliwia jeszcze
przewidywanie kolejnych numerw
sekwencyjnych dla danego poczenia i w przypadku, gdy s one raco
inne stosuje ograniczanie ruchu dla
takich pocze.
Dla tak zdefiniowanego i spriorytyzowanego ruchu (zarwno agregacje agflow jak i connection) wyliczane s wspczynniki opnienia
tak aby pasmo zajmowane przez
atakujcego (oraz ilo wysanych
pakietw) byy jak najmniejsze. Sterowanie caym ruchem przypomina
troch to znane z TCP. W przypadku wykrycia ataku nastpuje gwatowne przycicie pasma dla danego poczenia (agregacja connection) lub adresu IP (agregacja agflow). Przy zmianie statusu ruchu na
przejciowy lub poprawny nastpuje powolne zwikszanie dostpne-

STM

F2

STM
RESET
WAVE
+

F1

A
+

INPUT
PATTERN

Rysunek 9. Sie ART1

www.hakin9.org

go pasma. Polityka przydziau pasma zaley te od sposobu w jaki


reaguje ruch. Jeli jest on bardziej
elastyczny i ilo przesyanych pakietw dopasowuje si do naoonych limitw pasma, to taki ruch bdzie szybciej je odzyskiwa ni taki,
ktry mimo naoonych limitw cigle prbuje wysya znacznie wiksze iloci pakietw. W przypadku
wykrycia ataku, gwatowno spadku przydzielonego pasma zaley nie
tylko od tego jak bardzo naruszono
granice zdefiniowane przez normalny ruch, ale take od tego, jak dugo ten ruch by zaklasyfikowany jako poprawny.
DWARD jest bardzo ciekawym
i do skutecznym rozwizaniem.
Wikszo atakw wykryta zostaa
w przecigu 4 sekund przy faszywych alarmach nie przekraczajcych 0.01% i jednoczesnym poziomie wykrywalnoci przekraczajcym
98%. Umieszczenie detektora blisko
rda atakw daje du skuteczno wykrycia rda ataku. Problematyczne s jednak masowe ataki
DoS, ktre wygldaj jak zwyczajny
ruch TCP. Atakujcy moe rwnie
prbowa generowa taki ruch, ktry jest minimalnie poniej parametrw bdcych wyzwalaczami ataku.
DWARD do dziaania potrzebuje take aby dane pakiety wracay t sam drog, ktr przybyy, poniewa
wikszo analiz dotyczy stosunku
iloci ruchu przychodzcego do wychodzcego. Du zalet systemu
s jego niewielkie wymagania dotyczce wydajnoci.

SPUNNID

SPUNNID jest jednym z wielu systemw detekcji DDoS bazujcych


na sieciach neuronowych. Opiera si on na nienadzorowanej sieci
ART (Adaptive Resonanse Theory).
Nienadzorowana oznacza, e jest
ona karmiona tylko pewnymi danymi wejciowymi bez dodatkowych,
uprzednio przygotowanych danych
kontrolnych, mwicych o pewnej specyfice (bd kategorii) tych
danych wejciowych. W praktyce
oznacza to, e taka sie moe sama
kategoryzowa ruch sieciowy, po-

hakin9 Nr 2/2007

27

Atak

dzieli go na klastry, z ktrych kady bdzie zawiera tylko ten o konkretnej specyfice - zgodnie z ekstrapolowanym zbiorem cech. Same
sieci ART posiadaj wiele zalet, ktre mona wykorzysta do rozwizania problemw atakw DDoS. Po
pierwsze parametr czujnoci - vigilance, za pomoc ktrego mona
kontrolowa poziom precyzji uczenia sieci i w efekcie jak wiele klastrw powstanie. Ponadto s one
do stabilne - nie zdarza si, aby
jeden wektor testowy zostawa przyporzdkowany raz do jednego klastra, raz do innego. Nie wane w jakiej kolejnoci wektory testowe bd podawane na wejcie - i tak kady z nich zostanie zaklasyfikowany
do tego samego klastra. S rwnie
do plastyczne - co daje zdolno
uczenia si nowych wektorw w takim samym stopniu w kadym etapie trenowania.
Algorytm dla sieci ART jest do
prosty. W pierwszym etapie nastpuje inicjalizacja wektorw wzorcowych sieci (wag) oraz parametru vigilance, ktry mieci si w przedziale (0,1). Kolejna faza to trenowanie
sieci, podczas ktrej podaje si na
jej wejcie kolejne wektory trenujce. Dla kadego takiego wektora trenujcego znajdywany jest najbardziej podobny wektor wzorcowy. Nastpnie sprawdzany jest poziom zrnicowania pomidzy oboma wektorami. Jeli jest wikszy ni
zdefiniowany przez parametr vigilance, to tworzony jest kolejny wektor wzorcowy symbolizujcy powstanie nowego klastra. Jeli nie,
to wektor trenujcy jest klasyfikowany jako nalecy do klastra "najbardziej podobnego" wektora wzorcowego. W takim wypadku odpowiadajcy mu wektor wzorcowy jest odpowiednio modyfikowany, aby lepiej si dopasowa do wektora trenujcego. Dopuszcza si te modyfikacj pozostaych wektorw testowych, aby oddali je od wektora trenujcego. Dla parametru vigilance rwnego 1 wymagane jest
100% dopasowanie wic powstanie
tyle klastrw, ile jest wektorw trenujcych. Dla wartoci rwnej 0 po-

28

hakin9 Nr 2/2007

wstanie tylko jeden klaster. Wybiera si go tak, aby otrzyma wymagan liczb klastrw. W ten sposb
z bardzo duym przyblieniem dziaaj sieci ART9.
Praktyczne realizacje oparte na
ART-1 skadaj si z dwch warstw
F1 i F2. W warstwie F2 aktywowany jest tylko jeden bit odpowiadajcy najlepiej dopasowanemu wzorcowi. Cz sieci zwana Attentional subsystem odpowiada za reakcje na znane wektory wejciowe
oraz dopasowywanie ju istniejcych wektorw wzorcowych. Buduje
ona wektor oczekiwa - top-down,
czcy warstw F2 z F1 i pomagajcy stabilizowa prac sieci10.
Jednak Attentional subsystem nie
jest w stanie plastycznie reagowa
na wektory nowego typu. Do tego suy Orienting subsystem, ktra ma na celu wyliczenie podobiestwa midzy wektorem trenujcym
a wzorcowym i w przypadku za duej rnicy wstawienie nowego wektora wzorcowego. Wicej o sieciach
ART w [14][15].
SPUNNID bazuje na zaprojektowaniu takiej sieci ART-1, dla ktrej powstaj trzy klastry opisujce
ruch11. Moe to by ruch normalny,
znany atak DDoS lub nowy, nieznany atak. W celu wytrenowania takiej
sieci naley z wychwyconych pakietw ekstrapolowa zesp cech, ktre nastpnie s przeksztacane w
odpowiednio znormalizowany binarny wektor trenujcy (a potem, podczas wykrywania wektor testujcy).
W tym celu ustala si okno czasowe T, podczas ktrego wychwytywane si wszystkie pakiety, dla ktrych
wyliczane s cechy, po czym podaje si odpowiedni wektor na wejcie
ART-1. Wzito pod uwag nastpujce cechy: procentowy udzia w caym ruchu pakietw TCP, UDP, ICMP,
procentowy udzia w ruchu TCP pakietw z flagami SYN, SYN+ACK,
ACK, redni rozmiar nagwka oraz
redni rozmiar danych.
Podczas niektrych testw sie
SPUNNID okazaa si do efektywna, osigajc skuteczno wykrywania atakw DoS na poziomie 90% przy bardzo niskim wsp-

www.hakin9.org

czynniku faszywych alarmw. Wad rozwiza opartych na sieciach


neuronowych jest to, e wymagaj one cigego uczenia, im wikszy i bardziej peny zestaw wektorw trenujcych, tym lepiej dziaa sie. Zalet rozwizania SPUNNID jest relatywnie niski nakad wymaganych oblicze w porwnaniu
do innych rozwiza opartych na
sieciach neuronowych. Nie wymaga si tutaj penej analizy kadego poczenia TCP, a jedynie zbiera pewien zestaw statystyk. Dlatego zaleca si jej umiejscowienie blisko celu ataku.

Podsumowanie

Ataki typu DoS ewoluuj nieustannie. Nowoczesne DDoS cigle bazuj na mechanizmach sprzed 10
lat, jednak masowo i ilo uywanych do ataku komputerw czyni je coraz groniejszymi. W ostatnim czasie zaczynaj pojawia si
sieci liczce nawet setki tysice
komputerw, co pozwala na praktycznie bezkarne blokowanie atakami DoS kadego wikszego serwera. Jednoczenie wykorzystywane s coraz skuteczniejsze metody
atakw - chociaby te zwizane z
protokoem DNS i jego rozszerzeniami. Niestety wikszo uywanych powszechnie protokow nie
bya projektowana z myl o bezpieczestwie. Nawet te zaprojektowane niedawno jak ipv6 posiadaj
wiele sabych punktw, ktre z pewnoci bd nadal wykorzystywane
przez atakujcych. Z drugiej strony pojawia si coraz wicej systemw sucych detekcji, namierzaniu i unikaniu atakom. S to zazwyczaj systemy specjalizowane. Skuteczna obrona przed DoS wie si
z kompleksowymi dziaaniami zwizanymi z instalacj takich systemw na masow skal. Wszystko
wskazuje na to, e skala atakw i
straty z nich wynikajce bd stopniowo zmusza administratorw
sieci oraz operatw ISP do coraz
bardziej zdecydowanych dziaa
zmierzajcych do zmniejszenia takich zagroe. Na ile bd one skuteczne ? Czas pokae. l

You might also like