Forum: Mikrocontroller und Digitale Elektronik Einbrennen von RAM bits?


von Mike (Gast)


Lesenswert?

Ich lese gerade das Datenblatt eines Mikrocontrollers mit speziellen 
Sicherheitsfeatures. Unter anderem enthält er ein gegen Ausspionieren 
besonders gesichertes "Trusted RAM". Interessanterweise wird der 
Speicherinhalt periodisch invertiert, damit die Bits nicht "einbrennen":

"When a remanence periodic event occurs, the physical data stored in the 
RAM is inverted in order to prevent physical “burn-in” signatures."

Weiss jemand, was physikalisch hinter diesem Phänomen des Einbrennens 
steckt?

Einbrennen kannte ich bisher nur bei Röhrenbildschirmen. Remanenz kann 
ich mir bei magnetischen Speichern vorstellen, nicht aber bei 
Halbleiter-RAM. RAM sollte sich im Gegensatz zu EEPROM oder Flash auch 
nicht abnutzen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mike schrieb:
> Einbrennen kannte ich bisher nur bei Röhrenbildschirmen.
Das gibt es auch bei TFT-Bildschirmen. Und so ein Pixel in einem 
TFT-Bildschirm ist nicht viel anders als eine dynamisch aufgefrischte 
Speicherzelle.

> RAM sollte sich im Gegensatz zu EEPROM oder Flash auch nicht abnutzen.
Aber im RAM gibt es Mosfets mit Isolierschichten, in denen Ladungen 
"gefangen" werden können (ein Flash-Speicher ist im Grunde nichts 
anderes als ein RAM mit einem isolierten "Speichergate"). Wenn immer die 
selbe Spannung anliegt, kann sich da messbar mehr ansammeln.

von Borsolino (Gast)


Lesenswert?

Wie lange lebt denn eine solche Ladung, daß man das RAM auslöten, mit 
nach Hause nehmen und dort einbauen könnte, um es auszulesen?

Für ein direktes Lesen, bräuchte man Zugriff auf die Schaltung und die 
wäre doch zu verwähren, weil man die Daten doch direkt würde auslesen 
können oder nicht?

von Alex G. (dragongamer)


Lesenswert?

Es ist eher so dass sich messbar mehr ansammeln kann sobald man eben die 
Spannung wieder anlegt. Also auch wenn der Speicher gelöscht wurde, 
könnte man immer noch fest stellen ob das 1-bit mehr ausgeleiert ist, 
als das 0-bit. Das bleibt auch ohne Spannung ewig so, bis eben das 
umgekehrte bit auch so lange von der Zelle gehalten wurde.

Wie realitätsnah eine Angriffsmethode auf diese Wege ist, steht 
allerdings auf einem anderen Blatt.

von KI-Besitzer (Gast)


Lesenswert?

Mike schrieb:
> Ich lese gerade das Datenblatt eines Mikrocontrollers mit
> speziellen Sicherheitsfeatures.

Salamitroll.
Man wird über den Mikrocontrollers im unklaren gelassen.

Mike schrieb:
>Weiss jemand, was physikalisch hinter diesem Phänomen des Einbrennens
>steckt?
Salamitroll.
Man wird über den Typ (Technologie) des RAM im unklaren gelassen. Welche 
"physikalischen Phänome" nutzt den der RAM des TO? Etwa 
Phasenwechsel-RAM (PRAM, PCRAM)?

Leute! RAM bedeutet erst mal nur "Random-Access Memory", also laut Wiki 
„Speicher mit wahlfreiem/direktem Zugriff“. 
https://de.wikipedia.org/wiki/Random-Access_Memory
Und im Wiki steht dazu: "Da die Bezeichnung RAM missverständlich ist 
..."

Ahja, missverständlich, na das ist doch genau das Richtige für eine 
Salamitrolldiskusion.

von Mario M. (thelonging)


Lesenswert?

Passend zum Unabhängigkeitstag würde ich sagen: Das ist der einzige 
"Trusted RAM": https://de.wikipedia.org/wiki/Dodge_Ram

P.S.: Das "tr" in trusted steht für Troll!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Alle zu diesem Thema zu findenden Arbeiten, wie diese hier:
ftp://ftp.cs.princeton.edu/reports/2009/859.pdf
https://www.emsec.rub.de/media/crypto/attachments/files/2010/04/thesis_lemke_rust.pdf
nehmen Bezug auf Peter Gutmann, der vor knapp 20 Jahren mal was zum 
Thema verfasst hat:
https://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html
https://de.wikipedia.org/wiki/Gutmann-Methode

