盛蒙蒙 鐘鳴
摘 要: iPhone Operating System(IOS)的縮略圖文件(后綴為ithmb)保存了圖像的重要信息,通過解讀其數(shù)據(jù)結(jié)構(gòu)能夠恢復出已刪除圖片的縮略圖,從而為IOS移動設備的調(diào)查取證提供關鍵的證據(jù)和線索。分析了ithmb文件的作用,結(jié)合BMP文件格式闡述了利用ithmb文件來恢復出縮略圖的原理,開發(fā)出ithmb分析軟件實現(xiàn)縮略圖的恢復。
關鍵詞: 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 引言
隨著智能終端的發(fā)展以及數(shù)字通信網(wǎng)絡的普及,移動設備已經(jīng)成為當今社會人們不可或缺的工具。蘋果公司的iPad、iPhone等IOS設備憑借其親切的人機交互能力和豐富的應用,成為備受歡迎的主流移動設備。越來越多的實際案例顯示,當犯罪嫌疑人使用這些移動設備進行犯罪,并且在這些移動設備中留下大量的信息,那么這些信息往往能對犯罪案件的偵破提供重要線索和證據(jù)。因此,對移動設備進行電子取證已經(jīng)得到越來越廣泛地關注[1-3]。
在設備的應用軟件層中,許多應用程序為了緩存或者管理某些數(shù)據(jù),通常會把這些數(shù)據(jù)的相關信息寫到指定的特殊文件中,即使這些數(shù)據(jù)被用戶刪除了,相應的特殊文件中仍保留這些數(shù)據(jù)的信息[4]。在IOS中,ithmb文件便是這樣一種特殊文件,雖然用戶刪除了圖片數(shù)據(jù),但ithmb文件保存了圖片數(shù)據(jù)的縮略圖信息。本文以iPhone為例,提出對ithmb文件進行提取并恢復出縮略圖數(shù)據(jù)的方法,該方法可以為IOS設備取證提供技術(shù)支持。
1 IOS縮略圖文件的作用
為了加速圖片顯示,IOS定義了縮略圖文件(ithmb)。用戶打開IOS設備查看照片時,可以快速地瀏覽照片的縮略圖,這就是ithmb文件發(fā)揮的作用。
ithmb是IOS系統(tǒng)的專用擴展名,當IOS設備開機時,ithmb文件就會被創(chuàng)建。當用戶拍攝或保存新的照片時,ithmb文件將隨之更新。ithmb文件保存了照片軟件中圖片的縮略圖數(shù)據(jù), 可緩存的圖像文件的格式包括jpeg,bmp,png,mp4等。然而不管原始圖片數(shù)據(jù)采用何種格式,所有圖像文件的縮略圖都以bmp格式進行保存。雖然ithmb文件的設計從用戶角度而言是為了提高查看圖片的速度,但從數(shù)字取證的角度來說,ithmb文件的存在,為恢復刪除圖片的縮略圖提供了可能。
2 IOS縮略圖數(shù)據(jù)恢復方法
2.1 ithmb文件結(jié)構(gòu)
ithmb文件保存了圖片的縮略圖數(shù)據(jù)及其信息,但無法直接打開,其文件結(jié)構(gòu)如表1。
經(jīng)過分析,ithmb文件采用的是16位bmp圖片格式,但僅有數(shù)據(jù)區(qū),無法查看圖片,因此需要通過添加文件頭的方式實現(xiàn)縮略圖的恢復,而這必須要知道縮略圖的尺寸。在IOS7前,ithmb直接以像素尺寸大小命名,如32*32ithmb代表縮略圖對應的尺寸為32*32像素。從IOS7開始,蘋果公司隱藏了像素尺寸信息,而用類似3303ithmb的文件名命名。因此必須首先分析出不同的ithmb文件名所代表的含義。
以3303ithmb文件為例,用ultra edit打開文件并以十六進制方式查看。經(jīng)觀察發(fā)現(xiàn),若把文件按0X30位進行分塊,那么每塊都是以00 80 00 80結(jié)束的,可以猜測這是圖片的邊緣,因此圖片的像素寬度為0X30/2=0X18,即24個像素點,如圖1所示。
確定了寬度后,可以通過尋找圖片與圖片的間隙來判斷圖片的高度。在00 80 00 80出現(xiàn)了22次后,文件數(shù)據(jù)發(fā)生了改變。因此我們可以判定圖片的高度為22像素,如圖2所示。
經(jīng)過后期分析,證實了3303ithmb文件采用的像素為24*22像素。通過此方法依次類推,可以推測出其他ithmb文件的尺寸。結(jié)果如表2。
2.2 BMP文件格式
BMP(全稱Bitmap)是Windows操作系統(tǒng)中的標準圖像文件格式,使用非常廣。它采用位映射存儲格式,除了圖像深度可選以外,不采用其他任何壓縮,因此,BMP文件所占用的空間很大。BMP文件存儲數(shù)據(jù)時,圖像的掃描方式是按從左到右、從下到上的順序。典型的BMP圖像文件由四部分組成:位圖文件頭數(shù)據(jù)結(jié)構(gòu)、信息頭數(shù)據(jù)結(jié)構(gòu)、調(diào)色板和位圖數(shù)據(jù)[5]。如果位圖是16位,則圖像文件中不保留調(diào)色板,即不存在調(diào)色板,圖像的顏色直接在位圖數(shù)據(jù)中給出。ithmb中采用的是16位的bmp格式,且已經(jīng)包含了位圖數(shù)據(jù),因此,需要給每張位圖補充位圖文件頭數(shù)據(jù)和信息頭數(shù)據(jù),一共54位數(shù)據(jù)。16位bmp文件頭結(jié)構(gòu)如表3和圖3所示。
2.3 數(shù)據(jù)恢復模塊的設計與實現(xiàn)
下面通過一個具體的實例來介紹ithmb分析軟件的設計與實現(xiàn)。實驗場景信息如表4。
軟件分為三個子模塊:文件加載模塊、信息加工模塊和縮略圖保存模塊。
文件加載模塊 首先要獲取ithmb文件。出于安全考慮,ithmb文件被保存在操作系統(tǒng)文件中,一般情況下用戶是看不到的,需通過提權(quán)來獲取文件。通常采用越獄的方法來獲取文件讀取權(quán)限,所謂越獄就是指通過破解軟件獲得程序最高權(quán)限[2]。越獄后,通過ifunbox等應用軟件,把ithmb文件復制出來。地址是Device/private/var/mobile/Media/PhotoData/Thumbnails。該文件夾下面有多個ithmb文件,它們代表不同的縮略圖像素大小,作用是顯示縮略圖時可以適應不同的IOS設備屏幕尺寸大小。如圖5所示。
獲取文件后,要判斷文件的合法性,比如文件名是否合法(我們將根據(jù)ithmb的文件名來判斷其代表的縮略圖像素大?。?、文件數(shù)據(jù)是否完整等。
信息加工模塊 通過加載文件的數(shù)據(jù),對其進行加工,使之成為完整的圖片數(shù)據(jù)。舉例來說,3319ithmb存儲的縮略圖的尺寸為160*157,即圖片大小為160*157*2=50240。因此圖片1的縮略圖原始數(shù)據(jù)存儲在0X0000~0XC43F。其后0XC440~0XC45B這28位是圖片1 的其他信息,若前16位數(shù)據(jù)為0,說明這張照片是已被刪除的圖片。注意,這28位數(shù)據(jù)不是縮略圖原始數(shù)據(jù),因此在讀數(shù)據(jù)時,這28位需要跳過。
讀取到圖片1的縮略圖原始數(shù)據(jù)塊后,接下來需要在數(shù)據(jù)塊前面添加54位BMP格式的文件頭數(shù)據(jù),經(jīng)計算后得到:
000000000。如此54位數(shù)據(jù)補充完畢,再加上縮略圖原始數(shù)據(jù)50240位,共50294位。這里要注意的是,高度要取負數(shù),否則恢復出來的照片會上下顛倒。
縮略圖保存模塊 把信息加工模塊處理后的結(jié)果寫入文件并保存為bmp格式,一張縮略圖圖片即恢復完成。如此反復進行,可以恢復出所有圖片的縮略圖。在此例子中,此文件一共恢復出來244張照片,如圖6所示。
通過以上實驗可知,雖然在IOS移動設備上刪除了照片,但是ithmb縮略圖文件并不會刪除這部分數(shù)據(jù),而僅僅是在28位的信息數(shù)據(jù)中,把前16位清零。因此,可以通過讀取ithmb文件來恢復出已刪除圖片的縮略圖。
3 結(jié)束語
在實際案件中,調(diào)查人員獲得手機后,往往因為難以獲取刪除的照片而陷入僵局。本文以iPhone手機為例,對ithmb文件進行提取分析,提出根據(jù)文件名恢復不同像素尺寸縮略圖并標記已刪除圖片的方法,從而幫助調(diào)查人員取證。此方法同樣適用于IOS的其他設備,如iPad等。隨著IOS版本不斷升級,系統(tǒng)文件的存儲位置和文件結(jié)構(gòu)都將有所變化,對個人數(shù)據(jù)的保護也將不斷升級。如何獲取能為調(diào)查工作提供線索的用戶數(shù)據(jù)是今后研究的重要方向。
參考文獻:
[1] 劉瓊,葉猛.基于SQLite的iPhone數(shù)據(jù)恢復方法研究[J].信息網(wǎng)絡安全,2013.11:90-93
[2] 湯偉,王志帥.一種基于iOS平臺微信取證分析方法[J].軟件產(chǎn)業(yè)與工程,2014.1:48-52
[3] 劉浩陽.iOS設備取證技術(shù)[J].信息網(wǎng)絡安全,2014.9:167-170
[4] 杜江,賈昌海.基于Thumbs.db文件的數(shù)據(jù)恢復技術(shù)研究與開發(fā)[J].電子設計工程,2011.17:10-12
[5] 百度 http://baike.baidu.com/link?url=JssrXrrKBLk5JC8xNNFFEJEVwtlIIF2peS9_JdkvyseoYmu0MWlA35p9x3A6MGXlH5bWugBmDDGL4vZWsEXcjwdnGH0yfIbCSaLFRtZWf6W.