www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC code protection gesetzt! Muss man den PIC erst löschen, oder kann man direkt überschreiben?


Autor: Cagara (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde gerne erfahren welche optionen man bei einem mit 
code-protection versehenen PIC hat ...

Muss man den PIC erst löschen? Oder kann man ihn gleich überschreiben!

Wenn man nämlich direkt überschreiben kann, dann wäre das doch eine 
Sicherheitslücke ... Da die ersten 16 Wörter sowieso sichtbar sind 
könnte man doch diese ersteinmal auslesen, und diese dann einfach 
überschreiben mit einem eigenen "Loader" ...

Nach dem 16ten Wort kappt man beim Schreiben die Verbindung damit nichts 
weiter passiert. Nun könnte man aus dem "Miniloader" doch den Rest des 
Flashs lesen!

Was sagt ihr dazu?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne nicht speziell den PIC, aber die Atmel-AVR und -8051 müssen 
erst gelöscht werden.

Ich habs mal probiert, beim AVR wärend des Löschens VCC abzuschalten. 
Damit kann man dann einen Zustand erreichen, wo der Flash gelöscht ist, 
aber die Lockbits noch nicht.
Die Lockbits werden also definitiv erst nach dem Flash gelöscht.


Peter

Autor: Cagara (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andere Idee ...

Was wenn man statt einem Quarz, dem PIC einen taster als quarz anlegt 
...
Wärend eigentlich das Flash gelöscht werden soll kühlt man den PIC auf 
-200°C ab mit flüssigem Stickstoff, dann lässt man ihn aufwärmen und 
setzt wieder per Schalter den Takt sodass nur das Lockbit gelöscht wird 
:)

Das ist jetzt natürlich die frage ... also ich weiss dass man den 
Arbeitsspeicher z.b. auch ohne Spannung mit Flüssigem Stickstoff mehrere 
Stunden am leben erhalten kann!

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das ist jetzt natürlich die frage ... also ich weiss dass man den
>Arbeitsspeicher z.b. auch ohne Spannung mit Flüssigem Stickstoff mehrere
>Stunden am leben erhalten kann!

Woher weisst du das?

Autor: Cagara (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ausprobiert ...

Schon bei minus 15-20 Grad kannst du den RAM eigentlich einige Minuten 
"einfrieren"...

Versuch doch mal einen Controller im Angemachten Zustand in die 
Gefriertruhe zu packen, und schalt ihn dann irgendwann mal für 30 
Sekunden komplett aus ... eigentlich sollte der Inhalt des 
Arbeitsspeichers noch da sein!

Und mit flüssigem Stickstoff oder Trockeneis sollte es dann eigentlich 
noch etwas länger gehen!

Autor: Bereits Fort (Firma: D.ade) (bereitsfort)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das mit dem externen takten und der Unterkühlung ließe sich noch anders 
bewerkstelligen.

Indem man die Stromzufuhr so begrenzt, das die Energie zum Löschen nicht 
ausreicht.

Autor: Cagara (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interessante idee ...

Sagen wir ich programmiere den pic dann mit einem mega32 ... der kann ja 
problemlos den takt für den pic liefern und auch die spannungen regeln 
...

Wann müsste man die Spannung absenken auf ... ja auf was eigentlich ...
Und kann es eigentlich sein dass die Spannung fürs Löschen nicht reicht, 
aber fürs weiterlaufen in der Löschroutine?

Und wann weiss man wann man die Spannung wieder erhöhen kann ... ?



Würde die Methode evaluieren wenn du mir mehr "Input" gibts :)

Autor: Cagara (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Löscht der PIC eigentlich auch "nach Takt" ? Ist bekannt wieviel er pro 
takt löscht?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Löscht der PIC eigentlich auch "nach Takt" ? Ist bekannt wieviel er pro
>takt löscht?

Der PIC braucht keinen Takt beim programmieren
und er braucht auch keinen beim löschen.
Chip Erase läuft auch nicht bei "beliebigen" Spannungen.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Pic benutz den WDT als internen Takt zum Programmieren/Löschen,
geht mit ca 32khz.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@holger

>Der Pic benutz den WDT als internen Takt zum Programmieren/Löschen,
>geht mit ca 32khz.

Dünnschiss!
gruss
der andere holger.

Autor: Cagara (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay dann mal anders gefragt ...
wie genau läuft der chip erase ab ...

Sagen wir ich lege eine Sinuswelle als Spannung an, die ihre Amplutide 
beim "Springe zum Nächsten Register" hat und eine minimale Spannung beim 
"Delete Register" hat ...

Wäre soetwas nicht möglich?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Sagen wir ich lege eine Sinuswelle als Spannung an,

Geh mal zum Arzt. Microchip könnte dir sagen wie
man die Chips knackt. Und selbst wenn ich es wüsste,
würde ich es dir nicht verraten ;)

Autor: Cagara (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich selber will garnichts knacken, ich möchte nur wissen ob nicht jemand 
meinen Chip dann knacken kann?

Und wieso, das mit dem Sinus ist doch nicht so abwägig?!?!

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.chip-explorer.de/

Die Bulk-Erase startet ein Programm im geschützten Flash-Bereich, das 
diesen bewerkstelligt. Als interner Clock wird der WDT benutzt.
Stand mal in einer alten Family-documentation von Microchip.

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
pic, WDT hat einen einen einstellbaren Timeout zwischen 18ms und 2.3 
Sekunden. Datenblatt besser lesen, die ca 2 Sekunden passen schon.

Die 4Mhz wirst du sehen, weil du den internen OSC eingeschaltet hast.
Schalte den mal aus, dann sieht die Sache auch anders, und ohne 
Störungen aus. Das Programmierinterface ist auch auf uC vorhanden, die 
keinen internen OSC besitzen, WDT haben sie alle mit ca 32khz.
Der WDT hat ca 32khz. Diese werden durch 2 geteilt, wegen des richtigen 
Taktverhältnisses (duty_cycle) und einem 8bit teiler zugeführt, gleich
wie der TMR0. Jeder overflow dieses Timers generiert einen Reset.
Meins Wissens dient diser Takt auch dem ICSP, um die charge-pumps zu
bedienen, sowie als Takt für den uC von einem reservierten Flash, der
die ICSP Befehle entgegennimmt und ausführt.

Autor: Walter Freywald (mrhanky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum reservierten Flash:

gibt es ne möglichkeit, da ran zukommen (evtl. auch bei nem 16er PIC) ?
Hat jemand da schon Erfahrungen gemacht ?

W.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
War das nicht so, dass man bei den PICs anhand des Stromverbrauchs auf 
den aktuellen Befehl schließen konnte? Knacken kann man alles, eine 
absolute Sicherheit gibts nicht. Die Chinesen machen das mittlerweile 
mit CT und Elektronenstrahlmikroskop.

Autor: Sergey (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://de.wikipedia.org/wiki/PICmicro#Sicherheit_u...

Power-Stress wie bei 16C84/16F84 geht bei neueren nichtmehr.
Ausserdem sind die Fuses mit AND-Logik oder anderen Sachen versehen.

Power-Glitch kann funktionieren, so arbeitet vermutlich auch der 
FlashPIC Reader von
Semiresearch.

Manche neuere PICs oder PIC-Revisionen haben auch Metalgitter, aber ohne 
aktive Sensoren,
das Gitter soll nur die Sicht bzw. das Microprobing am Bus 
verhindern/erschweren.

Der Grund, warum  manche alte 16C73A/JW nach Code-Protect nichtmehr
unter UV loeschbar waren, ist dass die A-Revisionen die Fuse mit Metall 
abgeschirmt
haben, damit man sie eben nicht durch UV resetten kann.

Es geht auch billiger als chip-explorer.de (soweit ich weiss nur ein 
Reseller).

Sicherer sind insbesondere 18Fxxxx PICs.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier wird gezeigt wie man durch das einfrieren vom Speicher an 
verschlüsselte Daten rankommt: 
Youtube-Video "Lest We Remember: Cold Boot Attacks on Encryption Keys"

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.