Storm botnet - "elegantný" malware

Autor: Ivan Regalis | 1.12.2007 o 15:03 | Karma článku: 10.34 | Prečítané  3566-krát

"Pamätníci" si určite spomenú na DOS-ové víry typu OneHalf, ktoré boli technicky vyspelé - využívali polymorfizmus, "rootkitie" techniky schovaním sa v protected mode a prepnutím DOSu do VM8086 módu, apod. Windowsie víry boli pritom dlho technicky "zaostalé", dlho na úrovni "manuálnych vírov", ktoré užívateľ musel sám spustiť. Situácia sa pomaly vyvíjala až prišiel Storm malware - využíva snáď všetky známe techniky - polymorfizmus, rootkitie skrývanie, "vírové updaty", plus novinky: decentralizácia cez DHT P2P, aktívna obrana proti "narušiteľom" botnetu... The Dark Side of Software Engineering.

Trocha histórie

Windowsie víry dlho používali maximálne sociálne inžinierstvo - psychologická metóda jak užívateľa donútiť vír spustiť. Potom nasledovali triky s dvojitou príponou, spamovanie via instant messengery (stále socialne inžinierstvo)... Až sa dostali ku "klasickej metóde" napadania zraniteľných systémov - buffer overflow (Sasser, Slammer, ANI cursor exploit, GDI jpeg exploit, ...).

Nasledovali rozličné techniky ako sa vynúť antivírom - vypínanie procesov antivíru, využívanie "medzivrstvy" layered service provider a iné rootkitie techniky ako "vešanie sa" na systémové služby, prerušenia, skrývanie svojich procesov, sieťových spojení, využívanie ACPI. Zvláštne je, že polymorfizmus sa medzi windowsími vírmi moc neuchytil...

V podstate dosť dlho trvalo (vyše 10 rokov), kým aj windowsie víry začali byť aspoň tak sofistikované ako ich predchodcovia z čias DOSu. Až kým neprišiel Storm malware (má kopu ďalších názvov). Ten používa snáď všetky známe techniky plus kopu novininiek. Neviem koľko stál jeho vývoj/udržovanie, ale musel byť hrozne drahý - kto si to zaplatil, musí mať veľmi dobré dôvody.

Stormworm vitals

Meno je odvodené z predmetu správy spamu, ktorou sa začal šíriť prvý krát: “230 dead as storm batters Europe.” Iné bežné mená: Peacomm, Nuware, Zhelatin, ... Nedá sa presne zaradiť do škatuliek vírus/worm/trojan, pretože je všetkým zároveň. Vďaka decentralizácii je veľmi odolný (vyzerá že perzistencia/reziliencia Storm botnetu je jednou z najpodstatejších vlastností).

Hlavné "fíčury" v skratke:

  • decentralizovaný cez distribuovanú hashtabuľku (skrátene DHT, založené na jednej implementácii Kademlie)
  • používa fast-flux DNS
  • updatovaný a vyvíjaný za behu, polymorfizmus verzií
  • rootkitie techniky skrývania
  • šíri sa snáď všetkými možnými cestami (spam, scanovanie a napadanie známych zraniteľností, ...)
  • heterogénna sieť v zmysle "deľby práce" - jednotlivé časti robia rozličné veci (jedna pre DDoS, ďalšia pre spamovanie, atď).

Stormworm - vývoj

Snáď úplne najvtipnejšiu vlastnosť spomenem hneď na začiatku: blacklistuje si niekedy sám svoje vlastné verzie, ktoré napr. mali implementačné chyby v protokole, aby chybné verzie neznefunkčnili celý botnet (zrejme sa nedá "zákazníkom" zavolať, aby si stiahli novšiu verziu ;-)). Vývoj vyzeral v skratke asi takto:

  1. vír ako nešifrovaný driver wincom32.sys
  2. spakovaný/obfuscovaný driver
  3. pridaná P2P funkcionalita
  4. anti-virtualizačný a anti-debugovací kód pridaný, "opatchuje" tcpip.sys
  5. šifrovanie na P2P vrstve

Ochrana proti napadnutiu botnetu iným útočníkom

Storm botnet má podarený obranný mechanizmus - akonáhle sa niekto neautorizovaný snaží napojiť do botnetu, botnet ho za-DDoS-uje naspäť na jeho IP adresu a zaplaví mu linku obrovským množstvom paketov.

