Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Protezione firmware Amega328P-PU (Arduino)

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteMassimoB, Foto UtenteWALTERmwp, Foto Utentexyz

2
voti

[11] Re: Protezione firmware Amega328P-PU (Arduino)

Messaggioda Foto Utenteelfo » 20 set 2017, 13:38

Avatar utente
Foto Utenteelfo
3.299 2 5 7
Master
Master
 
Messaggi: 1402
Iscritto il: 15 lug 2016, 13:27

0
voti

[12] Re: Protezione firmware Amega328P-PU (Arduino)

Messaggioda Foto Utenteluxinterior » 20 set 2017, 14:53

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"
Avatar utente
Foto Utenteluxinterior
2.858 2 4 8
Expert EY
Expert EY
 
Messaggi: 1679
Iscritto il: 6 gen 2016, 17:48

0
voti

[13] Re: Protezione firmware Amega328P-PU (Arduino)

Messaggioda Foto UtenteFedericoDIP » 20 set 2017, 16:06

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
Avatar utente
Foto UtenteFedericoDIP
7 4
New entry
New entry
 
Messaggi: 56
Iscritto il: 18 set 2017, 15:03

1
voti

[14] Re: Protezione firmware Amega328P-PU (Arduino)

Messaggioda Foto UtenteAjeieBrazov » 20 set 2017, 16:27

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).
Avatar utente
Foto UtenteAjeieBrazov
1.455 4 10
---
 
Messaggi: 586
Iscritto il: 23 mag 2017, 21:53

3
voti

[15] Re: Protezione firmware Amega328P-PU (Arduino)

Messaggioda Foto Utentexyz » 20 set 2017, 16:29

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 :D
Avatar utente
Foto Utentexyz
6.130 2 4 5
G.Master EY
G.Master EY
 
Messaggi: 1627
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[16] Re: Protezione firmware Amega328P-PU (Arduino)

Messaggioda Foto UtenteAjeieBrazov » 20 set 2017, 16:34

Pensare di proteggere un micro dalla lettura tagliandoci i pin è come pensare di intervenire sulla meccanica di un orologio da polso usando un piccone. :mrgreen:
Avatar utente
Foto UtenteAjeieBrazov
1.455 4 10
---
 
Messaggi: 586
Iscritto il: 23 mag 2017, 21:53

0
voti

[17] Re: Protezione firmware Amega328P-PU (Arduino)

Messaggioda Foto Utenteblueice80 » 20 set 2017, 16:38

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?
Avatar utente
Foto Utenteblueice80
288 1 1 5
Frequentatore
Frequentatore
 
Messaggi: 190
Iscritto il: 19 apr 2012, 22:22

0
voti

[18] Re: Protezione firmware Amega328P-PU (Arduino)

Messaggioda Foto Utentefairyvilje » 20 set 2017, 16:42

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? :D
Avatar utente
Foto Utentefairyvilje
12,3k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 2581
Iscritto il: 24 gen 2012, 19:23

0
voti

[19] Re: Protezione firmware Amega328P-PU (Arduino)

Messaggioda Foto Utenteluxinterior » 20 set 2017, 16:43

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...
Avatar utente
Foto Utenteluxinterior
2.858 2 4 8
Expert EY
Expert EY
 
Messaggi: 1679
Iscritto il: 6 gen 2016, 17:48

0
voti

[20] Re: Protezione firmware Amega328P-PU (Arduino)

Messaggioda Foto Utentefairyvilje » 20 set 2017, 16:44

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? :D
Avatar utente
Foto Utentefairyvilje
12,3k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 2581
Iscritto il: 24 gen 2012, 19:23

PrecedenteProssimo

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 22 ospiti