ファイルを安全に破砕

ファイルを安全に破砕

* 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モデルではこの機能があると主張しますが、実際にはデータを削除しません)。

答え2

スクリプトは必ずしも正確ではないと仮定します。

  • ファイルの一部を上書きすると、古いセクタに新しいデータが書き込まれます。
  • これは特にSSDの場合に当てはまります(ウェアレベリングチェック)。
  • 書き込みコピーやオーバーレイファイルシステム(btrfsやaufsなど)は使用しません。

編集:上記はスクリプトに関連するおおよその問題のリストと見なされるべきです。セキュリティ上の問題はまったく無知ではありませんが、ファイルの編集時に一時コピー、リモートサーバーへの転送、他のキャッシュ、スワップスペース、ログなど、ここで処理されない状況がたくさんあります。私が知らない他のもの。

可能な対策(常に100%安全ではない):

  • シュレッディングを使用しますが、SSDなどのフラッシュベースのメディアでは機能せず、ext3などの一般的なファイルシステムを含むすべてのファイルシステムでも機能しません。
  • SSDメーカーが提供するツールを使用できない場合があります。
  • ファイルを保存する前にフルディスク暗号化を使用し、OSパーティション、スワップパーティション、他のすべてのパーティション、好ましくは他のすべてのHDD / USBスティック/ ...江戸(一時)コピーを作成します。削除したいファイルを除く他のすべてのデータを暗号化されたドライブにバックアップし、ファイルと接触しているすべてのメディア(オペレーティングシステムパーティションを含む)を再フォーマットして再暗号化し、別のデータをディスクに再挿入します。

関連情報