středa 25. dubna 2012

Tajemství Duqu: Část sedmá (Zpět na Stuxnet)


Stuxnet / Duqu: Vývoj ovladačů

Jsme studovali Trojan Duqu za dva měsíce, prozkoumání toho, jak se ukázalo, kde to bylo distribuováno a jak to funguje. Přes velké množství dat získaných (z nichž většina má zatím být zveřejněn), jsme stále chybí odpověď na základní otázku - kdo je za Duqu?
Kromě toho existují i ​​další problémy, většinou do činění s vytvořením Trojan, nebo spíše na platformě použije k provádění Duqu stejně jako Stuxnet.
Z hlediska architektury, platforma slouží k vytvoření Duqu a Stuxnet je stejný. To je soubor ovladače, který načte hlavní modul určený jako šifrované knihovny. Zároveň je zde samostatný konfigurační soubor pro celou škodlivého komplexu a šifrovaný blok v systémovém registru, která definuje umístění modul načítání a název procesu vstřikování.

Konvenční platformy pro Stuxnet a Duqu
Tato platforma se obvykle pojmenovaný jako "Tilded", jak jeho autoři jsou z nějakého důvodu, tendenci používat názvy souborů, které začínají "~ d".
Věříme, že Duqu a Stuxnet byl současně projekty podpořené stejným týmem vývojářů.
Několik dalších detailů, které byly odkryté naznačují, že byl možná nejméně jeden další spyware modul založený na stejné platformě, v letech 2007-2008, a několik dalších programů, jejichž funkce je nejasná mezi roky 2008 a 2010.
Tyto skutečnosti výrazně zpochybňovat stávající "oficiální" historie Stuxnet. Budeme se snažit pokrýt je v této publikaci, ale nechal nás nejprve shrnout příběh tak daleko.

"Oficiální" Stuxnet příběh

Dovolte mi začít otázkou: kolik Stuxnet soubory ovladače jsou známy? Od dnešního dne by správná odpověď je čtyři . Viz níže pro více informací o nich.
Název souboruVelikost (bajtů)Kompilace datumKde a kdy to bylo používánoDigitální podpis / podpis datum
Mrxcls.sys1984001.01.2009Stuxnet (22.06.2009)Ne
Mrxcls.sys2661601.01.2009Stuxnet (01.03.2010/14.04.2010)Realtek, 25.01.2010
Mrxnet.sys1740025.01.2010Stuxnet (01.03.2010/14.04.2010)Realtek, 25.01.2010
Jmidebs.sys2555214.07.2010Lze předpokládat, že StuxnetJMicron, neznámý

První změna červa Stuxnet, vytvořený v roce 2009, který se používá pouze jeden soubor ovladače - mrxcls.sys bez digitálního podpisu.
V roce 2010, autoři vytvořili druhý ovladač mrxnet.sys v skrýt červa dílčích souborů na USB disky) a vybavené mrxnet.sys a mrxcls.sys ovladače s digitálními certifikáty od Realtek. Řidič mrxnet.sys nemá žádný velký význam pro náš příběh, jak to je samostatný modul není součástí dodávky do celkové architektury platformy.
Dne 17. července 2010, ESET zjistila další ovladač "v divočině" - jmidebs.sys - který byl velmi podobný již známým mrxcls.sys, ale byly vytvořeny jen tři dny předtím, než byla objevena Tento ovladač byl podpořen s novým. certifikát - tentokrát od JMicron.
Až do nedávné doby to bylo nejasné, jaký je účel tohoto souboru byl, ale veřejné mínění za to, že byl spojen s Stuxnet. Jedna z teorií je, že Stuxnet C & C se snažil nahradit starou verzi s Realtek certifikátu s novou. Přitom autoři červa byly buď doufat, aby se zamezilo jejímu zvedl antivirových programů, nebo bylo nahrazení certifikátu, který byl zablokován.
Bohužel, tato teorie nebyla potvrzena - Jmidebs.sys nebylo nikdy nalezeno kdekoliv. Nová verze Stuxnet může instalovat soubor také nebylo nalezeno.
Toto je oficiální historie Stuxnet. Nicméně, jak jsem se zmínil výše, v rámci našeho výzkumu jsme zjistili, nové důkazy, které budou popsány níže.

Dříve neznámých řidičů

rtniczw.sys

Při analýze uživatelské události související Duqu, jsme objevili něco nového - něco, co by mohla potenciálně ovlivnit celý Stuxnet příběh, jak ho známe.
Podivný soubor byl objeven na počítači oběti, která byla zjištěna u nás antivirovým programem jako Rootkit.Win32.Stuxnet.a. Tento verdikt měl odpovídat souborů známých mrxcls.sys popsaných výše, ale zjištěné název souboru a kontrolní součet se liší!
Soubor byl rtniczw.sys a 26,872 bytů ve velikosti, MD5 546C4BBEBF02A1604EB2CAAAD4974DE0.
Soubor byl trochu větší, než mrxcls.sys, který měl Realtek digitální podpis. To znamenalo, že rtniczw.sys také měl digitální podpis. Podařilo se nám získat kopii souboru, a byli jsme překvapeni, zjistí, že používá stejný Realtek certifikát, ale s jiným datem podpisu souboru z mrxcls.sys: rtniczw.sys byla podepsána dne 18. března 2010, zatímco řidič mrxcls byla podepsána dne 25. ledna téhož roku.
 