Decentralizácia je v podstate tiež jeden z pasívnych ochranných prvkov - sieť je tým pádom de facto "nevypnuteľná". Už odstaviť jeden server distribuujúci malware napr. v Číne dá dosť práce, ale v prípade decentralizovanej P2P siete je absolútne nemožné odstaviť dostatočný počet uzlov, aby sa sieť rozpadla.

Plus použitie spomínaného fast-flux DNS: skrývanie skutočných "malware delivery sites" za kaskádami niekoľkých proxy, takže vstupný bod aj skutočný delivery site sa môže ľubovolne zmeniť, stačí použiť DNS záznam s krátkou životnosťou. Táto metóda už trocha pripomína vytváranie tunelov v Tore alebo okruhov v I2P .

Už len čakám, kedy si vytvoria aj vlastnú sieť certifikačných autorít, web-of-trust alebo použijú nejaký podobný trust model, aby mohli ďalej vyvíjať šifrovanie/integritu botnetu.

Kademlia/Overnet

Ako už bolo spomenuté, botnet využíva implementáciu Kademlie na DHT. Zrejme použili nejakú hotovú implementáciu namiesto písania vlastnej, pretože štandardné Overnet dissectory vo Wiresharku dokážu rozkódovať (nie rozšifrovať!) správy v DHT sieti.

Na pripojenie (bootstrap) do siete stačí poznať jeden známy uzol. Zoznam "vstupných" uzlov je definovaný pri ďalšej várke rozosielaného malwaru, tj. nestačí zhodiť len pár uzlov, ktoré sa používajú ako vstupné, pretože proste použijú najbližšie iné. Samozrejme už len odpojenie pár uzlov "právnou cestou" je neskutočne náročné.

Kademlia sa naviac veľmi dobre škáluje pri veľkom počte uzlov - ak sa sieť zväčší dvojnásobne, počet správ na nájdenie uzla sa zvýši len o konštantu (1-3). Tj. počet správ na nájdenie uzla a prípadnú replikáciu je logaritmický vzhľadom k veľkosti siete.

Oproti pôvodnej implementácii Kademlie pridali podporu TCP (predtým UDP), šifrovanie, detekciu a prechádzanie cez NAT (podobne I2P implementuje NAT traversal cez UDP hole punching).

Odhadnúť počet živých strojov v botnete je veľmi ťažké kvôli decentralizácie siete, ale je možné napísať crawler. Namerané počty hovoria cca o 50-tisíc živých strojoch v botnete (čo je dolný odhad). Celkový počet vrátane mŕtvych uzlov je cca 300-600 tisíc ("mŕtve" znamená, že môžu byť vypnuté alebo odstránené cez antivíry).

Kto je v pozadí

Existuje pár špekulácií, že Storm botnet majú na svedomí spravodajské služby. Na bežných "komerčných spammerov" je Storm botnet veľmi komplikovaný (alebo vývoj zaplatil veľmi bohatý spammer); evidentne jednou z hlavných vlastností je odolnosť siete, čo nie je až také nutné v prípade komerčného spamovania, pretože sa dá sieť vždy vytvoriť nanovo (a asi je to jednoduchšie než udržovať sieť živú cez updaty - kód Storm malwaru je updatovaný za behu, to je servis!).

Naviac typické "komerčné botnety" pridávajú nové fíčury len keď musia (aby unikli antivírom apod.), Storm botnet je kvalitatívne o niekoľko rádov sofistikovanejší ako ktorýkoľvek iný malware (zrejme si niekto povedal, že keď to už robí, tak to spraví poriadne a zrejme to bolo poriadne drahé).

Linky/references

 

Páčil sa Vám tento článok? Pridajte si blogera medzi obľúbených a my Vám pošleme email keď napíše ďalší článok
Pridaj k obľúbeným

Hlavné správy

ŠPORT

Sagan je druhý v historických tabuľkách: Oslava v Paríži patrí k najkrajším spomienkam

Vyhral tri etapy, chvíľu bol najlepším pretekárom v celkovom hodnotení. Peter Sagan si preberie až dve ocenenia.

KULTÚRA

Slovenky šatky nosili bežne, prečo nás na iných dráždia?

Kedysi si šatky uväzovali cez vlasy všetky vydaté slovenské ženy.

KOMENTÁRE

Slovensko ako dodávateľ zbraní pre teroristov

Novela asi nebude dostatočná, ak sa aj blázon z Mníchova ozbrojil na Slovensku.


Už ste čítali?