web-dev-qa-db-ja.com

ゼロフィルとランダムフィル

多くのチュートリアルでは、ディスクを回復不能にしたい場合は、/ dev/zeroではなく/ dev/urandomでディスクを埋めるように勧めています。しかし、私はそれを完全に理解していません、どのようにしてディスクはゼロで満たされた後でも回復可能ですか?そして、これはゼロフィルディスクを回復できる非常に専門的な人々(政府機関を読む)ですか、それとも平均的なオタクができることですか?

PS:私は自分のデータについて心配しているわけではありません。中古コンピュータを時々販売しています。むしろ、平均的なジョーのバイヤーはそれらから面白いものを回復しない方がいいです。

24
Waleed Hamra

ディスクに/dev/zeroはそれをゼロにします。ほとんどの(現在利用可能な)回復ソフトウェアは、単一パスからファイルを回復できません。パスが多いほど、消去はより安全になりますが、時間がかかります。

/dev/urandomは(Linuxカーネルの エントロピープール からの)ランダムなデータでディスクを埋め、回復ソフトウェアが意味のあるデータを見つけるのを難しくするため(これも時間がかかります)、より安全であると考えられています。

つまり、適度な回数のパス/dev/urandomは、データを安全に消去する場合に安全ですが、ほとんどのカジュアルなアプリケーションでは、/dev/zero 十分であろう。

私は通常、ディスクを消去するときにこの2つを組み合わせて使用​​します(コンピューターを再販またはリサイクルする前に必ず消去してください!)。

14
neersighted

多くのチュートリアルでは、ディスクを回復不能にしたい場合は、/ dev/zeroではなく/ dev/urandomでディスクを埋めるように勧めています。

/dev/urandomは使用しないでください。

私のi7-3770では、/dev/urandomは1分あたり驚くほど1 GBの疑似ランダムに生成されたデータを生成します。 4 TBハードドライブの場合、/dev/urandomを使用した1回のワイプでは66時間以上かかります!

疑似ランダムに生成されたデータを使用する必要がある場合(詳細については以下を参照)、少なくとも適切に高速にデータを生成する方法を使用してください。例えば

openssl enc -aes-128-ctr -pass file:/dev/random 2>/dev/null | tail -c+17

バイトの無限ストリームを出力します。 CTRモードでAESを使用し、/dev/randomから読み取ったパスワードを使用するため、1,000,000 TB未満のハードドライブに対して暗号で保護されます。

また、高速です。とても早い。同じマシンで毎秒1.5 GBを生成できたため、/dev/urandomより90倍高速です。これは、一般消費者向けのハードドライブが処理できる以上のものです。

[I]これは、ゼロフィルディスクを回復できる非常に専門的な人々(政府機関を読む)ですか、それとも平均的なオタクができることですか?

ハードドライブデータの上書き:大規模なワイピングの論争 では、非ランダムデータで初期ドライブ(テストにのみ使用)を一度上書きすると、単一ビットを正しく回復する確率が92に低下すると結論付けています。 %。これは、1バイト(ASCII文字)が51%の確率で回復できることを意味します;バイトが正しく回復されたかどうかを知る方法はありません。

現実のシナリオ(わずかに使用されるドライブ)では、確率はシングルビットの場合は56%に、シングルバイトの場合は9%に低下します。

彼らは新しいドライブを取り、短期間の使用をシミュレートするためにそれを3回ワイプし、それに短いテキストを書き込み、ランダムでないデータでドライブを1回ワイプしました。これらは結果でした:

元のテキスト:

データの安全な削除-Peter Gutmann-1996
概要
ますます高度な暗号化システムを使用することで、機密データへのアクセスを希望する攻撃者は、他の場所で情報を探す必要があります。攻撃の1つの方法は、磁気メディアまたはランダムアクセスメモリから消去されたと思われるデータを回復することです。

回収されたテキスト:

¡ÄuÜtÞdM@ª""îFnFã:à•ÅÒ̾‘¨L‘¿ôPÙ!#¯ -×LˆÙÆ!mC 
2´³„‡·}NŽýñêZØ^›l©þì®·äÖŒv¿^œº0TÏ[ªHÝBš¸ð 
7zô|»òëÖ/""º[ýÀ†,kR¿xt¸÷\Í2$Iå""•ÑU%TóÁ’ØoxÈ$i 
Wï^™oËS²Œ,Ê%ñ ÖeS» eüB®Èk‹|YrÍȶ=ÏÌSáöp¥D 
ôÈŽ"|ûÚA6¸œ÷U•$µM¢;Òæe•ÏÏMÀùœç]#•Q
                                                          Á¹Ù""—OX“h 
ÍýïÉûË Ã""W$5Ä=rB+5•ö–GßÜä9ïõNë-ߨYa“–ì%×Ó¿Ô[Mãü 
·†Î‚ƒ‚…[Ä‚KDnFJˆ·×ÅŒ¿êäd¬sPÖí8'v0æ#!)YÐúÆ© 
k-‹HÈø$°•Ø°Ïm/Wîc@Û»Ì"„zbíþ00000000000000000
22
Dennis

微視的レベルでは、ハードドライブビットには「1」も「0」もありませんが、磁気電荷があります。それを超えると料金が「1」と見なされるしきい値があります。同様に、ビットの幾何学的位置は正確ではありませんが、所定の空間内にあります。

理論では、以前の料金のごく一部がまだ新しく書き込まれたビットに残っているため、ディスクをゼロにすると、誰かが1と見なされるものに対して新しいはるかに低いしきい値を設定し、それでも回復する可能性がありますデータ。ランダムデータを書き込むと、これははるかに困難になります。

複数のパスの背後にある理論は、ディスク上のビットの幾何学的位置に関係しています。現在のパスが少し先または後ろにある場合、古いビットの残りが新しいビットの脇から覗いている可能性があります。 2つまたは3つのパス(特にランダムデータのパス)を使用すると、前のビットが識別可能になる可能性がはるかに低くなります。

他の人がすでに言ったように、これらの恐怖はほとんど誇張されています。最大のリスクは、OSによってのみ削除されるか、まったく削除されないデータです。

11
Joshua Clayton

私はどんな記事も指すことはできませんが、実際に(黒いヘリコプター施設の外で)ランダムなデータで1回の「ワイプ」を行った後、意味のあるデータを回復する可能性は非常に小さいことを示すいくつかの記事を読みました。

実際のリスクは、少なくとも「エッジ」条件の場合、古いデータがあった場所に新しいデータを書き込まない可能性があるため、おそらく「スマート」ドライブ(特にSDD)のさまざまな形式にあります。 (これは、エラー回復のためにセクターの再配置を行う古いドライブでも発生します。)これにより、ワイプ後でも、いくつかのトラックまたはセクターが元の状態である可能性があります。巧妙なハッカーは、おそらくこれらの領域にアクセスする方法を見つけ出すでしょう。

しかし、現実的に言えば、あなたが普通のジャックジョーンズに売っている普通のジョースミスである場合、これは大きな危険ではありません-ドライブに本当の価値はなく、購入者は数分以上の無駄な時間を費やす可能性は低いですものを見つけるために。あちこちに潜入しているセクターであっても、クレジットカード情報が記載されているセクターはほとんどありません。ドライブに核の秘密があり、買い手がThe Bad Guysのスパイである場合、さらに大きな危険があります。小さなリークの小さなリスクでさえ、多すぎます。

4
Daniel R Hicks

ところで、最近のディスクの多くには、ディスクを論理的にシュレッドする内部ハードウェアdiskコマンドがあります。ただし、これは、これまでに見たディスクコントローラーやドライバーソフトウェアには実装されていません。

また、あなたが求めていることは、長年にわたってかなりの議論の対象となってきました。あらゆる種類のハードウェアデータ回復を妨害するために提案されているさまざまな方法と手順。 「ワイプ」エージェントの多くがそうであるように、利用可能なワイプアルゴリズムが多すぎることに気づくでしょう。

私がしていることは、実際にはディスクを手動で破壊することであり、後で発生する可能性があることを心配することはありません。自宅でこれを行うのは簡単ですが、仕事では別の状況です。

4
mdpc

SSDは、HDDに対してゼロフィルで十分な場合があります。SSDは、セクターを埋めるためにランダムバイトを使用する必要がある場合があります。SSDは、セクターセルでそれを示す1ビットだけゼロセクターを要求できるためです(データ部分をゼロで埋めない)。 。

3
pbies

ここに別の角度があります:ディスク暗号化のいくつかの方法は、暗号化されたディスクをランダムなゴミのように見せることによって deniable encryption を提供しようとします。未使用のディスクが(実際の)ランダムなゴミでいっぱいになっていると、拒否の可能性が高まります。