web-dev-qa-db-ja.com

ハードドライブが暗号化されているかどうかを確認することはできますか?

使用されているソフトウェアに関係なく、ハードドライブが暗号化されているかどうかを確認することは可能ですか?つまり、AES-256のTruecrypt/VeraCrypt/Bitlockerなどですか?

先日、「セクタービュー」でドライブをスキャンしてデータを読み取るかどうかを判断できると思いました。データがランダムに満たされている場合、それは暗号化されていることを意味します。わかりやすいですか?

38
cpx

ここでは、「ファイルベースの暗号化」と「フルディスク暗号化」の2種類の暗号化があります。ディスクの暗号化に使用されるスキームとプログラムの検出に役立つフォレンジック手法とソフトウェア(EnCaseなど)が文書化されています。

私は人気のあるツールと標準のリストを取り、それらが使用されたと判断できる痕跡を残すかどうかを確認します。

  • Bitlocker
    Bitlockerは、Windows 7以降のWindowsオペレーティングシステムで使用できるフルディスク暗号化規格です。このツールはAES256を使用してディスクを暗号化します。 bitlockerで暗号化されたディスクは、通常のNTFSディスクとは異なります。 "-FVE-FS-"の署名は、bitlocker暗号化ボリュームの先頭にあります。
    これらのボリュームは、GUIDでも識別できます:
    • bitLockerの場合:4967d63b-2e29-4ad8-8399-f6a339e3d00
    • bitLocker ToGoの場合:4967d63b-2e29-4ad8-8399-f6a339e3d01
  • DiskCryptor/TrueCrypt/VeraCrypt
    DiskCryptorはTrueCryptに基づいています。 DiskCryptorとTrueCryptの両方について、次の基準でそれらの存在を検出できます。
    • ファイルまたはクラスターオブジェクトのコレクションのサイズが512の倍数である
    • オブジェクトの最小サイズは19KBですが、デフォルトでは最小5MBですが、
    • オブジェクト全体に特定のファイル署名が含まれていない。
    • シャノンエントロピーが高いか、カイ2乗分布検定に合格しています。特定の署名やヘッダーが残されていないため、TrueCrypt(またはその兄弟)が使用されたかどうかを確実に判断できないことに注意してください。いくつかの方法を組み合わせることにより、その存在をより正確に推測することができます。
  • FileVault
    FilevaultはMacでのBitlockerに相当するものであり、完全なディスク暗号化を提供します。 "encrdsa"または16進値 "65 6E 63 72 63 64 73 61"の署名は、FileVault暗号化ボリュームの先頭にあります。
  • LUKSを使用した暗号化セットアップ
    Linux Unified Key Setupはディスク暗号化仕様であり、ストレージメディアボリュームの暗号化の一般的なツールであるLinuxのcryptsetupで使用できます。これはオプションであり、ユーザーはこのフォーマットを使用しないことを選択できますが、使用すると、ボリュームの先頭にある「LUKS\xba\xbe」署名でその存在を検出できます。
  • チェックポイントフルディスク暗号化
    VBRのセクターオフセット90で、製品識別子 "Protect"が見つかります。 16進値 "50 72 6F 74 65 63 74"
  • GuardianEdge Encryption Plus/Anywhere/Hard Disk EncryptionおよびSymantec Endpoint Encryption
    セクターオフセット6 MBRで、製品識別子 "[〜#〜] pcgm [〜#〜]"が見つかります。 16進値 "50 43 47 4D"
  • McAfee Safeboot/Endpoint Encryption
    セクターオフセット3 MBRで、製品識別子 "Safeboot"が見つかります。 16進値 "53 61 66 65 42 6F 6F 74"
  • Sophos Safeguard EnterpriseおよびSafeguard Easy
    Safeguard Enterpriseの場合、MBRのセクターオフセット119で、製品識別子 "SGM4"が見つかります。 16進値 "53 47 4D 34 30 30 3A"
  • Symantec PGP Whole disk Encryption
    セクターオフセット3 MBRで、製品識別子 "ëH| PGPGUARD"が見つかります。 16進値 "EB 48 90 50 47 50 47 55 41 52 44"

暗号化を検出するためのファイルのランダム性の測定

前に説明した方法は、すべてのディスク/ファイル暗号化スキームで実行できるとは限りません。それらのすべてが、それらを検出するために利用できる特定のプロパティを持っているわけではないためです。もう1つの方法は、ファイルのランダム性を測定し、それらがランダムに近いほど、暗号化が使用されていることを確認します。
これを行うには、Pythonという名前のスクリプト file_entropy.py を使用できます。エントロピー値が8.0に近いほど、エントロピーが高くなります。
これをさらに拡張して、バイトの分布を視覚化するプロットを描画できます。 ( calculate-file-entropy

暗号化を検出するもう1つのポイントは、既知のファイル署名がボリューム内で検出されないことです。 (jpgなし、officeドキュメントなし、既知のファイルタイプなし)そして、圧縮方法(例 gziprar および Zip )には既知の署名があるため、暗号化とほとんど区別できます。

まとめ

  1. 既知の署名を使用して暗号化を検出します(可能な場合)
  2. 暗号化を検出するには、特別な特性(最小ファイルサイズ、高いエントロピー、特別なファイル署名がないなど)を使用します
  3. 署名を使用して圧縮ファイルを除外する

ですから、メインの質問「それはわかりやすいですか?」に戻ると、これはフォレンジック手法に該当し、ステガノグラフィ手法を扱っている可能性があります。ユーザーが私たちをだまそうとしない通常のケースでは、暗号化が整っていると言うのは簡単ですが、ユーザーが物事を隠そうとし、私たちを欺こうとする実際のシナリオでは、/ dev/urandomをファイルにパイプするだけです!それは簡単ではありません。

73
Silverfox

確実にを伝えることはできませんが、特定の範囲の信頼度内で伝えることはできます。

暗号化されたデータはホワイトノイズのように見えます。各ビットには正確にが設定されている確率が、残りのビットに関係なく50%です。特定のビットと他のビットの間に相関関係はありません。それは純粋にランダムです。

この高品質のランダム性は、ハードドライブの通常のライフサイクルでは特に一般的ではありません。一般的にはsomeパターンなどがあります。製造プロセスからの残留パターン、ファイルシステム設定からのパターン、または現在または以前に削除されたファイルからのパターン。したがって、ディスクに純粋なホワイトノイズが含まれている場合、最も可能性が高いのは、誰かがドライブで「安全な消去」を行ったか、暗号化された情報が含まれていることです。

例外として、多くの場合ノイズのように見える一般的な暗号化されていない形式のデータは、圧縮データです。圧縮率が高いほど、暗号化されたデータに類似します。それでも、圧縮されたデータには通常、わかりやすいマーカーが含まれているので、より注意深く調べると、通常は除外できます。

15
tylerl

データがランダムに満たされている場合、それは暗号化されていることを意味します。わかりやすいですか?

いいえ。ハードディスクを破棄する、または譲る場合、shredのようなプログラムを実行して、ハードディスクから個人データを削除します。ランダムなデータを含むコンテンツ。したがって、ランダムデータの存在は何も証明しません。

次に、そのディスクを何らかのファイルシステムなどで再フォーマットすると、ディスクの最初の部分は正常に見え、残りはランダムに見えるようになります。それでも、ランダムな部分が暗号化されているのか、それともクリーンアップ操作が残っているのかは証明されません。

Silverfoxで説明されているように、ほとんどの暗号化製品で署名が横になっていることに少し驚いています。これは、ここで説明するように、ユーザーにブルートフォース復号化を許可するように思われます。

Security

10
Nick Gammon