官方公众号企业安全新浪微博
FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。
FreeBuf+小程序
1.1 信息隐藏技术分类
水印技术:侧重于鲁棒性,受到攻击后还能提取
隐写技术:侧重于隐蔽性,不被发现
隐写分析:判断一幅图像是否隐藏信息
取证技术:判断图像是否被篡改
1.2 隐写技术应用
隐秘通讯
通过隐写图片进行隐秘信息传递。比如下图,几只可爱的小猫图片据说隐藏有秘密的交易信息。
PNG隐藏恶意代码
如图3,程序会检查png图像的"tEXt"字段是否存有数据。如图4,可以将恶意代码隐藏在png图像的"tEXt"字段中,当程序检测到图片“tEXt"存在数据时,就会执行隐藏的恶意代码。恶意代码会获取设备的SMS,并发送出去。
图3
图4
1.3 隐写防范
隐写被动防范,如图5,WetStone研制的Stego Suite隐写检查软件,可以检查数据是否隐藏数据。
隐写主动防范,如图6,使用编码再处理,利用隐写防范处理模块造成隐写信息丢失。
图5
图6
1.4 隐写发展方向
深度学习的自适应隐写
无损信息隐藏技术
无损信息隐藏技术又称可逆或可删除信息隐藏技术,主要指在原始图像没有明显降质的情况下嵌入隐藏信息,若隐秘图像在传输过程中没有发生变化,那么合法用户在提取出隐藏信息后,原始图像能够完全无失真复原。
例如,我们可以将水印嵌入到短视频中,当他人爬取了含水印视频后。在使用特定的播放器播放时,可将原始视频复原。兼顾了版权保护与视觉效果。
无载体隐写
无载体水印并非指无需载体,而是指不通过修改载体本身的方式来进行秘密信息的隐藏,它采取的式一种由秘密信息进行“驱动”,从而获取到一系列含密载体的技术思路。
无载体信息隐藏分为半构造式和完全构造式两种分类,前者选择特定的载体种类,如图片,并由秘密信息驱动来生成载体,后者则将秘密信息进行某种映射。无载体信息隐藏可以从根本上抵抗隐写分析技术。
此种方式的优势在于,无法被一般的隐写技术检测,但缺点是容量较小。
2.1 完全构造式无载体信息隐藏
以秘密数据为驱动,依托数据库,按照某种方式将素材直接映射为含密载体。如下图7所示,根据信息直接从数据库中选择部分图像。
2.2 半构造式无载体信息隐藏
由秘密信息按照一定规则,直接生成含密载体。
基于纹理合成的信息隐藏(图8),由上方的源纹理,生成下方的纹理,在纹理生成的过程中,嵌入一些信息。
Marbling(水影画)信息隐藏(图9),通过几何形变来将秘密信息覆盖住的信息隐藏技术。
图8
图9
一个简单的例子:
入下图,使用三角形不同的方向,来代表不同的信息。其抗压缩能力强。这种构造方法的问题在于,容易被发现隐藏信息,且纹理的美观性需要设计。
3.1 图像缝合技术
图像缝合技术能够根据一副小纹理图,生成一副大纹理图。其中一种著名的算法Image Quilting,此算法诞生于2001年。此算法按块缝合,先选择与已有块差异较小的块,进行重叠平铺。 使用最小代价法(Dijkstra算法),寻找最接缝的位置,可以比较好的融合了接缝两边的图像块。
3.2 自动生成纹理的水印
嵌入:
将纹理分为不同的区域,代表不同的信息。
根据嵌入信息,选择与周围差异最小的块,拼接成一个大的图像。
对图像进行缝合,使整个图像看起来更和谐。
优劣:
鲁棒性强,能够抵抗较强的压缩攻击。
不需要自己设计花纹,可以得到更优美的背景图案。
牺牲了一定的视觉效果,只能用于特定的场景。
总结
信息隐藏技术本身就是一个脑洞大开的技术,既有在传统的空域、频域添加水印的,也有通过深度学习多维度提取修改特征之后添加水印的。水位较深,难度还可以接受,只不过接触这块知识的人相对较少。所以嘛,进入正题。我们团队在急招多媒体安全、隐藏水印相关领域的同学。如果您有相关知识,欢迎与我联系。