Androidで特定のファイルを削除して回復できないようにする方法は?


9

私の経験から、コンピューターファイルシステムから削除されたファイルは、特別なプログラム(通常は「シュレッディング」と呼ばれます)で上書きされない限り、しばしば回復できます。

AndroidベースのHTCスマートフォンは何か違いますか?このようなスマートフォンから特定のファイルを削除して、ファイルを回復できないようにするにはどうすればよいですか?


電話でホストされるオプションのみを探していますか、それとも電話がディスクドライブとして接続されているときにファイルを削除することについての提案を受け入れますか?
Bernhard Hofmann

@Bernhard Hofmann:ドライブとして接続すると、そのようなアクションが簡単になります-何もないよりはるかに優れています。
シャープトゥース

回答:


8

それは残念ながらそれほど簡単ではありません。

ファイルを安全に削除するためのAPIがないため、ストレージデバイスへのブロックレベルのアクセスを実現するには、「安全な削除アプリ」のrootが必要になります。削除されたファイルのブロックへのアクセスのみが、最終的にアプリがファイルの残り物をランダムなデータで上書きすることを許可します。最終的には、フラッシュストレージデバイスがウェアレベリングを実行できるためです。その場合、ブロック#42が常に同じ物理ブロックであるとは限らないため、システムコールは無効になります。

私はそれがアンドロイドのための安全な削除ソリューションがまだない理由だと思います。少なくとも、XDAでは見つかりませんでした。


プログラムが既存のファイルを開いてゴミ箱で上書きし、ファイルを閉じてから削除する可能性はありますか?
シャープトゥース

あなたはそれをプログラムすることができます。ただし、上書きが既存のデータと同じ物理ブロックで発生することが保証されていないため、これは役に立ちません。
フロー

1
ファイルシステムまたは他のエンティティが、新しく書き込まれたデータを新しい場所に透過的に再配置し、以前に占有されていた場所を空としてマークすることを意味しますか?
シャープトゥース

1
はい、それは、さまざまな理由(フラグメンテーションなど)で新しいデータを書き込みたいOSの選択であり、ほとんどすべての最近のOSがそれを行います。そうでない場合でも、ウェアレベリングが発生する可能性のある層がまだあります。
フロー

3

簡単な解決策の1つは、ファイルを削除してから、メモリを他のデータで満たして、削除されたファイルが以前所有していたスペースが確実に上書きされるようにすることです。

メモリがいっぱいになったら、埋めるために使用されたファイルを削除して、スペースを再度解放できます。現在のところ、リカバリを試みても、元の削除されたファイルではなく、フィラーファイルのみが見つかります。

これは、のような単純なホームリカバリツールと戦うことのみを目的としていますtestdisk理論的には、少なくとも一部、または元のファイル全体を回復する方法がまだあるかもしれませんが、高度なハイエンド分析方法がいくつか必要になります。このような方法の1つの例は、フラッシュウェアレベリングのために一部のデータが保持されているかどうかを分析することです。ただし、これは簡単にはできません。AFAIKでは、メモリカードを何らかのカスタムリーダーデバイスに接続する必要があり、場合によってはメモリデバイスを分解する必要があります。


ほとんどのフラッシュメディアでウェアレベリングを実行しても、ファイルの上書きによってメモリ上の同じ物理的な場所が上書きされるとは限りません。 en.wikipedia.org/wiki/Wear_leveling
Chahk '19年

@Chahk、はい、同意します。そのため、「高度な方法」の免責事項を含めました。ポイントは、のようなホームツールを使用して、通常は削除されたファイルを復元するのは簡単testdiskです。flahウェアレベリングのために使われなくなったコンテンツを回復するための使いやすいホームツールがあるとしたら、聞いたことはありません。このデータフラッディングが絶対的な方法になるとは言ったことはありませんが、おそらく質問者のニーズに対して十分強力な
Ilari Kajaste、2011年

免責事項にさらに詳細を追加して私の回答を改善し、残りの攻撃ベクトルの可能性の一例としてフラッシュウェアレベリングの分析に触れました。
Ilari Kajaste、2011年

1

デバイスをディスクドライブとして接続する場合は、Windowsのsdeleteなどのユーティリティを使用して、ファイルを安全に削除できます。http://technet.microsoft.com/en-us/sysinternals/bb897443

Webページから:「SDeleteは国防総省のクリアおよびサニタイズ標準DOD 5220.22-Mを実装しており、SDeleteで削除すると、ファイルデータは永久に失われることを確信できます。」


この回答android.stackexchange.com/questions/14739/…に記載されているウェアレベリングに役立ちますか?
シャープトゥース

正直なところ、私にはわかりません。ウェアレベリングを実装するAndroidデバイスがあるかどうかもわかりません。元のセクターを上書きするので、ウェアレベリングの影響を受けないと思います。
Bernhard Hofmann、2011年

まあ、ウェアレベリングがある場合、このプログラムは影響を受けます-それは魔法ではなく、書き込み用にファイルを開き(他のプログラムと同様に)、そこにゴミを書き込み、ファイルを閉じます。ウェアレベリングがある場合、プログラムはそれを知ることができません-通常のオペレーティングシステムプリミティブを使用します。
シャープトゥース

クリーンオプションを数回使用すると、ウェアレベリングに対する保護が得られるかどうか疑問に思います。それは私たちの制御を超えているので、空きスペースを数回クリーニングすると、解放されたセクターを「発見」して消去する必要があります。
Bernhard Hofmann、2011年

たぶん、時間がかかると思います。
シャープトゥース

1

ファイルがsdカードにある場合は、sdカードをノートブックカードリーダーに挿入してsrmsdeleteまたはデスクトップでファイルを安全に削除するために通常使用しているものを使用できます。

ファイルが内部メモリにある場合、おそらくその痕跡(および電話上のその他すべて)を完全に削除する唯一の信頼できる方法は、[設定]> [セキュリティ]で電話の完全暗号化を有効にし、すべてが暗号化されるまで(約1時間)待つことです。 )、次に出荷時設定にリセットします。

Playストアには、DoDレベルのアルゴリズムで空き領域を消去できるとされるアプリもありますが、どれほど優れているか、どのように機能するかはわかりません。

ところで、フラッシュメモリの読み取り/書き込みサイクルの数は限られているため、これらのアプリを頻繁に実行すると、メモリチップの寿命が短くなる可能性があることに注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.