使用されているソフトウェアに関係なく、ハードドライブが暗号化されているかどうかを確認することは可能ですか?つまり、AES-256のTruecrypt/VeraCrypt/Bitlockerなどですか?
先日、「セクタービュー」でドライブをスキャンしてデータを読み取るかどうかを判断できると思いました。データがランダムに満たされている場合、それは暗号化されていることを意味します。わかりやすいですか?
ここでは、「ファイルベースの暗号化」と「フルディスク暗号化」の2種類の暗号化があります。ディスクの暗号化に使用されるスキームとプログラムの検出に役立つフォレンジック手法とソフトウェア(EnCaseなど)が文書化されています。
私は人気のあるツールと標準のリストを取り、それらが使用されたと判断できる痕跡を残すかどうかを確認します。
暗号化を検出するためのファイルのランダム性の測定
前に説明した方法は、すべてのディスク/ファイル暗号化スキームで実行できるとは限りません。それらのすべてが、それらを検出するために利用できる特定のプロパティを持っているわけではないためです。もう1つの方法は、ファイルのランダム性を測定し、それらがランダムに近いほど、暗号化が使用されていることを確認します。
これを行うには、Pythonという名前のスクリプト file_entropy.py を使用できます。エントロピー値が8.0に近いほど、エントロピーが高くなります。
これをさらに拡張して、バイトの分布を視覚化するプロットを描画できます。 ( calculate-file-entropy )
暗号化を検出するもう1つのポイントは、既知のファイル署名がボリューム内で検出されないことです。 (jpgなし、officeドキュメントなし、既知のファイルタイプなし)そして、圧縮方法(例 gzip 、 rar および Zip )には既知の署名があるため、暗号化とほとんど区別できます。
まとめ
ですから、メインの質問「それはわかりやすいですか?」に戻ると、これはフォレンジック手法に該当し、ステガノグラフィ手法を扱っている可能性があります。ユーザーが私たちをだまそうとしない通常のケースでは、暗号化が整っていると言うのは簡単ですが、ユーザーが物事を隠そうとし、私たちを欺こうとする実際のシナリオでは、/ dev/urandomをファイルにパイプするだけです!それは簡単ではありません。
確実にを伝えることはできませんが、特定の範囲の信頼度内で伝えることはできます。
暗号化されたデータはホワイトノイズのように見えます。各ビットには正確にが設定されている確率が、残りのビットに関係なく50%です。特定のビットと他のビットの間に相関関係はありません。それは純粋にランダムです。
この高品質のランダム性は、ハードドライブの通常のライフサイクルでは特に一般的ではありません。一般的にはsomeパターンなどがあります。製造プロセスからの残留パターン、ファイルシステム設定からのパターン、または現在または以前に削除されたファイルからのパターン。したがって、ディスクに純粋なホワイトノイズが含まれている場合、最も可能性が高いのは、誰かがドライブで「安全な消去」を行ったか、暗号化された情報が含まれていることです。
例外として、多くの場合ノイズのように見える一般的な暗号化されていない形式のデータは、圧縮データです。圧縮率が高いほど、暗号化されたデータに類似します。それでも、圧縮されたデータには通常、わかりやすいマーカーが含まれているので、より注意深く調べると、通常は除外できます。
データがランダムに満たされている場合、それは暗号化されていることを意味します。わかりやすいですか?
いいえ。ハードディスクを破棄する、または譲る場合、shredのようなプログラムを実行して、ハードディスクから個人データを削除します。ランダムなデータを含むコンテンツ。したがって、ランダムデータの存在は何も証明しません。
次に、そのディスクを何らかのファイルシステムなどで再フォーマットすると、ディスクの最初の部分は正常に見え、残りはランダムに見えるようになります。それでも、ランダムな部分が暗号化されているのか、それともクリーンアップ操作が残っているのかは証明されません。
Silverfoxで説明されているように、ほとんどの暗号化製品で署名が横になっていることに少し驚いています。これは、ここで説明するように、ユーザーにブルートフォース復号化を許可するように思われます。