サーバのデータ完全消去をやってみた https://doruby.jp/users/nakanishi/entries/20160128122300
データ消去に関するベスト・プラクティス https://www.diskdeleter.jp/erasure-best-practice/
hddでもssdでもすべてのセクタにデータを埋めてしまえば良い
#zeroデータ sudo dd if=/dev/zero of=/dev/sdX bs=4096 status=progress #randomデータ sudo dd if=/dev/urandom of=/dev/sdX bs=4096 status=progress #shred 1回書込(標準で3回)
sudo shred -v -n 1 /dev/sdX
ライトアンプリフィケーションなどの機能があるために、フラッシュメモリを完全に消去するのは厄介です。デバイスのコントローラチップから見えるデータと、オペレーティングシステムから見えるデータの間には、透過的な抽象レイヤーが多数存在しており、データの書き込まれる場所が食い違っているために、特定のブロックやファイルを消去したとしても確実にデータが書き換えられているとは限りません。
(SandForce の全ての SSD に搭載されている) 透過圧縮などの“機能”は /dev/zero などのパターンストリームを圧縮してしまうことがあり、信じられないほど速く消去が終わってしまった場合、圧縮されてしまっている可能性があります。
Flash メモリデバイスを解体して、チップのハンダ付けを取り除き、中に入っているコントローラを使わずにデータの中身を解析することは 単純なハードウェア だけで簡単に行えてしまいます。データ復旧会社は安価にこれをしています。
ハードドライブが不良セクタを認識すると、セクタへのアクセスが遮断され、ソフトウェアからはその領域に書き込みできなくなります。それによって、完全な書き換えがその領域にまで及ばない可能性があります。ただし、ブロックサイズから考えて、理論上、その領域からリカバリできるサイズはあくまで数 KB ほどしかありません。
最近の高密度なストレージデバイスでは一回ゼロやランダムデータで上書きした時点でデータは全て消去されます [1]。残されたビットからバイトパターンを復元することは基本的に不可能です