I microcontrollori ATmega hanno generalmente due bit di blocco, LB1 e LB2. Uno impedisce l'ulteriore programmazione e l'altro impedisce la rilettura del flash. Se sono impostati entrambi, il chip deve essere cancellato prima di poter essere programmato di nuovo. Ciò impedisce che la memoria flash venga letta e decodificata. Meccanismi simili possono essere trovati su molte altre famiglie di microcontrollori.
Alcuni altri processori hanno bypass ampiamente documentati, ad es. PIC 18F452, in cui un singolo blocco può essere cancellato e il firmware può essere scritto per leggere altri blocchi ( documentato in "Heart of Darkness - Exploring the uncharted backwaters of HID iCLASSTM security").
Di tanto in tanto, i post del forum sono pubblicati da aziende che offrono i loro servizi per leggere chip ATmega protetti. Esistono anche siti, generalmente .ru, che offrono questi servizi. Il prezzo tende ad essere di circa $ 500- $ 1500 con un tempo di consegna di poche settimane.
Sospetto che a questi costi, non stiano decapsulando il chip e utilizzando una sonda laser per ripristinare i bit del fusibile. Ho chiesto se restituiscono il chip integro, ma non ho ricevuto risposta.
In questa ricerca ("Protezione dalla copia nei microcontrollori moderni"), è menzionato nella sezione "Attacchi non invasivi su microcontrollori" a cui molti microcontrollori possono bypassare la protezione dalla copia utilizzando clock, alimentazione o glitch dei dati. Tuttavia, non ho visto esempi pratici o ulteriori ricerche in questo settore.
Diversi anni fa, il glitching era molto popolare per bypassare la protezione sulle smart card utilizzate nei ricevitori della TV satellitare, ma ancora una volta, non ho trovato molte informazioni qui al di fuori di alcuni schemi circuitali dei glitcher.
Qualcuno ha ulteriori informazioni sull'uso dei glitch per aggirare la protezione dalla copia?