 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
matjazkariz Član


Pridružen-a: Sre 03 Nov 2004 18:09 Prispevkov: 1026 Aktiv.: 4.33
|
Objavljeno: Pon Jan 16, 2006 10:37 am Naslov sporočila: Zaščita kode na mikrokontrolerjih |
|
|
Pozdravljeni!
Tema naj bi zajemala bolj širok spekter miokrokontrolerjev. V osnovi me zanima kako najbolj zaščititi kodo, ki jo vpišemo v mikrokontroler, pred branjem iz le tega. Sicer pri PIC mikrokontrolerjih imamo opcijo "code protect", ampak me zanima koliko je ta opcija varna. Prav tako me zanima, kako imajo to rešeno pri drugih podjetjih (Atmel, AVR...). Kakšne metode zaščite lastne kode so v uporabi pri različnih proizvajalcih, ki uporabljajo mikrokontrolerje? Kako bi vi sami izvedli "popolno zaščito"?
Skratka - vse na to temo. Kakršnakoli ideja je dobrodošla. |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pon Jan 16, 2006 10:48 am Naslov sporočila: |
|
|
Koda v zaščitenih mikrokontrolerjih je dokaj varna a seveda ne 100%. Obstajajo metode ter sredstva s katerimi se da prebrati tudi zaščiten mikrokontroler. Pri okenskih tipih pic-ov je obstajala varianta kjer so z laserjem osvetljevali - "lock bit" ter na ta način odstranili zaščito. Izboljšana serija z sufixom "A" je imela "popravek". Tukaj se je lock bit brisal 10x dalj časa kot vse ostalo. Zato proizvajalec za pic-e s sufixom "A" pri razvoju aplikacij - če bomo pic mogoče še brisali ne priporoča postavitev CP_ON, kajti lahko se zgodi, da pica ne bomo mogli več izbrisat.
Pri flash variantah je prav tako obstajala varinata, kjer se je pri nekih vmesnih spremenjivih napetostih dal prebrati. Izboljšana varinata s sufixom "A" ima tudi to pomanjkljivost odpravljeno.
Z zgoraj napisanega je razvidno, da je za podobne posege potrebno veliko znanja ter seveda specijalne opreme. Glede na to se da sklepati, da je koda v zaklenjenem mikrokontrolerju dokaj varna. _________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70829.90
|
Objavljeno: Pon Jan 16, 2006 10:53 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
Proteus Član



Pridružen-a: Sre 15 Jun 2005 10:03 Prispevkov: 1943 Aktiv.: 8.20
|
Objavljeno: Pon Jan 16, 2006 11:08 am Naslov sporočila: |
|
|
Če je izdelek tržno zanimiv in se bo proizvajal v velikih serijah, potem konkurenca ne bo kopirala SW, temveč idejo samo. SW je samo implementacija ideje. Takšne stvari pa se rešujejo s patenti.
Tudi sam občasno napišem SW za kakšno kopijo standardnega produkta (kakšne raritete, ki se prodajajo po kosih in so oderuško drage). Tukaj se običajno kraja SW niti ne izplača, saj mora imeti kopija tudi kaj dodatnih dobrot in biti povrh še cenejša od originala. |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pon Jan 16, 2006 11:28 am Naslov sporočila: |
|
|
Proteus je napisal/a: |
...Če je izdelek tržno zanimiv in se bo proizvajal v velikih serijah, potem konkurenca ne bo kopirala SW, temveč idejo samo. ... |
Točno. Sam sem pred časom naredil svojo varianto softwera za en conradov števec na katerim je bil uporabljen PIC16C57.
Je pa še ena zanimiva, ter dokaj uspešna varinata kjer se uporabljajo mikrokontrolerji kot zaščita. To so razni "dongli" - "obeski", ki jih uporabljajo razni proizvajaci softwera za zaščito svojega izdelka. Glede na vsemogoče metode zaščit softwera pred kopiranjem se mi tale zdi še najboljša. _________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.57
|
Objavljeno: Pon Jan 16, 2006 11:41 am Naslov sporočila: |
|
|
Pred kratkim sem naletel na nekaj informacij na to temo, skupaj z nekaj tabelami, ki naj bi ponazarjale (ne)varnost razlicnih manjsih MCUjev. Veselo branje. |
|
Nazaj na vrh |
|
 |
