ディスクのデータを完全消去するツールはいくつかあり、自分も過去何度も利用しているが、本当にデータの復元ができない状態になっているのだろうか。
最近話題になった、ハードディスクの転売問題を見て気になったので検証してみた。
事前準備等
今回ファイルの復元に使用するのは、「DiskDigger」。無料のツールだがWeb上の評価は比較的高いものを選んだ。
検証対象のハードディスクは、Linuxのshredコマンドを使って、ランダムデータを2回書き込んだうえでゼロ埋めしておく。ちなみに、この状態で復元ツールを使ってディスクをスキャンしてみても、ファイルは何も見つからないことを確認済み。
使用するデータ
手持ちの画像ファイル等をあらかじめ検証対象のディスクに書き込んでおく。それほどたくさんデータは必要ないかもしれないが、念のため10GB以上のデータを書き込むことにした。

フォーマットのみの場合
前述のデータをディスクに書き込んだ後、Windowsの機能でディスクをフォーマットする。
復元ツールを用いたディスクのスキャンが完了すると、3293個のファイルが検出された。実際に書き込んだファイル数よりも多い理由は定かではないが、ほとんどのファイルが復元可能ということだろう。

サムネイルが表示されている通り、実際フォーマットしただけでは誰でも簡単にファイルの復元ができてしまうことがわかる。
ゼロ埋めを1回行った場合
上記のフォーマットをかけた状態で、さらにディスク全体に0を書き込む(ゼロ埋め)を1回行う。
使用するのは、Windowsのdiskpartコマンド。検証対象のディスクに対して、「clean all」を実行することで、ゼロ埋めができる。

この状態でディスクのスキャンをかける。
結果、ファイルは一つも見つからず。この手の論理消去に関して「ゼロ埋めだけでは不十分」とよく言われるが、市販ツールで復元されてしまうリスクには十分対策できるようだ。
BitLockerで暗号化したディスクをフォーマットした場合
ここまでの検証はいずれもディスク自体の暗号化などは行っていない。では、初めからディスクを暗号化していた場合どうなるだろうか。
今回は、Windowsのドライブ暗号化機能「BitLocker」を使って暗号化してみた。
ドライブを暗号化する範囲は、使用済みの領域のみとし(ゼロ埋めした後なので空き領域を暗号化する必要はないと判断)、暗号化のモードはXTS AESを使用するモードを選択した。
ちなみに、暗号化後のディスクは、このように鍵マークがつく。

この状態で先ほどと同じようにファイルを書き込み、ディスクのフォーマットのみ行う。
その後、復元ツールでスキャンすると、以下の結果となった。
何やらファイルが二つ検出されているが、これは元々書き込んだファイルではない。たまたまファイルのメタデータが一致しただけだろう。復元したところで意味のあるファイルにはならなかった。
この結果から分かる通り、BitLockerでドライブ全体を暗号化しておけば、単にフォーマットするだけでデータの復元は不可能となる。復号キーがなければディスク上の内容はただのランダムなデータに過ぎないため、当然といえば当然の結果。
まとめ
フォーマットしただけのディスクからは、誰でも簡単に無料でデータの復元が可能。
ディスクの廃棄時は最低でもゼロ埋めによる論理消去が必要で、あらかじめBitLocker等でドライブ全体を暗号化しておけばより安心。
もちろん、最善の対策は、論理消去+物理破壊であることは言うまでもない。
コメント