Wie lösche ich eine bestimmte Datei in Android, damit sie nicht wiederhergestellt werden kann?

9

Nach meiner Erfahrung kann eine aus einem Computer-Dateisystem gelöschte Datei häufig wiederhergestellt werden, es sei denn, sie wird mit einem speziellen Programm überschrieben (das wird normalerweise als "Shreddern" bezeichnet).

Ist ein Android-basiertes HTC-Smartphone anders? Wie kann eine bestimmte Datei von einem solchen Smartphone gelöscht werden, so dass die Datei möglicherweise nicht wiederhergestellt werden kann?

scharfer Zahn
quelle
Suchen Sie nur nach vom Telefon gehosteten Optionen oder akzeptieren Sie Vorschläge zum Löschen der Datei, wenn das Telefon als Festplattenlaufwerk angeschlossen ist?
Bernhard Hofmann
@Bernhard Hofmann: Nun, wenn das Verbinden als Laufwerk eine solche Aktion erleichtert - es ist viel besser als nichts.
Scharfzahn

Antworten:

8

Das ist leider nicht so einfach.

Da es keine API zum sicheren Löschen von Dateien gibt, würde root für die "App zum sicheren Löschen" erforderlich sein, um einen Zugriff auf das Speichergerät auf Blockebene zu erreichen . Nur Zugriff auf die Blöcke der gelöschten Datei schließlich ermöglicht eine App , die Reste der Datei mit Zufallsdaten überschrieben werden soll. Schließlich, weil das Flash-Speichergerät eine Verschleißnivellierung durchführen könnte . In diesem Fall wäre Block 42 nicht immer derselbe physische Block, wodurch die Systemaufrufe unwirksam werden.

Ich denke, deshalb gibt es noch keine sichere Löschlösung für Android. Zumindest konnte ich auf XDA keinen finden .

Fließen
quelle
Könnte ein Programm möglicherweise eine vorhandene Datei öffnen, alles mit Papierkorb überschreiben, die Datei schließen und dann löschen?
Scharfzahn
Sie könnten das programmieren. Dies ist jedoch nutzlos, da nicht garantiert werden kann, dass das Überschreiben auf denselben physischen Blöcken wie die vorhandenen Daten erfolgt.
Flow
1
Meinen Sie damit, dass das Dateisystem oder eine andere Entität die neuen geschriebenen Daten transparent an einen neuen Speicherort verschiebt und den zuvor belegten Speicherplatz als frei markiert?
Scharfzahn
1
Ja, es ist die Wahl des Betriebssystems, in das aus verschiedenen Gründen (Fragmentierung usw.) neue Daten geschrieben werden sollen, und was fast jedes moderne Betriebssystem tut. Selbst wenn nicht, gibt es immer noch die Schicht, in der Verschleißnivellierungen auftreten können.
Flow
3

Eine einfache Lösung wäre, die Datei zu löschen und dann den Speicher mit anderen Daten zu füllen, damit der zuvor der gelöschten Datei gehörende Speicherplatz sicher überschrieben wird.

Sobald der Speicher voll ist, können die zum Füllen verwendeten Dateien entfernt werden, wodurch der Speicherplatz wieder freigegeben wird. Erst jetzt werden bei Wiederherstellungsversuchen nur die Fülldatei und nicht die ursprünglich gelöschte Datei gefunden.

Beachten Sie, dass dies nur zur Bekämpfung einfacher Tools zur Wiederherstellung zu Hause wie z testdisk. Theoretisch kann es immer noch Möglichkeiten geben, zumindest Teile oder sogar die gesamte Originaldatei wiederherzustellen - dies würde jedoch einige ausgefeilte High-End-Analysemethoden erfordern. Ein Beispiel für ein solches Verfahren wäre die Analyse, ob einige der Daten aufgrund der Blitzverschleißnivellierung erhalten bleiben . Dies ist jedoch nicht einfach, und AFAIK würde das Anschließen der Speicherkarte an ein benutzerdefiniertes Lesegerät und möglicherweise sogar das Zerlegen des Speichergeräts erfordern.

