Hlavní navigace

Červ infikující celý Internet za 30 sekund? Proč ne.

11. 12. 2001
Doba čtení: 7 minut

Sdílet

Na internetu se objevily, převážně jako reakce na soustavné vyvíjení nových virů a červů, i dva velice zajímavé koncepty. Tím nejzajímavějším na nich je to, že vlastně není zvláště velký problém je převést do reality. Technologie i znalosti jsou k dispozici již poměrně velkému okruhu lidí. Pokud by se tito rozhodli převést oba koncepty do praxe, byli by vzniklí červi, jeden řekněme Flash a druhý jménem Warhol, schopni extrémně rychle infikovat celý Internet (celý zranitelný).

Rychle zde znamená, že tomu pomalejšímu by trvalo řádově 30 minut, než by zasáhl veškeré jím zranitelné stroje na celém internetu, ten rychlejší by to stihl za 30 sekund. Liší se především tím, že jeden předpokládá delší časy potřebné pro přesun ze stroje na stroj a na provádění operací. S rostoucí přenosovou rychlostí linek se realita přiklání spíše k rychlejšímu červu Flash.

Tento článek nepojednává o tom, jak psát viry či červy. Existuje však dostatek míst, kde zájemce získá veškeré potřebné informace. Rozhodně nehodlám pomáhat dalšímu šíření těchto informací, krom toho to není moje parketa a ani nebude. Kdo je mít má, ten si je stejně získá, a ti ostatní je doufejme nezískají. Zdrojové texty, odkazy na arxivy virů či na příslušné stránky tedy rozhodně nečekejte.

Koncept Flash a koncept Warhol

První koncept se zove Warhol Worms: The Potential for Very Fast Internet Plagues a sepsal jej Nicholas C. Weaver (nweaver@cs.berkeley.edu). Vyšel 15. 4. 2001 a název dostal podle tohoto mota:
„In the future, everybody will have 15 minutes of fame.“ -Andy Warhol
(V budoucnosti bude každý mít svých 15 minut slávy.)

Druhý, který vychází z prvního konceptu, se jmenuje Flash Worms: Thirty Seconds to Infect the Internet a jeho autory jsou Stuart Staniford, Gary Grim a Roelof Jonkman. Vyšel na Silicon Defense 16. 8. 2001.

O co se vlastně jedná?

Oba koncepty vycházejí z toho, že vlastní útok viru může být již jen dokončením celé operace. Dnešní viry totiž samy provádějí většinu časově náročných operací, což zde odpadá. Viry či červy se tak soustředí pouze na proniknutí do oběti.
O následných škodách se nebudeme bavit, neboť nikdo opravdu inteligentní stejně nepíše viry či červy proto, aby škodil, nýbrž, aby si dokázal, že to jde. Snaží se překonat všchny před ním, ale zároveň dodržuje klasickou logiku, nesoucí určité etické důsledky, která praví, že Mít moc a zneužít ji umí každý idiot. A ono opravdu dnes jde viry tvořit vcelku snadno, jak o tom ostatně svědčí hitparády virů sestavované renomovanými firmami. A když je navíc k dispozici i generátor červů, tak to zvládnou i skript kiddies, kteří onu výše zmíněnou etiku neznají, místo toho mají příliš mnoho volného času. Ve světle toho i návrh Microsoftu, aby se nezveřejňovaly chyby systémů, své oprávnění má, jen doufejme, že u strkání hlavy do písku to neskončí.

Téměř kdokoli tedy dnes může napsat či upravit stávající kód nějakého viru či červa a spustit ho. Jakmile se červ rozšíří, obvykle nejdéle do několika hodin začnou vycházet patche systémů a updaty antivirových programů, které v několika dnech nákazu zastaví. Červi vytvořené dle Flash a Warhol konceptů však zasáhnou všude tak rychle, že kromě účinné prevence proti nim není obrany.

Pokud je zasažena část organismu, je zbytek většinou stále schopen omezené aktivity, případně úkoly zasažené části nahradí. Dnešní viry neútočí nijak zvlášť systematicky. Oba koncepty však počítají s tím, že by byl napaden opravdu každý počítač mající vhodnou slabinu (prakticky každý OS má slabiny, jen někdy jsou hůře využitelné). Při skutečném útoku by červi dokonce mohli, podle toho, jaký škodlivý náklad by nesli, překročit únosnou hranici a mohli by spustit efekt sněhové koule. V zemi zcela závislé na počítačích, jakou je například USA, kde navíc většina počítačů používá extrémně zranitelné operační systémy, by to mohlo znamenat katastrofu.

Schema obou konceptů

Tvůrce červů (dále v textu budu používat označení wormlord) by tedy postupoval asi takto:

