Útočníci brousí zbraně

Rok 2004 přinesl na poli malwaru jeden zajímavý trend: nové a nové varianty vždy jednoho škodlivého kódu. Podobné op...


Rok 2004 přinesl na poli malwaru jeden zajímavý trend: nové a nové varianty
vždy jednoho škodlivého kódu. Podobné opakování je logické: umožňuje tvůrcům
virů poučit se z chyb minulých a zároveň využít to "nej", co už bylo vytvořeno.
A tak jsme v průběhu roku 2004 zaznamenali desítky a desítky mutací virů MyDoom
(první výskyt se objevil v lednu 2004), NetSky (únor 04) či Bagle (leden 04).
Právě posledně věnovanému se budeme věnovat podrobněji. Jen pro zajímavost:
původně byl označovaný jako Beagle (podle souboru bbeagle.exe, který jeho první
varianta kopírovala do systémového adresáře Windows), ale toto označení bylo
postupem času zkomoleno/zkráceno na nyní běžně používané Bagle.
Sledovat vývoj škodlivého kódu Bagle je nesmírně zajímavé a užitečné, protože
na rozdíl od jiných podobných rodinek přináší stále nové a nové techniky a
technologie. Nejde tedy o pouhé tupé opakování už jednou použitých triků, ale o
rozšiřování možností, přičemž mnoho z nich je použito vůbec poprvé a přidává
nejednu vrásku na čele antivirovým firmám a správcům sítí. Na následujících
řádcích nejsou vyjmenovány všechny varianty škodlivého kódu, ale jen ty "nej".

První kousek
První verze e-mailového červa Bagle (dodatečně označená Bagle.A) byla
zaregistrována 18. ledna 2004. Světem se sice šířila, ale příliš velkou
pozornost nepoutala. Na první pohled šlo o dalšího z nekonečné řady masově
rozesílaných e-mailových červů (navíc nepříliš povedeného). Pokud uživatel
poklikal na přílohu, Bagle nejprve ověřil, zda je datum na počítači rovno 28.
lednu 2004 nebo je pozdější. Pokud ano, pak se neaktivoval a ukončoval svoji
činnost (jinými slovy: po tomto datu už se nešířil). Jinak spouštěl standardní
kalkulátor v systému Windows, protože se šířil v souboru s jeho ikonkou a měl
zájem na tom, aby uživatel nepojal podezření.
E-mailové adresy pro další rozesílání čerpal ze souborů s příponami wab, txt,
htm a html, které našel na lokálním pevném disku. Rozesílání prováděl pomocí
vlastního SMTP enginu, přičemž falšoval adresu odesílatele a na její místo
dosazoval smyšlenou adresu, jejíž doména byla stejná jako doména příjemce (pro
zvýšení důvěryhodnosti). Červ naslouchal na TCP portu 6 777 příkazům zvenčí.
Svoji existenci a připravenost poslouchat rozkazy dával najevo kontaktováním
některých webových serverů (resp. voláním php skriptu, který na nich je/byl
umístěn). Podle některých zpráv z těchto stránek stahoval trojského koně
Mitglieder, ale to není stoprocentně potvrzeno (tento trojský kůň byl nicméně
použitý ve spojitosti s pozdějšími variantami Bagle).

Další vývoj
Vše nasvědčuje tomu, že první Bagle byl pouze testovacím vzorkem (ostatně, i
jeho zdrojový kód dvakrát slovíčko "test" obsahuje). Už 17. února 2004 se totiž
objevila varianta "B" s několika novými vlastnostmi: především byla schopná
infikovanému počítači přiřadit unikátní identifikátor, a ten odeslat na jednu z
předdefinovaných webových stránek (samozřejmě společně s informacemi o
napadeném stroji). Tím autor získal informace o síti napadených počítačů, které
později používal k vypouštění dalších a dalších verzí Bagle.
Varianta "C" spatřila světlo světa o jedenáct dní později. Zastavovala (resp.
pokoušela se zastavit, protože ne vždy měla úspěch) některé běžící aktualizační
procesy antivirových programů, což mělo znemožnit stažení nových datových
souborů z internetu. Krom toho se napojovala na službu explorer.exe a přes ni
odesílala infikované e-maily. To mátlo některé firewally, které by jinak
nebezpečnou odchozí poštu zastavily. Nicméně službu explorer.exe považovaly za
důvěryhodnou a korektní.
Bagle.E (zaregistrován 28. února) byl komprimován pomocí utility PeX (dosud
UPX). Jinak ale nebyl ničím zajímavý. To se ale nedá říci o verzi "F", která se
stala nejrozšířenější z celé řady Bagle. Velikost infikované přílohy se
pohybovala v rozmezí 18 007 až 24 033 bajtů (takže nebylo možné nastavit
filtrování na základě přesné velikosti souboru). Vlastní škodlivý kód se šířil
v zaheslovaném zip archivu, přičemž heslo bylo uloženo v těle e-mailu. Navíc na
každém infikovaném počítači bylo vytvořeno nové heslo a červ byl znovu
zašifrován: neměl tedy konstantní podobu, ale průběžně se měnil. Se
zaheslovaným zipem měla antivirová ochrana nemalé potíže: například jen
vyzkoušet všechny datové řetězce v textu e-mailu a zjistit, zdali mezi nimi
není heslo, je časově nesmírně náročné (o etické stránce celého problému
pokoušení se o průnik do každého příchozího zip archivu raději pomlčme).
Bagle.J přišel 2. března a dále rozvíjel trend nastolený předchozími verzemi:
už nešlo ani tak o rozvoj technické stránky škodlivého kódu, ale o jeho
"zabalení". Vytvořená zpráva měla falešného odesílatele, přičemž zůstala
zachována doména příjemce ve spojitosti s jednou z pěti definovaných variant
(management, administration, staff, noreply nebo support). V textu bylo
varování před potížemi s e-mailem, které je možné vyřešit postupem uvedeným
(kde jinde) v příloze.
Devátého března se objevil Bagle.L, který byl krom jiného zvláštní tím, že
neobsahoval vlastní šířící mechanismus. Světem putoval tak, že infikoval již
dříve napadené počítače přes port 11 117. Jinými slovy: uživatelé byli za
dřívější infiltraci stroje potrestáni ještě jednou.