matjazkariz Član


Pridružen-a: Sre 03 Nov 2004 18:09 Prispevkov: 1026 Aktiv.: 4.33
|
Objavljeno: Tor Jan 17, 2006 2:24 pm Naslov sporočila: |
|
|
Po vsem prebranem je razvidno da 100% zaščite ni. Vprašanje je samo količina vloženih sredstev.
Patent kode žal tu ni opcija, ker so ciljne države bolj slabo pravno podkovane.
Sam sem razmišljal o kombinaciji mehanske zaščite s programsko. Mogoče bi imelo smisel zdrsati oznake iz mikrokontrolerja (na ta način bi ugotovili za kateri mikrokontroler gre samo z invazivno metodo) ter vse skupaj zaliti v plastiko. Problem je precejšnja podražitev proizvodnje in težje vzdrževanje.
Mogoče kdo dela z Rabbit mikrokontrolerji? Kako je z zaščito pri njih? |
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.71 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Tor Jan 17, 2006 3:23 pm Naslov sporočila: |
|
|
Zanalašč sem zaščitil pred branjem en EPROM pic, zato, ker tega ne priporočajo. Poizkusil sem ga brisati z 80 watno UV žarnico tako, da je chip z oknom neposredno ležal na visokotlačnem kremenovem balonu dva dni. Temperatura chipa je bila taka, da je kapljica vode na chipu v trenutku izhlapela. Brisanje ni uspelo. Mogoce bi tri dni pomagalo, zaradi preveč ozona sem nehal.
Jur |
|
Nazaj na vrh |
|
 |
oversc0re Član

Pridružen-a: Tor 13 Sep 2005 15:20 Prispevkov: 460 Aktiv.: 1.94 Kraj: Radomlje
|
Objavljeno: Tor Jan 17, 2006 3:46 pm Naslov sporočila: |
|
|
Z rabbitom 3000 sem naredil eno precej obširno aplikacijo, vendar se z zaščito nisem preveč ukvarjal (ubistvu sem prodal tudi hex file(ob predpostavki da se jim ne bo dalo dissasemblat), le koda je ostala meni). Takole na hitro, ko gledam po softweru bolj slabo kaže na kakšne zaščite, tudi v PDFju mi ni nic padlo v oko. Je pa prednost rabbita, da ni zelo razširjen, in če ti uspe zabrisati oznake, bo težko uganiti... |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.57
|
Objavljeno: Tor Jan 17, 2006 4:18 pm Naslov sporočila: |
|
|
Sicer je najbrz res, da se da obiti pogosto uporabljene zascite, a je vprasanje koliko se to sploh splaca - morda je cenejse placati kaksnemu moldavcu 100 SIT na uro in naredi funkcionalni ekvivalent tvojega SW, namesto da bi kdo zapravljal cas z unicevanjem zascite (in obene ne-unicenjem programa), pa se nobenih pravnih tezav ne bo. Glede na to, da si ocitno naredil nekaj vredno cel kup denarja ( ), lahko proizvajalcu mikrokontrolerjev narocis serijo s programom v ROMu in oznakami po zelji.
Pa se to: stran, ki sem jo omenil v prejsnjem sporocilu "pozablja" omeniti, da invazivne metode trajajo kar precej casa preden prides zraven in naredijo posten masaker iz cipa. Tukaj imam (OT)PROM, ki je za hec odprt do silicija s HNO3 - lahko objavim sliko, ce koga zanima. |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Tor Jan 17, 2006 7:26 pm Naslov sporočila: |
|
|
jur je napisal/a: |
Zanalašč sem zaščitil pred branjem en EPROM pic, zato, ker tega ne priporočajo. Poizkusil sem ga brisati z 80 watno UV žarnico tako, da je chip z oknom neposredno ležal na visokotlačnem kremenovem balonu dva dni. Temperatura chipa je bila taka, da je kapljica vode na chipu v trenutku izhlapela. Brisanje ni uspelo. Mogoce bi tri dni pomagalo, zaradi preveč ozona sem nehal.
Jur |
V času, ko še ni bilo toliko flash izpeljank pic-ev sem delal kar precej z /JW
Brez težav je šlo brisat tudi take z postavljenim "lock" bitom le, da ni imel sufixa "A"
Parkrat se mi je namreč zgodilo, da sem pomotoma vključil _CP_ON. Nekoč se mi je isto zgodilo z malčkom 12C509/A. Vsebina se je sicer poradirala, a očitno je ostal postavljen "lock" bit, kajti programirat ga ni šlo več. Brisanje sem ponovil "miljonkrat"
(velikokrat sem ga namreč dal zraven ostalih pic-ov v brisalec) _________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.71 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Sre Jan 18, 2006 9:41 am Naslov sporočila: |
|
|
Moj chip je bil 16c74A verzija. Ravno zato ker naj bi bil odporen sem šel preverjat. Meni so /JW chipi všec, ker so bistveno hitreje sprogramirani.
Jur |
|
Nazaj na vrh |
|
 |
