Nejčastější typy útoků

Počítačům připojeným k internetu hrozí řada různých typů útoků. Třeba DoS, Ping of Death nebo Teardrops Attack. ...


Počítačům připojeným k internetu hrozí řada různých typů útoků. Třeba DoS, Ping
of Death nebo Teardrops Attack.

Nejčastějším typem útoků jsou takzvané DoS (Denial of Service, odepření služby)
nebo DDoS (Distributed DoS). Jedná se o útoky, při nichž jsou různými způsoby
zahlcovány servery, čímž dochází k jejich vyřazení z činnosti. Motivy tohoto
jednání mohou být různé od pouhé zlomyslnosti či snahy hackera o zviditelnění
až po nějaký praktický účel, jako je třeba přinucení správce restartovat
server, na nějž byl předem umístěný škodlivý kód. Faktem ale každopádně je, že
provést DoS nebo DDoS útok je výrazně jednodušší, než dotyčný server přímo
napadnout.
Hojně zneužívaným typem útoku v této oblasti je takzvaný smurf attack (šmoulí
útok). Ač jeho název nezní kdovíjak hrůzostrašně, je velmi nepříjemnou
záležitostí. Jedná se o útok, jehož cílem je pomocí dalších počítačů zahltit
určitý server. V praxi jsou možné dva modely šmoulího útoku. Především je zde
možnost poslání ICMP echa (takzvaný ping) se spoofovanou (podvrženou) adresou
na velké množství počítačů. Každý z nich pak přebere pakety a odpoví na ně.
Respektive odpoví na podvrženou adresu a protože odpoví korektním způsobem, tak
je výsledný tok dat vyšší než tok dat odeslaný hackerem. Proto se těmto
počítačům využívaným k provedení útoku někdy také říká amplifiers zesilovače
útoku.
Druhý způsob smurf attacku je možné provádět proti host serveru. Spočívá v tom,
že útočník vytvoří velké množství speciálních ICMP požadavků, které pošle na
příslušný server. Vzhledem k tomu, že veřejný paket nemá konkrétního adresáta,
je následně přebrán všemi adresami v síti, které na něj odpovídají (a nevědomky
tak slouží jako zesilovače útoku). Konečný efekt je tedy stejný jako v
předchozím případě.
Velmi podobným typem útoku je takzvaný fraggle, který funguje v podstatě
stejně, ale nepoužívá ICMP, nýbrž UDP. Vlastně se nejedná o žádnou novinku, ale
o jednoduchý přepis zdrojového kódu smurfu. Takže není divu, že se vzápětí
objevil i takzvaný papasmurf attack ("útok taťky šmouly"). Ten zvládá zneužití
ICMP i UDP (může přitom pracovat buď s oběma nebo pouze s jedním vybraným).
Mimochodem, oběti tohoto typu útoku jsou vždy dvě jednak je to vlastní cíl a
jednak počítače použité k jeho provedení (zesilovače).

Obrana
Zjistit, zdali konkrétní počítač či počítače není možné zneužít k výše uvedeným
útokům jako zesilovače, lze poměrně snadno na www.netscan.org. Obranou je krom
jiného zakázání všech paketů se všeobecnou adresu na firewallu.
Výše uvedené útoky řadíme do kategorie útoků provedených hrubou silou a sem
můžeme zařadit i UDP Flood (UDP záplava). Spočívá ve zneužití služby, která pro
testovací účely dokáže generovat pro každý přijatý paket sérii znaků a když k
tomu dokážete přidat UDP echo službu jiného systému, která odpovídá na každý
přijatý znak, neštěstí je zcela hotovo. Výsledkem je totiž nepřetržitý proud
dat mezi dvěma systémy.
Pokud chcete útoku UDP Flood zabránit, tak máte dvě možnosti. První je zakázat
UDP na každém uzlu sítě, druhou je aktivovat na firewallu službu filtrující
všechny UDP požadavky. Nedoporučujeme zakázat všechny UDP (v interní síti totiž
můžete odmítnout i legitimní aplikace), ale stačí zákaz přístupu UDP služeb z
internetu. Tím zabráníte příchodu UDP paketů s podvrženými parametry.

