01隐写术(Steganography)是一门关于信息隐藏的技术和科学。所谓信息隐藏,是指不让除预定接收者之外的任何人知道信息的传递事件或信息的内容。隐写术的起源可以追溯到存在于动植物界的“模仿”,是一种很好的自我保护方式。与加密技术相比,隐写术的主要特点是:将隐藏的传输信息嵌入到看似无关的载体中。加密通信是通过算法的伪装,使信息不可破解。由于隐写术选择的信息载体具有混淆性,而信息本身仍然可以使用算法进行混淆,因此隐写术的检测比一般加密算法的破解复杂。在古代,隐写术也被称为隐写术。古人用明矾水在纸上写字,干后看不出痕迹,但只要浸入水中,字迹便能显露出来。这是简单化学原理的应用。除了明矾,古人还用淘米水来写字,然后用碘酒来显形。网络时代,计算机的普及让隐写术有了质的飞跃。现代隐写术的发展主要表现在几个分支:语言隐写术、数字媒体信息隐藏、文件系统隐写术、网络流量隐写术等。语言隐写术主要是通过改变载体文本语言的段落、词序或同义词来完成的.数字媒体隐写术是利用编码的修改,修改有效位,使信息暂时不可见,或将隐藏信息写入一些无关紧要的位,在不知不觉中替换掉原来的信息,并告知接收者替换的方法,从而提取出隐藏信息。文件系统隐写术是指利用当前文件系统的特殊技术,使隐藏信息的文件无法正常显示。网络流量隐写术是指将数据重新拆分编码成独立的数据流,混合成难以察觉的网络流量进行传输。02数字水印数字水印技术是指在数字信号中嵌入特定信息以反映版权所有者的技术。数字信号可以是音频、图片或视频等。数字水印可分为浮动和隐藏两种类型。前者是可见水印。一般来说,浮动水印通常包含版权所有者的名称或标志。电视台放在画面一角的logo也是一种浮动水印。隐藏水印是隐写术的一种信息隐藏方法,用于避免对数字媒体文件进行未经授权的复制和使用。由于数字水印在日常生活中的普遍使用及其代表版权的重要作用,还要求它具有以下特点。安全性:水印信息应该难以篡改和伪造。隐蔽性:水印是感官不可察觉的,水印的嵌入不能影响被保护数据的可用性,大大降低。不具有此特征的水印称为可见水印。鲁棒性:水印能够抵抗对嵌入数据的某些操作,不会被一些细微的操作所抹杀。包括数据传输、图像/视频/音频压缩过程中产生的个别误码。不具备这种特性的水印称为易碎水印。水印容量:载体可以嵌入水印的信息量。水印生成技术:伪随机生成、扩频水印生成、混沌水印生成、纠错编码水印生成、基于分解的水印生成、基于变换的水印生成、多分辨率水印生成和自适应水印生成等。水印嵌入技术:加法和乘法嵌入、量化嵌入、替换嵌入、自适应嵌入等。水印检测技术:分为三种不同的假设方法的实现,即即,待检测信号的统计特性假设,噪声的统计特性假设,嵌入式技术的假设。03文本隐写术文本隐写术是在文本中加入隐藏的信息内容。针对不同的载体内容,可以分为两类:格式化文本隐写和非格式化文本隐写。格式化文本的隐写,比如word、html等文件格式,文本内容可以通过添加各种语法来表达不同的显示方式,所以隐写的方式有很多种。如将字体颜色设置为与背景颜色相同以混淆,将字体大小缩小到肉眼难以察觉,隐藏不同语言的信息,隐藏评论中的信息等。同时,信息还可以通过拆分和重新编码,转化为更多和更小的信息块,甚至转化为二进制数,用0和1以各种方式表示,比如每行开头是否有空格,是否每行line间距是单次还是1.5倍,每个字间距的倍数,字体的大小颜色等等都可以作为隐藏信息的方式。无格式文本隐写,比如txt等纯文本文件,隐藏信息的方式有很多,比如每个单词之间的空格,标点符号的布局,单词的首字母和拼音等等,也可能是一个很大的一些可读的或一小段关键信息隐藏在不可读的文本中等。04图像隐写术图像隐写术是在图像中添加隐藏信息,可以在图像的头部、中间和末尾隐藏信息。隐藏在页眉中,可以是图片信息的概要、日??期、作者、标题等说明信息。隐藏在图片中,根据图片格式的特殊性,可以在不破坏原图片显示的情况下,在每个模块的末尾添加隐藏信息,或者在一些特殊功能不显示的模块中添加隐藏信息,实现隐藏效果。同时,也可以使用一些隐写算法进行写入,比如典型的空域隐写中的LSB隐写,将隐藏信息转化为二进制数据,以低位逐位写入信息,写入数据不会造成大的色差像差。扩展方式也有MLSB,降低了多位隐写被发现的可能性。此外,还有DCT域隐写术,利用多点比较的逻辑结果来隐藏二进制0或1。常用算法有Jsteg隐写术、F5隐写术、OutGuess隐写术和MB隐写术。如图1所示,是一张基于LSB隐写信息的图片,但是没有任何异常。图1.图片末尾隐藏了一个基于LSB隐写术的示例。由于图片格式的规定,使用了一些特殊的字符作为图片的结尾。此字符之后的部分不再视为图片内容。因此,在图片末尾写入任意数量的Hiddeninformation,对图片的显示没有影响。网上流传的将图片后缀改为zip即可解压的文件,都是在普通图片后面加一个zip文件制作的。1.StegSolve最经典的图像隐藏信息查看工具是Java环境下的一个小工具StegSolve。该工具不仅可以自动分析图像格式,获取隐藏在文件头、文件块、文件末尾的冗余信息,还可以一点一点查看图像,分析隐藏的内容。还支持双图比对,获取Outofthepicturepoorhiddeninformation。对于动态图片,StegSolve可以将它们分解成单帧并保存以供查看。它是隐写图像分析的强大工具。图2是使用StegSolve查看红色的第4个像素。图2使用StegSolve查看红色的第4个像素。同样使用StegSolve对上面的隐写图像进行分析,可以找到隐藏的信息,隐藏在RGBA中绿色通道的最低位,然后将所有的二进制串按列排列,每8个二进制串连接一个二进制数解释为ASCII字符,可以得到隐藏字符内容,如图3所示。图3隐藏信息2.BinwalkBinwalk本身是一个文件分析工具,可以用来提取文件,帮助完成逆向工程。通过自定义签名、提取规则和插件模块,具有很强的可扩展性。这里也可以使用Binwalk来分析图片中的隐藏文件。对于上图,可以执行如下命令。Binwalk(图片名)得到分析结果如下。>binwalkpuppy.png*建议:你最好输入参数用双引号封闭。十进制十六进制描述--------------------------------------------------------------------------------00x0PNG图像,256x256,8-bit/colorRGBA,non-interlaced410x29Zlibcompresseddata,defaultcompression496130xC1CDRARarchivedata,firstvolumetype:MAIN_HEAD从结果可以看出该文件是0到40位的PNG图片的头部信息,并标明了其规格和位数。从40到49,612位是Zlib压缩后的数据。其中PNG、Gzip、Zlib默认使用相同的压缩算法,所以这块也是PNG图片的数据部分。最后49613~文件末尾有一个block,但是标有RAR格式的数据,不是PNG普通文件的一部分,所以隐藏了数据信息,下面的命令也可以用于分隔每个数据块。binwalk–e(图片名)得到一个_(图片名).解压后的文件夹,里面是从原图分离出来的各部分内容,可以看到前面分析得到的隐藏数据压缩包,以及txt文件解压得到隐藏内容在.05音频隐写与图片一样。带有大量冗余信息和噪声的音频也可以用来隐藏信息。与描述每个点的像素的图片不同,音频描述的是每个时间点的声音信息。而且声音中还有“不重要的信息位”,通过修改可以达到信息隐藏的目的。此外,音频还有一些有趣的隐写方法,比如将另一段需要隐藏的音频降低音量和频率插入到原音频中,或者添加多个声道。还可以进行倒退、快进、减速等,使其不显眼,从而达到隐藏的目的。在另一种方法中,也可以在其波形图中添加信息,如图4所示,采用摩尔斯密码形式。图4莫尔斯密码形式同样,音频频谱图中也可以隐藏信息,如图5所示,通过频谱图分析得到的效果。图5频谱图分析1.AudacityAudacity是一款免费的音频处理软件,界面简洁,但具有专业的音频处理能力。支持WAV、MP3、OggVorbis等声音文件格式,支持MP4、MOV、WMA、M4A、AC3等视频格式。),包络编辑噪声消除,支持多轨混音,多通道模式,采样率最高可达96kHz,每个采样点可用24bits表示。在隐写分析方面,其操作简单,显示效果直观,便于分析测试。2、FFmpegFFmpeg是一套开源的计算机程序,可以用来记录、转换数字音频和视频,并将它们转换成流。它为录制、转换和流式传输音频和视频提供了完整的解决方案。它包含一个非常先进的音视频编解码库libavcodec,支持Windows和Linux平台,可用于视频等文件的隐写和分析。06文件修复数据以一定的格式存储在硬件设备中。由于硬盘老化、外力、程序错误、病毒破坏等原因造成数据损坏。因此,需要采用文件修复的方法,将损失降到最低。1、TestDiskTestDisk是一款开源的磁盘修复工具,可以修复由于软件缺陷或某些病毒导致的分区或分区表丢失导致磁盘无法启动的问题。TestDisk通过BIOS(DOS/Win9x)或操作系统(Linux、FreeBSD)查询硬盘特性(LBA大小和CHS参数)。然后它会快速检查磁盘数据结构并恢复分区表,也可以用来恢复误删除的文件。图6显示了使用TestDiskgui版本恢复已删除文件。图6TestDisk文件修复2.PcapfixPcapfix是一款修复损坏的pcap文件的工具。它检查完整的pcap全局标头,如果有任何损坏的字节,它会修复它,如果缺少一个字节,它会创建一个新字节并将其附加到文件的开头,然后尝试找到pcap标头并检查并修复它。使用方法如下。pcapfixx.x.0(c)2012-2021RobertKrauseUsage:pcapfix[选项]文件名选项:-d,--deep-scanDeepscan(pcaponly)-n,--pcapngforcepcapngformat-o<文件>,--outfile<文件>setoutputfilename-t