Man findet aber tatsächlich nichts, wo das irgendwer nachvollziehbar 
hinbekommt:
http://www.pdl.cmu.edu/PDL-FTP/NVM/dram-retention_isca13.pdf
https://security.stackexchange.com/questions/99906/can-ram-retain-data-after-removal
https://pdfs.semanticscholar.org/6784/da5db43c16e3323c74025d28e71c5042a8e2.pdf

: Bearbeitet durch Moderator
von Hmm (Gast)


Lesenswert?

Lothar M. schrieb:
> Aber im RAM gibt es Mosfets mit Isolierschichten, in denen Ladungen
> "gefangen" werden können (ein Flash-Speicher ist im Grunde nichts
> anderes als ein RAM mit einem isolierten "Speichergate"). Wenn immer die
> selbe Spannung anliegt, kann sich da messbar mehr ansammeln.

Das würde mich stark überraschen. Das dürfte SRAM sein.

Das "Einbrennen" bei SRAM ist kein normales Verhalten. Ein normaler µC 
wäre danach kaputt, denn er könnte jederzeit ein undefiniertes Verhalten 
zeigen oder abschmieren.

Meine Vermutung:
Der Hintergrund dürfte sowas wie Sicherheitstechnik sein: Man möchte 
durch dieses Invertieren erkennen, wenn eine Speicherzelle defekt ist. 
Da geht es einfach darum, dass GARANTIERT werden kann, dass der Speicher 
funktioniert, nicht dass SRAM mit der Zeit einbrennen würde.
Es geht dabei dann aber nur darum, einen bestimmte Art von Fehler 
erkennen zu können, und nicht, dass RAM so unzuverlässig wäre. Und das 
ist nur nötig, weil der Inhalt sicherheitskritisch ist, und das auch 
dann ein Problem ist, wenn das nur in einem von 100000 Fällen passiert.

Mir wäre nicht bekannt, dass sich SRAM "einbrennt", weil man eine Zelle 
zu lange auf einem bestimmten Zustand hält.

Das würde die Lebensdauer jedes einzelnen Prozessors auf der Welt arge 
Grenzen setzen...

Ich bin allerdings kein SRAM-Spezialist, wenn jemand hier Einblicke hat, 
wäre das interessant.

von Peter D. (peda)


Lesenswert?

SRAM-Zellen können auch Ladungen auf dem Gate eine Zeitlang speichern. 
Mit Einbrennen hat das aber nichst zu tun.

Ich wollte mal in einen AT89C2051 eine Routine schreiben, die ein 
Power-on Reset von einem externen Reset unterscheidet. Dazu habe ich 8 
Bytes in den SRAM geschrieben. Waren sie nach dem Reset erhalten, dann 
war es ein Warmstart.
Es hat jedoch nicht funktioniert. Ich konnte mehrere Sekunden den Strom 
wegnehmen und auch die VCC kurzschließen, die 8 Bytes waren noch im SRAM 
zu lesen. Erst nach >1min ohne VCC wurde ein Kaltstart erkannt.

von Joachim B. (jar)


Lesenswert?

Peter D. schrieb:
> Dazu habe ich 8
> Bytes in den SRAM geschrieben. Waren sie nach dem Reset erhalten, dann
> war es ein Warmstart.
> Es hat jedoch nicht funktioniert.

kommt mir bekannt vor, ich glaube das ist beim ESP32 auch so oder bei 
OLEDs

jedenfalls wunderte ich micht das die sich "merkwürdig" verhalten bei 
Neustart ohne VCC Wegnahme.

von HildeK (Gast)


Lesenswert?

Peter D. schrieb:
> Ich konnte mehrere Sekunden den Strom
> wegnehmen und auch die VCC kurzschließen, die 8 Bytes waren noch im SRAM
> zu lesen. Erst nach >1min ohne VCC wurde ein Kaltstart erkannt.

Ähnliches ist auch bei DRAMs zu beobachten, die abgeschaltet bzw. deren 
Refresh unterbrochen wurde.
Es ist halt ein Dreckeffekt und nirgends spezifiziert. Zwar vorhanden, 
aber nicht seriös nutzbar.

Borsolino schrieb:
> Wie lange lebt denn eine solche Ladung, daß man das RAM auslöten, mit
> nach Hause nehmen und dort einbauen könnte, um es auszulesen?

Ich könnte mir höchstens vorstellen, dass ein Halbleiterhersteller mit 
entsprechendem Messequipment die Möglichkeit hat, diese Unterschiede 
direkt auf dem Chip festzustellen, auch nach längerer Zeit.
Einfach anschließen und auslesen über die normalen Schnittstellen geht 
sicher schon nach wenigen ms (oder µs) nicht mehr ...

von Hmm (Gast)


Lesenswert?