Mrxcls.sys
 
Rtniczw.sys

Kromě toho, rtniczw.sys použit klíč registru a konfigurace bloku dat, který nebyl použit v Stuxnet. Stuxnet použít tlačítka "MRxCls" a hodnotu "Data", zatímco v případě rtniczw.sys, klíč byl "rtniczw" a hodnota byla "Config".
Podrobná analýza kód v rtniczw.sys identifikovány žádné jiné odlišnosti od "referenční 'Ovladač: Toto bylo stejné mrxcls.sys soubor, vytvořený ve stejném roce, ve stejný den a hodinu - k 1. lednu 2009.
Hledali jsme další informace o ostatních uživatelích, kteří měli stejný soubor, ale nepodařilo se najít nic!Navíc jsme nenašli žádnou informaci vůbec o názvu souboru odst. rtniczw.sys) nebo jeho MD5 v kterémkoli vyhledávači. Soubor byl identifikován jen jednou: to bylo zasláno pro skenování na VirusTotal z Číny v květnu 2011.
Zdá se, že systém, který jsme studovali byl napaden na konci srpna 2011. Je třeba poznamenat, že jsme nenašli Stuxnet infekce v systému žádné další soubory z kitu Stuxnet byl nalezen. Nicméně, jsme našli Duqu soubory.
Došli jsme k závěru, že by mohl být další soubory ovladače podobné "referenční" mrxcls.sys souborů, které nejsou u známých variant Stuxnet.

rndismpc.sys

Kontrola v naší sbírce malware pomohla identifikovat další zajímavý soubor, který byl zahrnut ve sbírce více než před rokem. Soubor se jmenuje rndismpc.sys je 19,968 bajtů ve velikosti, MD5 9AEC6E10C5EE9C05BED93221544C783E.

Ukázalo se, že další řidič, s funkčností téměř shodné s tím mrxcls.sys kromě z následujících výjimek:
  1. rndismpc.sys používá klíč registru, který je odlišný od klíčů používaných oběma mrxcls a rtniczw - to je hlavní "rndismpc" s hodnotou "akci";
  2. používá šifrovací klíč, který je odlišný od toho použitý mrxcls / rtniczw - 0x89CF98B1;
  3. Soubor je kompilace datum 20.ledna 2008 , tedy rok před byly vytvořeny mrxcls / rtniczw.
Stejně jako rtniczw.sys, že souborů rndismpc.sys nikdy se setkal na strojích našich uživatelů. Nevíme, které škodlivý program nainstalován, nebo které hlavní modul se mělo pracovat.

Spojovacím článkem: mrxcls.sys -> -> jmidebs.sys Duqu řidiči

Údaje získané a dostupné informace o rizikových faktorech použitých v Duqu (viz Tajemství Duqu a části první a druhá část ) lze shrnout v následující tabulce:
JménoVelikostCompi-
zení data
Hlavní modulŠifrovací klíčKlíč registruHodnotaZařízení
jméno
rndismpc.sys1996820.01.
2008
Neznámá0x89CF98B1rndismpc"Akce""Rndismpc"
mrxcls.sys1984001.01.
2009
Stuxnet.a0xAE240682MRxCls"Data""MRxClsDvX"
mrxcls.sys (podepsaný)2661601.01.
2009
Stuxnet.b / .c0xAE240682MRxCls"Data""MRxClsDvX"
rtniczw.sys (podepsaný)2687201.01.
2009
Neznámá0xAE240682rtniczw"Config""RealTekDev291"
jmidebs.sys (podepsaný)2550214.07.
2010
Neznámá0xAE240682jmidebs"IDE"{} 3093983-109232-29291
<name>. sys *Odlišný03.11.
2010
Duqu0xAE240682<jméno>"FILTER"{3093AAZ3-1092-2929-9391}
<name>. sys *Odlišný17.10.
2011
Duqu0x20F546D3<jméno>"FILTER"{624409B3-4CEF-41c0-8B81-7634279A41E5}

* Známé Duqu řidiči mají jedinečné názvy souborů pro každou z variant. Jejich funkce je však naprosto stejné.
Podle naší analýzy, jmidebs.sys je spojovacím článkem mezi mrxcls.sys a řidiče později použitý v Duqu.
Kód mrxcls a jmidebs řidičů je do značné míry podobné. Některé drobné rozdíly mohou být způsobeny různými nastaveními a minimální změny ve zdrojovém kódu, zatímco bod kód zůstává stejný.
Nicméně, další významné změny lze najít v několika funkcí:
  1. Funkce služby, které získá adresy funkcí API: verze v mrxcls používá funkce MmGetSystemRoutineAddress pro tento účel a příslušných textových jména a adresy příchozích API funkcí. Verze v jmidebs volá své funkce k získání API adresy pomocí hash-sumy jejich jména. Stejné funkce jsou použity u řidičů Duqu, zatímco seznam hash funkce 'je dvakrát tak dlouho.
  2. Funkce, která vytváří pahýly vnést PNF DLL do procesů: verze mrxcls používá útržek o celkové velikosti 6332 bajtů. Jmidebs a Duqu řidiči používají útržky o celkové velikosti 7061 bajtů. Kód používaný v testovacím kódu modulů pro tyto řidiče je stejná, ale má různé kompilace data.
 Mrxcls (Stuxnet)jmidebsDuqu
