Aktuální vydání

celé číslo

08

2024

Automatizace v potravinářství a farmacii

Měření a regulace průtoku, čerpadla

celé číslo

Duqu – skrytá hrozba

V příspěvku je populární formou popsán počítačový virus Duqu, šířený zejména za účelem získávat údaje z infikovaných počítačů, jako jsou např. certifikáty, privátní klíče a další zajímavé informace, které mohou útočníci dále zneužít k destruktivnímu útoku na daný systém s možnými vážnými následky. Virus Duqu, podobně jako viry Stuxnet, Gauss a Flame, je určen k cílenému útoku na průmyslové a státní organizace.

V červnu 2010 se objevila první zmínka o viru Stuxnet, šířeném, na rozdíl od běžných virů, za účelem napadnout a modifikovat průmyslové a řídicí systémy od firmy Siemens. Hlavním cílem útoku byl Írán a jeho továrna na obohacování uranu poblíž města Natanz. Ta se také stala jeho nejznámější obětí. V důsledku tohoto útoku masivně poklesla výroba obohaceného uranu, a tím byl zpožděn celý íránský nukleární program. Událost vyvolala velkou vlnu zájmu v komunitě odborníků na počítačovou bezpečnost, ale i mimo ni. A právě pro specifický úkol, který byl tímto virem splněn, a pro svou promyšlenou a propracovanou konstrukci byl virus Stuxnet označen jako dílo některého státu či států. Tato hypotéza byla později nepřímo potvrzena s tím, že virus byl „údajně“ součástí větší tajné operace USA a Izraele pojmenované Olympijské hry [1]. Operace, jejímž cílem byl právě íránský nukleární program. Spojovacím článkem mezi virem Stuxnet a virem Duqu je podobnost jejich konstrukce, kdy některé části zdrojového kódu obou virů jsou stejné. Tato skutečnost vede k domněnce, že jde o dílo těchže autorů. Z uvedených důvodů lze oba viry zařadit do stejné skupiny škodlivého softwaru. Na rozdíl od viru Stuxnet se virus Duqu nesnaží napadat přímo průmyslové systémy, ale jeho hlavním úkolem je získávat informace z napadených počítačů. Proto jej lze považovat za předvoj destruktivnějších virů, jako je právě Stuxnet.

Duqu: chronologie

V září 2011 požádala nezveřejněná evropská firma laboratoř pro kryptografii a počítačovou bezpečnost vysoké technické a ekonomické školy v Budapešti (Budapesti Műszaki és Gazdaságtudományi Egyetem), označovaná jako CrySyS lab, o pomoc při identifikaci a analýze doposud neznámého viru, jenž infikoval počítačovou infrastrukturu této společnosti. Po prvotní analýze se CrySys lab rozhodla kontaktovat 14. října vybrané antivirové firmy a společnost Microsoft, jejíž operační systémy od verze Windows XP až po Windows 7 vir napadal. Následně anti­virové společnosti vydaly aktualizaci, která umožňuje detekovat virus v systému. Dne 18. října 2011 společnost Symantec zveřejnila svou analýzu potvrzující skutečnosti zjištěné v CrySys lab. Dne 1. listopadu byl objeven tzv. dropper (program nebo způsob, který je určen k samotné instalaci viru do infikovaného počítače), jímž je dokument aplikace Microsoft Word, jenž obsahuje tzv. zero-day exploit (program využívající chybu v softwaru umožňující provést nežádoucí činnost), který využívá dosud neznámou chybu při zpracování fontu formátu TrueType pro spuštění kódu a eskalaci práv. Vzápětí vyšla výstraha s označením CVE-2011-3402 o této chybě. Nato byly 4. listopadu zveřejněny podrobnosti o této chybě v rámci programu MAPP (Microsoft Active Protections Program) společnosti Microsoft pro antivirové a bezpečnostní firmy. A na závěr byla v úterý 13. prosince vydána aktualizace MS11-087 systému Windows odstraňující chybu, kterou tento virus, pro nějž se ujalo jméno Duqu, využíval. V průběhu šíření virus Duqu napadl počítačovou infrastrukturu společnosti v několika státech. První incident se podle společnosti Kaspersky [4] stal v Súdánu. Po něm následovalo několik dalších v Íránu. Pro každý z těchto incidentů byla použita jiná varianta viru. Z této skutečnosti lze usuzovat, že šlo o předem vybrané cíle. Mezi další země, v nichž se objevilo napadení virem Duqu, patří Maďarsko, Velká Británie, Indie a Rakousko (obr. 1). V případě těchto zemí byly systémy nejspíše infikovány samovolným šířením viru. Samotné působení viru lze rozdělit na dvě části: infiltrace systému a sběr údajů. Obě jeho funkce jsou popsány v následujících dvou kapitolách.

Duqu: infiltrace

