25

ハードドライブからデータをワイプする際のセキュリティに/dev/ randomが好まれる理由を誰かに教えてもらえますか?

4

2 に答える 2

62

簡単な答えは、/dev/random好ましくありません。どちらも同じように安全です。/dev/zero確認を容易にするために使用します。また、CPU使用率が低く、場合によっては高速になります。

より完全な答え。最新のハードドライブの場合、プラッタ密度は、ドライブの不完全に上書きされたセクターから信号を取得することが不可能なほどです。これは、Gutmannなどの人々が何年も前に書いたものです。最新のハードドライブに関する限り(容量をギガバイト以上で測定できるハードドライブとしてこれを配置します)、上書きされた場合はなくなります。物語の終わり。したがって、データを何に変更してもかまいません。データを変更するだけです。

これに加えて、ハードドライブを完全にワイプした場合でも、ハードドライブのファームウェアによって再マップされたセクターのドライブにデータが残っている可能性がありますが、これらは比較的まれであり、ごく少量のデータしか含まれていません。内では、そのデータを取得するために非常に特殊な機器が必要になることは言うまでもありません(データを取得するには、ドライブG-List内を編集する必要がありますSystem Area)。これらのセクターが最初に再マップされた理由は言うまでもありません。場所は彼らが失敗していたからです。

要約すると、DoDワイプは愚かであり、Gutmannワイプは愚かであり、使用/dev/zeroします。すべての場合のほぼ100%で良好です。そして、それがエッジケースである場合は、データを取得し、データを削除する方法を非常に専門的に知っている必要があります。

「ありがとう!では、USBスティックはどうですか?」

USBスティックはまったく別の動物です。フラッシュコントローラーをバイパスしてクリーンアップする必要があります。ウェアレベリングアルゴリズムにより、Gutmannワイプでもデータが完全に削除されることはありません。しかし、ハードドライブと同じように、データを一度上書きすると、データは消えてしまいます。トリックは、デバイスに実際にデータを上書きさせることです。

そうは言っても、ウェアレベリングを行うコントローラーのない安​​価なUSBスティックを使用している場合は、内部のデータを削除するにはシングルパスの0フィルで十分です。それ以外の場合は、カスタムハードウェアとはんだ付け作業を検討しています。

SSDは、ウェアレベリングを実行するコントローラーを備えたUSBスティックと見なす必要があります。SSDは常にウェアレベリングを行いますが、このルールの例外はわかりません。多くのUSBスティックはそうではありません。

USBスティックがウェアレベリングを行っているかどうかをどのように判断しますか?あなたはそれを分解してコントローラーチップを検査し、その上でデータシートを調べる必要があります。

「ドライブの不完全に上書きされたセクターから信号を取得することは不可能である」という声明の出典を教えてください。私はデータリカバリストアに関するコンピュータ雑誌のテストについて話しているのではなく、最悪のシナリオについて話しているのです。設備の整った政府の研究所です。ですから、その声明、できれば科学論文をどのように保証できるのか、本当に知りたいのです。」

磁気メディアへのデジタルデータのアナログストレージに関する正当性と情報を提供します。以下は、主にデータサルベージ会社での仕事中に教えられたことであり、場所によっては部分的に不正確になる可能性があります。もしそうなら、私に知らせてください、私はそれを修正します。しかし、これは私がその資料を最もよく理解していることです。

ハードドライブが製造された後、最初に発生するのは、サーボラベル書き込み機からサーボラベルを受け取ることです。これは別のマシンであり、その唯一の仕事は完全に空のハードドライブを取り出してブートストラップすることです。(これが、ハードドライブにアルミニウムテープで覆われた穴がある理由です。サーボラベルマシンが書き込みヘッドを配置する場所です。)電源を入れたときに「クリッククリッククリック」が生成されたドライブを使用したことがある場合は、サーボラベルが読み取れなかったためです。ハードドライブの電源がオンになっている場合、最初に実行しようとするのは、読み取りヘッドをプラッターのどこかに投げ込み、トラックを取得することです。サーボラベルはトラックを定義します。サーボラベルが見えない場合は、中央に到達し、カチッと音を立てて、アームを引き戻し、再試行します。

