ディレクトリまたはファイルが実際に削除されたことを確認するにはどうすればよいですか?


14

ほとんどのファイルは、削除してもディスクから実際には削除されず、後で復元できることを知っています。

削除したディレクトリが実際にディスクから削除されることを確認するにはどうすればよいですか?そのためのユーティリティはありますか?

Debian Linuxを使用しています。


5
簡単な答え:できません!長い答え:ディスクを物理的に破壊するか、質問を言い換えます:データを回復するのにどれだけの労力がかかり、そのような試みの成功率はどれくらいでしょうか?
マルコ

回答:


11

データを保存する前に暗号化します。データを消去するには、キーを拭きます。

既にプレーンテキストでデータを記述している場合、簡単な方法でデータを消去するには遅すぎます。さまざまな場所にあるデータのコピーが複数存在する場合があります。

  • ファイルが複数回書き込まれた場合(上書きまたは置換された場合)、ファイルシステム上。
  • 最適化の一部として再配置された場合、ファイルシステム上。
  • ジャーナル内(これは、データが最後に書き込まれた後、かなり早く消える可能性が高い)。
  • バックアップで;
  • 無効なセクター(特にSSD)で。

ファイルシステム上のデータのコピーを取り除くための大まかな方法​​は、空き領域を埋めることです(cat /dev/zero >somefileそして、ファイルシステムがいっぱいなので、停止するのを待ちます)。これにより、すべてのブロックが上書きされます。

データのごく一部は、他のファイルによって部分的に使用されている不完全なブロックのままになる場合があります。これは特に、ディレクトリの内容を保存するブロックに残っている可能性のあるファイル名の問題です。すべてを削除するには、すべてのファイルをバックアップし、ファイルシステムを含むデバイスを完全に上書きしてから、ファイルを復元します。

ストレージメディアは、使用されなくなったブロックにデータを保持する場合があります。ハードディスクでは、これは再割り当てされた不良ブロックを意味します。ディスクが摩耗し始めるまで、これは非常にまれな発生です。SSDでは、これはウェアレベリングによる一般的な発生です。どちらの場合も、そのデータにアクセスするには、ある程度高価なハードウェアと無駄な時間がかかる、ある程度洗練された攻撃者が必要になるため、脅威は非常に低くなります。これらの脅威に関心がある場合は、データを暗号化し、キーを横に置いたままにしないでください。

複数のパスを実行するか、ゼロの代わりにランダムデータを使用することにより、データの消去に関するアドバイスが表示される場合があります(「ガットマンワイプ」)。忘れてください:これは1980年代のハードディスクにのみ適用されます(その場合でも、データの再構築はそれほど安くなく、再構築はかなり信頼できません)。ゼロで上書きするだけで十分です。複数のランダムパスを行うことは、時代遅れのアドバイスまたはスネークオイルです。ゼロ(またはランダムデータ)をハードドライブに1回だけ書き込むよりも複数回書き込む方が良い理由をご覧ください


12

と呼ばれる非常に人気のあるツールがありますshred。削除される前に、すべてのファイルを25回上書きします。それは私があなたが探しているものかもしれません。

シュレッドの使用は非常に簡単です

$ shred secret_archive.tar.gz

ただし、次の場合、最新のシステムでshred非効率または役に立たない可能性があることに注意してください。

  • プログラムは、知らない一時ファイルを作成します(多くのGUIアプリケーションと同様)
  • FSはCopy-On-Writeベースです(ZFSやBtrfsと同様)
  • FSはログベースです(NILFSと同様)
  • FSはデータジャーナリングを使用します(一部の構成ではJFS、ReiserFS、XFS、ext3またはext4と同様)
  • FSは圧縮を使用します
  • FSは、異なるバージョンのファイルの新しいバージョンを割り当てます
  • スナップショットまたはバックアップがあります
  • ネットワークFS上にいる
  • ウェアレベリングアルゴリズムを備えたSSDを使用している

他の潜在的に安全なオプションは次のとおりです。

  • 重要なデータの暗号化
  • パーティションまたはストレージデバイス全体を上書きする
  • デバイスの物理的な破壊

1
私のマンページによると、data = ordered(デフォルト)モードとdata = writebackモードshredを使用すると、ext3(およびext4も推測)で動作します。さらに、簡単な代替方法があります。削除されたファイルが上書きされるように、ファイルシステムの残りのスペースをすべて占有する巨大なファイルを作成するだけです。
scai

ありがとう。直しました。journaling -> data jornaling
タッファー

@scai、巨大なファイルの方法は必ずしもファイルのブロックなどの作業はすでに(... fallocedデータ、ファイルまたはdirsにの最後のブロックのような)はまだ書かれて再割り当てしていないされている可能性がありません
ステファンChazelas

3
shredはスネークオイルです:head -c $(wc -c secret_archive.tar.gz)>!secret_archive.tar.gz`に勝るものはありません。1980年代または1990年代初期のハードディスクを使用していない限り、シュレッドの使用は常に無意味です。
ジル 'SO-悪であるのをやめる'

3
shred / bcwipe / etc。ファイルシステムレベルのヘビ油です。任意のファイルシステム用。ファイルの操作方法のため:[保存]をクリックするたびに、古いファイルが削除され(空き領域にあります)、新しいファイルが作成されます。ファイルシステムが既にそれを忘れている場合、それを細断することはできません。-デバイスレベル、またはすべての空き領域を上書きするレベルで異なります。細断処理は、Linux / Unixで利用可能な数少ない高速ランダムデータソースの1つです。/ dev /(u)random大量のデータを上書きするのに使用するには遅すぎる。-単一シュレッドパスは、デバイスや空きスペースのためだけではない単一のファイルのためにOKですので
frostschutz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.