Entwickler-Ecke

IO, XML und Registry - Grundlagenfrage: Datei unbrauchbar machen


mannyk - Di 29.11.11 23:05
Titel: Grundlagenfrage: Datei unbrauchbar machen
Hallo,
ich habe folgendes Problem:
Ich möchte bestimmte Dateien unbrauchbar machen. Nun bietet sich da wohl löschen an oder das (wohl bessere) Überschreiben an.
Ich denke, dass "File.Delete(...)" etwas wenig wäre.
Somit habe ich die Frage: Wie würdet ihr an das Problem herangehen? Welches ist die beste Möglichkeit eine Datei auf einem NTFS-Dateisystem unbrauchbar zu machen, damit sie nicht wiederhergestellt werden kann?
Danke für eure Tipps!
Grüße,
mannyk


pdelvo - Mi 30.11.11 00:03

Mehrfach überschreiben mit Zufallsdaten und dann löschen


UGrohne - Mi 30.11.11 00:25

Mal eine blöde Frage: Warum sollte man das tun wollen?


ujr - Mi 30.11.11 01:15

user profile iconpdelvo hat folgendes geschrieben Zum zitierten Posting springen:
Mehrfach überschreiben mit Zufallsdaten und dann löschen


Einmal reicht (Größe auf kompletten letzten Cluster ausweiten), dann zufällig umbenennen (auch der Name ist Information) und dann löschen.

user profile iconUGrohne hat folgendes geschrieben Zum zitierten Posting springen:
Mal eine blöde Frage: Warum sollte man das tun wollen?


Ist das ernst gemeint?


UGrohne - Mi 30.11.11 20:02

user profile iconujr hat folgendes geschrieben Zum zitierten Posting springen:
Ist das ernst gemeint?

Sonst hätte ich es nicht gepostet...


ujr - Mi 30.11.11 20:10

user profile iconUGrohne hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconujr hat folgendes geschrieben Zum zitierten Posting springen:
Ist das ernst gemeint?

Sonst hätte ich es nicht gepostet...


Ich dachte, Du hättest irgendeinen Hintergedanken...

Ich gehe davon aus, dass der OP verhindern möchte, dass die Information in den gelöschten Dateien wiederhergestellt werden kann, um zu verhindern, dass Unbefugte Kenntnis davon erhalten.


UGrohne - Mi 30.11.11 20:23

user profile iconujr hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconUGrohne hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconujr hat folgendes geschrieben Zum zitierten Posting springen:
Ist das ernst gemeint?

Sonst hätte ich es nicht gepostet...


Ich dachte, Du hättest irgendeinen Hintergedanken...

Ich gehe davon aus, dass der OP verhindern möchte, dass die Information in den gelöschten Dateien wiederhergestellt werden kann, um zu verhindern, dass Unbefugte Kenntnis davon erhalten.

Ohne Hintergedanken hab ich es natürlich nicht gepostet. Wir möchten hier natürlich vermeiden, dass jemand Informationen für Schad- und Schabernackprogramme auf dem Silbertablett serviert bekommt, deswegen haken wir oft bei solchen Fragen nach.


mannyk - Mi 30.11.11 22:54

Hi Leute,

danke erstmal für eure Antworten!
Ich habe mal gewisse Informationen überflogen und bin zu dem vorläufigen Schluss bekommen, dass es keine 0815 Lösung dafür gibt. Sprich, es scheint auch ein Problem zu sein den betreffenden Cluster per .NET adressieren und dann überschreiben zu können. Das jedenfalls zu meiner schnellen Einschätzung.

Vielleicht ist es deshalb ratsam auf eher auf bewährte Programme zurückzugreifen.

@UGrohne: Wie ujr sagte, geht es mir darum gewisse Daten für Unbefugte unauffindbar und nicht wiederherstellbar zu machen.


UGrohne - Mi 30.11.11 23:04

user profile iconmannyk hat folgendes geschrieben Zum zitierten Posting springen:
Hi Leute,

danke erstmal für eure Antworten!
Ich habe mal gewisse Informationen überflogen und bin zu dem vorläufigen Schluss bekommen, dass es keine 0815 Lösung dafür gibt. Sprich, es scheint auch ein Problem zu sein den betreffenden Cluster per .NET adressieren und dann überschreiben zu können. Das jedenfalls zu meiner schnellen Einschätzung.

Vielleicht ist es deshalb ratsam auf eher auf bewährte Programme zurückzugreifen.

@UGrohne: Wie ujr sagte, geht es mir darum gewisse Daten für Unbefugte unauffindbar und nicht wiederherstellbar zu machen.

Ja, das ist nicht ganz einfach. Es gibt zwei Gründe, warum Du das Problem selbst angehen solltest:

1. Du hast technisches Interesse an dem Problem und willst es angehen.
2. Du brauchst es als Automatismus direkt in einem Deiner Programme implementiert.

Solltest Du eine der beiden Fragen mit Ja beantworten, würde ich vorschlagen, dass Du Deine bisherigen Erkenntnisse hier teilst, dann können alle etwas dazu beitragen. Andernfalls würde ich Dir tatsächlich empfehlen, auf Programme zu vertrauen, die das bereits gelöst haben ;).


jaenicke - Mi 30.11.11 23:23

Wobei das ganze bei SSDs schon nicht mehr so einfach funktioniert, da deren Controller die Zugriffe selbst verteilt.


ujr - Do 01.12.11 00:01

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Wobei das ganze bei SSDs schon nicht mehr so einfach funktioniert, da deren Controller die Zugriffe selbst verteilt.


Schon bei "normalen" Flash-Laufwerken (USB-Stick, Speicherkarten) kann der Controller Speicherblöcke intern beliebig ersetzen und so dem Zugriff entziehen.

Eine Adressierung der Cluster ist im übrigen nicht nötig. Man öffnet einfach die Datei und schreibt Daten rein (dabei werden ja die Originalcluster benutzt) - in der Länge der Datei jedoch idealerweise auch den letzten Cluster komplett. Ein bisschen schwierig könnte es werden, die Clustergröße zu ermitteln. Dazu einfach ein bisschen recherchieren (und die Ergebnisse dann hier festhalten).
"Kleine" Dateien speichert NTFS oft direkt in der MFT - das müsste auf diese Weise auch mit erfasst sein.


jaenicke - Do 01.12.11 00:03

user profile iconujr hat folgendes geschrieben Zum zitierten Posting springen:
Man öffnet einfach die Datei und schreibt Daten rein (dabei werden ja die Originalcluster benutzt)
Nicht bei SSDs, dort werden auch diese Zugriffe verteilt.