数据隐藏技术解密算法
破解多媒体、操做系统、移动设备和网络协议中的隐秘数据shell
决心天天花点时间,一个星期看完整本书。起初,有本身亲身验证课本中所涉及全部实例,因为时间缘由,加之我认为课本中涉及到的工具都是会过期的,只有思想以及方法技术是能够较长时间指导人们工做的,就来思想和技术都有可能会被替代,但在某种意义上说其能够在较长一段时间内产生异响。人的精力和时间都是有限的,所以对本书我选择通读全文,中间基本不加实践,主要是体会其思想和技术要点。windows
看书过程当中给了我这样一个感受,基本上全书都在讨论工具的使用,这有时候让我感受有点枯燥乏味,但回头看看,技术不就是这样么,孰能生巧。同时也倍感压力,这样的性质就注定了咱们没法偷懒,若哪天你跟不上了,那么你将会被新的技术淘汰掉,不过我认为其思想和经验仍是能够在很长一段时间内指导工做的。浏览器
接下来主要对本书进行一个总结,也就算是我看完了吧。本书难度不是很大,原理也较为浅显易懂,主要是工具使用的实践。通读全书,从浅层面上了解了"数据隐藏"是什么,以及通常的手段。也算是科普了相关的知识。 缓存
全书总共12章。由密写术的发展史引入,其中给出了隐写术的概念,而且对隐写术和密码学作了简要的评析、比较、区分。第2章给出4则简单练习,不涉及原理分析,应该主要是给读者一个视觉上的认识。第3章对隐写术作了较为全面的介绍。4到9章分别介绍了多种数据隐藏方法与媒介,内容主要包括:多媒体中的数据隐藏、Android移动设备中的数据隐藏、苹果IOS系统中数据隐藏、PC操做系统中的数据隐藏、虚拟机中的数据隐藏、网络协议中的数据隐藏。第10章介绍了取证与反取证的基础知识。第11章讨论了取证调查的步骤以及缓解策略。第12是展望将来,主要讨论了隐写术在将来的一个发展轨迹。安全
p1大卫l卡恩的《破解者》(The Codebreaker)一书能够说是迄今为止对秘密通讯记载最全面的历史书籍。服务器
密码学:网络
替换密码:凯撒密码、加密无线电消息和摩斯电码、维吉尼亚密码。ide
移位密码:斯巴达密码棒工具
区别:替换,保留明文排序而替换了原有明文信息;移位密码,仅仅是打乱了次序。
隐写术语密码学的区分:
希腊单词: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工具来清理系统,使其不会残留数据隐藏软件的任何痕迹。
取证:
检查能够系统中是否包含数据隐藏软件的方法不少,主要包括:
通常都使用现成的工具进行。