APIRtlGetVersion, KeAreAllApcsDisabled, získat voláním MmGetSystemRoutineAddressRtlGetVersion, KeAreAllApcsDisabled, PsGetProcessSessionId, PsGetProcessPeb lékařský svých funkcíPodobně jako jmidebs, 4 další funkce přidané
Injekčně EXE6332 1.leden 2009 22:53:237061 14.červenec 2010 13:05:317061 Různé kompilace data

Řidič evoluce

Jsme zmapovali vazby mezi známých ovladačů, jejichž vývoj a klíčové etapy vývoje lze snadno sledovat.
 
Řidič vývoj od roku 2008 do roku 2011

rndismpc.sys a rtniczw.sys a jmidebs.sys

Jak můžete vidět z grafu, není známo, který škodlivý program, ve styku s těmito třemi řidiče: rndismpc.sys a rtniczw.sys a jmidebs.sys. Zřejmé, otázkou by bylo: oni byli používáni v Stuxnet? Podle našeho názoru by odpověď musí být " ne ".
Za prvé, pokud byl použit v Stuxnet, oni by nám zanechaly daleko větší stopu než v jednotlivých případech jsme zjištěných. Za druhé, tam nebyl jediný varianta Stuxnet, který je schopen komunikovat s těmito ovladači.
Souborů rtniczw.sys byla podepsána dne 18. března 2010, ale dne 14. dubna 2010 se Stuxnet autoři vytvořili novou variantu červa, který využil mrxcls.sys "odkaz". Je zřejmé, že rtniczw.sys byla určena pro jiné použití. Totéž lze říci o jmidebs.sys. Jsme přesvědčeni, že tři jezdci jsou jen nepřímo souvisí s Stuxnet a může být bezpečně vymazat z historie Stuxnet.
Pak je tu další otázka: mohl tyto ovladače byly použity s Duqu?
Není tam žádná jednoznačná odpověď zde. I když všechny známé varianty Duqu jsou z období od listopadu 2010 do října 2011, věříme, že tam byly starší verze trojské špion vytvořené krást informace.Tři jezdci v otázce mohly být snadno použity v raných verzích Duqu nebo s jinými trojských koní na základě Stuxnet / Duqu platformě. Stejně jako Duqu byly tyto trojské koně s největší pravděpodobností použit v cílených útoků před vzhledu Stuxnet (datovat se k přinejmenším 2008), oba zatímco to bylo aktivní a po jeho C & C byl zavřen. Byli to pravděpodobně k byli paralelní projekty, a Stuxnet byl následně na základě této získané zkušenosti a kód, který již napsal. Zdá se velmi nepravděpodobné, že by to byl jediný projekt, který jeho autoři byli zapojeni palců

Řidič proces tvorby

Zkusme si představit, co řidič proces vytváření vypadá. Několikrát ročně se autoři sestavit novou verzi souboru ovladače, vytvoření referenčního souboru. Primárním účelem tohoto souboru je načíst a spustit hlavní modul, který je vytvořen samostatně. Mohlo by to být Stuxnet, nebo Duqu nebo něco jiného.
Kdy je nutné použít ovladač pro nový modul, autoři používají speciální program, upravit informace pro řidiče "odkaz", tj. soubor jeho jméno a servisní informace, stejně jako klíč registru a jeho hodnota.
Je důležité si uvědomit, že vyladit hotové soubory a není vytvořit novou úplně od začátku. To znamená, že může mít tolik různých souborů ovladače, jak se jim líbí, z nichž každá má přesně stejné funkce a datum vytvoření.
V závislosti na cíli útoku a trojské je obětí, několik soubory ovladače pak měla být podepsána s oprávněnými digitálních certifikátů, jejichž původ zůstává neznámý.

Závěr

Z údajů, které máme k dispozici, můžeme říci s notnou mírou jistoty, že "Tilded" platforma byla vytvořena kolem roku 2007 nebo začátkem roku 2008 dříve než došlo k jeho nejvýznamnější změny v létě / na podzim 2010. Tyto změny byly zažehnuty pokroky v kódu a na potřebu vyhnout detekci antivirových řešení. Tam bylo několik projektů, které zahrnují programy založené na "Tilded" platformy v celém období 2007-2011. Stuxnet a Duqu jsou dvě z nich - tam by mohlo být jiné, které zatím zůstávají neznámé. platforma se nadále rozvíjí, což může znamenat jen jedno - že jsme pravděpodobně další změny v budoucnosti.

Žádné komentáře:

Okomentovat