Attack Technologies
https://www.cl.cam.ac.uk/~sps32/mcu_lock.html
Reverse Engineering of Microcontrollers
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.670.7006&rep=rep1&type=pdf
Protezione firmware Amega328P-PU (Arduino)
0
voti
Non ci capiamo (ma probabilmente non ho capito bene io la tua architettura)
Il mio era un suggerimento per le situazioni "senza leggere ne scrivere"
Ho usato Atmega anni fa e ricordo una sorta di jtag a tre o quattro pin per programmare il mciro Se tu una volta che hai programmato il micro prendi un tronchesino e tagli, rimuovi, "demolisci" i pin usati per la programmazione togli la possibilità di accedere al tuo codice.
Potresti farlo anche con micro già montati sulla scheda, programmi e con un buon taglierino tagli e dissaldi i pin di programmazione. Certo se ne fai 10.000 lascia perdere ma per pochi pezzi puoi anche fare così.
Non puoi farlo se:
i pin hanno una doppia funzione programmazione/applicazione
i pin hanno bisogno di pullup/dn esterni
Certo la soluzione dei fuse è la più elegante (....esistono proprio per quello)
Ma evidentemente mi manca qualche cosa perché tu parli di zoccolo e aurdino uno e non riesco a capire come si possa fare se il tuo atmega "è zoppo"
Il mio era un suggerimento per le situazioni "senza leggere ne scrivere"
Ho usato Atmega anni fa e ricordo una sorta di jtag a tre o quattro pin per programmare il mciro Se tu una volta che hai programmato il micro prendi un tronchesino e tagli, rimuovi, "demolisci" i pin usati per la programmazione togli la possibilità di accedere al tuo codice.
Potresti farlo anche con micro già montati sulla scheda, programmi e con un buon taglierino tagli e dissaldi i pin di programmazione. Certo se ne fai 10.000 lascia perdere ma per pochi pezzi puoi anche fare così.
Non puoi farlo se:
i pin hanno una doppia funzione programmazione/applicazione
i pin hanno bisogno di pullup/dn esterni
Certo la soluzione dei fuse è la più elegante (....esistono proprio per quello)
Ma evidentemente mi manca qualche cosa perché tu parli di zoccolo e aurdino uno e non riesco a capire come si possa fare se il tuo atmega "è zoppo"
-

luxinterior
4.311 3 4 9 - Master EY

