Příběh jednoho červa, který spustil lavinu

Ještě před několika lety patřilo šíření virů bez zásahu uživatele do oblasti science fiction. Postupem doby se vš...


Ještě před několika lety patřilo šíření virů bez zásahu uživatele do oblasti
science fiction. Postupem doby se však začaly objevovat skripty, které přišly
e-mailem a jen díky jeho přijetí a náhledovému oknu se aktivovaly a většinou
hned rozeslaly na e-maily uložené v adresáři.
Dnes však bohužel přišla doba, kdy uživatel nemusí pro nakažení své stanice a
replikaci červa nic špatného udělat. Stačí, aby měl nezazáplatovaný systém. I
díky tomu se mohl šířit červ Blaster, nazývaný také jako MSBlast nebo LoveSAN.

Ráno zkázy
Bylo pondělí, 11. srpna 2003. Prakticky každý den se odborníci setkávají s
novými viry, respektive červy, kteří se šíří nebo mohou šířit pomocí internetu
po světě. Někteří z nich jsou neškodní a spíše jen zábavní, jiní patří mezi
nebezpečnější. Buď sami vykonávají škodlivou činnost nebo obsahují chyby, které
z původně nevinných dílek dělají potenciální zabijáky.
Toho pondělí byl však poprvé zachycen zcela nový červ nazvaný Blaster. Jeho
autoři využili poměrně známé a popsané chyby v implementaci vzdáleného volání
procedur (RPC) v operačních systémech založených na technologii Windows NT.
Chyba byla známá a existovala pro ni záplata bezplatně dostupný opravný
balíček. Tato chyba umožňovala za určitých okolností spustit na napadeném
počítači prakticky libovolný kód dodaný po síti.
Protože nešlo o využití nějakého nového objevu, ale vlastnosti, která byla již
popsána, nepřepokládalo se, že by tajemný Blaster mohl způsobit větší škody. V
každém případě se ale jednalo o zajímavého červa, už jen metodou rozmnožování.
Díky využití RPC mohl teoreticky napadat pouze systémy Windows NT, 2000 a XP.
Šířil se však zcela jinak než jeho předchůdci. Od uživatele napadeného počítače
se totiž neočekávala žádná aktivita. U všech dosavadních červů šířených
e-mailem musela osoba sedící za postiženým strojem nejprve přijmout a obvykle i
otevřít nakaženou zprávu. Jen tak mohl být vykonán přiložený skript nebo
program představující červa. Nyní ale ne.
Blaster se šířil tak, že skenoval "osahával" port 135 TCP/IP adaptérů na
víceméně náhodných IP adresách. Pokud byl port dostupný a operační systém byl
červem podporován, Blaster se do vybraného stroje poměrně snadno dostal.
Následovala redistribuce červa stejnou cestou do dalších počítačů, což ale
nebyl jeho primární účel.

Napadený svět
Ačkoliv se zprvu nezdálo, že by Blaster mohl představovat výrazné nebezpečí,
nebylo tomu tak. Ta dávno (asi měsíc) známá a záplatovaná chyba RPC totiž
nebyla ani zdaleka opravena na všech operačních systémech. Červ ji ke svému
šíření potřeboval stejně jako jádro NT a otevřený přístupový port. Nechráněný
počítač musel kromě přístupu na internet tedy splňovat ještě další tři
podmínky. I kdyby totiž červ našel například Windows XP bez opravy a měl stálý
přístup na síť, stále je pravděpodobné, že by byl zastaven firewallem
maskujícím volné porty ať už lokálně nebo na úrovni poskytovatele internetového
připojení.
Podle odhadu společnosti Symantec bylo do úterka odpoledne napadeno 127 tisíc
počítačů. Nic není dokonalé, a tak nemohl být dokonalý ani tento nový červ. V
některých operačních systémech vedla jeho instalace k zastavení služby
vzdáleného volání procedur. Na tento případ jsou NT systémy připraveny. Pokud
dojde k ukončení kritické služby, přechází systém do režimu řízeného restartu.
Uživateli je dána časová prodleva (na uložení otevřených souborů), po jejímž
uplynutí dojde k resetu počítače a novému zavedení operačního systému. Právě
samovolné vypínání při každém pokusu o připojení k síti bylo tím, co Blastera
prozradilo. Mnoho počítačů tak bylo na hodiny buď zcela vyřazeno z provozu nebo
bez přístupu k síti. A to ačkoliv existují metody, jak řízený restart přerušit
(nejsou běžně uživatelsky dostupné).
Hodiny plynuly a nový červ se jako lavina dále šířil internetem. Jeho způsob
propagace se ukázal být nesmírně efektivním. Jednak proto, že mnoho ohrožených
operačních systémů nebylo záplatováno, a jednak proto, že ohromné množství
uživatelů nemá firewall buď vůbec, nebo jej nemá nastavený na takovou úroveň
bezpečnosti, aby Blasteru zabránil v napadení stroje.