Vzhledem ke komplexnosti, s jakou byla tato část funkce viru vytvořena, bude popsána s maximálním možným zjednodušením. Autoři viru Duqu si totiž dali velmi záležet na skrytí viru v operačním systému. Prvotní infiltrace napadeného systému začala zasláním e-mailu předem vybranému cíli. Tento e-mail obsahoval v příloze dokument aplikace Microsoft Word (*.doc) a za pomoci technik sociálního inženýrství vybízel čtenáře k jeho otevření. Způsob šíření je odlišný od viru Stuxnet, který se na počátku začal šířit prostřednictvím flash disku. Zaslaný dokument v sobě obsahoval vložený font formátu TrueType pojmenovaný DexterRegular. Jako tvůrce tohoto fontu je uvedena společnost Showtime Inc., což je společnost vyrábějící televizní seriál Dexter, vysílaný i jednou z našich televizních stanic. Jde o jeden z několika projevů humoru autorů viru. Dalším odkazem na současnou kulturu bylo použití e-mailu na jméno Jason Bourne (tajný agent známý z knih Roberta Ludluma) jako jedné z falešných e-mailových adres, z nich byl virus rozesílán. Font DexterRegular je upraven tak, aby při jeho zpracování nastala chyba ovladače win32k.sys, což umožní spustit tzv. shellcode (krátký program umožňující zavést další části viru), v tomto případě v režimu jádra. Tento shellcode zůstává aktivní v paměti a je vykonán až při desetiminutové nečinnosti počítače; samotný dokument může být již uzavřen. Po spuštění shellcode dešifruje dva soubory z těla dokumentu Microsoft Word, a to téměř identickým způsobem jako v případě viru Stuxnet. Prvním z nich je ovladač, který je následně spuštěn, druhým souborem je dynamická knihovna (DLL), která zde bude označována jako instalační, jelikož obsahuje další části viru a stará se o jejich instalaci. Právě tuto DLL nahraje do systémového procesu services.exe prvně dešifrovaný ovladač. Poté se předá vykonávání dalšího kódu dané DLL, samotný shellcode již není třeba a je smazán z paměti. Instalační DLL kontrolou klíče v registru systému Windows nejprve ověří, zda daný počítač již není infikován (obr. 2).

Jestliže se tento klíč v registrech již nachází, je instalace viru u konce. V opačném případě instalace pokračuje dešifrováním tří souborů ze zdrojů instalační DLL. Těmito třemi dešifrovanými soubory jsou DLL obsahující hlavní část viru, dále proto označované jako hlavní DLL. Dalším dešifrovaným souborem je ovladač, jehož účelem je spustit virus, tj. hlavní DLL po spuštění operačního systému, a posledním dešifrovaným souborem je konfigurační soubor pro instalaci viru. V tomto konfiguračním souboru se nacházejí dva časové údaje. Jestliže se aktuální datum nenachází v rozpětí těchto dvou hodnot, je instalace viru ukončena, jinak pokračuje dále. Časové rozpětí se liší podle verze samotného viru, nejčastěji šlo o rozpětí od několika dní do jednoho měsíce. Takovéto chování viru je možné brát jako další důkaz, že virus Duqu byl vytvořen pro útok na specifické cíle. Dále se instalační DLL postará o nahrání hlavní DLL, která pokračuje v další instalaci viru. Nejprve hlavní DLL nahraje sama sebe do dalšího procesu, který je vybrán podle určitých pravidel. Poté se pokračuje již z nově nahrané knihovny, ta následně nahraje do adresáře %System%\Drivers\, např. C:\Windows\System32\drivers\, již dříve dešifrovaný ovladač, který je následně zaveden jako systémová služba. Použitý ovladač se liší podle verze viru (tab. 1). Jeden z těchto ovladačů byl digitálně podepsán při použití zcizeného privátního klíče tchajwanské společnosti C-Media, opět podobně jako v případě viru Stuxnet (obr. 3).

Následně je z hlavní DLL extrahován nový konfigurační soubor, jenž bude spolu se samotnou DLL zašifrován a nahrán do adre­sáře %Windir%\inf\, např.C:\Windows\inf\. V tomto novém konfiguračním souboru bude také uloženo datum instalace viru. Od tohoto data bude virus Duqu po 30 dní aktivně sbírat údaje a komunikovat s řídicím serverem, a jestliže řídicí server tuto lhůtu neprodlouží, vir se po jejím uplynutí automaticky odinstaluje. V rámci dokončení instalace jsou smazány již nepotřebné soubory a na pevném disku zůstávají pouze ovladač a zašifrovaná hlavní DLL spolu se zašifrovaným konfiguračním souborem. Jakmile je spuštěn operační systém počítače, jsou posledně dva jmenované soubory automaticky dešifrovány. O tuto činnost se stará právě ovladač viru; ten se také postará o spuštění DLL v rámci některého z vybraných procesů. Samotný proces instalace je značně komplikovaný a je vytvořen tak, aby co nejvíce ztížil možnost detekce antivirovým softwarem (viz také obr. 4).

Duqu: sběr dat

