介绍
隐写术将消息隐藏在其他消息或数据中的技巧。最常见的是,我们在图片中看到了这一点。这可能是最好的加密方法。
主要是因为它看起来不像我们习惯于通过加密看到的普通乱码。隐写术所做的更改是如此之细,以至于人眼无法察觉。即使是受过训练的密码学家,也可能在图片中包含编码后的消息,并且对此一无所知。这有很深的科学。通常,这是通过在二进制级别翻转奇偶校验位来完成的。虽然了解它的工作原理非常好,但有时可能是一件非常繁琐的工作。对我们来说幸运的是,有一种工具可以消除大部分繁琐的工作。
法律免责声明
在开始之前,我应该说,除了隐藏法律信息以外,我不会纵容本文中使用的知识。这样做的目的是说明如何保护机密。我还应该注意,在使用此工具之前,请先研究您所在国家/地区的加密法及其出口法律。无论您相信自己的国家有多自由,您可能都会惊讶地发现某些加密法令人窒息。
安装
SteGUI是用于程序的图形front-end,称为Steghide。 SteGUI可作为rpm软件包和tarball源下载。人们可能会认为,由于没有提供deb软件包,因此该源可以在Debian和Ubuntu上完美编译。但是,当尝试使用Debian Sid和Backtrack 5从源代码进行编译时,我发现自己处于通常称为”dependency hell”的位置。为了节省您的麻烦和时间,只需下载rpm软件包。从这里您可以发出
alien -d SteGUI.rpm
产生一个Debian软件包,它的安装要容易得多。从那里
dpkg -i SteGUI.deb
应该安装没有问题。
用法
一旦启动并运行GUI,就很容易理解。从“文件”选项卡中,选择”Open File”以选择要使用的jpg文件。尽管任何jpg都可以,但是很大的消息将需要非常大的图片来隐藏它们而不会改变图像。有了jpg之后,转到“操作”标签,然后选择”Embed”。从这里会弹出一个框,其中包含几个要求和选项。在此示例中,我在计算机上将名为passwd.txt的文本文件的路径输入了“要嵌入封面文件的文件”中。这就是我们希望在互联网上传递时隐藏的秘密文本。接下来是“用作封面的文件”行。这只是我们希望在其中隐藏passwd.txt的图片的路径。我们还必须选择“用作输出stegofile的文件”。只要包含.jpg文件扩展名,我们就可以使用任何名称。在这里,我只是选择了out.jpg。
我们将所有复选框保留为默认值。我想解释一下其中一些是什么。这里的加密框非常有趣。下拉菜单中提供了几种不错的加密密码。您可能听说过一些Rijndael密码,河豚,DES和Triple-DES。尽管这些都不是牢不可破的,但它们也不完全是孩子们的东西。
接下来是压缩复选框。您可能会认为这是counter-productive。毕竟,过多的压缩会影响图像质量,可能会丢失文件已被更改的信息。确实如此,如果找到一个17MB的.jpg,您会怎么想?希望您会知道有些问题。尽管那是极端的,但它说明了我的观点。压缩用于尝试将文件大小压缩回原始大小。
其他复选框应该是不言自明的。让我们向下看一下底部的pass-phrase。这是此邮件的收件人将用来打开它的方式。不用说,此处的常规规则应与普通密码一样适用。字典中什么都没有,请使用大写和小写以及一些特殊字符。您可以从图中的星号看到,此密码中有很多字符。我很难强调一个好的pass-phrase很重要。这就是解锁您的加密并使文本再次可读的原因。否则,您的加密将对brute-force攻击毫无意义。
现在是时候让我们的收件人打开该文件了。在SteGUI中打开此jpg后,他们只需转到“动作”选项卡,然后选择“extract”。将会出现另一个弹出框,以输入必要的文件。顶部的输入文件将只是我们发送给他们的jpg。输出文件将是一个新文件,我们可以命名任何东西。在这里,我刚刚将其命名为out.txt。现在,我们已将信息存储在文本文件中,可以轻松打开它进行显示。
# cat out.txt
password
白噪声
在学习计算机取证时,隐写术在我的课程中占了上风。在美国联邦调查局和国土安全局工作期间,我的教授在解密图像方面有很多经验。有一天,我问他:“你怎么确定自己在看的东西不是假阳性?”他的回答使我感到震惊:“直到有规律,你才做。”因此,我想到可以通过产生大量白噪声来获得安全性。白噪声有很多定义。特别是在安全性方面。如果有人怀疑他们的房屋被窃。您可能需要花费数小时来播放令人讨厌的音乐,以期使任何听的人感到困惑或无聊。在这种情况下,我们的编码文本前后会发送大量未更改的图片。这可能会给人一种幻觉,因为您发送的最后24张是干净的,因此您更改后的jpg是误报。
侦测
Stegdetect是一个命令行程序,用于检测jpg中的隐写术。它也是由带给您Steghide和SteGUI的同一个人制作的。 Stegdetech会寻找其他商业隐写程序(例如Outguess,Jsteg,Jphide,Camoflage,AppendX和Invisible Secrets)使用的算法。它还提供了一个名为Stegbreak的sub-program,它将使用brute-force查找我刚才提到的程序制作的隐写术。关于Stegdetect唯一不擅长做的事情就是找到Steghide制造的东西!没有搜索算法的选项。我试着搜索了我们使用参数集制作的jpg,以对其进行所有可能的测试,但没有发现任何结果。
# stegdetect -t jopifa out.jpg
out.jpg : negative
似乎没有现成的,可用于查找Steghide制作的隐写术的开源软件。至少不是没有数千美元的专有取证软件。目前,必须以老式方式完成Steghide或SteGUI发出的廉价解密消息。有很多一和零。
结论
这可能和隐写术一样容易。该程序之所以令人印象深刻,是因为它采用了以前只能以二进制形式完成的工作,并将其降低到指向和单击的级别。有些人可能会认为这使隐写术成为现实。但是在紧急情况下,您需要一种快速移动的工具!甚至最好的二进制编程器也可能无法像此GUI界面一样快地移动。拥有速度,隐身性和武器等级加密的武装,这个开源程序是一个强大的对手。请显示您对使此工具成为可能的Steghide和SteGUI团队的支持。