* NIXシステムでファイルを安全に破砕する方法は次のとおりです。
シュレッダー
#!/bin/bash
# Define number of rewrites
COUNT=20
# Define file size
FILE_SIZE=`wc -c < "$1"`
# Begin rewriting file
while [ $COUNT -ge 0 ]
do
# Write random data to file
echo `dd if=/dev/urandom bs=1 count="$FILE_SIZE"` > $1
COUNT=$(( $COUNT - 1 ))
done
ファイルが正しいオフセット(開始点)に書き換えられていますか?
より短く、より良い、より移植性に優れた方法はありますか?
ベストアンサー1
いや、それとは遠い。
あなたがしたいことは不可能なので、失敗するのも当然です。最も深刻な問題は、ファイルを上書きしようとしないことです。… > $1
最初にファイルが切り捨てられ、すべてのブロックが使用可能としてマークされ、コマンドの出力が新しく割り当てられたブロックに書き込まれます。新しく割り当てられたブロックがファイルから割り当てられたばかりのブロックである理由はありません。
走るとdd if=/dev/urandom bs=1 count="$FILE_SIZE" of="$1"
、この障害物を克服することができます。このファイルのコピーを上書きしていることを確認できます。ただし、ファイルの他のコピーが別の場所にある可能性があります。たとえば、次のようになります。
- ファイルの作成または編集時に作成される一時コピー。
- 以前のバージョン(ファイルが過去に編集された場合)
- ファイルにアクセスできる人は誰でもバックアップを作成できます。
- ファイルシステムのスナップショットに追加のコピーがあります。
- ストレージデバイス内に作成できる他のコピー。 SSDで消去するのは高価な作業です(デバイスの速度と摩耗の両方で)。したがって、1セクタに新しいコンテンツを書き込むことは実際には後で削除するセクタを表示し、他のセクタにデータを書き込みます。。
データを安全に消去する方法は、最初の日からディスク全体を暗号化することです。その後、データを回復できないようにするには、通常、明確に定義された場所に保存されているキーを消去します。物理キーをディスクにまったく保存しないことをお勧めします。人の介入なしにマシンを起動する場合は強力なパスワードを使用し、人の介入なしにキーを起動した場合は、スマートカードや安価なUSBキーキーまたはSDにキーを保存してください。カードがあれば、躊躇なく物理的に破壊することができます。
上記のように、単にSSDのデータを上書きしても、攻撃者がハードウェアにアクセスできる場合、またはSSDのファームウェアをクラックできる場合は回復できないという保証はありません。機能する機能があると仮定すると、SSDのセキュリティ削除機能を使用する必要があります(残念ながら、一部のSSDモデルではこの機能があると主張しますが、実際にはデータを削除しません)。