Jak postavit hardware s nezjistitelným trojským koněm?  
Stačí si pohrát s dopanty, tedy látkami, které ovlivňují elektrické vlastnosti materiálu při výrobě tranzistorů. Změny jsou pak jen na atomární úrovni. Ani detailní prohlídkou integrovaného obvodu nezjistíte, že vás mrzce zradí.

 

Zvětšit obrázek
Jak počestné jsou tyhle obvody? Kredit: Intel.



Počítačové viry si už vydobyly značný respekt. Zdaleka ne každý si vesele brouzdá internetem, aniž by byl krytý alespoň základními obrannými programy a mnohými jistě proletí záchvěv paniky, když zasunou flashdisk do neznámého počítače. Digitální infekce není radno podceňovat. Myslíte si ale, že stačí mít aktivovány nejvýkonnější antivirové programy, chovat se vůči svému počítači zodpovědně, na internetu navštěvovat jen nezbytně nutné stránky a jste stoprocentně chráněni před kybernetickými útoky? Tak to jste úplně vedle. Existují totiž věci, o nichž by snad ani běžný uživatel počítače neměl vědět. Zocelení čtenáři OSLA to ale jistě ustojí bez větších traumat.

 

Zvětšit obrázek
Georg T. Becker. Kredit: Umass.


Mohou vás třeba zajmout a mučit anebo nějak vydírat, aby jste prozradili dejme tomu hesla k počítači či kreditní kartě. Jde to ale i bez násilí vůči uživateli. Existují různé útoky postranními kanály, které využívají fyzické slabiny napadeného systému. Útočník může využít analýzu času potřebného k výpočtům, odběru energie anebo třeba vytvářeného elektromagnetického pole ke zjištění údajů, s nimiž prolomí obranu uživatele. Může dojít i na útoky záměrným zaváděním chyb, kdy se útočník snaží ovlivnit fungování napadeného systému a tak se dozvědět, co potřebuje. Lze k tomu použít například krátkodobé změny napájecího napětí, extrémní teploty či ozáření intenzivním světlem. Anebo vás zradí hardware, který je předem zmanipulovaný tak, aby škodil uživateli. Může vytvářet díry v obraně systému anebo ho poškozovat či přímo zničit. Nedávno se ukázalo, že to jde i běžně nezjistitelným způsobem.

 

Zvětšit obrázek
Trojský obvod. Kredit: Becker et al. (CHES 2013).


Georg Becker z Massachusettské univerzity v Amherstu a jeho kolegové tvrdí, že integrované obvody mohou být zmanipulované tak, že to prakticky nelze vůbec poznat. Vymysleli způsob, jak vytvářet extrémně maskované hardwarové trojské koně. Na pohled jsou takové obvody nerozeznatelné od pravých. Nelze je zjistit dokonce ani detailní prohlídkou pod mikroskopem ani výkonnými nástroji pro odhalování běžných hardwarových trojských koní. Jak je to vůbec možné?


 

Zvětšit obrázek
Moderní trojští koni bývají nenápadnější. Kredit: Ross Burgess, Wikimedia Commons.

Becker a spol. při výrobě integrovaných obvodů s trojským koněm nenápadně u tranzistorů změnili polaritu dopantů. Dopanty, čili legovací látky, jako je například galium či fosfor, se přidávají k materiálu, z něhož se dělají tranzistory, aby ovlivnily jeho schopnost vést elektrický proud. Při konstrukci trojského obvodu přitom dojde jen ke změně struktury materiálu na atomární úrovni. Integrovaný obvod pak vypadá přesně tak, jak by vypadat měl, ale ve skutečnosti dělá něco jiného. Badatelé své maskované trojské obvody vyzkoušeli v architektuře generátoru náhodných čísel procesorů Ivy Bridge od Intelu, který bývá Achillovou patou obrany, a také je použili ke konstrukci skrytého postranního kanálu k úniku informací.


