4

この質問は、過去にさまざまな程度の成功を収めて尋ねられました...

ファイルのディスク上の場所を取得できるツール、または呼び出す C/C++ unix 関数はありますか? ファイルの仮想アドレスではなく、ファイルが存在するディスク/セクター/ブロックですか?

ここでの目標は、ディスク上に存在する実際のビットを上書きできるようにすることです。おそらく、カーネルのアドレスの重ね合わせをバイパスする方法が必要になるでしょう。x86 asm ベースのソリューションを検討したいと考えています...

しかし、これをうまく行うツールはすでにあると思います。

これに関するご意見ありがとうございます。

4

1 に答える 1

2

ファイルを安全に削除できるのは、非常に特殊な状況でのみです。

  • OSと実際の記憶媒体の間に制御されていない間接層はありません。

    もはや想定できない最新のシステム。ファームウェアのウェアレベリングコードを備えたSSDドライブは、このようには機能しません。ロギングや外部制御の可能性なしに、データを自由に移動またはコピーできます。磁気ディスクドライブでさえ、障害後に再マップされたセクターに既存のデータを定期的に残します。ハイブリッドドライブは両方を行います...

    ATA仕様は、ドライブ全体を消去するSECURE ERASEコマンドをサポートしていますが、既存の実装がどれほど徹底的であるかはわかりません。

  • ファイルシステムドライバには、ファイルから物理ブロックへの安定した一意のマッピングが常にあります。

    私はそれがこの機能を持っていると信じてext2fsいます。また、デフォルトのジャーナリングモードでもこのように機能するext3fsと思いますが、メタデータだけでなくファイルデータをジャーナルに保存できるオプションをマウントした場合はそうではありません。ext4fsdata=journal

    一方reiserfs、オプションでマウントされていない限り、メタデータと一緒に少量のデータを保存するため、動作は明らかに異なりnotailます。

これらの2つの条件が満たされている場合、などのプログラムは、ファイルの内容を複数回上書きすることにより、ファイルの内容を安全に削除できる可能性があります。shred

この方法はまだ考慮されていません:

  • バックアップ

  • 仮想化ストレージ

  • スワップスペースに残ったデータ

  • ..。

結論:

  • 安全な削除が可能であるとはもはや想定できません。不可能であると想定し、暗号化を使用することをお勧めします。機密データを処理している場合は、とにかくそれを使用する必要があります。

  • 機密データに関するプロトコルが記憶媒体の物理的破壊を義務付けているのには理由があります。実際にハードディスクドライブを消磁し、残骸を焼却する前にそれらを細断する会社があります...

于 2012-08-06T20:30:50.467 に答える