私がこれに言及する理由は、外部デバイスがハードドライブに対して読み取りと書き込みを行う唯一のインスタンスであり、そのドライブの外部のハードウェアがプラッター上のデータを処理できるおおよその制限を説明しているためです。サーボラベルをより小さく、よりスペース効率の良いハードドライブメーカーにすることができれば。サーボラベルは、2つの理由で比較的スペース効率が良くありません。

  1. それらが失敗しないことが絶対に重要です。サーボラベルに障害が発生すると、ヘッドがその特定のサーボラベルを超えるたびにトラックが失われます。これは、実際には、トラック全体が使用できないことを意味します。
  2. それは、ハードドライブハードウェアが外部の機械よりもプラッターに関する情報を処理するのにどれほど優れているかについてのいくつかの考えを示しています。

サーボラベルのリングがトラックを定義します。トラックについて知っておくべきことがいくつかあります。

  1. それらは必ずしも円形ではありません。それらは不完全であり、反りを含む可能性があります。これは、サーボラベルマシンが正確でないためです。
  2. それらは必ずしも同心ではありません。彼らは交差することができますし、します。これは、サーボラベルマシンが不正確であるという理由だけで、特定のセクターまたはトラック全体が使用できなくなる可能性があることを意味します。

サーボラベルが書き込まれた後、低レベルフォーマットが登場します。より複雑なものを除いて、ドライブの実際の低レベルの1980年代のフォーマット。プラッタは円形ですが、ハードドライブの速度は一定であるため、読み取りヘッドの下を通過する領域の量は、プラッタの中央までの距離の可変関数です。したがって、プラッターからストレージの最後の一滴を絞り出すために、プラッターの密度は可変であり、ゾーンで定義されます。一般的な3.5インチハードドライブには、プラッタ密度が異なる数十のゾーンがあります。

そのうちの1つは、と呼ばれる特別で超低密度System Areaです。システムエリアは、すべてのファームウェアと構成設定がドライブに保存される場所です。その情報がより重要であるため、密度が非常に低くなります。密度が低いほど、何かがランダムに台無しになる可能性が低くなります。もちろん、これは常に発生しますが、ユーザー領域の何かよりも頻繁には発生しません。

ドライブが低レベルでフォーマットされた後、ファームウェアはシステムエリアに書き込まれます。ファームウェアはドライブごとに異なります。プラッターの途方もなく細かい要件に合わせてドライブを最適化するには、各ドライブを調整する必要があります。(もちろん、これは実際には低レベルフォーマットの前に行われます。プラッターを作成する密度を決定するには、機器がどれだけ優れているかを知る必要があるためです。)このデータは次のように知られています。adaptivesシステムエリアに保存されます。アダプティブ領域の情報は、「サーボラベルがトラックから外れていることを示したときに、自分自身を修正するためにどのくらいの電圧を使用する必要があるか」などの情報や、ハードドライブを実際に動作させるために必要なその他の情報です。アダプティブがわずかにオフになっている場合、ユーザーエリアにアクセスできない可能性があります。システム領域へのアクセスが容易であるため、PCBCMOSに保存する必要のあるアダプティブはごくわずかです。

この段落から離れてください:

  1. 密度が低いほど読みやすくなります。
  2. 密度が高いほど、物事がランダムに台無しになる可能性が高くなります。
  3. ユーザー領域は、ハードドライブの製造元が作成できる密度と同じくらい高密度です。
  4. これがばかげているように思えるなら、それは本当にそうだからです。ハードドライブメーカーは、GBあたりの価格で競争して勝ちます。ハードドライブの設計は、実際には、非常に慎重に製造された機器を作成し、それらを非常に慎重に組み立てることではありません。それは、もはや十分ではないからです。確かに、彼らはまだそれを行っていますが、ハードウェアの許容範囲が広すぎて競争力がなくなったため、ソフトウェアで互いに連携させる必要もあります。

それで。ユーザーは非常に高密度であるため、実際には、通常の過程でビットがめちゃくちゃになる可能性が非常に高くなります(非常に(非常に))。これは、ごくわずかなタイミングの問題やプラッターの劣化など、多くの要因によって引き起こされる可能性があります。ハードドライブのセクターのかなりの割合に、実際にはねじ込みビットが含まれています。(これはATA28 READLONG、ドライブにコマンドを発行して(最初の127 GB程度でのみ有効です。これにATA48相当するものはありません!)、多くのセクターで数回発行し、出力を比較することで、自分で確認できます。特定のビットが誤動作し、吸い込まれたり、ランダムに反転したりすることはめったにありません。)それは人生の事実です。それが私たちが持っている理由ですECC.

