暗号化前のワイプ、なぜですか?


25

Kali:ドライブ暗号化してインストールする前に、その理由を知りたいと思いました。

  1. ドライブ全体を拭きました
  2. ドライブを0で埋めました
  3. ドライブを1で埋めました
  4. ドライブをランダムデータで満たした
  5. ドライブをもう一度拭きました

Kaliはインストールするためのものではないことは知っていますが、それはここでのポイントではありません。

では、新品のHDDにインストールする前に、これはどのように役立ちますか?私は、インストールではなくHDDの取り外しでそれを見るのに慣れています。


ステップ1〜3 badblocksは、不良セクタのチェック、0、1、01、10の書き込みとチェックに似ています。ディスク全体の暗号化のために、それの一般的なのはfrostschultzの回答(1)中の理由で(どこでも暗号化されたデータを書き込むために)暗号化されたゼロ・フィルをお勧めしますが、すべてこれを行う前に、暗号化を実行し、その後暗号化した後、異例であるbadblocksかのmkfsのことは-cc達成ます同様に、不良ブロックを特定します。Kaliの誰かは、フラッシュメモリ(USB、SSD)が常に同じ場所に同じセクターを書き込んでいるわけではなく、バックアップとの間でセクターを交換していることについて少し妄想的です
-Xen2050

回答:


36

複数のパスを実行しても意味がありません。一回だけで十分です。

暗号化されるドライブをランダムデータで満たすには、主に2つの用途があります。

  • 古い暗号化されていないデータを取り除く
  • 空き領域を暗号化されたデータと区別できないようにする

通常、暗号化する場合、データを誰にも見られたくありません。そのため、このドライブに暗号化されていない古いデータがある場合は、それも取り除く必要があります。SSDを使用すると、SSDで簡単かつ迅速に処理できblkdiscardます。実際、Linux mkfsは確認を求めずにすべてのデータをTRIMするため、どのような種類のデータ回復も不可能になります。LinuxにはTRIMが多すぎます。

空き領域は少し灰色の領域です。ランダムデータを事前に入力しない場合、新しいHDDでは、書き込まれなかったセクターはゼロになります。SSDでは、廃棄/ TRIMを許可すると、空き領域もゼロになります。

これはデータには一切影響しませんが(暗号化されたままです)、空き領域/実際のデータの量と、この空き領域/データの場所を明らかにします。たとえばhexdump -C、暗号化され、トリミングされたSSDは、次のようになります。

# hexdump -C /dev/ssd | grep -C 2 '^\*'
...
--
b3eabff0  dc c9 c7 89 16 ca d3 4f  a3 27 d6 df a0 10 c3 4f  |.......O.'.....O|
b3eac000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
b3f70000  5a 99 44 b5 9c 6b 1e 9c  81 cf 9a 43 b6 23 e9 0f  |Z.D..k.....C.#..|
b3f70010  2c e6 9a 5d 59 9b 46 5f  21 3f 4d 5f 44 5b 0a 6b  |,..]Y.F_!?M_D[.k|
--
b3f70ff0  5f 63 8d e8 c4 10 fd b1  a6 17 b5 7d 4a 57 09 68  |_c.........}JW.h|
b3f71000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
b3f72000  5d 1c 09 dd c9 6b 57 18  db 67 e1 35 81 57 45 8e  |]....kW..g.5.WE.|
b3f72010  0f a8 be 39 ae e5 5f cf  cf e3 8b a7 c1 25 1a a3  |...9.._......%..|
--
...

このことから私はアドレスに空き領域セグメントを持って伝えることができ0xb3eac000 .. 0xb3f70000b3f71000 .. b3f72000...およびその逆のようなコースデータセグメントです0xb3f70000 .. b3f71000

それで何ができますか?まあ、何もありません(*)。

(*)は私が言いたいことです。しかし、人々は創造的になります。空き領域パターンを使用して、使用するファイルシステムのタイプを導き出すことができます(メタデータを保存する方法/場所によります- ext4メタデータバックアップの1つを保存する空き領域がある場合ext4、そうではないなど)。使用しているディストリビューションを明らかにすることもあります(Linuxインストーラーが確定的にファイルシステムを埋める場合、ファイルは常に同じ物理アドレスで終わる可能性があります)。その時点で、誰かが特定のシステムファイルの場所を知っている可能性があり、何らかの方法でそれを変更/破損する可能性があります。(インストーラーは、これを防ぐためにファイルシステムにデータを取り込む方法をランダム化する必要があります。)

ただし、このような考慮事項は非常に理論的であり、他の理由によるほとんどの暗号化されたインストールの脆弱性に比べて非常に低いリスクです。ほとんどの初期インストールでは、暗号化されたデータへの生のアクセスを取得して分析し、この方法で何かを達成することを期待するよりも、単にinitramfsを改ざんしたり、キーロガーをインストールしたり、実行中のシステムを悪用したりする方が簡単です。

空き領域の公開を心配する前に、まずこれらについて心配する必要があります。

SSDを使用する場合、TRIMを有効にして、常に空き領域を公開することは完全に正常です。これは、ブロックレイヤーではなくファイルレイヤーで機能する暗号化ソリューションにも当てはまります。

HDDを使用すると、新しいディスクでもランダムワイプを実行できます。最初のセットアップを除き、コストがかからず、マイナス面がないからです。


1
一部のトリミングされていないセクターと同じ消去ブロックにある可能性があるため、トリミングは必ずしも実際にトリミングされたすべてのNANDフラッシュを消去するわけではありません。(消去ブロックは書き込みブロックよりも大きい)。mkfsが新しいメタデータを書き込む前にパーティション全体をトリミングしても、他のパーティション(EFIシステムパーティションなど)からのデータはまだアクティブであり、SSDファームウェアはパーティションを認識しません。
ピーターコーデス

en.wikipedia.org/wiki/Trim_(computing)へのリンクが答えに役立つかもしれません!
ガウラフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.