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


9

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

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

から実行 しているUbuntuインストールから/dev/sda


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

私の質問は次のことに触発されています:

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

2
ダメダメダメ。悪いアイデア。データを安全に消去したい場合は、これに依存しないでください。
アンドレ・Borie

回答:


16

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

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

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



10

ddは、Arch Wikiページから借用して少し変更した、より高度な使用法を使用してVMを犠牲にしました。

まず、素敵な進行状況メーターをインストールします。

sudo apt-get install pv

次に、「拡張」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例よりも優れていますが、完全に安全または保証されているものはありません...

ここに画像の説明を入力してください

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

参照:


あなたは(=は/ dev /ゼロ場合)を使用して、1は、むしろゼロでディスクを埋めるかどう構文は次のようになり方法の例を与えることができますddし、pvしてください?
Stormlord 2016

1
通じ@Stormlordあなただけのパイプをpv(パイプビューア)、そうdd if=/dev/zero | pv | dd of=/dev/sdX
someonewithpc

2
VMを犠牲にする必要はありません。事前にスナップショットを作成し、完了したら復元してください:-)
JonasCz-モニカ

したがって、後書きがあったとしても、全体の結果はステガノグラフィック的に複雑です。「ガベージ」がなければ、ディスクを16進ダンプしてゼロ以外の値を見つけるのは簡単です。
mckenzm 2016

6

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

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

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

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


1
DDチャレンジを覚えていますか?これは数年前のことですが、一度ゼロにされたハードドライブからデータを回復できる企業に報奨金を提供しました。彼らにはテイカーはいなかった。
Casey

1
「3回」ということはまったくナンセンスです。ランダムデータ1回は確実に回復できません。ゼロでさえ、回復するには法外な費用がかかります(@Caseyのコメントを参照)。報奨金は$ 1Bまたは彼らは受験者を持っていると思いますので...だったかもしれない場合
R .. GitHubのSTOP ICE手助け

予算とディスクの技術に依存します。プラッターの場合、データを取得できる場合があります。「垂直」磁気テクノロジーでも。メモリの揮発性が高いほど、より安全です。
mckenzm 2016

4

VMの場合と同様に、ディスクを消去してシステムを使用できなくなります。

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


1

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

ゼロでディスクを上書きすることは節約できますが、十分に偏執狂的であるか、法的ルールがある場合は、ランダムなデータで複数回上書きできます。

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.