Zabiják
Každý lidský výtvor má svůj smysl a má ho i Blaster. Poté, co se červ masově
rozšíří, je nastaven jako časovaná bomba. 16.8. a pak každý šestnáctý den v
měsíci má každá kopie červa provést DoS útok na server
windowsupdate.microsoft.com. Ten slouží jako hlavní zdroj aktualizací, ale také
bezpečnostních záplat společnosti Microsoft. Už v minulosti se objevili červi,
kteří se pokoušeli o něco podobného. Například CodeRED měl útočit na servery
administrativy USA.
I do toho přinesl červ Blaster svěží vítr inovace. Jeho útok nebyl směřován na
fyzické stroje serveru, respektive jejich IP adresy, ale na doménu. To
způsobovalo, že i kdyby Microsoft přesunul své servery do jiného adresového
prostoru, útoku by se neubránil za předpokladu, že by o něm dopředu nic nevěděl.
V rekordním čase byly aktualizovány databáze všech předních výrobců
antivirových systémů a objevilo se dokonce několik "jednoúčelových antivirů".
Tyto nástroje, distribuované obvykle bezplatně společnostmi vyvíjejícími
ochranný software, jsou schopny detekovat a odstranit právě jeden konkrétní
škodlivý kód nebo několik jeho variant a slouží leckdy jako jediné řešení pro
uživatele, kteří nejsou vlastníky žádného antivirového softwaru, případně
vlastní takový, který dotyčného červa ještě nezná.
Antiviry však narážely na velkou překážku. Tam, kde Blaster způsoboval
nezastavitelný restart při každém připojení k síti a uživatelé jej nebyli
schopni obejít, nebylo možné je vůbec použít. Odstraňování červa se tak značně
zkomplikovalo.
Poněkud extrémní formou ochrany se stal antičerv. Kód využívající podobnou
metodu šíření jako Blaster instaloval do sebou "napadených" počítačů opravný
balíček proti chybě RPC. Je těžko říci, kolik strojů tak uchránil před výpadkem
nebo zneužitím. Každopádně se stal ukázkou toho, že chyba může být využita i
pro své vlastní odstranění.

Bitva a ráno po ní
Také Microsoft se usilovně připravoval na předpokládaný útok. Protože proti
pouhému přesunutí serverů byl červ pojištěn, byla to práce náročnější než u
předchozích pokusů o útok. Počet zasažených počítačů začal s masivním
záplatováním, konfigurací firewallů a aktualizováním antivirového softwaru
klesat. I ty stroje, které již byly napadeny, nemohly být vždy reálně použity v
útoku.
Servery Microsoftu odolaly. I když došlo k jejich krátkodobému vysazení,
oficiálně se nejednalo o důsledek útoku Blastera. Po 16. srpnu zůstal červ
přítomen stále ve velkém množství strojů. Objevily se navíc jeho varianty
lišící se používaným portem, texty v těle červa a formami útoku. Faktem ovšem
je, že se hrozbě podařilo čelit.
Blaster je nastaven tak, aby v útocích pokračoval prakticky neustále. Nyní však
již nepředstavuje tak velké ohrožení už jen proto, že je znám a že mediální
sláva, jíž se mu dostalo, vedla k obecné informovanosti a k ochraně před
metodou, kterou používá pro své šíření.
Šlo tedy o výhru "dobra" v podobě antivirových společností a uživatelů, nebo
"zla" jako zákeřného červa napadajícího nic netušící uživatele ve snaze
poškodit největší softwarovou společnost světa?
Zřejmě nevyhrál nikdo. I když se Blasterovi nepodařilo uskutečnit to, k čemu
byl vytvořen, a chyba, kterou využíval, se z notné části uzavřela, ve
skutečnosti jen poukázal na ohromné riziko, které může přijít v budoucnu.
Bezpečnostní mezera se podle některých názorů nestává problémem již jen tím, že
vznikne, ale tím, že je objevena.
Blaster využíval známou a popsanou chybu v DCOM/RPC. Avšak jednou může snadno
přijít červ, který využije chybu novou, zatím nepopsanou. Operační systémy
Windows se potenciálními bezpečnostními nedostatky jen hemží, a i když jejich
oprava nebo zablokování je často velmi snadnou záležitostí, vždy je možné jich
využít.
Jen stěží si dokážeme představit, jak velké škody by tento červ mohl napáchat.
Nikdy také nezjistíme, kolik počítačů bylo Blasterem napadeno. Odhady se
pohybují v rozsahu od stovek tisíc po miliony strojů. Také potenciální útok na
Microsoft nebyl jedinou hrozbou. Už jen provedení útoku v masovém měřítku mohlo
zkomplikovat komunikaci na síti, vyřadit některé její prvky a způsobit dočasné
vysazení i těch služeb, které s aktualizacemi Microsoftu vůbec nesouvisejí.