1. Dopředu by nalezl veškeré zranitelné cíle na celém Internetu
V dokumentu je uvedeno více možných taktik, já je zmíním jen heslovitě:

  • Přímé scanování Internetu z jednoho stroje. Při dnešní propustnosti sítí a nastavení software je velmi pravděpodobné, že by proběhlo zcela bez povšimnutí, i kdyby trvalo mnoho dní. Je samozřejmé, že takový stroj lze snadno i později vypátrat, a až na kanadské a holandské teenagery, wormlordi obvykle používají nějaký „cizí“ počítač.
  • Distribuované scanování. Jedná se o vylepšenou verzi předchozího, kdy wormlord použije kompromitované stroje, rozmístěné po Internetu, ke scanování. Tato metoda byla již jednak mnohokrát pozorována „in the wild“, tedy v reálu, a navíc, kdo je schopen proniknout jedním strojem, ten si jich snadno ochočí vícero, získá tak násobnou sílu a tedy řádově zkracuje potřebný čas. Zatímco první případ je použitelný především pro trojpísmenné organizace sedící přímo na prameni, např. na OC12 lince s 622Mbs, distribuovaný scan je zneužitelný prakticky kýmkoli, kdekoli, kdykoli.
  • Stealth scan. Na náhodně vybíraných adresách jsou plně oscanované porty. Bezpečnostní software je obvykle nastaven tak, že ojedinělý scan ignoruje a i oscanování celého internetu by nejspíše při dnešních poměrech nevzbudilo mnoho pozornosti. Aktuální software navíc dokáže scan maskovat.
  • Prohledání DNS databází. Kdo získá snadno dostupné SPAMové seznamy, snadno z nich získá doménová jména. DNS server pak je prohledán na IP adresy. Z mail-serverů pomocí MX záznamů či přes webové rozhraní pomocí www.domain.com lze dohledat to samé.
  • Pavouci. Pro červy typu Code Red, které napadají web servery, může být použitelná i metoda web-crawlerových prohledávacích robotů, podobná té, kterou používají vyhledávače. Nicméně adresy, na něž nevede přímý link, mohou být a nejspíše budou opomenuty.

2. Vytvořil by vhodného červa, který by pokrýval naprostou většinu exploitnutelných chyb a zároveň by odstranil zbytečnosti.

Wormlord by vyhodnotil získaná data a rozhodl by se, zda použije jednoho červa s více technikami, nebo více červů jednoúčelových. Z útočných technik automaticky vypadávají ty, které vyžadují čekání či které potřebují interakci wormlorda.

3. Vhodně by připravil adresová data tak, aby jejich distribucí nezdržoval infekci.

Wormlord má jeden nebo více seznamů (pokud by chtěl efektivněji pomocí více typů jednoúčelových červů napadnout více typů děr obětí) obětí s vyhlénutou slabinou. Podle údajů Netcraftu je používáno asi 12 milionů adres, což dává cca 48MB nekomprimovaných adres, kam své červy pošle (pokud by ovšem každý stroj měl slabinu, na kterou existuje vhodný červ).

Z komplikovaného rozesílání pomocí adresářů či náhodného zkoušení adresy se stává otázka napsání skriptu, který bude vysílat červa s konkrétní adresou jako parametrem. Celý adresový prostor souboru by byl rozdělen na části po n blocích. Jakýsi master worm by byl vyslán do míst s vysokou konektivitou a nesl by s sebou buď jen svůj blok 48MB/n adres, nebo by bylo vysláno hned na začátku vícero master wormů jen s částí adres, na které by pak dál rozesílaly své potomky s jim přiděleným adresovým prostorem. Pro wormlorda by to znamenalo se zamyslet a vytipovat, kam zaslat master wormy. Navíc by tím zjednodušil problém, jak dostat včas rychle do světa všech 48MB adres, na problém, kdy každý červ by nesl jen omezený blok jemu přidělených adres a nikoli plných 48MB. Další možností je umístění velkého bloku adres na vysokorychlostní uzly, které by červi znali, kam by si chodili pro své dávky adres a odkud by použité odmazávali.

Ve výsledku to může vypadat tak, že červ má seznam děravých web serverů, citlivých na tzv. zero-day IIS vulnerabilitu, přibližně 26% z nich pak bude zranitelných. Žádný server nebude napaden dvakrát a pro n=10 stačí na infikování tří milionů serverů jen sedm generací červů.

Šíření červů mohou ovlivnit především následující faktory. Pokud by byl veliký předpokládejme 100kB (obvyklých je kolem 4kB), aby mohl nést dostatek ničivého nákladu, je jeho velikost proti velikosti adresových dat minimální. První generace červů by nesla 48MB adres či stále ještě několik MB dat z místa rozeslání, podle toho, kolik master červů by bylo rozesláno.

Rychlost rozšíření infekce je tak v počátku daná rychlostí připojení wormlorda, případně zdrojového počítače. V počátku tedy vše záleží na tom, jak rychle je schopen vyslat do světa adresové informace pro červy. Každá další generace červů pak nese n krát méně adres a šířka pásma se od určité hranice stává bezvýznamnou. Uvažovat se tak dá i o možnosti komprese adres, která navíc ztíží jejich rozpoznatelnost pro ostatní svět při přenosu.

CS24_early

Závěr

Pokud tedy wormlord sedí na páteřní síti, zvolí vhodné n a neudělá chybu v těle červa, je reálné infikovat celý Internet za méně než 30 vteřin. To je čas, na který žádná antivirová společnost nemůže být schopná zareagovat. Tento čas je v originálu podložen odhady a místy, snad i simulací, nicméně asi nemá smysl je zde uvádět.

Jedinou obranou proti něčemu podobnému je prevence. Podle mých informací vyvíjí speciální tým pro Americkou vládu prostředky pro vedení Informační války. Vlády mnohdy kontrolují šifrovací metody používané v komerčním software. Vytvoření vhodných červů a jejich použití je pak opravdu jen otázkou politickou a nikoli technickou. Současně však zdaleka nejen vlády disponují dostatkem prostředků, bohužel většinou jen u vlád lze počítat s jakousi soudností, a tak se obávám, že neuplyne mnoho času a o oněch 15 minut slávy začne být docela velká pranice. Důsledky by se však bohužel neomezily jen na virům přítulné počítače, ale vinou jejich rozložení ve společnosti by více či méně zasáhly každého. I kdyby jen tak, že ti nezasažení mají obvykle na starosti počítace těch potrefených. Kdo ví, možná se také stane zázrak, ale moc bych s tím nepočítal.

Byl pro vás článek přínosný?