Ach ta specifikace
Dále jsou zde útoky, které využívají nedostatky ve specifikaci TCP/IP. Jinými
slovy: jde o útoky, které se zaměřují na nedokonalosti v příslušných
protokolech. Příkladem budiž takzvaný SYN attack. Než si jej popíšeme, pojďme
se podívat na způsob, jakým TCP/IP navazuje spojení. Tento proces je označován
jako Three Way Handshake (třícestné třesení rukou) a probíhá tak, že aplikace,
která chce komunikovat, posílá příjemci synchronizační paket SYN. Příjemce
zpátky odpovídá potvrzovacím paketem SYN-ACK s požadavkem synchronizace. A
nakonec iniciátor zpátky posílá synchronizační a potvrzovací paket ACK. Spojení
je navázáno a je možné vyměňovat data.
Ještě je potřeba podotknout, že v praxi cílový systém používá takzvanou backlog
queue (frontu nevyřízených požadavků). Ta obsahuje všechny požadavky, na které
byla zaslána odpověď SYN-ACK a od kterých se očekává akceptace ACK. Kamenem
úrazu přitom je, že tato fronta bývá zpravidla relativně malá a že jakmile je
plná, systém musí ignorovat všechny nově příchozí požadavky o komunikaci SYN,
protože si je nemá kam odkládat. (SYN-ACK jsou vyřazeny z fronty jen v případě,
že přijde akceptace ACK nebo když vyprší časový limit, který je ovšem zpravidla
nastaven na relativně dlouhou dobu.)
Cílem SYN útoku je zaplnit backlog queue požadavky, na které se systém nemůže
dočkat odpovědi a které následně znemožní přijímání korektních požadavků o
komunikaci. Hacker zkrátka posílá velké množství požadavků SYN (nejlépe s
neexistující IP adresou, čímž je zaručeno, že na SYN-ACK požadavky nemůže
dorazit odpověď), takže zahltí příslušný server pro regulérní provoz. Backlog
queue je stále plná "legitimních" požadavků a ostatní zájemci o komunikaci mají
zkrátka smůlu.
Podrobnosti o SYN útoku i informace o obraně lze nalézt v článku Internet
Server Unavailable Because of Malicious SYN Attacks na webové adrese
support.microsoft.com/kb/ /q142641/. Obranou je též instalace bezpečnostních
záplat a používání nejnovější verze softwaru, protože SYN útok je velmi
jednoduchým a primitivním útokem, takže se s ním dokáží výrobci aplikací
vypořádat (úpravami délky fronty nebo časového limitu pro její vyprazdňování).
Ke škodě není ani překonfigurování firewallu tak, aby zachytával všechny pakety
s neplatnými IP adresami.
Variací SYN útoku je Land Attack, kdy dochází ke zfalšování IP adresy tak, že
se tato tváří jako IP adresa serveru, na který je vznášen požadavek. Ten tak
posílá SYN-ACK sám sobě ale protože se nesnažil komunikovat, neodpovídá na ně.
Výsledek je stejný jako u SYN útoku: přeplněná fronta a nemožnost komunikace s
korektními uživateli.

Chyby v implementaci
Posledními typy útoků, s nimiž se lze běžně setkat a o nichž zde bude řeč, jsou
útoky využívající chyby v implementaci protokolů TCP/IP. Prvním z nich je Ping
of Death (ping smrti). Jak víme, ping se běžně používá pro zjištění, zda nějaký
server či počítač pracuje. Ve specifikaci IP protokolu je ale povolená
maximální velikost pingového paketu 65 536 bajtů. S jejím překročením se mnoho
systémů nedokázalo vypořádat, takže když hacker poslal ping větší než výše
uvedená hodnota (pro korektní poslání takovéhoto pingu není důvod), tak
způsobil havárii, restart či zatuhnutí tázaného systému.
Chybu v implementaci TCP/IP využívá také Teardrops Attack (útok kapek slz).
Také zde hacker provádí úkon, ke kterému v běžném provozu není důvod a který by
za normálních okolností neměl nastat. IP paket bývá z různých důvodů po cestě
internetem rozdělen na menší části, z nichž je na cílovém počítači složen do
původní podoby a velikosti. Každá z těchto částí pak obsahuje položku s
informací o tom, kterou část paketu nese (například tento IP paket obsahuje
bajty 201 až 400 z původního paketu). Při Teardrops Attacku je nějaký IP paket
záměrně rozdělen do několika částí, a to tak, aby se navzájem překrývaly.
Zatímco v korektním provozu na sebe navazují, tak v tomto případě je cílový
stroj nedokáže zpracovat, neb s touto situací nemusí počítat výsledek je stejný
jako v předchozím případě (havárie, restart, tuhnutí systému).
Oba posledně jmenované typy útoků jsou už starší záležitostí, takže by si s
nimi měly všechny nové aplikace s příslušnými záplatami bez potíží poradit.
Tímto přehledem jsme pochopitelně ani zdaleka nevyčerpali všechny možné typy
útoků. Proto se k této problematice ještě v budoucnosti vrátíme.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.