Decrittazione dei chip

La decrittazione di chip è anche conosciuta come decrittazione a chip singolo (decrittazione IC). Poiché i chip microcomputer a goccia singolo nel prodotto ufficiale vengono crittografati, il programma non può essere letto direttamente utilizzando il programmatore.

Al fine di prevenire l'accesso o la copia non autorizzati dei programmi on-chip del microcontrollore, la maggior parte dei microcontrollori ha crittografato bit di blocco o byte crittografate per proteggere i programmi di chip. Se il bit di blocco di crittografia è abilitato (bloccato) durante la programmazione, il programma nel microcontrollore non può essere letto direttamente da un programmatore comune, che si chiama crittografia del microcontrollore o crittografia del chip. Gli aggressori MCU utilizzano attrezzature speciali o attrezzature autoprodotte, sfruttano scappatoie o difetti del software nella progettazione di chip MCU e, attraverso vari mezzi tecnici, possono estrarre informazioni chiave dal chip e ottenere il programma interno dell'MCU. Questo si chiama Chip Cracking.

Metodo di decrittografia dei chip

1. Attacco di software

Questa tecnica utilizza in genere interfacce di comunicazione del processore e sfrutta i protocolli, gli algoritmi di crittografia o i buchi di sicurezza in questi algoritmi per effettuare attacchi. Un tipico esempio di un attacco software di successo è l'attacco ai primi microcontroller della serie At89C. L'attaccante ha sfruttato le scappatoie nella progettazione della sequenza operativa di cancellazione di questa serie di microcomputer a chip singolo. Dopo aver cancellato il bit di blocco della crittografia, l'attaccante ha interrotto la prossima operazione di cancellare i dati nella memoria del programma su chip, in modo che il microcomputer crittografato a chip singolo diventi un microcomputer a chip singolo non crittografato e quindi usi il programmatore per leggere il programma di chip.

Sulla base di altri metodi di crittografia, alcune apparecchiature possono essere sviluppate per cooperare con determinati software per eseguire attacchi software.

2. Attacco di rilevamento elettronico

Questa tecnica monitora in genere le caratteristiche analogiche di tutte le connessioni di potenza e interfaccia del processore durante il normale funzionamento con un'elevata risoluzione temporale e implementa l'attacco monitorando le sue caratteristiche di radiazione elettromagnetica. Poiché il microcontrollore è un dispositivo elettronico attivo, quando esegue diverse istruzioni, il consumo di energia corrispondente cambia di conseguenza. In questo modo, analizzando e rilevando questi cambiamenti utilizzando speciali strumenti di misurazione elettronica e metodi statistici matematici, è possibile ottenere informazioni chiave specifiche nel microcontrollore.

3. Tecnologia di generazione di guasti

La tecnica utilizza condizioni operative anormali per infastidire il processore e quindi fornisce ulteriore accesso per eseguire l'attacco. Gli attacchi di generazione di guasti più utilizzati includono ondate di tensione e ondate di clock. Gli attacchi a bassa tensione e ad alta tensione possono essere utilizzati per disabilitare i circuiti di protezione o forzare il processore per eseguire operazioni errate. I transitori di clock possono ripristinare il circuito di protezione senza distruggere le informazioni protette. I transitori di alimentazione e dell'orologio possono influire sulla decodifica e l'esecuzione di singole istruzioni in alcuni processori.

4. Tecnologia della sonda

La tecnologia è quella di esporre direttamente il cablaggio interno del chip e quindi osservare, manipolare e interferire con il microcontrollore per raggiungere lo scopo dell'attacco.

Per motivi di comodità, le persone dividono le quattro tecniche di attacco sopra in due categorie, una è un attacco invadente (attacco fisico), questo tipo di attacco deve distruggere il pacchetto e quindi utilizzare apparecchiature di test per semiconduttori, microscopi e micro-posizionatori in un laboratorio specializzato. Possono essere necessarie ore o addirittura settimane per essere completato. Tutte le tecniche di microprobing sono attacchi invasivi. Gli altri tre metodi sono attacchi non invasivi e il microcontrollore attaccato non sarà danneggiato fisicamente. Gli attacchi non intrusivi sono particolarmente pericolosi in alcuni casi perché l'attrezzatura richiesta per attacchi non intrusivi può spesso essere auto-costruita e aggiornata, e quindi molto economica.

La maggior parte degli attacchi non intrusivi richiede che l'attaccante abbia una buona conoscenza del processore e la conoscenza del software. Al contrario, gli attacchi di sonda invasivi non richiedono molte conoscenze iniziali e una vasta serie di tecniche simili possono di solito essere utilizzate contro una vasta gamma di prodotti. Pertanto, gli attacchi ai microcontrollori spesso iniziano da ingegneristica inversa e l'esperienza accumulata aiuta a sviluppare tecniche di attacco non invadenti più economiche e più veloci.