HildeK schrieb:
> Ähnliches ist auch bei DRAMs zu beobachten, die abgeschaltet bzw. deren
> Refresh unterbrochen wurde.
> Es ist halt ein Dreckeffekt und nirgends spezifiziert. Zwar vorhanden,
> aber nicht seriös nutzbar.

Das ist eigentlich die normale Funktion von DRAMS. DRAMs sind 
Ladungsspeicher, der braucht erst mal keine Versorgung. Die Ladung 
verflüchtigt sich mit der Zeit wegen z.B. Leckströmen. Darum muss ein 
Refresh gemacht werden, indem alles gelesen und neu geschrieben wird.

Die Refreshzyklen sind so ausgelegt, dass der Speicherinhalt zwischen 
den Refresh-Zyklen sicher vorhanden bleibt. Das ist irgenwas mit µs oder 
ms, wenn ich mich recht erinnere, kenn mich aber nicht so genau aus.

Das ist aber die Zeit, die der Zustand der Zelle sicher erhalten bleibt 
über alle Exemplare und alle Temperaturen.

Im Umkehrschluss heißt das auch, dass der Inhalt sehr lange Zeit ohne 
Refresh und Versorgung erhalten bleiben kann, wenn günstige 
Umgebungsgbedingungen vorliegen. Insbesondere tiefe Temperaturen.

Das kann man ausnutzen:
https://de.wikipedia.org/wiki/Kaltstartattacke

D.h. das ist normal und erwünscht so. Für DRAMs. SRAMs funktionieren 
anders, aber auch da sing Gates von MOSFET im Spiel, und die haben auch 
eine Kapazität. Ich finde es zumindest plausibel, dass der Zustand ohne 
Strom erhalten bleibt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Hmm schrieb:
> Mir wäre nicht bekannt, dass sich SRAM "einbrennt", weil man eine Zelle
> zu lange auf einem bestimmten Zustand hält.
> Das würde die Lebensdauer jedes einzelnen Prozessors auf der Welt arge
> Grenzen setzen...
Die RAM-Zelle ist ja dann nicht kaputt (genausowenig wie ein 
"eingebrannter" Monitor, der ja auch noch anderen Inhalt darstellen 
kann), sondern sie ist weiterhin normal beschreibbar, hat aber in ihrer 
Struktur noch einen "Schatten" der zuvor lange gespeicherten 
Information. Das kann man natürlich nicht mit dem binären 
Lesemechanismus des µC/RAM auswerten, sondern braucht einen externen 
Leser, der solche "Asymmetrien" im Feld auswerten kann.

Einfach mal die verlinkten Artikel ein wenig durchstöbern, dann wird das 
evtl klarer: es geht nicht darum, dass das RAM kaputt ginge, sondern 
darum, dass man am stromlosen RAM zuvor gespeicherte Informationen 
auslesen könnte.

von Hmm (Gast)


Lesenswert?

Lothar M. schrieb:
> Einfach mal die verlinkten Artikel ein wenig durchstöbern, dann wird das
> evtl klarer: es geht nicht darum, dass das RAM kaputt ginge, sondern
> darum, dass man am stromlosen RAM zuvor gespeicherte Informationen
> auslesen könnte.

Achso, danke für die Information, da war ich auf dem falschen Dampfer. 
Das ist dann plausibel, und das Toggeln des Zustandes ergibt Sinn.

von Peter D. (peda)


Lesenswert?

Hmm schrieb:
> Das ist dann plausibel, und das Toggeln des Zustandes ergibt Sinn.

Nicht wirklich. Im einfachsten Fall liegt das Toggle-Flag mit im SRAM. 
Ansonsten muß man eben die Daten zweimal testen, ob sie plausibel sind.
Da ist ja sogar ein EXOR mit einem Muster noch anspruchsvoller.

von Alex G. (dragongamer)


Lesenswert?

Peter D. schrieb:
> Hmm schrieb:
>> Das ist dann plausibel, und das Toggeln des Zustandes ergibt Sinn.
>
> Nicht wirklich. Im einfachsten Fall liegt das Toggle-Flag mit im SRAM.
> Ansonsten muß man eben die Daten zweimal testen, ob sie plausibel sind.
> Da ist ja sogar ein EXOR mit einem Muster noch anspruchsvoller.

Im Toggeln selbst liegt nicht die Sicherheit, sondern es hilft dagegen 
Rückschlüsse auf den Inhalt zu ziehen, wenn der Strom weg ist.
Wenn du das Teil unter Strom habhaft werden kannst, ist das was anderes.

von Uwe (Gast)


Lesenswert?

https://www.zdnet.com/article/cryogenically-frozen-ram-bypasses-all-disk-encryption-methods/

