Archiv verlassen und diese Seite im Standarddesign anzeigen : Daten löschen von SSDs? Überhaupt technisch möglich?
SimonX
2014-01-09, 04:57:54
Die SSD Technik basiert auf nicht-flüchtigen Speicherzellen, die aber nur begrenzt häufig beschrieben werden können. Es ist also nicht so, das beim Addressieren und Beschreiben eines virtuellen Sektors (z.B. von 4k Bytes), genau dieser auch überschrieben wird. Dazwischen liegt der Controller und irgendwelche Management-Information, die es dem Controller ermöglich die Schreibbelastung gleichmässig zu verteilen um die Lebensdauer der Speicherzellen zu erhöhen.
Wie also löscht man da die Daten? Einfach überschreiben (einfach, mehrfach, mit random daten, oder mit null-daten) hat keine Wirkung, denn die original Speicherzelle wurde unter umständen nicht überschrieben.
Darkman.X
2014-01-09, 06:44:52
Darauf hoffen, dass die "Secure Erase"-Funktion von Hersteller-Tools oder freien Tools (z.B. HDDErase) sauber funktioniert. Solch eine Funktion ist Teil der ATA-Spezifikationen.
Alternativ soll bei SSDs mit TRIM-Support eine normale Datenträgerformatierung (ab Win7 aufwärts) ausreichend sein. Damit werden alle Zellen als leer/frei markiert. Und wenn ein ganzer Block "frei" ist, wird dieser vom SSD-Controller auch gelöscht. Da bei einer Formatierung alle Blöcke als "frei" markiert werden, sollten auch alle Blöcke gelöscht werden. So zumindest habe ich es gelesen.
SimonX
2014-01-09, 08:02:04
> Da bei einer Formatierung alle Blöcke als "frei" markiert werden,
> sollten auch alle Blöcke gelöscht werden.
Wenn ich das implementieren müsste, dann würde ich, schon aus performance-gründen, eine eigene Tabelle haben, in der markiert ist ob ein Block frei ist oder nicht, ohne den Block wirklich zu verändern.
Im Zuge der NSA Veröffentlichungen habe ich so meine Zweifel, ob ein Secure Erase wirklich funktioniert. Wer kann das denn verifizieren ohne die Chips auszubauen?
Man will ja auch nicht alles löschen, sondern eine einzelne Datei bzw. sicherstellen, das etwas überschriebenes nicht doch noch ans Tageslicht kommt.
Gerade im Business ist das absolute Notwendig. Use-Case: Ein Offer wird geschrieben mit Preis X, und dann geändert auf Preis Y. Man reist in die USA. Man muss das Notebook (bzw. Smartphone oder USB-stick) bei der Einreise mal kurz dem Officer geben. Und schon ist entweder ein gelöschtes Offer wieder da oder der Preise X.
Da frage ich mich, ob TruCrypt da überhaupt helfen würde wenn man davon ausgeht das TruCrypt von der NSA geknackt werden kann. Würde das Löschen eines Blocks, die TruCrypt Daten enthält, dazu führen, das die NSA diesen Block dann nicht mehr knacken kann?
Hintergrund meiner Frage ist:
1) Ist es sicher SSD in (Business) Notebooks zu benutzen?
2) Hat sich schon jemand anderes diese Frage gestellt?
3) Wie verifiziert man bei SSD das die Daten weg sind?
4) Wie erreicht man die gewünschte Security wenn man SSD nicht traut, sie aber trotzdem benutzen will.
Bei Festplatten ist ja auch nicht alle sauber. Die Firmware kann auch auch Schatten anlegen bzw. versteckte Reallocation beim Neuschreiben machen. Dazu gabs ja vor ein paar Wochen News.
Im Zuge der NSA Veröffentlichungen habe ich so meine Zweifel, ob ein Secure Erase wirklich funktioniert. Wer kann das denn verifizieren ohne die Chips auszubauen?
Bei SSDs mit Full disc encryption (FDE) soll es so funktionieren: Alle Daten sind immer verschlüsselt, der Schlüssel ist im SSD-Controller (und bei aktiviertem Passwort mit Passwort geschützt, nicht vom Passwort abgeleitet). Bei Secure erase wird der Schlüssel im Controller geändert, damit sind alle alten Daten nicht mehr lesbar.
Praktisch stellt sich natürlich die Frage ob man wirklich keine Möglichkeit hat den alten Schlüssel wiederherzustellen.
Milchkanne
2014-01-09, 09:58:37
Es geht dem OP aber um das löschen einzelner Dateien und nicht des FDE Schlüssels.
Bei unverschlüsselten Daten kann man sich nie sicher sein, dass sie wirklich gelöscht wurden und es gibt auch keine Möglichkeit das löschen einer einzelnen Datei zu forcieren ausser eben die ganze Platte zu nullen, evtl sogar mehr als einmal, da sonst in den zusätzlichen Sektoren noch Daten stecken könnten. Ob die nach einmaligem nullen aber noch rekonstruierbare Daten enthalten ist fraglich.
Wenn man Truecrypt verwendet ist die Situation theoretisch nicht besser. Insbesondere wenn man nur eine kleine TC Partition hat und der Rest mit Trim der Platte als Frei markiert ist, dann bleiben die alten Sektoren weiterhin gespeichert.
Allerdings ist der TC Container ja zum größten Teil nicht von strukturlosen Zufallszahlen zu unterscheiden. Das heißt selbst wenn jedes Byte noch auf der Platte ist, ist die Rekonstruktion deutlich schwerer als bei unverschlüsselten Daten.
Wer seine SSD randvoll schreibt, erhöht natürlich auch die Wahrscheinlichkeit, dass seine gelöschten Daten überschrieben werden. Hier hilft z.B. auch die TC Vollverschlüsselung.
Mischler
2014-01-09, 13:04:39
Wenn ich das implementieren müsste, dann würde ich, schon aus performance-gründen, eine eigene Tabelle haben, in der markiert ist ob ein Block frei ist oder nicht, ohne den Block wirklich zu verändern.
Dann würde die Performance aber irgendwann einbrechen weil die SSD auf freie Blöcke angewiesen ist. Als frei markierte Blöcke sind nämlich nicht wirklich frei und müssen dann erst noch gelöscht werden, bevor man wieder neue Daten darin speichern kann.
Watson007
2014-01-09, 13:07:11
die Frage stelle ich mir auch gerade, der Thread ist aktuell...
PatkIllA
2014-01-09, 18:26:16
Wenn du dem Controller nicht vertraust wird das wohl nichts.
Das gilt aber auch für Festplatten. Die mappen auch Sektoren um. Normalerweise passiert das erst bei Defekt, aber technisch möglich kann da auch was anderes passieren.
werner_q
2014-01-13, 13:26:58
> Da bei einer Formatierung alle Blöcke als "frei" markiert werden,
> sollten auch alle Blöcke gelöscht werden.
Wenn ich das implementieren müsste, dann würde ich, schon aus performance-gründen, eine eigene Tabelle haben, in der markiert ist ob ein Block frei ist oder nicht, ohne den Block wirklich zu verändern.
Nein nein, gerade bei einer SSD ist es ja technisch notwendig, ganze Blöcke zu löschen, auch und gerade wenn nur ein kleiner Teil beschrieben wird, und "löschen" heißt hier wirklich löschen. Du kannst nicht, wie bei einem "normalen" Festplattenfilesystem einfach nur Sektoren als "leer" markieren, sondern Du musst effektiv einen Block löschen und komplett neu beschreiben. Deswegen auch die tendenziell langsamere Schreibgeschwindigkeit und das herumgeeiere mit dem wear leveling und das komische trim.
Du hast natürlich recht, dass der Controller schreiben bzw. wiederbeschreiben gerade bei SSDs tunlichst zu vermeiden trachtet und deswegen die Chance hoch ist, dass überschriebene/gelöschte Daten noch da sind.
Aber: Wenn man die SSD mit irgendwas (hinreichend viele hinreichend große Dateien) vollschreibt - was soll der Controller dann machen? Dann ist der Speicher gelöscht. Punkt. Ok, bis auf das, was fürs overprovisioning benutzt wird ;-).
Karma_Zhong
2014-01-13, 14:32:31
Wie also löscht man da die Daten? Einfach überschreiben (einfach, mehrfach, mit random daten, oder mit null-daten) hat keine Wirkung, denn die original Speicherzelle wurde unter umständen nicht überschrieben.
Natürlich hat das Überschreiben eine entsprechende Wirkung, sofern die gesamte SSD mit neuen Daten geflutet wird. Dabei wird auch der für das "Overprovisioning" reservierte Bereich mit den neuesten Daten gefüllt.
Denn während des kompletten Füllvorgangs wird es den Moment geben, in dem keine ausreichend freien Blöcke zur Verfügung stehen, womit die Daten zuerst im reservierten Bereich landen und nach der Arbeit des GC in den freigewordenen Bereich kopiert werden.
Die SSD ist danach mit eben diesen Daten unwiederbringlich überschrieben.
Entweder so oder dem Secure Erase vertrauen oder aber die SSD physikalisch zerstören, falls die Daten sowas von geheim sind, dass hier britische Methoden angewandt werden müssen.
Schon erneutes Partionieren stellt Otto-Normal-User vor Probleme, verlorene Daten wieder sichtbar zu machen.
Gegen wen soll sich die "Abwehrmassnahme" richten?
Birdman
2014-01-14, 12:21:18
Punkt. Ok, bis auf das, was fürs overprovisioning benutzt wird ;-).
Wobei aber gerade der Bereich mit Sicherheit immer gelöscht ist, denn sonst wäre es ja kein (brauchbarer) Overprovisioning-Bereich.
foobi
2014-01-14, 18:54:41
Gerade im Geschäftsbereich werden die Komponenten solange genutzt bis sie defekt sind oder es dafür keinerlei Verwendung mehr gibt, je nachdem was früher eintritt. In beiden Fällen kann man die Sachen anschließend zermahlen (wenn der Dienstleister das tut wofür er bezahlt wird).
RavenTS
2014-01-18, 12:15:50
Gerade im Geschäftsbereich werden die Komponenten solange genutzt bis sie defekt sind oder es dafür keinerlei Verwendung mehr gibt, je nachdem was früher eintritt...
Was? In halbwegs großen Firmen wird das Equipment normalerweise alle 2 - 3 Jahre ausgetauscht, unabhängig ob die Teile noch laufen oder nicht. Da gibt es schlicht Verträge, die eine regelmäßige Neuausstattung regeln.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.