Účinnost se zvyšuje
Pokud jedna z předchozích verzí kódu (Bagle.F) se svým heslovaným zipem
působila velké potíže, pak Bagle.M (11. března) představoval skutečný očistec:
heslo se totiž tentokrát nenacházelo v e-mailu ve formě prostého textu, ale v
grafické podobě coby bmp soubor. Jeho velikost i název (5 až 9 znaků) se přitom
měnily, takže nebylo možné vytvořit jedno univerzální filtrační pravidlo.
Antivirové firmy tak musely do svých detekčních programů rychle přidat i nové
rutiny pro analýzu obrázků (čehož již využívají například některé antispamové
filtry). Bagle.M dále nepoužíval formát zip, ale méně rozšířený rar a infikoval
pe.exe soubory na lokálních i sdílených discích (měl tedy vlastnosti klasického
viru). Abychom mu ale neupřeli jednu užitečnou vlastnost: z napadeného počítače
odstraňoval (pokud nalezl) registrační klíče konkurenčního červa NetSky.
Až do Bagle.Q (18. března ve stejný den se objevily hned čtyři nové varianty!)
byla schopnost šíření červa závislá na (ne)ochotě uživatelů poklikat na
přílohu. Právě verze Q ale využila chyby Internet Explorer Object Tag
Vulnerability (označené MS03--032 a MS03-040), která umožňovala stáhnout kód
červa z jednoho z 592 míst na internetu (a to bez vědomí uživatele po pouhém
otevření zprávy). Tento kód byl na počítač uložen jako vbs.q a po svém spuštění
stahoval další soubor tentokrát ve formátu jpeg. Nešlo ale o žádný obrázek:
mělo jít pouze o zmatení firewallů a dalších bezpečnostních řešení, které
blokovaly stahování některých nebezpečných typů souborů pouze na základě
přípony. Soubor byl totiž na cílovém počítači přejmenován na příponu exe a
spuštěn.
Čtvrtého července 2004 přišel Bagle.Y, který obsahoval zdrojový kód červa. O
osm dní později Bagle.AA (celá písmenná řada byla již vyčerpána, takže se
začalo s novým, podrobnějším členěním) přešel na komprimaci pomocí FSG. Od
devátého srpna se šířil AO s osmi různými variantami přílohy, jejichž základ
tvořilo slovíčko "price". Příloha byla zazipovaná, obsahovala html soubor a v
něm cca třicet řádků Java-Scriptu vlastního červa.
Bagle.AQ (31. srpna) kontroloval každých šest hodin stanovená místa na
internetu a pokoušel se odtud stahovat svoji novou verzi. Původní seznam čítal
130 míst, ale teoreticky mohl narůstat. Šlo ale zřejmě jen o další test. Nová
verze se na uvedených adresách neobjevila.
Případ Bagle ukazuje, jak silný může být škodlivý kód vyvíjený téměř na
profesionální úrovni.

Poučení z kauzy Bagle
n Je třeba průběžně sledovat způsoby šíření škodlivých kódů a využívání nových
bezpečnostních děr.
n Je zapotřebí vylepšovat detekční metody (což je úkol i pro dodavatele
antivirových řešení).
n Je zapotřebí vytvořit kontrolu toku dat v rámci vnitřní sítě organizace.
n Je nutné vytvořit systém reakce na případné incidenty.









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