是否可以判断硬盘驱动器是否已加密,无论使用什么软件,即用于 AES-256 的 Truecrypt / VeraCrypt / Bitlocker?
就在前几天,我认为可以判断我是否使用“扇区视图”扫描驱动器以读取数据。如果数据充满随机性,那么这意味着它是加密的。有那么容易说吗?
是否可以判断硬盘驱动器是否已加密,无论使用什么软件,即用于 AES-256 的 Truecrypt / VeraCrypt / Bitlocker?
就在前几天,我认为可以判断我是否使用“扇区视图”扫描驱动器以读取数据。如果数据充满随机性,那么这意味着它是加密的。有那么容易说吗?
我们这里有两种类型的加密,“基于文件的加密”和“全盘加密”。有记录的取证方法和软件(例如 EnCase)可以帮助我们检测用于加密磁盘的方案和程序。
我将列出流行的工具和标准,看看它们是否留下任何痕迹,我们可以确定它们已被使用:
测量文件随机性以检测加密
前面讨论的方法可能不适用于每个磁盘/文件加密方案,因为并非所有这些方法都具有我们可以用来检测它们的特定属性。另一种方法是测量文件的随机性,它们越接近随机,我们就越确定使用了加密。
为此,我们可以使用名为file_entropy.py的 Python 脚本。熵值越接近 8.0,熵就越高。
我们可以进一步扩展它并绘制图表以可视化字节的分布。(计算文件熵)
检测加密的另一个指标是卷中不会发现任何已知的文件签名。(没有 jpg,没有 office 文档,没有已知的文件类型)而且由于压缩方法(例如gzip、rar和zip)具有已知的签名,我们可以在很大程度上将它们与加密区分开来。
总结
所以回到主要问题,“这很容易分辨吗? ”,这属于取证方法,我们可能正在处理隐写术技术。在用户不想欺骗我们的正常情况下,很容易判断加密已经到位,但在现实世界中,用户可能试图隐藏东西并欺骗我们,他们可能只是通过管道 /dev/urandom 到文件!这并不容易。
虽然你不能确定,但你可以在一定的信心范围内说出来。
加密数据看起来像白噪声:每个位都有50 % 的概率被设置,而不管其余位如何;任何给定位与其他任何位之间都没有相关性。这纯粹是随机的。
事实证明,这种高质量的随机性在硬盘的正常生命周期中并不常见。一般来说,有一些模式。来自制造过程的残留模式,或者来自文件系统设置的模式,或者来自当前或以前删除的文件的模式。因此,如果磁盘包含纯白噪声,那么最可能的解释是有人对驱动器进行了“安全擦除”,或者它包含加密信息。
作为一个例外,一种常见的未加密数据形式通常看起来很像噪音,是压缩数据。压缩比越高,它就越像加密数据。尽管如此,压缩数据通常具有明显的标记,因此更仔细的检查通常可以排除这种情况。
这并不像查看硬盘驱动器并看到随机字符那么容易。有随机字符粉碎实用程序可以用随机字符覆盖硬盘驱动器,使其成为粉碎驱动器,而不是加密驱动器。