标签:
数据隐藏技术解密
破解多媒体、操作系统、移动设备和网络协议中的隐秘数据
决心每天花点时间,一个星期看完整本书。起初,有自己亲身验证课本中所涉及所有实例,由于时间原因,加之我认为课本中涉及到的工具都是会过时的,只有思想以及方法技术是可以较长时间指导人们工作的,就来思想和技术都有可能会被替代,但在某种意义上说其可以在较长一段时间内产生异响。人的精力和时间都是有限的,因此对本书我选择通读全文,中间基本不加实践,主要是体会其思想和技术要点。
看书过程中给了我这样一个感觉,基本上全书都在讨论工具的使用,这有时候让我感觉有点枯燥乏味,但回头看看,技术不就是这样么,孰能生巧。同时也倍感压力,这样的性质就注定了我们无法偷懒,若哪天你跟不上了,那么你将会被新的技术淘汰掉,不过我认为其思想和经验还是可以在很长一段时间内指导工作的。
接下来主要对本书进行一个总结,也就算是我看完了吧。本书难度不是很大,原理也较为浅显易懂,主要是工具使用的实践。通读全书,从浅层面上了解了"数据隐藏"是什么,以及一般的手段。也算是科普了相关的知识。
全书总共12章。由密写术的发展史引入,其中给出了隐写术的概念,并且对隐写术和密码学做了简要的评析、比较、区分。第2章给出4则简单练习,不涉及原理分析,应该主要是给读者一个视觉上的认识。第3章对隐写术做了较为全面的介绍。4到9章分别介绍了多种数据隐藏方法与媒介,内容主要包括:多媒体中的数据隐藏、Android移动设备中的数据隐藏、苹果IOS系统中数据隐藏、PC操作系统中的数据隐藏、虚拟机中的数据隐藏、网络协议中的数据隐藏。第10章介绍了取证与反取证的基础知识。第11章讨论了取证调查的步骤以及缓解策略。第12是展望未来,主要讨论了隐写术在未来的一个发展轨迹。
p1大卫l卡恩的《破解者》(The Codebreaker)一书可以说是迄今为止对秘密通信记载最全面的历史书籍。
密码学:
替换密码:凯撒密码、加密无线电消息和摩斯电码、维吉尼亚密码。
移位密码:斯巴达密码棒
区别:替换,保留明文排序而替换了原有明文信息;移位密码,仅仅是打乱了次序。
隐写术语密码学的区分:
希腊单词:crypt 和 stegnos
英文单词:covered和 hidden
隐写术中信息是不可见的,所以叫隐蔽(covered)或隐藏书写(invisible writing)。
问自己一个问题:消息是杂乱的还是不可见的?杂乱——密码学,不可见——隐写术。
隐写术:
卡尔达诺栅格码、隐形墨水、缩影术、打印机跟踪点、水印。
很多文档、图像、多媒体文档等在生成时会加入一些个人信息,若不加处理就在网上进行传播,很可能会泄露个人隐私,因此应该提高安全警惕。
真正的隐写术:使用复杂算法将信息隐藏到数据载体中。
在数字隐写术中,人们通常会使用某种程序将消息或文件嵌入到一个载体文件中,然后把这个载体文件直接传给接收者或者发布到网站上供接收者下载。接收者获取载体文件后,再用同样的程序把隐藏的消息或文件恢复。有些隐藏程序会使用密码来保护隐藏消息,还有些程序隐藏程序用密码保护隐藏消息,有些还加入了密码隐藏保护。
数字信息的隐藏方法有很多,主要分为两大类:
插入方法:
修改方法:
最常用的隐写修改方法是修改文中一个或者多个字节的最低有效位,基本上就是把0改成1,或者把1改成0。这样修改后生成的图像就有渲染效果,把这些比特位重组还原后才可以看到原始的隐藏消息,而人们仅靠视觉或听觉是不可能发现这些改动的。
例如,LSB(最低有效位)修改法:利用24位调色板。调色板中有红、绿、蓝三原色组成,一个原色由8位二进制位表示,即265个色调,三原色混合可以指定24位图像中的每个像素点,如题3.5。而这个是我们修改每个字节分组的最低位,图片在显示时的区别,肉眼是无法辨别的,进而可以达到隐藏数据的目的。如图3.6和3.7,修改后的每八个字节组的最后一位可以构成一个字节,表示一个ASCII码,这是隐藏的数据。类似的原理还可应用在协议通信隐藏数据、文档信息隐藏等地方。
隐写分析:
数字隐写分析就是通过隐写技术或软件对隐藏的数据进行检测和取证的过程,可能的话,还会提取出被隐藏的载荷。如果被隐藏的载荷是加过密的,那么隐写分析就要对其进行破解。
值得注意的是,使用工具进行隐藏的载体文件都会留下一些与软件有关的特征,我们可以将这些特征提取出来并构成特征库,进而可以成文检测隐写信息的一个突破口。
这里主要会采用以下两个手段:
免费软件:StegSpy,Stegdetect。
简单音频文件嵌入技术(不可感知的方法)——LSB:
Harry Nyquist 博士早日的研究成果是最常用的音频数字化方法的理论依据。20世纪20年代Harry Nyquist 博士在贝尔实验室(Bell Lab)工作,他认为音频文件数字化根本没有必要抓取整个模拟波形,只需要对模拟信号进行取样并保存一些样本,然后用这些样本来重建原始的音频信号。
工具:MSU Stego、TCStego
3款软件为代表:
暗鼠行动应用了很多技术,但主要是用包含恶意代码的钓鱼邮件攻击Windows系统。
Windows中的数据隐藏:
>notepad mike.txt
>dir
>notepad mike.txt:mikehidden.txt
>dir
>notepad mike.txt:mikehidden2.txt // 同一文件可创建的交换数据流不止一个
>dir
> echo mike > mike.txt
> echo mike > COM1.txt
> mkdir COM1
>dir
> echo mike > \\?\c:\sandbox\NUL //将"\\?\"选项和保留设备名组合在一起创建一个名为NUL的文件。
>dir
>more NUL // 这里将会提示 Cannot access file \\.\NUL
但熟悉该技术的人还是可以通过在命令中加入"\\?\"来读取到文件内容
>more \\?\c:\sandbox\NUL
使用cmd.exe绑定到CON文件中,以创建隐蔽交换数据流:
>type cmd.exe > \\?\c:\sandbox\CON:hiddencmd.exe
>wmic process call create
Linux中的数据隐藏
VoIP中的数据隐藏:IP语音(voice over internet protocol,VoIP)。应用广、产生大量的小数据包、丰富的数据包类型、编码器和编码方法,为数据隐藏提供了良好的条件。隐藏的步骤:(1)将秘密消息分割成的小数据块嵌入到RTP有效载荷的报文头中。因为多数RTP有效负荷类型都有内置的报文头,其中包含了有效载荷的配置信息。因此,可以在其中嵌入少量字节。(2)将秘密消息转换成比特流,然后用每位依次替换RTP有效负荷数据编码中的最低有效位。
下面三幅图讲明原理。其中RTP延迟包修改法是故意让包不可达。
IP层数据隐藏,TTL字段:网络路由十分智能,大多数报文从源地址到达目的地址通常只需经过几跳。虽然尚无针对典型IP报文路由跳数的确切统计数据,但据作者所知,美国本土的网络流量中平均报文跳数为8~15,比TTL允许的最大值255小得多,因此除非目标不可达,否则在报文到达目的地前几乎不可能耗尽生存时间(TTL)。所以我们可以用TTL值的前两位来隐藏数据,而不会影响报文传输。
反取证——隐藏痕迹:(1)通过对比隐藏数据的图片和原载体文件是可以发现不同的,因此强烈建议嵌入操作完成后将原始载体文件删除。还要在进行数据隐藏操作的计算机上清除数据隐藏程序的痕迹。别忘了清理垃圾箱和松散空间。最好选择定制的数码照片而不是普通照片作为载体,因为普通照片可能会从网上搜索到原始载体进行对比。(2)数据隐藏密码:1)不要使用操作系统的密码,在网页浏览器中存储的密码或网络设备使用的密码。2)密码应包含大小写字母、数字和特殊字符的组合。3)如果要把密码保存在某个地方,最好使用Bruce Scheier 的 PasswordSafe(http://passwordsafe.sourceforge.net/)。(3)隐藏痕迹,在windows中可以使用cleanmgr工具来清理系统,使其不会残留数据隐藏软件的任何痕迹。
取证:
检查可以系统中是否包含数据隐藏软件的方法很多,主要包括:
一般都使用现成的工具进行。
标签:
原文地址:http://www.cnblogs.com/fanling999/p/4544997.html