基于IOS缩略图文件的数据恢复研究和开发
2015-05-30盛蒙蒙钟鸣
盛蒙蒙 钟鸣
摘 要: iPhone Operating System(IOS)的缩略图文件(后缀为ithmb)保存了图像的重要信息,通过解读其数据结构能够恢复出已删除图片的缩略图,从而为IOS移动设备的调查取证提供关键的证据和线索。分析了ithmb文件的作用,结合BMP文件格式阐述了利用ithmb文件来恢复出缩略图的原理,开发出ithmb分析软件实现缩略图的恢复。
关键词: IOS取证; ithmb; 缩略图; 文件恢复
中图分类号:TP309 文献标志码:A 文章编号:1006-8228(2015)05-19-03
Abstract: iPhone Operating System (IOS) thumbnail file which has a suffix of "ithmb" saves the important information of image, through the interpretation of the data structure, the image deleted thumbnails can be restored, so as to provide key evidence and clues for the investigation of IOS mobile devices. This paper analyses the use of ithmb file, and combining with BMP file format, describes how to restore the image data by using the ithmb file, then describes the development of the ithmb analysis software to realize the recovery of thumbnails.
Key words: IOS forensics; ithmb; thumbnail; file recovery
0 引言
随着智能终端的发展以及数字通信网络的普及,移动设备已经成为当今社会人们不可或缺的工具。苹果公司的iPad、iPhone等IOS设备凭借其亲切的人机交互能力和丰富的应用,成为备受欢迎的主流移动设备。越来越多的实际案例显示,当犯罪嫌疑人使用这些移动设备进行犯罪,并且在这些移动设备中留下大量的信息,那么这些信息往往能对犯罪案件的侦破提供重要线索和证据。因此,对移动设备进行电子取证已经得到越来越广泛地关注[1-3]。
在设备的应用软件层中,许多应用程序为了缓存或者管理某些数据,通常会把这些数据的相关信息写到指定的特殊文件中,即使这些数据被用户删除了,相应的特殊文件中仍保留这些数据的信息[4]。在IOS中,ithmb文件便是这样一种特殊文件,虽然用户删除了图片数据,但ithmb文件保存了图片数据的缩略图信息。本文以iPhone为例,提出对ithmb文件进行提取并恢复出缩略图数据的方法,该方法可以为IOS设备取证提供技术支持。
1 IOS缩略图文件的作用
为了加速图片显示,IOS定义了缩略图文件(ithmb)。用户打开IOS设备查看照片时,可以快速地浏览照片的缩略图,这就是ithmb文件发挥的作用。
ithmb是IOS系统的专用扩展名,当IOS设备开机时,ithmb文件就会被创建。当用户拍摄或保存新的照片时,ithmb文件将随之更新。ithmb文件保存了照片软件中图片的缩略图数据, 可缓存的图像文件的格式包括jpeg,bmp,png,mp4等。然而不管原始图片数据采用何种格式,所有图像文件的缩略图都以bmp格式进行保存。虽然ithmb文件的设计从用户角度而言是为了提高查看图片的速度,但从数字取证的角度来说,ithmb文件的存在,为恢复删除图片的缩略图提供了可能。
2 IOS缩略图数据恢复方法
2.1 ithmb文件结构
ithmb文件保存了图片的缩略图数据及其信息,但无法直接打开,其文件结构如表1。
经过分析,ithmb文件采用的是16位bmp图片格式,但仅有数据区,无法查看图片,因此需要通过添加文件头的方式实现缩略图的恢复,而这必须要知道缩略图的尺寸。在IOS7前,ithmb直接以像素尺寸大小命名,如32*32ithmb代表缩略图对应的尺寸为32*32像素。从IOS7开始,苹果公司隐藏了像素尺寸信息,而用类似3303ithmb的文件名命名。因此必须首先分析出不同的ithmb文件名所代表的含义。
以3303ithmb文件为例,用ultra edit打开文件并以十六进制方式查看。经观察发现,若把文件按0X30位进行分块,那么每块都是以00 80 00 80结束的,可以猜测这是图片的边缘,因此图片的像素宽度为0X30/2=0X18,即24个像素点,如图1所示。
确定了宽度后,可以通过寻找图片与图片的间隙来判断图片的高度。在00 80 00 80出现了22次后,文件数据发生了改变。因此我们可以判定图片的高度为22像素,如图2所示。
经过后期分析,证实了3303ithmb文件采用的像素为24*22像素。通过此方法依次类推,可以推测出其他ithmb文件的尺寸。结果如表2。
2.2 BMP文件格式
BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。典型的BMP图像文件由四部分组成:位图文件头数据结构、信息头数据结构、调色板和位图数据[5]。如果位图是16位,则图像文件中不保留调色板,即不存在调色板,图像的颜色直接在位图数据中给出。ithmb中采用的是16位的bmp格式,且已经包含了位图数据,因此,需要给每张位图补充位图文件头数据和信息头数据,一共54位数据。16位bmp文件头结构如表3和图3所示。
2.3 数据恢复模块的设计与实现
下面通过一个具体的实例来介绍ithmb分析软件的设计与实现。实验场景信息如表4。
软件分为三个子模块:文件加载模块、信息加工模块和缩略图保存模块。
文件加载模块 首先要获取ithmb文件。出于安全考虑,ithmb文件被保存在操作系统文件中,一般情况下用户是看不到的,需通过提权来获取文件。通常采用越狱的方法来获取文件读取权限,所谓越狱就是指通过破解软件获得程序最高权限[2]。越狱后,通过ifunbox等应用软件,把ithmb文件复制出来。地址是Device/private/var/mobile/Media/PhotoData/Thumbnails。该文件夹下面有多个ithmb文件,它们代表不同的缩略图像素大小,作用是显示缩略图时可以适应不同的IOS设备屏幕尺寸大小。如图5所示。
获取文件后,要判断文件的合法性,比如文件名是否合法(我们将根据ithmb的文件名来判断其代表的缩略图像素大小)、文件数据是否完整等。
信息加工模块 通过加载文件的数据,对其进行加工,使之成为完整的图片数据。举例来说,3319ithmb存储的缩略图的尺寸为160*157,即图片大小为160*157*2=50240。因此图片1的缩略图原始数据存储在0X0000~0XC43F。其后0XC440~0XC45B这28位是图片1 的其他信息,若前16位数据为0,说明这张照片是已被删除的图片。注意,这28位数据不是缩略图原始数据,因此在读数据时,这28位需要跳过。
读取到图片1的缩略图原始数据块后,接下来需要在数据块前面添加54位BMP格式的文件头数据,经计算后得到:
000000000。如此54位数据补充完毕,再加上缩略图原始数据50240位,共50294位。这里要注意的是,高度要取负数,否则恢复出来的照片会上下颠倒。
缩略图保存模块 把信息加工模块处理后的结果写入文件并保存为bmp格式,一张缩略图图片即恢复完成。如此反复进行,可以恢复出所有图片的缩略图。在此例子中,此文件一共恢复出来244张照片,如图6所示。
通过以上实验可知,虽然在IOS移动设备上删除了照片,但是ithmb缩略图文件并不会删除这部分数据,而仅仅是在28位的信息数据中,把前16位清零。因此,可以通过读取ithmb文件来恢复出已删除图片的缩略图。
3 结束语
在实际案件中,调查人员获得手机后,往往因为难以获取删除的照片而陷入僵局。本文以iPhone手机为例,对ithmb文件进行提取分析,提出根据文件名恢复不同像素尺寸缩略图并标记已删除图片的方法,从而帮助调查人员取证。此方法同样适用于IOS的其他设备,如iPad等。随着IOS版本不断升级,系统文件的存储位置和文件结构都将有所变化,对个人数据的保护也将不断升级。如何获取能为调查工作提供线索的用户数据是今后研究的重要方向。
参考文献:
[1] 刘琼,叶猛.基于SQLite的iPhone数据恢复方法研究[J].信息网络安全,2013.11:90-93
[2] 汤伟,王志帅.一种基于iOS平台微信取证分析方法[J].软件产业与工程,2014.1:48-52
[3] 刘浩阳.iOS设备取证技术[J].信息网络安全,2014.9:167-170
[4] 杜江,贾昌海.基于Thumbs.db文件的数据恢复技术研究与开发[J].电子设计工程,2011.17:10-12
[5] 百度 http://baike.baidu.com/link?url=JssrXrrKBLk5JC8xNNFFEJEVwtlIIF2peS9_JdkvyseoYmu0MWlA35p9x3A6MGXlH5bWugBmDDGL4vZWsEXcjwdnGH0yfIbCSaLFRtZWf6W.