Dešifrování čipu

Dešifrování čipů je také známé jako dešifrování jednoho čipu (dešifrování integrovaného obvodu). Protože jednočipové mikropočítačové čipy v oficiálním produktu jsou šifrované, program nelze přímo přečíst pomocí programátoru.

Aby se zabránilo neoprávněnému přístupu nebo kopírování programů na čipu mikrokontroléru, většina mikrokontrolérů má šifrované uzamykací bity nebo šifrované bajty k ochraně programů na čipu. Pokud je bit šifrovacího zámku povolen (uzamčen) během programování, běžný programátor nemůže program v mikrokontroléru přímo přečíst, což se nazývá šifrování mikrokontroléru nebo šifrování čipu. Útočníci na MCU používají speciální vybavení nebo vlastnoručně vyrobené vybavení, zneužívají mezery nebo softwarové vady v návrhu čipu MCU a pomocí různých technických prostředků mohou extrahovat klíčové informace z čipu a získat interní program MCU. Tomu se říká prolamování čipu.

Metoda dešifrování čipu

1. Softwarový útok

Tato technika obvykle využívá komunikační rozhraní procesoru a k provádění útoků zneužívá protokoly, šifrovací algoritmy nebo bezpečnostní díry v těchto algoritmech. Typickým příkladem úspěšného softwarového útoku je útok na rané mikrokontroléry řady ATMEL AT89C. Útočník využil mezer v návrhu sekvence operací mazání této řady jednočipových mikropočítačů. Po vymazání bitu šifrovacího zámku útočník zastavil další operaci mazání dat v paměti programu na čipu, takže zašifrovaný jednočipový mikropočítač se stal nešifrovaným jednočipovým mikropočítačem, a poté použil programátor k přečtení programu na čipu.

Na základě jiných šifrovacích metod lze vyvinout některá zařízení, která spolupracují s určitým softwarem a provádějí softwarové útoky.

2. útok s využitím elektronické detekce

Tato technika obvykle monitoruje analogové charakteristiky všech napájecích a rozhraní procesoru během normálního provozu s vysokým časovým rozlišením a útok realizuje monitorováním jeho elektromagnetických vyzařovacích charakteristik. Protože mikrokontrolér je aktivní elektronické zařízení, při provádění různých instrukcí se odpovídajícím způsobem mění i odpovídající spotřeba energie. Tímto způsobem lze analýzou a detekcí těchto změn pomocí speciálních elektronických měřicích přístrojů a matematicko-statistických metod získat specifické klíčové informace o mikrokontroléru.

3. technologie generování poruch

Tato technika využívá abnormální provozní podmínky k odblokování procesoru a poté poskytuje další přístup k provedení útoku. Mezi nejčastěji používané útoky generující chyby patří přepětí a přepětí hodin. Útoky s nízkým a vysokým napětím lze použít k deaktivaci ochranných obvodů nebo k vynucení chybných operací procesoru. Přechodové jevy hodin mohou resetovat ochranný obvod, aniž by zničily chráněné informace. Přechodové jevy napájení a hodin mohou ovlivnit dekódování a provádění jednotlivých instrukcí v některých procesorech.

4. technologie sond

Technologie spočívá v přímém odhalení vnitřního zapojení čipu a následném pozorování, manipulaci a zasahování do mikrokontroléru za účelem dosažení cíle útoku.

Pro přehlednost se výše uvedené čtyři techniky útoku dělí do dvou kategorií. První je intruzivní útok (fyzický útok). Tento typ útoku vyžaduje zničení pouzdra a následné použití polovodičového testovacího zařízení, mikroskopů a mikropolohovačů ve specializované laboratoři. Jeho provedení může trvat hodiny nebo dokonce týdny. Všechny techniky mikrosondování jsou invazivní útoky. Další tři metody jsou neinvazivní útoky a napadený mikrokontrolér nebude fyzicky poškozen. Neinvazivní útoky jsou v některých případech obzvláště nebezpečné, protože zařízení potřebné pro neinvazivní útoky lze často vyrobit a modernizovat svépomocí, a proto je velmi levné.

Většina neinvazivních útoků vyžaduje, aby útočník měl dobrou znalost procesoru a softwaru. Naproti tomu invazivní útoky sondováním nevyžadují mnoho počátečních znalostí a proti široké škále produktů lze obvykle použít širokou škálu podobných technik. Útoky na mikrokontroléry proto často začínají invazivní reverzní inženýrstvím a nashromážděné zkušenosti pomáhají vyvíjet levnější a rychlejší neinvazivní útočné techniky.