APP下载

文件雕复中文件结构分析和运用

2022-02-17李国强

电脑知识与技术 2022年35期
关键词:结构

李国强

摘要:文件雕复是从数字设备中恢复数据的最新技术,其不依赖文件系统中的任何信息[1-3]。文件雕复仅使用存储在磁盘上的数据块中可用的信息来恢复文件[4]。在图片隐写、CTF也有运用,国外还以此开发出文件雕复器,并取得了商业上的成功。广泛应用于执法机构和企业的各种取证调查中[5],FBI曾经成功将EnCase(Guidance Software)用于安然(Enron)和世通(WorldCom)的调查[6]。

关键词:雕复;结构;图片隐写

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2022)35-0081-03

文件雕复是基于文件结构恢复文件的最新技术,许多已知的文件都有都独特的头部和尾部结构,以标识文件的开始和结束[4]。通过对文件结构分析,可以发现更多文件信息,其应用也越来越广泛,近年在图片隐写、CTF、图像伪造检测中都有运用,商业上也有成功应用。FBI曾经成功将EnCase(Guidance Software)用于安然(Enron)和世通(WorldCom)的调查[6]。本文通过文件结构分析和运用来分析图片隐写。

1 隐写术原理

隐写术简单地解释为将一个信息源嵌入另一个信息源[4]。实质上也是将秘密(需要隐藏的信息)嵌入到一种载体的过程,载体和隐藏方式是隐写术嵌入和提取动作得以实现的关键元素。

对于载体,可以是图片文件、压缩文件、视频文件、音频文件等,只要是可以通过计算机读写和传输的都是可以作为载体的。

对于隐藏方式,可以利用的选项就很多,常见的隐写方法如下:

1)基于文件结构的隐写。直接嵌入式隐写,这种可以在不影响载体文件的使用的情况下实现文件隐藏。

2) 根据文件特性与冗余性分为:追加插入法和前置插入法,插入信息可分为:文本插入,文件插入;(追加插入法是最常用的,最簡单的一种方法,利用文件特性在文件末尾进行附加数据;分离文件,一个照片文件里可能有两张照片,组成结构为文件头数据块文件尾文件头数据块文件尾,因为有一个文件尾,所以后一部分的没有被识别出来,同样的前置插入法因为共用一个文件头,使用formost工具分离)。

对于CTF来说,常见的misc杂项——隐写是基于文件类型来分的,不同的文件,隐写方式不同,解题逻辑也就不一样,比如说,基于图片文件的隐写,首先需要识别图片的基本结构。这里通过一个例子来说明:

以一个png文件01.png为例,用WinHex查看分析其中结构。

标准的PNG文件结构包括PNG文件标识和PNG数据块。这里以01.png分析png图片文件结构:

- (固定)8字节89 50 4E 47 0D 0A 1A 0A为png文件头;

- (固定)4字节00 00 00 0D代表数据块的长度为13;

- (固定)4字节49 48 44 52是文件头数据块的标识(IDCH);

- (可变)13位数据块(IHDR);前四个字节代表该图片的宽:6D02;后四个字节代表该图片的高 5C01;最后五个字节依次为:Bit depth(位深)、ColorType(颜色类型)、Compression method(压缩方式)、Filter method(过滤方式)、Interlace method(分隔方式)。

剩余四字节为png的CRC检验码,由IDCH到IHDR的十七位字节进行CRC计算得到。PNG图片文件头数据块(IHDR)包括:宽、高、图像深度、颜色类型、压缩方法等。

2 png文件结构与基本隐写行为

2.1 修改高度隐写(基于图片基本属性隐写)

先用TweakPNG打开图片,一般修改过长宽的图片都会报错,用TweakPNG查看01.png原始信息,显示未修改图片的原始信息。然后找到PNG图片高度值所对应的位置,并修改为一个较大的值(27),尝试打开,(发现此时图片偏离了原来的位置)。

修改宽高之后的PNG图片可能打不开,需要修复PNG图片的CRC校验值,我们发现,CRC Calculator自动计算出了新的校验值。

方法1: 选中PNG的struct IHDR Ihdr部分,使用CRC Calculator重新计算CRC校验值。将图中CRC数据修改为重新计算过的CRC值(36 AB B5 8D)。

用TweakPNG再次打开图片不报错,修复成功。

2.2 IDAT块的隐写(基于图片基本内容)

IDAT定义:图像数据块IDAT(Image Data Chunk):它存储实际的数据,在数据流中可包含多个连续顺序的图像数据块。IDAT存放着图像真正的数据信息,因此,如果能够了解IDAT的结构,用户就可以很方便地生成PNG图像。一般IDAT常常用于校验文件的完整性,因为文件有修改的话,用pngcheck就可以检查出来。

在前面的块中,数据块都是满填充,而最后面倒数两个块出现非连续填充。IDAT是连续储存的图像数据块,正常情况下,数据块结束前不会多出没有填充满的数据块,如果出现了这种情况,说明图片被篡改,具体见案例。

实际上,想要在实战中利用IDAT隐写非常困难,IDAT块本身既确保了图片本身的信息数据,也确保了其完整性。

2.3 LSB隐写(基于替换隐藏)

图片中的像素一般是由三种颜色组成,即三原色(红绿蓝),由这三种原色可以组成其他各种颜色,在png图片的存储中,每个颜色占有8bit,即有256种颜色,一共包含256的三次方颜色,即16777216种颜色。