ECCは、512バイト(または新しいドライブでは4096バイト)のデータの後に含まれるチェックサムであり、不正なビットが十分に少ない場合にそのデータを修正します。正確な数はファームウェアとメーカーによって異なりますが、すべてのドライブに搭載されており、すべてのドライブに搭載されています(予想よりも驚くほど多く、最大6〜8バイトのエラーを検出して修正できる48〜60バイトのようなものです。クレイジーこれは、高度に専門化され調整された内蔵ハードドライブ機器でさえ、プラッタの密度が高すぎるためです。

最後に、プリアンプチップについてお話したいと思います。ハードドライブのアームにあり、メガホンとして機能します。信号は非常に小さな磁場から生成されているため、非常に小さなヘッドに作用し、電位は非常に小さくなります。したがって、Gutmannの手法にハードドライブヘッドを使用することはできません。これは、Gutmannの手法を価値のあるものにするのに十分な正確な読み取り値を取得できないためです。

しかし、NSAには魔法の機器があり、1ミリ秒で特定のビットの非常に正確な読み取り(電位を計算して以前に書き込まれたデータを導出するのに十分な精度)を取得できると仮定しましょう。彼らは最初に何が必要ですか?

まず、システムエリアが必要です。これは、トランスレータが格納される場所であるためです(トランスレータは、LBAアドレスをPCHSアドレスに変換するものです(論理CHSアドレスは偽物であり、レガシーの理由でのみ使用されます)。システムのサイズ面積はさまざまで、魔法の道具を使わなくても入手できます。通常、50〜100 MB程度です。トランスレータのレイアウトはファームウェア固有であるため、逆にする必要があります(ただし、以前に行ったことがあるので、大したことはありません)。

したがって、最初の問題は、信号対雑音比です。前述のように、プラッター密度は厳密に安全であるように調整されています。Gutmannの方法では、ビットの以前の状態を任意の精度で計算するために、通常の読み取り/書き込みアクティビティの変動を非常に小さくする必要があります。信号の変動が大きい場合は、これらの試みを台無しにする可能性があります。そして、その差異はあなたを完全に台無しにするのに十分重要です(それが現代のドライブでECCがとても狂っている理由です)。

2番目の問題、時間。電子顕微鏡が非常に高速で正確であっても(1ビットあたり1ms!これは電子顕微鏡としては電光石火です。1200ボーのモデムよりも低速です)、ハードドライブには大量のデータがあり、完全な画像は非常に高速になります。長い時間。(WAは500GBのハードドライブ全体で126年と言っていますが、ECCデータ(必要なもの)は含まれていません)。IDフィールドやアドレスマーカーなど、ハードドライブセクターに関連する他のメタデータもたくさんあります。しかし、これらは上書きされません。おそらく、通常どおりに画像化するためのより高速な方法を思い付くことができますか?このプロセスを高速化する方法(ドライブの一部を選択的に画像化するなど)があることは間違いありませんが、それでも24か月かかります/ 7 24時間体制で、$MFT標準のハードドライブ上のファイル(通常、Windowsがインストールされているドライブでは約50〜300MB))。

3番目の問題、許容性。政府があなたを追いかけているのなら、彼らはほんの少しの理由であなたを追いかけているのです。彼らはあなたが知っていることを知りたがっています。あるいは彼らはあなたを逮捕して刑務所に入れたいと思っています。前者(ゴムホース暗号化)を取得する簡単な方法があり、後者は定期的な証拠手続きが必要になります。例えに戻ると、混雑した騒がしい部屋の真ん中で誰かが話しているときに、誰かがささやき声で何かを言ったと証言した場合、そこには疑いの余地がたくさんあります。多くの時間とお金を費やしたいと思うような強力な証拠になることは決してありません。

于 2012-07-16T06:58:04.050 に答える
2

あなたは間違った質問をしている。ユーザーに表示されるブロックに書き込んでドライブを安全に消去しようとすると、不良としてマークされたセクターにユーザーデータが存在する可能性があるという事実が完全に無視されます(ただし、読み取り可能な機密データが含まれています)。

もちろん、ATAコマンドを発行することでこれを回避することは可能ですが、1つのATAセキュア消去コマンドで最初に必要なすべてを実行できます。オプションを指定してSecureEraseコマンドを発行する方法の詳細については、https://ata.wiki.kernel.org/index.php/ATA_Secure_Eraseを参照してください。hdparm--security-erase

于 2012-07-16T12:44:15.587 に答える