如何检测已使用隐写术?

信息安全 隐写术
2021-08-30 01:06:57

我见过一些用于检测文件是否为隐写文件的算法,但所有这些算法都检查特定模式并且不是通用的。也许有通用的检测系统,但我还没有看到它们。

情况:
当消息隐藏在图像中时,我想检查它可能是隐秘文件的所有可能方式 - 假设我没有原始文件。

问题:
我不知道从哪里开始。

任何帮助将不胜感激。谢谢

4个回答

没有通用的算法来检测隐写术。

您可以针对现有的每个已知的特定隐写系统实施一系列测试。但是攻击者可以使用它作为测试来开发一种新形式的隐写术,绕过所有现有的测试。

您需要做的是开始研究当今存在的所有各种已知形式的速记,并提供能够识别每一种的测试。最低有效位只是数十种已知技术中的一种。

或者,您可以查看其他人开发的工具。请参阅 outguess.org,了解一个已有 10 年历史的项目,它试图做这样的事情。stegdetect 的作者所做的一件新颖的事情是能够提供一组普通图像,然后包括那些已知包含隐写术的图像的样本。使用线性判别分析,他们能够根据差异创建检测函数。

隐写术依赖于模拟源材料的潜在信噪比。“最低有效”位(实际位将取决于编解码器)被次要“隐秘”位的加密流覆盖,这样图像的主要公共内容不会被显着的人工制品破坏或扭曲。

如果隐写工具没有对最低有效位的噪声模式进行直方图分析然后相应地调整秘密有效负载(最大有效负载大小相应减小) - 那么扫描仪可以简单地检查最低有效位随机的。也就是说,由于隐写工具包的大多数加密协议的伪随机性,而不是自然的 CCD 噪声。

通常即使无法获得准确的预先更改的原始图像,扫描仪也确实具有类似图像和直方图配置文件的数据库。因此,如果该类图像的直方图(例如晚上的烟花照片)是可疑的,则可以将图像标记为可能已更改。

当然,如果扫描仪有权更改图像,则扫描仪不必是被动的!如果它可以改变图像,它可以简单地破坏最低有效位范围以破坏任何隐写数据,而无需知道是否有任何隐写数据。

即使从一种有损格式保存到另一种格式也可能破坏最低有效位范围。这实际上是“秘密”数字水印与可见数字水印相比的问题。

隐写术的重点是避免被发现。隐写术的“通用测试”将是隐写术不可能的建设性证据。然而,目前还没有证据(建设性的或非建设性的)隐写术的不可能性。这意味着目前尚不知道隐写术的“通用测试”——甚至不知道这样的测试是否可行。

我们仍然可以说几句。例如,隐写术依赖于:

  • 数据的可变性。必须有一些空间来编码隐藏的消息。如果完整的消息格式固定到最后一位,则无法包含额外的消息。这种可变性不得改变数据的明显含义。

  • 一个秘密会议。数据的接收者必须知道有隐藏的消息,以及如何找到它。

在用于隐写术的工具中,一个重要的工具是加密:对称加密能够将任意数据转换为与随机噪声具有相同概率分布的位序列。消息接收者当然知道解密密钥:它是秘密约定的一部分。因此,一个好的隐写术工具将从加密层开始。结果是,如果介质采用“自然”允许出现一些随机噪声的格式(例如照片),那么隐写术将是可能的并且很难检测到,即使该方法是完全已知的(因为看起来什么都没有)更像是随机噪声而不是随机噪声)。

对抗隐写术的常用工具是压缩有损压缩(用于媒体文件,例如 MP3 或 JPG)的基本前提是可以从文件中删除不相关的细节,其中“不相关”意味着“不改变数据的感知含义”。随机噪声将通过压缩被跟踪和去除。因此,压缩往往与隐写术不一致。如果您编写一个过滤器,自动重新压缩(积极地)通过电子邮件发送的所有图片,那么您将无法检测到隐写术,但您会使其变得更加困难。从这个意义上说,隐写术与水印有一些共同的特点。

但是,某些类型的隐写术似乎无法检测和击败。例如,我可以对通讯员使用以下约定:下周,我将向他发送隐藏在猫照片中的二进制信息(“是/否”);如果猫向照片左侧看,二进制信息将为“是”,如果猫向右看,则为“否”。

这真的是一百万美元的问题。美国国家安全局和其他组织花费了大量资金试图找出可靠的方法来识别它们。我不确定当前的技术水平,但我认识一位数学家,他实际上早在 2000 年代初就致力于分析隐写术,试图找出一种可靠的方法来识别哪些图像包含信息。

由于显而易见的原因,我不知道他取得了什么进展,但隐写术系统的全部意义在于以尽可能少的明显变化来隐藏信息。如果系统设计不当,它可能会留下改变的证据,但做得好的解决方案不应该留下可以在不知道您在寻找什么的情况下识别的统计痕迹。