#每日三件事,第715天#
信息隐写就是不让计划之外的接收者知道信息传递的事件。信息加密则是将明文的信息通过一系列造作变换为密文的过程,计划接收者之外的人知道信息在传递,但是不知道传递的内容。
数字信息的隐藏方法有很多种,主要分为两类:
插入,通过插入方法隐藏消息会插入一些额外的内容,除了被隐藏的消息外,还有问卷制作工作的标识,这个标识记录了一些程序处理隐藏载荷的地点。这种方法通常会利用文件格式中的空白部分。
替换,通过替换方法隐藏消息会改变消息中的字节或者交换字节顺序。它不会再载体文件中增加任何新的内容,而是通过修改字节或者调整字节位置让人民看不到或者听不到文件内容。例如LSB(Least Singificant Bit,最低有效位)替换方法,就是使用隐写程序修改文件中每个字节的最低有效位(将1变成0,0变成1)。
在JPEG文件首部,有很多数据区域可以用来隐藏信息。在JPEG应用程序标识符0xFF 0xE0和帧的其实标识符0xFF 0xC0这两个标识符之间就可以插入和和修改数据。在这个批注区,你可以隐藏大量的数据。因为在APP0标识符的作用下,夹麻器无法识别的元数据都被忽略掉了,浏览图像时自然就看不到了。
最常用的隐写修改方法就是修改文件中一个或者多个字节的最低有效位,基本上就是把0改为1,或者把1改为0.这样修改后生成的图像就有了渲染的效果,把这些比特位充足还原后才可以看到原始的隐藏消息,而人们仅靠视觉或听觉是不可能发现这些改动的。
在可执行文件中也可以隐藏信息。只不过二进制中可以用来隐藏数据的空间很小,一个JPEG图像文件中没17个自己中可以隐藏一个字节数据,而二进制文件中没150个字节的代码才可以隐藏一个字节。在确保修改后的宿主二进制文件仍然可以完好运行的前提下去修改它是一个非常小心谨慎的过程。
在很多文件中,文件格式越是复杂,可以隐藏的信息就会越多。但方法不外乎就是茶语和修改两种方法。
隐写分析
隐写分析就是通过隐写技术软件对隐藏的数据进行检测和取证,可能的话,还会提取出被隐藏的载荷。如果被隐藏的载荷是加密过的,那么隐写分析就要对其进行破解。
隐写分析的使用方法,取决于隐藏数据时采用的技术。每个隐写程序都有自己的隐藏、加密和密码保护技术,因此要提取隐藏信息时很困难的。有文献记载有超过200多个隐写程序,每种隐写程序都尝试一遍的话,几乎是不可能的。
隐写分析的工作原理是:首先检测文件的某些信息,据此判断其中包含隐藏内容的,就标记为可疑文件。然后,将可疑文件进行深度分析找出隐藏信息。就像把大象装进冰箱里,说起来简单,做起来难。
不同的隐写程序使用不同的数据隐藏技术,而且,同一程序的不同版本的数据隐藏技术也会有所改变。这就增加了隐写分析过程的复杂度。
一句话,你得把你知道的隐写方法全部尝试一遍。否则,你根本查不到隐藏的信息。
如果你参加CTF比赛的话,你得准备足够多的分析工具,平时还得做足够多的练习。
网友评论