Ilari Kajaste
quelle
Die Verschleißnivellierung auf den meisten Flash-Medien garantiert nicht immer, dass beim Überschreiben der Datei über denselben physischen Speicherort im Speicher geschrieben wird. en.wikipedia.org/wiki/Wear_leveling
Chahk
@Chahk, Ja, ich stimme zu, deshalb habe ich den Haftungsausschluss für "ausgefeilte Methoden" eingefügt. Der Punkt ist, dass es trivial ist, eine normal gelöschte Datei mit Home-Tools wie wiederherzustellen testdisk. Wenn es einige benutzerfreundliche Heimtools gibt, mit denen Inhalte wiederhergestellt werden können, die aufgrund von Flah-Wear-Leveling verschont geblieben sind, habe ich noch nie davon gehört. Beachten Sie, dass ich nie gesagt habe, dass diese Datenflutung eine absolute Methode ist, aber wahrscheinlich etwas, das stark genug für die Bedürfnisse des Fragestellers ist.
Ilari Kajaste
Ich habe dem Haftungsausschluss weitere Details hinzugefügt, um meine Antwort zu verbessern, und erwähne nun die Analyse des Flash Wear Leveling als ein Beispiel für einen möglichen verbleibenden Angriffsvektor.
Ilari Kajaste
1

Wenn Sie Ihr Gerät als Festplattenlaufwerk anschließen, können Sie ein Dienstprogramm wie sdelete unter Windows verwenden, um Dateien sicher zu löschen. http://technet.microsoft.com/en-us/sysinternals/bb897443

Auf der Webseite: "SDelete implementiert den Clearing- und Desinfektionsstandard DOD 5220.22-M des Verteidigungsministeriums, um Ihnen die Gewissheit zu geben, dass Ihre Dateidaten nach dem Löschen mit SDelete für immer verschwunden sind."

Bernhard Hofmann
quelle
Hilft es gegen die in dieser Antwort erwähnte Verschleißnivellierung android.stackexchange.com/questions/14739/… ?
Scharfzahn
Ehrlich gesagt habe ich keine Ahnung. Ich weiß nicht einmal, ob es Android-Geräte gibt, die Verschleißnivellierung implementieren. Da es die ursprünglichen Sektoren überschreibt, würde ich erwarten, dass es nicht von der Verschleißnivellierung beeinflusst wird.
Bernhard Hofmann
Nun, wenn es eine Verschleißnivellierung gibt, ist dieses Programm betroffen - es macht keine Magie, öffnet einfach die Datei zum Schreiben (wie jedes andere Programm) und schreibt dort Müll und schließt dann die Datei. Wenn es eine Verschleißnivellierung gibt, kann das Programm dies nicht wissen - es verwendet die üblichen Grundelemente des Betriebssystems.
Scharfzahn
Ich frage mich, ob die mehrmalige Verwendung der Reinigungsoption einen Schutz gegen Verschleißausgleich bieten würde. Da es außerhalb unserer Kontrolle liegt, sollte das mehrmalige Reinigen des freien Speicherplatzes die freigegebenen Sektoren "finden" und löschen.
Bernhard Hofmann
Vielleicht, aber ich nehme an, es würde viel Zeit in Anspruch nehmen.
Scharfzahn
1

Wenn die Datei auf einer SD - Karte ist , dann können Sie die SD - Karte in Ihren Notebook - Kartenleser und Verwendung einsetzen srm, sdeleteoder was auch immer Sie in der Regel auf Ihrem Desktop für sichere Löschen von Dateien verwenden.

Wenn sich die Datei im internen Speicher befindet, besteht die wahrscheinlich zuverlässige Möglichkeit, Spuren davon (und alles andere auf dem Telefon) vollständig zu löschen, darin, die vollständige Telefonverschlüsselung unter Einstellungen> Sicherheit zu aktivieren. Warten Sie, bis alles verschlüsselt ist (ca. eine Stunde) ) und führen Sie dann einen Werksreset durch.

Es gibt auch Apps im Play Store, die angeblich den freien Speicherplatz mit DoD-Level-Algorithmen löschen können, aber ich habe keine Ahnung, wie gut sie sind oder wie sie funktionieren.

Denken Sie übrigens daran, dass der Flash-Speicher nur eine begrenzte Anzahl von Lese- / Schreibzyklen aufweist. Wenn Sie diese Apps also zu oft ausführen, kann dies möglicherweise die Lebensdauer des Speicherchips verkürzen.

ccpizza
quelle