Dokončenou instalací začíná hlavní úkol viru Duqu, jímž je sběr údajů. Nejprve je však prostřednictvím protokolu HTTP nebo HTTPS navázáno spojení s řídicím serverem, označovaným jako C&C (Command & Control). Autoři viru zvolili pro každou verzi viru jiný řídicí server, který se dále nacházel v různých zemích, jako je Německo, Belgie, Indie atd. V případě použití HTTP odpovídá na první dotaz řídicí server prázdným souborem *.jpg. Následně virus odešle získané údaje z napadeného systému do řídicího serveru. Údaje jsou nejprve zašifrovány při použití symetrické šifry AES a dále pomocí steganografie skryty do obrázku ve formátu JPG pojmenovaného dsc00001.jpg. Takto přenášené údaje nevyvolají zvýšenou pozornost ani při poměrně pečlivém sledování síťového provozu (obr. 5). Při použití HTTPS je celá komunikace šifrována a skrývání údajů do souboru JPG není použito.

Hlavní funkcí řídicího serveru je vedle sběru získaných údajů také schopnost aktualizovat a rozšiřovat virus o nové moduly. Ať už jde např. o modul keylogger (program schopný sledovat uživatele) nebo průzkumný modul, jenž zjišťuje okolní počítače v lokální síti, a další moduly. Řídicí server může také prodloužit dobu, po kterou se bude virus v systému nacházet např. v případě, kdy napadený systém obsahuje zajímavé údaje. Samotný modul keylogger je schopen ukládat nejrůznější údaje, např. uživatelem zmáčknuté klávesy, uživatelské účty, hesla, seznam běžících procesů i snímky obrazovky. Tyto údaje pak virus ukládá do adresáře %Temp% v souborech, které jsou nejprve zabaleny a následně zašifrovány. Názvy těchto souborů mají tvar ~DQx.tmp (např. ~DQ1.tmp) a právě odtud vzniklo jméno samotného viru Duqu. Ve spolupráci s řídicím serverem se může virus Duqu s použitím získaných uživatelských účtů a hesel bezprostředně šířit také na ostatní počítače v lokální síti.

Závěr

V článku je stručně popsán počítačový virus Duqu, jenž patří spolu s viry Stuxnet, Flame nebo Gauss k virům speciálně zaměřeným na průmyslové a státní organizace. Jde o skupinu virů šířených za účely krádeže citlivých dat nebo přímé sabotáže výroby. Stejně jako ostatní viry v této kategorii je Duqu velmi komplexní, je složen z několika modulů, které jsou ještě navíc vytvořeny s použitím různých programovacích jazyků. Například vedle jazyka C++ je v Duqu využit i jazyk OOC, v současnosti používaný již velmi vzácně. V případě Duqu šlo o ztížení případné analýzy tohoto viru. Na závěr je vhodné připomenout, že i při virových útocích uvedeného typu se vir samovolně šíří nejen v cílené lokalitě. Jsou tak ohroženy i organizace, které přímo či nepřímo spolupracují s původním cílem útoku. A tak se otevírá pověstná Pandořina skříňka...

Poděkování

Článek vznikl za podpory projektů FSI-J-12-1810, FSI-S-11-31 a TA02021449.

Literatura:

[1] U.S. Team and Israel Developed Iran Worm. The Wall Street Journal [online]. Dostupné z <http://ow.ly/fcsnj>. Cit. 2012-11-10.

[2] Duqu: A Stuxnet-like malware found in the wild, technical report. Laboratory of Cryptography of Systems Security (CrySyS), October 2011.

[3] W32.Duqu – The precursor to the next Stuxnet (Version 1.4). Symantec.

[4] Duqu: Steal Everything. Kaspersky [online]. Dostupné z <www.kaspersky.com/about/press/duqu>. Cit. 2012-11-10.

[5] Microsoft Security Bulletin MS11-087 – Critical.

[6] LANGILL, J.: Duqu Reference Material [online]. Dostupné z: <http://scadahacker.com/resources/duqu.html>. Cit. 2012-11-10.

 

Petr Šoustek, Radek Matoušek, Ahmad Abbadi, Fakulta strojního inženýrství VUT v Brně

Obr. 1. Mapa výskytu viru Duqu

Obr. 2. Klíč viru Duqu v registrech operačního systému Windows

Obr. 3. Detail již revokovaného certifikátu

Obr. 4. Schéma instalace viru Duqu

Obr. 5. Jedna z mnoha fotografií použitá virem Duqu pro přenos údajů (Galaxie NGC 6745 vyfotografovaná Hubbleovým teleskopem)

 

Tab. 1. Několik ovladačů použitých v různých verzích viru Duqu

Jméno

Původce

Produkt

Digitální

podpis

cmi4432.sys

C-Media Electronics Incorporation

C-Media Electronics Incorporation

ano,

revokováno

jminet7.sys

JMicron Technology Corporation

JMicron Volume Snapshot

ne

nfrd965.sys

IBM Corporation

IBM ServeRAID Contoller

ne

adpu321.sys

Adaptec Inc

Adaptec Windows 321 Family Driver

ne

iaStor451.sys

Intel Corporation

Intel Matrix Storage SCSI driver

ne

mcd9x86.sys

Microsoft Corporation

High changer class Driver

ne