Proč se systémy neaktualizují
V různých operačních systémech existuje velké množství bezpečnostních děr.
Abychom pochopili jejich vznik, musíme si uvědomit, jak složitou soustavou
takový systém je. Obsahuje miliony řádků zdrojového kódu. Skládá se z mnoha na
sobě závislých a provázaných komponent, díky kterým mohou aplikace, a potažmo
celý počítač, fungovat tak, jak se od nich očekává. Bezpečnostní mezery jsou
obvykle syntakticky správnými formami vlastností systému. Jejich využití však
vede k dočasnému narušení integrity systému, ke ztrátě kontroly na činnosti
nějaké části a v konečném důsledku k možnosti spustit na běžícím systému kód,
který nebyl autorizován, není uživatelem nebo samotným systémem vyžádán a který
ho může poškodit nebo využít k poškození něčeho jiného.
Standardní metodou opravy těchto chyb, pokud jsou objeveny, jsou u systémů z
dílny Microsoftu tzv. opravné balíčky. Tyto samoextrakční soubory mají
schopnost měnit systémová nastavení, modifikovat soubory tvořící operační
systém nebo je nahrazovat novějšími variantami.
To vždy znamená zásah do něčeho, co funguje. I když má tento zásah vést k
nápravě objevené chyby, někdy je jeho účinek kontraproduktivní. Nahrazení
systémových knihoven může vést ke snížení kompatibility. Některé aplikace mohou
v důsledku aktualizace operačního systému přestat fungovat a v některých
případech může docházet ke snížení stability, byť toto výrobcem nebylo
zamýšleno.
Druhým důvodem, proč mnoho známých a popsaných chyb zůstává neopraveno, je
lajdáctví uživatelů. I když moderní Windows obsahují funkce automatické
aktualizace, ne vždy jsou tyto funkce aktivní. Ať už z důvodu pomalého přístupu
na síť nebo kvůli jiným příčinám. Z počítačů se tak stávají časované bomby,
potenciální hostitelé nebezpečných červů nebo pasti, které dříve či později
připraví své uživatele o nezálohovaná data.

Co je to DoS a DDoS
DoS (Denial of Service) a DDoS (Distributed Denial of Service) jsou útoky proti
strojům umístěným na internetu nebo v rozsáhlých sítích. Jejich principem je
zavalení napadeného počítače, typicky serveru, požadavky, na které musí
odpovídat. Pokud je těchto požadavků v jeden okamžik více, než kolik jich je
technická kapacita serveru schopna vybavit, dochází k jeho přetížení a server
se stává dočasně nedostupným. Zatímco klasické DoS je reprezentováno útokem z
jediného místa, v případě DDoS se útoku účastní současně velké množství agentů
umístěných v různých strojích. DDoS může být spuštěn buďto dálkovým příkazem z
řídicího počítače (ale kvůli skrytí útočníka spíše z konference, IRC apod.)
nebo jako časovaná bomba při splnění časové podmínky. Právě tímto případem byl
útok Blastera.

Čekání na armagedon
Kausa Blaster jen znovu ukázala riziko, o kterém se v odborných kruzích hovoří
již delší dobu svět je "sesíťován" a mnoho prvků internetu je tvořeno víceméně
homogenním prostředím. Počítače s podobnými operačními systémy, a tedy i
podobnými nedostatky, které nejsou napravovány, se mohou snadno stát cíli
masivního útoku červa nebo jiného škodlivého kódu, který bude, na rozdíl od
Blastera, takřka dokonalý.
Mnoho červů, kteří se zatím objevili, představovalo buď krásnou ukázku využití
technologických nedostatků operačních systémů, nebo nebezpečnost svých tvůrců.
Jen velmi málo z nich však zatím představovalo kombinaci obojího. Je jen
otázkou času, kdy někdo vytvoří rychle se šířící kód se zničujícími
vlastnostmi, dokonalou metodou propagace a perfektním maskováním. Takový
"superčerv" se pak může snadno stát opravdu vážným ohrožením fungování milionů
počítačů na celém světě. A pochopitelně také služeb, které na těchto strojích
běží.









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