Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Prezentace k diplomové práci
1. Obsah
Pˇedstaven´
r ı
ˇ s ı
Reˇen´
Z´vˇr
a e
Rozliˇen´ ˇlovˇk/robot na urovni HTTP pouˇiteln´
s ıc e ´ z e
pro omezen´ DDOS utok˚
ı ´ u
prezentace k obhajobˇ diplomov´ pr´ce
e e a
Bc. Marek Aufart
ˇ
FEL CVUT Praha
6. ˇervna 2012
c
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
2. Obsah
Pˇedstaven´
r ı
ˇ s ı
Reˇen´
Z´vˇr
a e
1 Pˇedstaven´
r ı
Prostˇed´ ˇeˇen´ probl´mu
r ır s ı e
N´zev a c´ pr´ce
a ıle a
Jak poˇadavky rozliˇovat
z s
2 ˇ s ı
Reˇen´
V´bˇr parametr˚
y e u
Vyhodnocov´n´ parametr˚
a ı u
Implementace
3 Z´vˇr
a e
Mˇˇen´
er ı
Shrnut´ı
Dotazy
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
3. Obsah
Prostˇed´ ˇeˇen´ probl´mu
r ır s ı e
Pˇedstaven´
r ı
ˇ s ı N´zev a c´ pr´ce
a ıle a
Reˇen´
Jak poˇadavky rozliˇovat
z s
Z´vˇr
a e
Prostˇed´ ˇeˇen´ probl´mu
r ır s ı e
DDOS - distribuovan´ druh utoku snaˇ´ ı se
y ´ zıc´
pˇet´zen´ c´ dos´hnout jeho odstaven´
r ıˇ ım ıle a ı
Typick´ protokoly HTTP, TCP/UDP, ICMP.
e
N´stroje LOIC, HOIC,...
a
HTTP - Hypertext transfer protocol
RFC 2616, poˇadavek - odpovˇd.
z eˇ
Typicky pˇen´ˇ´ HTML str´nky a objekty, kter´
r ası a e
obsahuj´ (obr´zky, javascript,...).
ı a
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
4. Obsah
Prostˇed´ ˇeˇen´ probl´mu
r ır s ı e
Pˇedstaven´
r ı
ˇ s ı N´zev a c´ pr´ce
a ıle a
Reˇen´
Jak poˇadavky rozliˇovat
z s
Z´vˇr
a e
Zad´n´ pr´ce
a ı a
Rozliˇen´ ˇlovˇk/robot na urovni HTTP pouˇiteln´
s ıc e ´ z e
pro omezen´ DDOS utok˚.
ı ´ u
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
5. Obsah
Prostˇed´ ˇeˇen´ probl´mu
r ır s ı e
Pˇedstaven´
r ı
ˇ s ı N´zev a c´ pr´ce
a ıle a
Reˇen´
Jak poˇadavky rozliˇovat
z s
Z´vˇr
a e
Zad´n´ pr´ce
a ı a
Rozliˇen´ ˇlovˇk/robot na urovni HTTP pouˇiteln´
s ıc e ´ z e
pro omezen´ DDOS utok˚.
ı ´ u
Naj´ parametry v HTTP provozu pouˇiteln´ pro
ıt z e
rozliˇen´
s ı.
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
6. Obsah
Prostˇed´ ˇeˇen´ probl´mu
r ır s ı e
Pˇedstaven´
r ı
ˇ s ı N´zev a c´ pr´ce
a ıle a
Reˇen´
Jak poˇadavky rozliˇovat
z s
Z´vˇr
a e
Zad´n´ pr´ce
a ı a
Rozliˇen´ ˇlovˇk/robot na urovni HTTP pouˇiteln´
s ıc e ´ z e
pro omezen´ DDOS utok˚.
ı ´ u
Naj´ parametry v HTTP provozu pouˇiteln´ pro
ıt z e
rozliˇen´
s ı.
Napsat modul webov´ho/proxy serveru
e
implementuj´ ı vytvoˇen´ rozliˇovac´ algoritmus.
ıc´ r y s ı
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
7. Obsah
Prostˇed´ ˇeˇen´ probl´mu
r ır s ı e
Pˇedstaven´
r ı
ˇ s ı N´zev a c´ pr´ce
a ıle a
Reˇen´
Jak poˇadavky rozliˇovat
z s
Z´vˇr
a e
Zad´n´ pr´ce
a ı a
Rozliˇen´ ˇlovˇk/robot na urovni HTTP pouˇiteln´
s ıc e ´ z e
pro omezen´ DDOS utok˚.
ı ´ u
Naj´ parametry v HTTP provozu pouˇiteln´ pro
ıt z e
rozliˇen´
s ı.
Napsat modul webov´ho/proxy serveru
e
implementuj´ ı vytvoˇen´ rozliˇovac´ algoritmus.
ıc´ r y s ı
Vyzkouˇet rozliˇov´n´
s s a ı.
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
8. Obsah
Prostˇed´ ˇeˇen´ probl´mu
r ır s ı e
Pˇedstaven´
r ı
ˇ s ı N´zev a c´ pr´ce
a ıle a
Reˇen´
Jak poˇadavky rozliˇovat
z s
Z´vˇr
a e
Jak poˇadavky rozliˇovat
z s
Nepracovat na z´kladˇ absolutn´ poˇtu
a e ıho c
poˇadavk˚.
z u
Statistick´ sledov´n´ parametr˚ provozu.
e a ı u
Ned˚vˇˇovat poˇadavk˚m klient˚.
u er z u u
Odpovˇdi webserveru poskytuj´ relevantˇjˇ´
e ı e sı
informace.
Rychl´ (v´konn´) ˇeˇen´
e y e r s ı.
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
9. Obsah
V´bˇr parametr˚
y e u
Pˇedstaven´
r ı
ˇ s ı Vyhodnocov´n´ parametr˚
a ı u
Reˇen´
Implementace
Z´vˇr
a e
V´bˇr parametr˚
y e u
HTTP k´dy odpovˇd´
o e ı
napˇıklad 200 ok, 304 not-modified,
r´
1xx, 2xx, 3xx, 4xx, 5xx.
Typy stahovan´ho obsahu
e
content-type,
text/html, image/*, application/javascript.
ˇ
Casov´ n´roˇnost vyˇızen´ poˇadavku
a a c r´ ı z
pr˚mˇrn´ ˇas dynamick´ho obsahu (vygenerovan´
u e yc e e
str´nky/objekty, PHP skripty),
a
pr˚mˇrn´ ˇas statick´ho obsahu (ˇten´ z disku, obr´zky).
u e yc e c ı a
Identifikace klienta
identifikace klienta podle IP adresy,
user-agent hlaviˇka nen´ d˚vˇryhodn´.
c ı u e a
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
10. Obsah
V´bˇr parametr˚
y e u
Pˇedstaven´
r ı
ˇ s ı Vyhodnocov´n´ parametr˚
a ı u
Reˇen´
Implementace
Z´vˇr
a e
Vyhodnocov´n´ parametr˚
a ı u
Uchov´v´n´ dat
a a ı
Hashtabulka se z´znamy klient˚ + glob´ln´ stav.
a u a ı
Poˇty poˇadavk˚ klienta, poˇty poˇadavk˚ podle
c z u c z u
HTTP k´du, typu obsahu, ˇasu zpracov´n´
o c a ı.
Vyhodnocov´n´ dat
a ı
Porovn´n´ sledovan´ch parametr˚ mezi dan´m
a ı y u y
klientem a glob´ln´ stavem.
a ım
Nastaven´ prahu, kdy je klient povaˇov´n za
ı z a
utoˇn´
´ c ıka.
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
11. Obsah
V´bˇr parametr˚
y e u
Pˇedstaven´
r ı
ˇ s ı Vyhodnocov´n´ parametr˚
a ı u
Reˇen´
Implementace
Z´vˇr
a e
Implementace
Um´ en´ mezi pˇıpadn´ho utoˇn´ a chr´nˇn´
ıstˇ ı r´ e ´ c ıka a e e
servery
Vytvoˇen´ modulu do proxy serveru.
r ı
Proˇ nginx?
c
lehk´ server (web, proxy, e-mail),
y
vhodnˇjˇ´ pro vyˇˇ´ z´tˇˇe neˇ Apache HTTPD,
e sı ssı a ez z
BSD licence, naps´n v C, rozˇiˇiteln´ pomoc´
a sr y ı
modul˚.u
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
12. Obsah
Mˇˇen´
er ı
Pˇedstaven´
r ı
ˇ s ı Shrnut´
ı
Reˇen´
Dotazy
Z´vˇr
a e
Mˇˇen´
er ı
LOIC, HOIC laboratorn´
ı Ostr´ mˇˇen´ je klient
e er ı,
robot?
rozliˇen´ modulem
s ı
rozliˇen´ ˇlovˇkem
s ıc e
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
13. Obsah
Mˇˇen´
er ı
Pˇedstaven´
r ı
ˇ s ı Shrnut´
ı
Reˇen´
Dotazy
Z´vˇr
a e
Shrnut´
ı
1 Rozliˇen´ na z´kladˇ vybran´ch parametr˚ je
s ı a e y u
uspokojiv´.e
2 Nen´ vhodn´ vˇˇit poˇadavk˚m klient˚, ale
ı e er z u u
reakci serveru.
3 Nginx uˇ s´m o sobˇ zvyˇuje odolnost proti
z a e s
r˚zn´m utok˚m.
u y ´ u
4 Pro pˇıpadn´ ostr´ nasazen´ jsou nutn´ upravy.
r´ e e ı e´
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
14. Obsah
Mˇˇen´
er ı
Pˇedstaven´
r ı
ˇ s ı Shrnut´
ı
Reˇen´
Dotazy
Z´vˇr
a e
Dotazy
Posudky a Vaˇe dotazy?
s
Marek Aufart
Zdrojov´ k´dy projektu najdete na https://github.com/aufi/anddos.
e o
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e
15. Obsah
Mˇˇen´
er ı
Pˇedstaven´
r ı
ˇ s ı Shrnut´
ı
Reˇen´
Dotazy
Z´vˇr
a e
Pozn´mky k posudk˚m
a u
Pouˇit´ parametry: HTTP k´dy odpovˇd´ druh
z e o e ı,
obsahu, ˇas zpracov´n´ v´poˇet skore
c a ı, y c
souˇet odliˇnost´ vˇech sledovan´ch parametr˚.
c s ı s y u
Blokov´n´ co nejbl´z klientovi, kde kontroluji s´ˇ.
a ı ıˇ ıt
Odblokov´n´ utoˇn´ jsem zat´ neˇeˇil.
a ı ´ c ıka ım r s
Vˇechny odliˇnosti jsou vyhodnocov´ny, tedy i
s s a
vyhled´vac´ roboti.
a ı
Rozliˇov´n´ na niˇˇ´ vrstv´ch je rychlejˇ´ ale
s a ı zsıch a sı,
m´nˇ ”chytr´”, napˇ. vysok´ z´tˇˇ x DDOS.
e e e r a a ez
Moˇnost zmaten´ algoritmu simulac´ prohl´zeˇe.
z ı ı ıˇ c
Bc. Marek Aufart Prezentace k obhajobˇ DP 6. 6. 2012
e