matjazkariz Član


Pridružen-a: Sre 03 Nov 2004 18:09 Prispevkov: 1026 Aktiv.: 4.33
|
Objavljeno: Sre Jan 18, 2006 10:44 am Naslov sporočila: |
|
|
Rabbiti očitno ne omogočajo kakšne specialne zaščite (vsaj serija 2000 in 3000). Poleg tega so njihovi moduli dokaj prepoznavni, tako da bi drsanje oznak imelo kratkotrajen vpliv na odkrivanje čipa. Hex kodo lahko dobi dol vsak amater v petih minutah in adijo ves trud.
Razmišljal sem kako bi kodo prenesel na nek drugi čip (mikroprocesor ali eeprom), ki ima boljšo zaščito, vendar to ne bi bilo v redu, ker če kodo zaščitim proti branju, je niti rabbit ne bo prebral.
Ima kdo kakšno idejo okrog zaščite s tako kombinacijo procesorjev?
Je mogoče kdo kdaj izvedel kakšno enkripcijo kode v mikrokontrolerju?
Dejstvo je, da je kraja ideje same precejšen problem ampak glede na to, da razvoj takega programa traja vsaj 6 mesecev (pa čeprav plačaš moldavca po 100 sit na uro), imaš polletno prednost na tržišču in v tem času pokriješ ves trg.
Trenutno vidim problem v tem, kako doseči polletno zakasnitev konkurence.
Rabbiti očitno omogočajo samo 5 minutno zakasnitev... |
|
Nazaj na vrh |
|
 |
oversc0re Član

Pridružen-a: Tor 13 Sep 2005 15:20 Prispevkov: 460 Aktiv.: 1.94 Kraj: Radomlje
|
Objavljeno: Sre Jan 18, 2006 11:04 am Naslov sporočila: |
|
|
Ja, moduli so pa res enostavno prepoznavni. Glede na to, koliko ti pomeni zaščita, bi bilo morda res najbolje, da se program tovaarniško zapeče notri in je problem rešen. |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.57
|
Objavljeno: Sre Jan 18, 2006 11:37 am Naslov sporočila: |
|
|
Ne predstavljam si, kaj si napisal v sestih mesecih, zdaj bi pa v trenutku prenesel na drugo platformo, ce bi le-ta omogocala boljso zascito, zato ti bom verjel na besedo da res ni mogoce narediti prej kot v toliko casa.
En- in dekripcij "on the fly" so se svoj cas posluzevali virusi (vsi najbolj elegantni primerki pod 1 KB, s tem da je moral tudi virus nekaj opaznega poceti - se vsaj reproducirati, ce ze ne kaj drugega). Malo boj glomazni so dekompresorji (za odpakiranje kernela). Vse to ima eno tezavo: ce jih lahko odkodira tvoj program, jih lahko odkodira tudi Lopovski Tat, ki ti je DLdal program iz mikrokontrolerja, saj mora biti del programa precej standardne oblike (reset vektor, nekaj kode, ki pripravi program za odkodiranje, itd.).
Naroci svoje mikrokontrolerje z lastno oznako (torej povsem brez imena proizvajalca, tipa mikrokontrolerja, itd.) in programom v ROMu, pa ga bo bistveno tezje ukrasti. Precej bolj je verjetno, da te bo zbil avto, kot pa da bi ti tako kdo ukradel kodo iz primerno zascitenega mikrokontrolerja ... in fina ideja 6 mesecev pred konkurenco ti ne pomaga cisto nic, ce te zbije avto. |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 492 dni
Powered by phpBB © 2001, 2005 phpBB Group
|