Mezi odborníky na kybernetickou bezpečnost už dlouho panuje obava, že by klíčové součástky elektroniky kritických systémů armády či průmyslu mohly být během výroby zmanipulovány ke zradě majitelů. Zvlášť pokud se vyrábějí v ne právě přátelsky naladěné cizí zemi, jak to bývá v případě USA. Zatím se taková elektronika s hardwarovým trojským koněm neobjevila. Možná to ale bylo proto, že prakticky nikdo nevěděl, jak by mohl vypadat pořádně maskovaný trojský obvod. Teď už to tušíme. Výzkum nebezpečných technologií, jako jsou právě maskované trojské koně Beckerova týmu, bývá často kritizován, že vlastně poskytuje padouchům návod ke zneužití. Na hardwarových trojských koních je ale názorně vidět, jak hluboký a hloupý to je omyl. Bez Beckerova výzkumu bychom dál netušili, že jak důvtipné manipulace hardwaru mohou fungovat. Pokud by se tím někdo doopravdy zabýval, tak by v tom mohl nerušeně pokračovat. Když víme, že taková možnost existuje, můžeme s tím něco dělat. Třeba vyvíjet schopnější detekční postupy. Nevědomost bývá horší než nebezpečná pravda.

 

 

 


Literatura

Workshop CHES 2013, Wikipedia (Side channel attack, Hardware Trojan).

Datum: 20.09.2013 14:36
Tisk článku


Diskuze:

-

Zdeněk Jindra,2013-09-21 14:56:05

V rámci aféry Snowden vychází najevo, že generátor náhodných čísel v procesorech Intel je kompromitován už od začátku, žádnou další manipulaci nepotřebuje, jedině že by pak sloužil dvěma škůdcům zároveň. Programátoři svobodných řešení proto míchají k jeho výstupu ostatní pseudonáhodná data ze systému, aby zamezili prolomení.

Odpovědět


?

Petr Nejedlý,2013-09-21 17:25:11