- Messaggi: 2690
- Iscritto il: 6 gen 2016, 17:48
0
voti
Ciao Elfo, credo che nessuno si metta a spendere tantissimi soldi per fare i reverse engineering..
E poi si parla di un circuito che devo io personalmente applicare in casa della gente.
AL 99% dei casi nessuno sarà interessato a frugare all'interno del microcontrollore...
Se poi arriva il famoso smanettone "curioso".. allora li devo tutelare il mio lavoro.
Ma semplicemente applicando la protezione all'interno dell'Atmega328P.
Luxinterior, la tecnica del "tagliare" i piedini della lettura/scrittura è una cosa un po troppo blanda e poco sicura. Basterebbe risaldare i pin del microcontrollore per leggere il contenuto. Il tutto io lo farei in 30 minuti...
La soluzione migliore e che io intendo intraprendere è quella dei Fuse e Lock.
E' una protezione studiata e realizzata appositamente per questi scopi e voglio applicarla.
Amici, trattandosi di un argomento molto interessante che puo essere utili a tutti coloro che al mondo di oggi utilizza i microcontroller per varie applicazioni (domotica, sistemi di allarme, automazione... etc..), io direi di utilizzare questo post spiegando passo passo..."teoria" e "pratica" (come se fosse un manuale d'uso) della protezione dei microcontrolli, in particolare l'Atmega328P che è parecchio usato.
Essendo molto pignolo ed amante dell'elettronica, permettetemi di suddividere questo "manuale", in diversi Step
■ Cenno sui bit "Fuse bits" e sui "Lock bits" (Low fuses, High fuses, Extended fuses)
■ Elenco dei metodi per applicare la protezione (quali software utilizzare, quale hardware utiilizzare)
■ Bootloader (con o senza, quali pro e contro sull'utilizzo della protezione)
■ Verifica dell'avvenuta protezione
■ Rischi durante la procedura di protezione
■ Ripristino Fuse in caso di Chip bricked
Spero con questa idea di dare un buon contributo a tante persone
E poi si parla di un circuito che devo io personalmente applicare in casa della gente.
AL 99% dei casi nessuno sarà interessato a frugare all'interno del microcontrollore...
Se poi arriva il famoso smanettone "curioso".. allora li devo tutelare il mio lavoro.
Ma semplicemente applicando la protezione all'interno dell'Atmega328P.
Luxinterior, la tecnica del "tagliare" i piedini della lettura/scrittura è una cosa un po troppo blanda e poco sicura. Basterebbe risaldare i pin del microcontrollore per leggere il contenuto. Il tutto io lo farei in 30 minuti...
La soluzione migliore e che io intendo intraprendere è quella dei Fuse e Lock.
E' una protezione studiata e realizzata appositamente per questi scopi e voglio applicarla.
Amici, trattandosi di un argomento molto interessante che puo essere utili a tutti coloro che al mondo di oggi utilizza i microcontroller per varie applicazioni (domotica, sistemi di allarme, automazione... etc..), io direi di utilizzare questo post spiegando passo passo..."teoria" e "pratica" (come se fosse un manuale d'uso) della protezione dei microcontrolli, in particolare l'Atmega328P che è parecchio usato.
Essendo molto pignolo ed amante dell'elettronica, permettetemi di suddividere questo "manuale", in diversi Step
■ Cenno sui bit "Fuse bits" e sui "Lock bits" (Low fuses, High fuses, Extended fuses)
■ Elenco dei metodi per applicare la protezione (quali software utilizzare, quale hardware utiilizzare)
■ Bootloader (con o senza, quali pro e contro sull'utilizzo della protezione)
■ Verifica dell'avvenuta protezione
■ Rischi durante la procedura di protezione
■ Ripristino Fuse in caso di Chip bricked
Spero con questa idea di dare un buon contributo a tante persone
-

FedericoDIP
7 4 - New entry

- Messaggi: 56
- Iscritto il: 18 set 2017, 15:03
1
voti
E' gia' stato scritto tutto.
Ora dovresti prenderti la briga di leggerti il datasheet del micro, collegarci il dragon, e programmarlo con quello.
Quando avrai il tutto funzionante lo proteggi.
A meno che tu non stia cercando un corso (magari con slide) che ti insegni passo per passo ad usare il micro.
Proteggere dalla lettura e' una cosa che si fa normalmente, a meno di non costruire un prototipo per uso proprio (in tal caso non serve).
Ora dovresti prenderti la briga di leggerti il datasheet del micro, collegarci il dragon, e programmarlo con quello.
Quando avrai il tutto funzionante lo proteggi.
A meno che tu non stia cercando un corso (magari con slide) che ti insegni passo per passo ad usare il micro.
Proteggere dalla lettura e' una cosa che si fa normalmente, a meno di non costruire un prototipo per uso proprio (in tal caso non serve).
-

AjeieBrazov
1.460 4 10 - ---
- Messaggi: 586
- Iscritto il: 23 mag 2017, 21:53
3
voti
luxinterior ha scritto:Il mio suggerimento pratico è taglia i pin di programmazione.
Non sarebbe sufficiente senza intervenire nei bit dei fusibili digitali, il microcontrollore ha anche il bootloader di programmazione quindi si può accedere al codice per via seriale. Si potrebbe tagliare i pin anche della seriale se non viene usata. Comunque ti posso assicurare che anche con i pin tagliati basta limare di poco il case e saldare dei sottilissimi fili per renderli di nuovo utilizzabili
0
voti
Pensare di proteggere un micro dalla lettura tagliandoci i pin è come pensare di intervenire sulla meccanica di un orologio da polso usando un piccone. 
-

AjeieBrazov
1.460 4 10 - ---
- Messaggi: 586
- Iscritto il: 23 mag 2017, 21:53
0
voti
Ricordati che se il tuo programma/sketch lo hai fatto usando le librerie e l'ide di arduino, devi rispettare la licenza gnu (se no erro), pertanto non puoi fare quello che chiedi.
E poi se sicuro di potere installare una scheda arduino non certificata in una centrale di allarme?
E poi se sicuro di potere installare una scheda arduino non certificata in una centrale di allarme?
0
voti
Non è così. Le librerie sono LGLP e quindi si possono usare in altri progetti senza dover distribuire il tutto come GPL. L'uso dell'IDE è del tutto irrilevante e la licenza non si trasmette a ciò che sopra ci scrivi :).
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...
Lo sapete che l'arroganza in informatica si misura in nanodijkstra?
Qualcosa non ha funzionato...
Lo sapete che l'arroganza in informatica si misura in nanodijkstra?
-

fairyvilje
15,0k 4 9 12 - G.Master EY

- Messaggi: 3047
- Iscritto il: 24 gen 2012, 19:23
0
voti
Ok il mio era un suggerimento primitivo per non perderci tempo sopra e avere una protezione sufficientemente sicura, ben venga la scelta di studiarsi i fusibili.
Saldare fili facilmente su 4 pin tagliati non è fattibile, parlo per esperienza già fatta in passato.
Certo il pin dev'essere tagliato a filo del contenitore se gli lasci mezzo moncone che dice: saldami saldami ...
Che poi le protezioni sono un po come il cane da guardia il ladro idiota lo tengono lontano quello che vuole entrare cane o non cane entra in casa comunque.
Aggiungo per AjeieBrazov aneddoto di vita vissuta: prodotti migliaia di pezzi mciro NEC 4bit gambizzato dopo la programmazione. E non contenti anche tropicalizzato la scheda con resina per ostacolare i tentativi di intrusione.
Ed era un prodotto che tu potresti fare con gli occhi chiusi programmando con la mano sinistra...
Saldare fili facilmente su 4 pin tagliati non è fattibile, parlo per esperienza già fatta in passato.
Certo il pin dev'essere tagliato a filo del contenitore se gli lasci mezzo moncone che dice: saldami saldami ...
Che poi le protezioni sono un po come il cane da guardia il ladro idiota lo tengono lontano quello che vuole entrare cane o non cane entra in casa comunque.
Aggiungo per AjeieBrazov aneddoto di vita vissuta: prodotti migliaia di pezzi mciro NEC 4bit gambizzato dopo la programmazione. E non contenti anche tropicalizzato la scheda con resina per ostacolare i tentativi di intrusione.
Ed era un prodotto che tu potresti fare con gli occhi chiusi programmando con la mano sinistra...
-

luxinterior
4.311 3 4 9 - Master EY

- Messaggi: 2690
- Iscritto il: 6 gen 2016, 17:48
0
voti
Ma se un microcontrollore prevede dei fuses programmabili per garantire la sicurezza del firmware perché dovrei mettermi a tagliare pin? Non mi sembra così più veloce il tuo metodo :/
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...
Lo sapete che l'arroganza in informatica si misura in nanodijkstra?
Qualcosa non ha funzionato...
Lo sapete che l'arroganza in informatica si misura in nanodijkstra?
-

fairyvilje
15,0k 4 9 12 - G.Master EY

- Messaggi: 3047
- Iscritto il: 24 gen 2012, 19:23
Chi c’è in linea
Visitano il forum: Nessuno e 39 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


