Löschbefehl mit Python?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
TanjaLorenz
User
Beiträge: 8
Registriert: Sonntag 8. April 2018, 09:28

C:\Daten\Beispieldatei sicher löschen. da eine recht umfangreiche Antwort nicht darauf eingegangen ist.
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Was gefällt Dir an DeaD_EyEs Antwort nicht?
Benutzeravatar
DeaD_EyE
User
Beiträge: 1012
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Eine Zwiebel beschreibt das technische Problem ziemlich gut. Dein Programm sieht erstmal nur die Äußere Schicht der Zwiebel und kann Befehle an diese Zwiebel schicken. Die Äußerste Schicht der Zwiebel leitet den Befehl an die inneren Schichten weiter. Von außen ist aber nicht festzustellen, was innen passiert ist.

Hier gibt es ein paar gute Kommentare zu dem Problem: https://askubuntu.com/questions/57572/h ... ure-manner

Eine logischer Schritt wäre es z.B. die Festplatte zu verschlüsseln. Sogar Windows sollte das können.

Code: Alles auswählen

import os


def erase(file, turns):
    size = os.path.getsize(device)
    blocksize = 4096
    for i in range(turns):
        rest = size
        with open(device, 'wb') as fd:
            while rest != 0:
                chunksize = min(rest, blocksize)
                chunk = os.urandom(chunksize)

datei = r'C:\Daten\Beispieldatei'
erase(datei, 10)
Der Code ist nicht getestet und wie bereits ausgiebig diskutiert, ist es absolut nicht zu empfehlen wenn z.B. dein Leben davon abhängt.
Nicht ohne Grund existieren Dienstleister, die Festplatten sicher löschen und dann entsorgen. Verschlüsseln wäre der richtige Weg. Dann sind die Daten zumindest nicht interpretierbar.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
de_tom
User
Beiträge: 15
Registriert: Dienstag 19. Juli 2016, 19:34

Eine mechanische Festplatte mit magnetischen Datenträgern (so wie sie seit jeher bis zur Entwicklung von Flashspeicher auch heute noch weltweit millionenfach im Einsatz sind) lässt sich durch mehrfaches Überschreiben sicher löschen. Der VSITR-Standard des BSI (Bundesamt für Sicherheit in der Informationstechnik) schrieb ein 7-maliges Überschreiben vor. Allerdings ist der Standard heute nicht mehr gültig. Heutige Standards empfehlen ein 30-maliges Überschreiben und mehr...

Auch ist es bei Magnetfestplatten möglich, einzelne Dateien zu löschen. Hierzu muss man aber ermitteln, in welchen Sektoren die fragliche Datei tatsächlich gespeichert ist. Hierzu gibt es Tools wie z. B. TSK (The Sleuth Kit), die das problemlos leisten und mit denen man FAT, NTFS und Ext-Dateisysteme bestens 'rauf und runter' analysieren kann.

Bei modernen Betriebssystemen und Anwendungen ist das Löschen allerdings weitaus problematischer. Bei Microsoft Windows wurde z. B. mit Vista der Volume Shadow Copy Service (VSC) eingeführt, der Versionen von Dateien auf der Festplatte erzeugt (ohne dass der Anwender davon etwas mitbekommt). Die Versionen werden jedoch nicht autark einfach als Kopie des Originals gespeichert, sondern in komplexen Verfahren in 64KB großen Blöcken. Nur der VSC "weiss" in welchen Blöcken eine Version verteilt bzw. gespeichert ist. Der Anwender kann nur über den VSC über die Option "Vorherige Version wieder herstellen" auf eine Version zugreifen. Er kann die Dateiversion auf der Festplatte, also die Sektoren, in denen die Dateiversion tatsächlich gespeichert ist, ohne tiefe Kenntnisse jedoch niemals auffinden und daher auch nicht sicher löschen. Wird also eine einzelne Datei durch mehrfaches Überschreiben vermeintlich sicher gelöscht, kann nicht ausgeschlossen werden, ob nicht noch irgendwo auf der Festplatte eine weitere Version davon "rumliegt". Und auch viele Anwendungen speichern Kopien von Dateien, die nicht ohne Weiteres auf der Festplatte zu finden sind (z. B. Thumbnails in Thumbnail-Datenbanken. Viele Webbrowser cachen Dateien in proprietären Datenstrukturen, E-Mail-Anhänge in Mailcontainern, Backups, virtuelle Maschinen u.v.m.).

Und völlig anders ist es bei Flashspeichern, also z. B. bei SSD-Platten oder NVMe-Karten. Hier werden hochkomplexe Verfahren angewendet, um die Schreibzyklen gleichmäßig auf die Speicherzellen zu verteilen. Hierzu verschiebt der Controler unentwegt Daten (DeaD_EyE hat dieses Verfahren (Wear-Leveling) ja bereits weiter oben angedeutet). Darüber hinaus werden defekte Speicherzellen auf 'Reservezellen' gemappt usw. Aus diesen Gründen lassen sich die Speicherzellen, in denen eine Datei tatsächlich gespeichert ist, bei SSD-Platten nicht identifizieren. Dies 'weiß', nur der Controler. Daher ist ein sicheres Löschen hier nicht wirklich möglich.

Falls Datenträger mit sensiblen Daten absolut sicher entsorgt werden müssen, sollten sie physikalisch zerstört werden (Schreddern, Hochofen etc.).

Gruß
Tom
Antworten