Nějaký konkrétní odkaz na onu kompromitaci?
"Programátoři svobodných řešení" (Theodore Ts'o) se odmítají na onen generátor bez výhrady spolehnout, ale o žádném konkrétním důkazu kompromitace jsem neslyšel...

Odpovědět

Ne tak docela

Petr Nejedlý,2013-09-21 09:08:01

Speciálně onen zmiňovaný generátor od Intelu se skládá z krabičky co dělá trochu vcelku náhodných (ale SW nepřístupných) bitů, za kterou je připojen whitener v podobě AES obvodu. Oblíbená, a doufejme že hypotetická konstrukce backdooru v této sestavě je použití tajného, ale útočníkovi známého klíče pro onen AES a vhodná nenápadná manipulace s oním generátorem.
Pokud generátor nahradím hloupým počítadlem, jehož počáteční entropii omezím na pár (třeba 50) bitů, výstup bude naprosto nerozpoznatelný od správného, až na to, že majitel klíče bude schopen z jednoho náhodného čísla zjistit onen počáteční stav a tedy predikovat další výsledek.
Samozřejmě že hloupé počítadlo by šlo pod mikroskopem poznat, ale tento nový výzkum ukazuje, jak třeba velmi snadno (odlišným dopováním pár tranzistorů) vyřadit některé bity z provozu, což je velmi snadný způsob omezení oné počáteční entropie.
Kdo by chtěl namítat, že tak konstruovaný generátor se dá usvědčit dostatečně dlouhým testováním, musí připustit, že ta počáteční podmínka se dá udělat tak, aby nastala jen po dostatečně dlouhém odpojení napájení, čili minimální testovací cykl je možné protáhnout na sekundy a praktickou detekci "replay" tím zcela znemožnit.

Odpovědět


Problém cinklého generátoru

Josef Jindra,2013-09-21 20:14:21

On ten problém potenciálně kompromitovaného generátoru náhodných čísel není až tak jednoduchý. Normálně se ( alespoň u linuxu a asi u všech kryptovacích knihoven, jak je to u Win nevím ale asi to bude podobné ) výstup tohoto hardwerového generátoru používá jako jeden ze zdrojů náhody ke kterému přistupují ještě další zdroje systému se kterými se kombinuje. Aby bylo možno kompromitovat generátor náhodných čísel jak ho poskytuje systém bylo by nutno aby vlastní procesor obsahoval v mikrokodu funkci která po použití hw generátoru bude analyzovat následující operace a dokáže obejít úpravy náhodneného čísla před jeho distribucí. Což pokládám za skoro nemožné, muselo by to pokrát spoustu různých algoritmů ve všech možných systémech.
Na druhou stranu pokud by se podařilo vhodným způsobem kompromitovat generovaná náhodná čísla pak zvláště u RSA a ECC šifer by to otevřelo cestu k jejich bezproblémovému prolomení tomu kdo by znal jakým způsobem proběhla kompromitace.

Odpovědět


Jenda Hrach,2013-09-22 10:43:53

Ne tak docela - pokud je třeba hned následující instrukcí XOR, který používá registr, do kterého RDRAND vyhodil náhodné číslo. Hezky je to rozebráno tady a v diskuzi: https://www.abclinuxu.cz/blog/Lyco/2013/9/linux-linus-rdrand-a-ignoranti

Odpovědět

Nechápu: nefunkčnost nelze testovat?

Poiu Ytre,2013-09-21 00:28:21

Nějak to nechápu: přece ta součástka realizuje nějakou funkci mezi vstupy a výstupy, tak proč se při rozlišování správných součástek od součástek obsahujících trojské koně nevykašlu na mikroskop a podobně a netestuji místo toho tuto funkci? Kupříkladu vím, že 2+2 je 4, a nikoli 5, takže v tom starém otřepaném vtipu rozliším rychlé Pentium od pomalé Motoroly. Jistě, zrovna u generátoru "náhodných" čísel nevím, co mi má vyjít, ale to opravdu není možné generovaná čísla nějak testovat, jestli jsou dostatečně náhodná? Případně, pokud je to skutečně problém, je to nemožné nějak principiálně, nebo to jen neumíme?

Odpovědět


Lze

Vojtěch Kocián,2013-09-21 08:17:48

Akorát při čistě funkcionálním testování nikdy neprojdete všechny možnosti. Dobře navržený trojan totiž nepracuje pořád, ale jen pokud dostane ty správné vstupní parametry (které mu může poslat autor, může to být čas, specifický typ packetu...). No a tehdy třeba může "selhat" generátor náhodných čísel a vygenerovat jedno z těch, co mu autor předdefinoval. Uživatel nic nepozná a autor trojana má výrazně zjednodušené dešifrování.

Podobné věci se stávají nejen úmyslně, ale i nedbalostí. Technicky vzato, dobře navržený trojan by neměl být rozpoznatelný od chyby programátora.

Třeba během psaní tohoto příspěvku mi osel trochu havaroval a vypsal mi vnitřní paměťovou strukturu php skriptu. Poměrně dost informací pro případného hackera. Nevím, co bylo spouštěcím mechanismem, možná admin něco ladil v kódu, protože jsem to tu viděl poprvé. Nicméně zvláštní náhoda, když zrovna píši něco o trojanech a chybách softwaru :-)

Odpovědět

US army

Fanda Sin,2013-09-20 16:00:41

Přesně z tohoto důvodu má myslím americká armáda (její dodavatelé) nařízeno do svých zařízení montovat pouze výrobky made in US.
Řekl bych že v NSA taky nebudou mít příliš zařízení od Huawei.

Odpovědět


Vojtěch Kocián,2013-09-20 21:13:26

To, tuším, platilo i v předpočítačové éře pro mnohem robustnější hardware než je elektronika (třeba součástky letadel a vlastně skoro cokoliv). Důvodů je pro to daleko víc. Nejvážnější je asi možnost výpadku dodávek v případě znepřátelení si dodavatelské země. Hardwarové trojany jen připíší na konec už tak dlouhého seznamu.

Odpovědět


Diskuze je otevřená pouze 7dní od zvěřejnění příspěvku nebo na povolení redakce








Zásady ochrany osobních údajů webu osel.cz