Gab vor Jahre schonmal Experimente. Wenn man den Chip stark abkühlt, 
kann man Minuten bist Stunden später noch Ladungsreste in den Bits 
abtasten. Der Effekt ist umso größer, je länger das Bit zuvor fest auf 
einem Wert gestanden hat.

von Jürgen W. (Firma: MED-EL GmbH) (wissenwasserj)


Lesenswert?

Die Antwort von Lothar war schon nahe dran:

Das Gateoxid ist nicht perfekt, sondern es gibt einen gewissen Anteil an 
Defektstellen, die bei angelegter Spannung gem. Boltzmann-Statistik 
aufbrechen können und dort eine positive Ladung annehmen (das 
elektrische Feld "zerrt" gewissermaßen an diesen polarisierten 
Fehlstellen).
Je höher die Betriebstemperatur und -Spannung, desto schneller läuft 
dieser Prozeß ab. Bei den "heutigen" Gateoxid-Dicken kommt noch ein 
relevanter Anteil an Tunnelstrom dazu (Fowler-Nordheim-Tunnelstrom), 
wodurch ballistische Elektronen o.a. Effekt beschleunigen.

Der langfristige Effekt ist, daß sich die MOSFET-Kennlinie nach links 
verschiebt und somit beim Power-On-Reset ein bestimmter Zustand (0/1) 
präferiert auftritt. Mehrmaliges POR und Auslesen erlaubt dann eine 
Mittelung und schon hat man die langfristig anliegenden RAM-Werte 
verfügbar.

Beim MSP430F5438A kann man so etwas schön beobachten, wenn man einzelne 
RAM-Banken aus- und wieder einschaltet: Ein gewisser Prozentsatz an Bits 
nimmt den immer selben Wert an.

Anmerkung: Bisweilen nutzt man diesen Effekt aus um z.B. durch diese 
Produktionstoleranzen eindeutige IDs zu generieren - nennt sich PUF - 
Physically Uncloneable Features.

: Bearbeitet durch User
von Mike (Gast)


Lesenswert?

KI-Besitzer schrieb:
> Mike schrieb:
>> Ich lese gerade das Datenblatt eines Mikrocontrollers mit
>> speziellen Sicherheitsfeatures.
>
> Salamitroll.
> Man wird über den Mikrocontrollers im unklaren gelassen.

Um welchen µC es sich handelt ist natürlich streng geheim! Nur so viel 
wird verraten: Es handelt sich um einen SAML11 von Atmel/Microchip. Als 
Salamitroll habe ich natürlich Zugang zu sonst nur verschworenen Zirkeln 
zugänglichen Informationen:

http://ww1.microchip.com/downloads/en/DeviceDoc/SAM-L10L11%20Family-DataSheet%20-%20DS60001513B.pdf

Das Trust-Ram wird in Kapitel 31 beschrieben.

von Mario M. (thelonging)


Lesenswert?

OK, ich nehme den Troll zurück und entschuldige mich in aller Form. Der 
Link zum Datenblatt im Eröffnungs-Post hätte das Anschlagen des 
Trolldetektors verhindert. Ein Einbrennen des RAM-Inhalts ist 
physikalisch gesehen wohl möglich, aber mir scheint, dass diese 
Information auf ausdrücklichen Wunsch der Werbeabteilung Eingang in das 
Datenblatt gefunden hat. Wer die Möglichkeit hätte, solche Spuren 
nachzuweisen, kann eher noch die anderen Sicherheits-Features umgehen.

von Peter D. (peda)


Lesenswert?

Jürgen W. schrieb:
> Der langfristige Effekt ist, daß sich die MOSFET-Kennlinie nach links
> verschiebt und somit beim Power-On-Reset ein bestimmter Zustand (0/1)
> präferiert auftritt.

Das wird aber nur bei sehr kleinen Strukturgrößen möglich sein.
Den SRAM in einem alten AT89C51 wirst Du damit nicht auslesen können, 
selbst wenn der SRAM-Inhalt 100 Jahre gleich bleibt.

von KI-Besitzer (Gast)


Lesenswert?

OK, ich nehme den SalamiTroll nicht zurück.
SamalmiTroll: Die Informationen kommen nur scheibenweise :P
Und natürlich wurden gezielt (vielleicht unbewusst, also eine natürliche 
Begabung :D ) falsche bzw. unvollständige Informationen gestreut.
Also hier im Eingangspost: keine Quellenangaben, keine Infos zur CPU und 
(naja) kreative Umgestalltung des Namens des Objektes, welche eine 
zielführende Suche in Suchmaschinen, sagen wir mal, "erschwert"
Das Zeug benennen die Microchipleute nicht "Trusted RAM" sondern 
TrustRAM.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.