LSB隐写就是修改RGB颜色分量的最低二进制位也就是最低有效位(LSB),LBS算法导致的更改,对人的眼睛是不可见的,每个像素可以携带3bit的信息。

在肉眼中看不出来,也就把信息隐藏了起来,颜色可能变淡,肉眼看不出来区别。

分析LSB隐写,使用stegsolve工具。藏有二维码,使用QR Reserach。利用LSB最低有效位(Least Significant Bit)来进行隐写。例如在PNG图片的储存中,每个颜色会有8bit,LSB隐写就是修改了像素中的最低的1bit,人眼无法区别。例如想把A隐藏进来的话,可以把A转成16进制的0x61再转成二进制的01100001,再修改为红色通道的最低位为这些二进制串。

分离方法:Stegsolve分离:使用Stegsolve—Analyse—Frame Browser,可以浏览三个颜色通道中的每一位。

3 案例

3.1 normal_png(修改高度)

1)本题是一个基本的签到题[7]。

2)打开附件,打开后发现一张png图片。

3)使用WinHex分析,貌似没什么问题。

4)计算其校验值 用CRC Calculator 计算4948445

20000026C0000036B0806000000,校驗值为FBE7C429。发现这个校验值与原校验值36B4F5FD对不上,使用tweakpng工具验证,校验值出现问题,可以使用tweakpng工具去查看详细信息。

以上证据表明,图片的宽高被修改,根据隐写术的原理,更改宽高(IHDR),不会影响其他数据块,所以,经常会有人修改文件头数据块来控制图片显示的信息。

接下来,尝试把图片的宽度改大,但是修改宽度会导致图像显示混乱,一般而言,隐写做手脚的参数是高度。先尝试修改宽度026C为027B,看看修改后的结果是什么。

打开图片查看,出现乱码。

修改高度036B为03EE试一下,图片打开成功。

3.2 misc_pic_again(LSB)

1)再看一个题目,下载附件,打开也是一张png图片[7]。

2)用WinHex等工具进行分析

用tweakpng打开时发现这张png图片有一些问题,它不像正常png文件一样有辅助数据块,相反,它含有大量的IDAT数据块,推测png图片中隐藏其他的文件。

3)使用专门分析LSB隐写(RGB隐写)工具stegsolve打开图片

使用analyse的data extract功能。

Bit planes对应的是颜色通道,这里从0到7刚好8位,刚好每个色块储存8bit数据,通过屏蔽或选择某一色道可以帮助更好地分析隐含的内容,在这里,屏蔽了灰色通道,发现了PK,PK是zip的文件特征。

4)把找到的部分保存为1.zip文件。

5)打开文件1.zip,就发现文件1。

6)用WinHex查看文件1,看到了ELF特征。

ELF是可执行与可链接格式,由四部分组成,分别是ELF头(ELF header)、程序头表(Program header table)、节(Section)和节头表(Section header table),并且使用的编码格式是ascii,在这里,可以直接搜索hctf字符串即可。

4 结束语

以上通过CTF赛题案例,运用数据雕复技术文件结构研究来分析图片隐写术技术,识别隐藏有特殊信息的图片文件内容,该方法也可用作识别反向运用该技术改变原始文件数据的行为,比如数据隐写、特殊信息传递等,将越来越多地出现于各种CTF赛题中,此外还可以专注于某些特定文件类型的详细工作,研究如RAR文件[8]、PDF文件[9],以及用于办公类文档,分析恢复难度较大的文件,同时引导更多其他相关联应用。

参考文献:

[1] Lei Z.Forensic analysis of unallocated space[D].Master’s Thesis,University of Ontario Institute of Technology,2011.

[2] Beek C.Introduction to File Carving.McAfee White Paper[EB/OL].[2021-06-20].http://www.macafee.com/ca/resources/white-papers/foundstone/wp-intro-to-file-carving.pdf.

[3] File carving -forensics wiki[EB/OL].[2021-06-20].http://www.forensicswiki.org/wiki/File_Carving.

[4] 林晓东.电子数据取证[M].陈晶,郭勇健,译.北京:机械工业出版社,2021.

[5] Guidance Software.Investigations of individuals[EB/OL].[2021-06-20].http://www.guidancesoftware.com/computer-forensics-ediscovery-individual-investigation.htm.

[6] Lin X,Zhang C,Dule T.On Achieving Encrypted File Recovery[M]//Lai X,Gu D,Jin B,et al.Forensics in Telecommunications,Information,and Multimedia.e-Forensics 2010,Lecture Note of the Institute for Computer Sciences,Social Informatics and Telecommunications Engineering,vol 56.Springer,Berlin,Heidelberg,2010.

[7] CTF文件隐写总结之图片[EB/OL].[2021-06-20]. https://juejin.cn/.

[8] Wei Y J,Zheng N,Xu M.An automatic carving method for RAR file based on content and structure[C]// Kiev,Ukraine:2010 Second International Conference on Information Technology and Computer Science.IEEE,2010:68-72.

[9] Chen M,Zheng N,Xu M,et al.Validation algorithms based on content characters and internal structure:the PDF file carving method[C]//Shanghai,China:2008 International Symposium on Information Science and Engineering. IEEE,2008:168-172.

【通联编辑:谢媛媛】

猜你喜欢

结构
DNA结构的发现
《形而上学》△卷的结构和位置
论结构
新型平衡块结构的应用
循环结构谨防“死循环”
论《日出》的结构
纵向结构
纵向结构
我国社会结构的重建
创新治理结构促进中小企业持续成长