web-dev-qa-db-ja.com

「dd」を使用して、Ubuntuを実行しているディスクを上書きするとどうなりますか?

使用するとどうなりますか

Sudo dd if=/dev/zero of=/dev/sda

ubuntuのインストールからrunning from/dev/sda


VMで試してみましたが、が表示されますがディスクを正しく消去しました。これは毎回当てはまりますか?これは、Ubuntuインストールとすべてのデータを「ワイプ」する安全な方法ですか?

私の質問は幾分刺激を受けています:

  1. buntuをコンピューターからアンインストールする方法は?
  2. 「rm -rf /」はシステム内のすべてのファイルをどのように削除できますか?
9
JonasCz

実際、ファイルシステムはまだマウントされており、一部の書き込みはバッファリングされており、ディスクへの書き込みを待機しているRAMのままです。 ddがすべてを正しく上書きし、その直後にバッファがフラッシュされ、潜在的に機密性の高いデータがディスクに書き戻されたとします。いいえ、これは安全なディスク消去方法ではありません。

この問題を回避するには、最初にルートファイルシステムとディスク上にある他のファイルシステムを読み取り専用モードで再マウント(または完全にアンマウントしますが、ルートファイルシステムでは不可能)します。ファイルシステムでより多くの書き込みを許可する必要があるため(フラッシュするバッファがないため)、コマンドは安全になりますが、パニックの場合は時間がかかりますので、それでも悪い考えです。

何らかのパニック削除機能が必要な場合は、LUKSを使用してディスクを暗号化し(Ubuntuインストーラーで実行できます)、次に Security Stack Exchangeでの私の答え を使用することをお勧めします。これには、サイズがわずか2MBで、上書きに1秒もかからないcryptheaderの消去が含まれます。その後、システムを再起動すると、ディスク暗号化キーがメモリから削除されます。cryptheader自体も削除されるため、復元する方法はありません。

17
André Borie

Arch Wikiページから少し変更したddを少し高度に使用して、VMを犠牲にしました

最初に、ニースの進捗メーターをインストールします。

Sudo apt-get install pv

そして、 'enhanced' ddコマンドを実行します

Sudo openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null \
| base64)" -nosalt </dev/zero \
| pv -bartpes "$(Sudo blockdev --getsize64 /dev/sda)" \
| Sudo dd bs=64K of=/dev/sda

これにより、ディスクはAES暗号テキストでいっぱいになります。完全で安全なディスクワイプですか?おそらくあなた自身のddの例よりも優れていますが、完全に安全または保証されているものはありません...

enter image description here

そして、あなたは私に1つのVMを借りています:)

参照:

9
andrew.46

簡単な答え:おおよそ何をしたいのか、何も機能しません。 ddを使用すると、ファイルシステムより下のレベルで動作しているため、そこに適用される制約はもはや関連しなくなります(これは、カーネルがこれを行うことを妨げることができなかったという意味ではありません-しかしt)。カーネルとddプログラム自体など、ファイルシステムの一部のコンテンツは既にメモリ内にあり、一部はキャッシュ内にあります。システムがマルチユーザーモードの場合、ddの進行中にファイルが書き戻される可能性があります。実際に変更されていると仮定し、そこからページがメモリ不足になっている場合スワップアウトされる場合もあります(暗号化されているため、再起動後に使用できません)。

これに続いて発行するほとんどのコマンド(rebootを含む)はキャッシュにないため、機能しません。したがって、シングルユーザーモードの場合は非常にうまく機能し、マルチユーザーモードの場合は大部分のデータが消去されます。理想的には、すべての書き込みがどこから来たのかを確認できるように、他の媒体からブートする(おそらくinitrdで停止する)必要があります。

安全なワイプが必要な場合は、ゼロにするだけで元のデータの痕跡が残るため、これは仕事をしません。通常、最大3つのランダム書き込みが必要になります。これは、/dev/urandomではなく/dev/zeroからコピーすることを意味します。はるかに低速ですが安全です。 「純粋な」ランダムデータ用のデバイスである/dev/randomを使用することをお勧めする場合がありますが、この目的のために、誰かがPRNGシードをクラックして正常にマスクする可能性がありますデータは本質的に無視できます。

もしあなたが本当に妄想なら、あなたはそれが消磁/放電するようにストレージデバイスを炉に投げ込む必要があります。

6
Jim Driscoll

VMで行ったように、ディスクを消去し、システムを使用不能にします。

しかし、「パニック削除」のようなものを考えている場合、ddは十分に高速ではない可能性があり、その場合にそれを提供する高速なコマンドまたはプログラムがあるかどうかはわかりません。

4
Videonauth

動作するはずです。実行中のプロセスはRamに保持されており、ディスクは必要ありません。とにかく、cdまたはusbから実行されているライブシステムを使用します。さらに、ディスクワイピング専用のライブLinuxであるdbanもあります。

ディスクをゼロで上書きすることは保存に役立ちますが、十分に妄想的であるか法的なルールがある場合は、ランダムデータで複数回上書きできます。

Ssdの上書きを使用しても、ウェアレベリングのためにすべてのデータの削除が保証されるわけではないことに注意してください。

フルディスク暗号化(luks)を使用する場合、フルディスクを削除する必要はありません。luksヘッダーを削除するだけで十分です。

1
Uwe Burger