• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Android系統(tǒng)刪除數(shù)據(jù)恢復(fù)方法研究

      2014-06-07 05:53:21方冬蓉張秋余董瑞洪
      計(jì)算機(jī)工程 2014年10期
      關(guān)鍵詞:空閑字段字節(jié)

      方冬蓉,張秋余,董瑞洪,文 森

      (蘭州理工大學(xué)計(jì)算機(jī)與通信學(xué)院,蘭州730050)

      Android系統(tǒng)刪除數(shù)據(jù)恢復(fù)方法研究

      方冬蓉,張秋余,董瑞洪,文 森

      (蘭州理工大學(xué)計(jì)算機(jī)與通信學(xué)院,蘭州730050)

      隨著移動(dòng)通信技術(shù)的發(fā)展和應(yīng)用的推廣,手機(jī)犯罪成為新的犯罪趨勢,手機(jī)取證是打擊該類犯罪的一個(gè)有效手段。直接調(diào)用API方法不能恢復(fù)Android手機(jī)數(shù)據(jù),現(xiàn)有方法存在無法恢復(fù)刪除數(shù)據(jù)部分被覆蓋的問題。為此,通過分析Android系統(tǒng)SQLite數(shù)據(jù)庫的文件結(jié)構(gòu)和數(shù)據(jù)記錄的尋址方式,提出一種Android系統(tǒng)刪除數(shù)據(jù)恢復(fù)方法,即探測估算預(yù)提取數(shù)據(jù)所在表的每個(gè)Type字段,提取恢復(fù)刪除數(shù)據(jù),結(jié)合盡最大努力恢復(fù)方法,針對(duì)刪除數(shù)據(jù)部分被覆蓋的情況,討論其恢復(fù)的可能性并進(jìn)行獲取。在Android手機(jī)模擬器上進(jìn)行驗(yàn)證,結(jié)果表明,該方法能成功恢復(fù)刪除數(shù)據(jù),與傳統(tǒng)方法相比,在不影響信息提取精確度的前提下,提高了刪除數(shù)據(jù)的恢復(fù)率。

      手機(jī)取證;Android系統(tǒng);SQLite數(shù)據(jù)庫;數(shù)據(jù)刪除;邏輯提取;物理提取

      1 概述

      當(dāng)前,智能手機(jī)隨著其功能越來越強(qiáng)大且便攜,手機(jī)成為犯罪分子的一種新型作案工具,為打擊犯罪,手機(jī)取證顯得尤為重要。所謂手機(jī)取證是指在健全的取證環(huán)境中,使用恰當(dāng)?shù)姆椒◤氖謾C(jī)及相關(guān)設(shè)備中提取并恢復(fù)數(shù)字證據(jù)的科學(xué)[1]。這些數(shù)字證據(jù)包括通話記錄、短信息、電話簿等。

      在手機(jī)取證中,最重要的是刪除數(shù)據(jù)的恢復(fù)。目前,國內(nèi)外已有不少研究人員對(duì)手機(jī)數(shù)據(jù)提取恢復(fù)進(jìn)行研究,文獻(xiàn)[2]指出由于手機(jī)操作系統(tǒng)的權(quán)限問題,只能提取系統(tǒng)允許訪問的內(nèi)容,稱為“邏輯提取”。隨后,文獻(xiàn)[3-4]分別提出將手機(jī)芯片拆除,直接對(duì)芯片進(jìn)行數(shù)據(jù)讀取解析,這樣可得到刪除數(shù)據(jù),但面臨的問題是難度系數(shù)較高,稱為“物理提取”。文獻(xiàn)[5]在2010年提出flasher boxes獲取方法,它是繞過手機(jī)操作系統(tǒng)對(duì)手機(jī)底層信息進(jìn)行獲取,該方法的局限性在于對(duì)每一型號(hào)手機(jī)存在一款flasher box,且無法得知在使用過程中是否改變手機(jī)數(shù)據(jù)。近年來,有很多手機(jī)取證工具[6]由于其便攜、易操作及刪除數(shù)據(jù)可恢復(fù)等,已廣泛被司法部門采用。但是,手機(jī)取證工具的使用,會(huì)開啟手機(jī)內(nèi)存中的某些進(jìn)程[7],改變了手機(jī)狀態(tài),減弱了證據(jù)的證明力。

      安卓平臺(tái)運(yùn)用SQLite進(jìn)行數(shù)據(jù)管理,早在2004年P(guān)ereira MT[8]針對(duì)火狐瀏覽器歷史記錄,提出基于SQLite的數(shù)據(jù)恢復(fù),使得從數(shù)據(jù)庫恢復(fù)技術(shù)入手進(jìn)行手機(jī)數(shù)據(jù)的恢復(fù)成為可能。文獻(xiàn)[9]提出從SQLite數(shù)據(jù)庫通過估算PayloadSize、RowID及Header-size占據(jù)字節(jié)大小,即“暴力估算”方法來恢復(fù)刪除記錄的恢復(fù)方法,文中提出一個(gè)單元部分覆蓋(非刪除修改)的情況,恢復(fù)是不可能的。根據(jù)上述情況,本文依據(jù)安卓平臺(tái)SQLite存儲(chǔ)格式及刪除存儲(chǔ)原理,提出探測預(yù)提取數(shù)據(jù)所在表Type各字段大小的方法來恢復(fù)刪除數(shù)據(jù)。并且對(duì)刪除單元被新進(jìn)入數(shù)據(jù)覆蓋部分的情況,討論其恢復(fù)的可能性。該方法可獲取刪除的數(shù)據(jù),且不用在手機(jī)終端安裝應(yīng)用,提高證據(jù)可采性。

      2 SQLite

      2.1 SQLite物理結(jié)構(gòu)

      SQLite數(shù)據(jù)庫文件由固定大小的“頁”(page)組成,頁的類型可以是Btree頁、空閑(free)頁或溢出(overflow)頁。Btree頁內(nèi)部以單元(cell)為單位來組織數(shù)據(jù),一個(gè)單元包含一個(gè) payload(也稱為Btree記錄),單元是Btree頁內(nèi)部進(jìn)行空間分配和回收的基本單位。從邏輯上講,SQLite數(shù)據(jù)庫文件實(shí)際是由多個(gè)多重的Btree構(gòu)成[10]。每一個(gè)Btree存儲(chǔ)一個(gè)表的數(shù)據(jù)或一個(gè)表的索引,索引采用B-tree,而表采用B+tree。

      2.2 SQLite刪除數(shù)據(jù)存儲(chǔ)原理

      根據(jù)SQLite數(shù)據(jù)管理機(jī)制,當(dāng)手機(jī)刪除數(shù)據(jù)后,手機(jī)終端無法看到刪除的數(shù)據(jù)。但事實(shí)上,刪除數(shù)據(jù)后僅是存儲(chǔ)數(shù)據(jù)的單元頭部信息改變,這塊區(qū)域被識(shí)別為自由塊,而真正的數(shù)據(jù)并未刪除。因此,只要此區(qū)域未被新進(jìn)數(shù)據(jù)覆蓋,那么恢復(fù)是可能的。在SQLite中,根據(jù)刪除區(qū)域包含的單元數(shù)量,刪除區(qū)域可分為3種:刪除區(qū)域包含部分單元,刪除區(qū)域包含一個(gè)單元,刪除區(qū)域包含多個(gè)單元。

      當(dāng)刪除區(qū)域包含部分單元,根據(jù)覆蓋范圍大小,部分?jǐn)?shù)據(jù)是可能恢復(fù)的。當(dāng)刪除區(qū)域包含一個(gè)單元,確定單元每個(gè)Type字段值,即可恢復(fù)記錄數(shù)據(jù)區(qū)的數(shù)據(jù)。由于單元頭部信息被修改,無法確定Type字段占據(jù)字節(jié)大小,本文提出估算Type字段大小的方法來恢復(fù)數(shù)據(jù)。

      3 Type字段估算法

      SQLite中,真正的數(shù)據(jù)存儲(chǔ)在B+tree葉子頁的單元Data區(qū)中,其單元結(jié)構(gòu)如圖1所示。其中, Type字段表示表的各字段,單元頭和記錄頭均以可變長整數(shù)形式來存儲(chǔ)數(shù)據(jù)值,可變長整數(shù)由1個(gè)~9個(gè)字節(jié)組成。事實(shí)上,當(dāng)分析刪除記錄時(shí),SQLite保存的整數(shù)在可變長度區(qū)域可能模糊定位。因此,恢復(fù)刪除的數(shù)據(jù),每個(gè)單元的可變長度區(qū)域的精確長度必須被識(shí)別。

      圖1 B+tree葉子頁單元結(jié)構(gòu)

      當(dāng)SQLite刪除數(shù)據(jù)發(fā)生后,SQLite重新初始化單元的前4個(gè)字節(jié),其中前2個(gè)字節(jié)表示下一個(gè)自由塊的偏移量,后2個(gè)字節(jié)表示這個(gè)自由塊的大小。

      SQLite規(guī)定[11]:SQLite會(huì)對(duì)所有整型主鍵字段應(yīng)用自動(dòng)增長屬性。針對(duì)該規(guī)定,對(duì)單元Payload中Type1進(jìn)一步說明:由于RowID值已經(jīng)在單元頭部保存,因此將Type1類型設(shè)為NULL(占1個(gè)字節(jié): 0x00),這樣既節(jié)省空間又容易保持?jǐn)?shù)據(jù)一致性。同時(shí)這樣給恢復(fù)數(shù)據(jù)帶來好處:由于刪除操作改變單元前4個(gè)字節(jié),且Type1是NULL,因此“有用的”Type(2~N)和Data區(qū)域均未改變。

      圖2為刪除單元前4個(gè)字節(jié)修改后的幾種情況,由于PayloadSize、RowID、Header-size及Type均以可變長整數(shù)形式來存儲(chǔ)數(shù)據(jù)值,對(duì)上述“Type(2~N)和Data區(qū)域均未改變”結(jié)論做以下說明:

      (1)若PayloadSize、RowID及Header-size每個(gè)區(qū)域占據(jù)1字節(jié),Type1值為“0x00”占據(jù)1個(gè)字節(jié),那么刪除操作發(fā)生后,前4個(gè)字節(jié)改變,Type(2~N)字段和Data區(qū)域未變;

      (2)若PayloadSize、RowID及Header-size共占據(jù)4字節(jié),刪除操作發(fā)生后,前4個(gè)字節(jié)改變,存留有Type(1~N)字段和Data區(qū)域;

      (3)若PayloadSize、RowID及Header-size共占據(jù)大于4個(gè)字節(jié),刪除操作發(fā)生后,前4個(gè)字節(jié)改變,PayloadSize、RowID及Header-size會(huì)遺留部分, Type(1~N)字段和Data區(qū)域全部存在。

      圖2 刪除單元前4個(gè)字節(jié)修改后的情況

      綜上所述,無論P(yáng)ayloadSize、RowID及Headersize每個(gè)區(qū)域占據(jù)多少字節(jié)(3個(gè)區(qū)域至少占據(jù)1個(gè)字節(jié)),Type(2~N)和Data區(qū)域均未改變。

      恢復(fù)表中存儲(chǔ)的具體數(shù)據(jù),需要確定單元Payload中每個(gè)Type值來確定Data區(qū)域的數(shù)據(jù)信息。由于刪除修改單元前4個(gè)字節(jié),無法精確得知各字段大小。為了解決這個(gè)問題,根據(jù)刪除操作后Type(2~N)和Data區(qū)域均未改變,通過估算Type字段大小,確定預(yù)提取的數(shù)據(jù)對(duì)應(yīng)在表中的哪些字段中,來恢復(fù)數(shù)據(jù)。

      4 數(shù)據(jù)提取恢復(fù)過程

      在數(shù)據(jù)提取進(jìn)行之前,首先要獲得手機(jī)的最高權(quán)限。Android手機(jī)的短信息保存在mmssms.db文件中,若要恢復(fù)短信息,這里分兩大過程,首先要獲取mmssms.db文件,找到刪除區(qū)域;然后對(duì)刪除區(qū)域進(jìn)行估算分析。提取恢復(fù)過程具體如圖3所示。

      圖3 數(shù)據(jù)提取流程

      4.1 預(yù)提取數(shù)據(jù)所在的數(shù)據(jù)庫文件

      連接手機(jī)后使用“adb pull”命令,可直接獲取數(shù)據(jù)庫文件。也可以在安卓開發(fā)工具 ADT中的DDMS下 “pull a file from the device”按鈕一鍵獲取。安卓平臺(tái)用戶數(shù)據(jù)存儲(chǔ)在data/data文件夾下,存儲(chǔ)有短信息、通信錄及通信記錄等數(shù)據(jù)庫文件,可根據(jù)需求進(jìn)行獲取。

      4.2 刪除區(qū)域的收集

      首先查找預(yù)提取表對(duì)應(yīng)的樹根頁,定位預(yù)提取數(shù)據(jù)所在區(qū)域。根據(jù)預(yù)提取表名可在sqlite_master表中得知其根頁編號(hào)。定位到根頁后分析Btree中所有的頁節(jié)點(diǎn),根據(jù)頁頭中頁類型標(biāo)志找到所有B+tree葉子頁,即可依據(jù)頁的大小偏移量定位到預(yù)提取表的數(shù)據(jù)所在頁。頁頭結(jié)構(gòu)如表1所示。

      表1 Btree頁頭格式

      頁類型標(biāo)志:頁頭中的第一個(gè)字節(jié)是區(qū)分內(nèi)部頁和葉子頁的標(biāo)志位。該字節(jié)值為0x0D時(shí),表示是B+tree的葉子頁;為0x05時(shí),表示B+tree的內(nèi)部頁;為0x0A時(shí),表示B-tree的葉子頁;為0x02時(shí),表示B-tree的內(nèi)部頁。要找到預(yù)提取表所有B+tree葉子頁,根據(jù)頁類型標(biāo)志,找到頁啟始為“0D”標(biāo)志,即找到所有數(shù)據(jù)存儲(chǔ)區(qū)域。

      其次解析預(yù)提取數(shù)據(jù)區(qū)域,收集所有刪除域。根據(jù)Btree頁頭格式,頁頭偏移為1的2個(gè)字節(jié)指向空閑塊鏈表的頭。由于空閑塊前2個(gè)字節(jié)指向下一個(gè)空閑塊,將單元內(nèi)容區(qū)域中沒有使用的空間收集起來形成一個(gè)空閑塊鏈表,依據(jù)空閑塊鏈表,可得到所有的空閑塊,即刪除域。

      4.3 刪除區(qū)域的檢查

      檢查刪除區(qū)域,并按單元對(duì)Type字段估算進(jìn)行提取。當(dāng)SQLite刪除數(shù)據(jù)發(fā)生后,SQLite重新初始化一個(gè)單元的前4個(gè)字節(jié)。如圖4所示,有顏色背景部分是一個(gè)單元的內(nèi)容。

      圖4 單元?jiǎng)h除前后對(duì)比

      刪除后無法精確各字段大小,需對(duì)各字段占據(jù)字節(jié)進(jìn)行估算分析。

      對(duì)于單元的各字段的估算法,其偽代碼描述如下:

      通過空閑塊鏈表,找出每個(gè)空閑塊,將每個(gè)空閑塊存儲(chǔ)到相應(yīng)的一維數(shù)組中,現(xiàn)在讀取一個(gè)數(shù)組,數(shù)組名為bb;查預(yù)提取表設(shè)定字段數(shù)量為k;初始從第i位開始讀數(shù)據(jù)(i=4)。

      當(dāng)從數(shù)組第i位開始讀取,判斷其值大小來決定每個(gè)Type字段占據(jù)字節(jié)數(shù),以此類推往后讀取,直到讀了k次結(jié)束,計(jì)算k個(gè)Type值之和sum1及k個(gè)Type字段占據(jù)字節(jié)數(shù)目和b。通過Type區(qū)占據(jù)字節(jié)b以及單元頭未讀數(shù)目i,計(jì)算 sum2值,即為Type區(qū)域緊接的Data域大小。

      匹配sum1和sum2值,相等則估算成功,否則估算失敗。繼續(xù)從第i+1讀取,依次匹配,直到bb數(shù)組結(jié)束為止。這樣最終確定預(yù)提取的數(shù)據(jù)對(duì)應(yīng)在表中的哪些字段中,就可從各字段中提取數(shù)據(jù)。

      4.4 部分被覆蓋單元的恢復(fù)

      如果上述匹配恢復(fù)不成功,說明有可能是部分被覆蓋或是幾個(gè)單元合成一個(gè)空閑塊,對(duì)空閑塊包含幾個(gè)單元的情況將其分割成一個(gè)一個(gè)單元進(jìn)行恢復(fù)。一個(gè)單元部分被覆蓋的情形如圖5所示。

      圖5 單元部分被覆蓋

      對(duì)一個(gè)單元部分被覆蓋的情形,恢復(fù)可能性根據(jù)被覆蓋率來決定。覆蓋率不能用一個(gè)精確的百分比數(shù)字來表示,因?yàn)橐粋€(gè)單元的存儲(chǔ)實(shí)際數(shù)據(jù)區(qū)域(Data區(qū)域)的大小是根據(jù)實(shí)際情況動(dòng)態(tài)分配的,但是對(duì)于覆蓋率可以根據(jù)實(shí)際情況用區(qū)域類型來描述。如圖5灰色部分所示,是Data區(qū)域部分被覆蓋的情形,現(xiàn)針對(duì)實(shí)驗(yàn)部分所選實(shí)驗(yàn)環(huán)境(android4.2模擬器),描述覆蓋率所指大致范圍。

      刪除一條信息又進(jìn)入一條后,是從單元后部進(jìn)行覆蓋(如圖5灰色部分所示)。單元部分被覆蓋前后對(duì)比如圖6所示。在android4.2中,存儲(chǔ)短信息的表字段有17項(xiàng),分別是_id,thread_id,address, person,date,date_sent,protocol,read,ststus,type, reply_path_present,subject,body,service_center, locked,error_code,seen。這17項(xiàng)占據(jù)Type區(qū)域,如圖6(a)方框標(biāo)記所示。這17個(gè)字段對(duì)應(yīng)圖5中的Type區(qū)域,即Type1~Type17,說明了Data區(qū)域的Data1~Data17的內(nèi)容具體信息。

      圖6 單元部分被覆蓋前后對(duì)比

      綜上所述,覆蓋率是指Data區(qū)域被覆蓋的范圍。由于一個(gè)單元的Data區(qū)域大小根據(jù)實(shí)際情況動(dòng)態(tài)分配,因此不能用一個(gè)精確的定量關(guān)系來表示覆蓋率和可恢復(fù)程度之間的關(guān)系。用邏輯表示,可恢復(fù)程度根據(jù)Data區(qū)域覆蓋率的大小而定:覆蓋率越小,可恢復(fù)性越高;覆蓋率越大,可恢復(fù)性越低,直到Data區(qū)域完全被覆蓋,可恢復(fù)性為0。

      4.5 盡最大努力恢復(fù)方法

      若Data區(qū)域完全被覆蓋,則完全無法恢復(fù),但可知這里存在過短信息;若只覆蓋Data區(qū)域的一部分,那么恢復(fù)數(shù)據(jù)是有可能的。但對(duì)于這片區(qū)域,由于刪除后改變了單元頭內(nèi)容,無法精確定位Data區(qū)域從哪里開始、到哪里結(jié)束以及每個(gè)數(shù)據(jù)類型占據(jù)字節(jié)數(shù),提出使用“盡最大努力恢復(fù)”方法來恢復(fù)。

      所謂的盡最大努力恢復(fù)方法,實(shí)際就是將這個(gè)無法精確分段的整片區(qū)域從頭到尾完全轉(zhuǎn)譯,之后在轉(zhuǎn)譯后的數(shù)據(jù)信息中進(jìn)行語義分析,找到有用的數(shù)據(jù)信息、識(shí)別電話號(hào)碼等。

      如圖6(a)所示,偏移量從23B5~23FF是之前一條短信息存儲(chǔ)單元,后被23D6~23FF這條短信單元部分覆蓋。如圖6(b)所示,灰色部分為新進(jìn)信息單元,橢圓框是原信息被覆蓋后Data域剩余部分。從右邊的“1399487xxxx”可發(fā)現(xiàn),信息中的電話號(hào)碼仍存在,而短信內(nèi)容被覆蓋。

      5 實(shí)驗(yàn)結(jié)果及分析

      5.1 實(shí)驗(yàn)驗(yàn)證

      為了證明上述恢復(fù)方法的可行性,將通過實(shí)驗(yàn)對(duì)該方法進(jìn)行驗(yàn)證。實(shí)驗(yàn)選取4.2版本android手機(jī)模擬器作為實(shí)驗(yàn)對(duì)象,使用SQLite數(shù)據(jù)庫瀏覽器以及WinHex作為輔助,以提取短信息內(nèi)容為目的,運(yùn)用安卓開發(fā)工具ADK來對(duì)底層數(shù)據(jù)庫文件進(jìn)行解析。作為刪除數(shù)據(jù)恢復(fù)的對(duì)比,分別從邏輯提取和物理提取2個(gè)方面進(jìn)行提取分析。最后針對(duì)部分被覆蓋的信息進(jìn)行單獨(dú)提取恢復(fù)。

      為實(shí)現(xiàn)結(jié)果清晰明了,現(xiàn)對(duì)sms表中信息設(shè)置如下:

      (1)從手機(jī)終端加入4條短信息,其中第一條短信息較長,獲取mmssms.db文件;

      (2)從手機(jī)終端刪除 2條短信息,獲取mmssms.db文件;

      (3)從手機(jī)終端再加入1條較短的信息,獲取mmssms.db文件。

      5.2 邏輯提取分析

      邏輯提取[12](logical acquisition)是在當(dāng)前文件目錄下尋找相關(guān)證據(jù),不涉及刪除的信息。所有與應(yīng)用程序相關(guān)的信息都存放在/data/data目錄下,安卓系統(tǒng)短信息存儲(chǔ)在datadatacom.android.providers. Telephonydatabases下。利用ADB命令可將其取出。圖7和圖8分別是最初的4條短信息和刪除2條后的結(jié)果。

      圖7 4條短信息的邏輯提取

      圖8 2條短信息的邏輯提取

      5.3 物理提取分析

      物理提取(physical acquisition)是指用一定的方式從鏡像文件或底層數(shù)據(jù)存儲(chǔ)文件中尋找并恢復(fù)刪除的數(shù)據(jù)。圖 9是刪除 2條短信后的提取恢復(fù)結(jié)果。

      圖9 刪除的2條短信恢復(fù)結(jié)果

      5.4 部分被覆蓋提取分析

      在實(shí)驗(yàn)設(shè)置中,最后加入一條較短信息,其目的是實(shí)現(xiàn)刪除的較長信息被較短信息部分覆蓋后的恢復(fù)。先來用WinHex分析底層文件,分析如圖10所示。

      在圖10中,圖10(a)偏移量9F29~9FFF是最初刪除的較長短信存儲(chǔ)區(qū)域,存儲(chǔ)空間大小為00D7。圖10(b)畫框部分,偏移量9FB7處開始,直到9FFF結(jié)束,是新進(jìn)入短信單元,占73 Byte。這個(gè)自由塊的大小由之前的00D7(215 Byte)變?yōu)?08E (142 Byte)。

      圖10 刪除信息被覆蓋前后對(duì)比

      由于Data區(qū)域未被全部覆蓋,恢復(fù)是可能的。圖11是部分被覆蓋后恢復(fù)的結(jié)果,可根據(jù)語義分析或常識(shí)來判斷,電話號(hào)碼是“1364-X”,部分短信息內(nèi)容為“今天是您的生日,愿所有的快樂,所有的幸福,所有的溫馨,所有的好運(yùn)”。

      圖11 部分被覆蓋后的恢復(fù)結(jié)果

      5.5 結(jié)果分析

      本文采用的實(shí)驗(yàn)環(huán)境是android4.2,實(shí)驗(yàn)數(shù)據(jù)是發(fā)送的多條短信,包括刪除的和未刪除的。最后用訓(xùn)練好的參數(shù)實(shí)現(xiàn)物理提取,獲取信息條數(shù),將實(shí)際添加的信息和提取結(jié)果相比較,驗(yàn)證探測估算法和“盡最大努力恢復(fù)”法相結(jié)合的有效性及精確度。

      5.5.1 提取性能的對(duì)比

      從表2的數(shù)據(jù)可看出,“暴力估算”信息提取率為93%。而本文方法不僅對(duì)手機(jī)中刪除的信息能夠恢復(fù),并且對(duì)刪除信息部分被覆蓋的數(shù)據(jù)也能部分恢復(fù),信息提取率提升到95%。即在手機(jī)終端無法看到25%的信息,通過探測估算結(jié)合盡最大努力恢復(fù)方法后,可以大部分恢復(fù)提取。

      表2 提取性能的對(duì)比

      5.5.2 恢復(fù)性能對(duì)比

      從表3的數(shù)據(jù)可看出,“暴力估算”能提取刪除的短信息,信息提取率為92%,對(duì)刪除的25條信息,實(shí)際恢復(fù)了18條,恢復(fù)率為72%。通過探測估算結(jié)合盡最大努力恢復(fù)方法,對(duì)刪除的25條信息,實(shí)際恢復(fù)20條,恢復(fù)率達(dá)到80%,恢復(fù)信息條數(shù)增加,恢復(fù)率提高。

      表3 恢復(fù)性能的對(duì)比

      總之,由提取結(jié)果分析得出:本文提出的恢復(fù)方法可以對(duì)手機(jī)中現(xiàn)存的信息、刪除的信息以及刪除部分被覆蓋的短信息進(jìn)行較為準(zhǔn)確的獲取,提取率及恢復(fù)率優(yōu)于僅估算PayloadSize、RowID及Headersize占據(jù)字節(jié)大小來恢復(fù)刪除記錄的“暴力估算”恢復(fù)方法。并且本文對(duì)于部分被覆蓋的單元使用盡最大努力恢復(fù)法,恢復(fù)部分被覆蓋的已刪信息,進(jìn)一步提高恢復(fù)率。

      6 結(jié)束語

      依據(jù)SQLite存儲(chǔ)的數(shù)據(jù)刪除后并未進(jìn)行物理刪除,采用數(shù)據(jù)庫恢復(fù)技術(shù),可進(jìn)行刪除數(shù)據(jù)恢復(fù)提取。本文根據(jù)探測估算恢復(fù)表中每個(gè)Type字段占據(jù)字節(jié)大小,結(jié)合盡最大努力恢復(fù)的方法,對(duì)刪除數(shù)據(jù)及刪除數(shù)據(jù)部分被覆蓋的信息進(jìn)行恢復(fù)提取。此外,盡最大努力恢復(fù)方法針對(duì)部分覆蓋的短信息,在不改變信息提取精確度的前提下,為恢復(fù)部分覆蓋的短信息提供了可能。本文方法是針對(duì)數(shù)據(jù)提取與恢復(fù),對(duì)于司法部門,提取與恢復(fù)的數(shù)據(jù)將作為證據(jù)被法庭采用,需要保證數(shù)據(jù)的可采性與真實(shí)性。所以下一步的研究工作是實(shí)現(xiàn)證據(jù)提取過程中數(shù)據(jù)的完整性,即進(jìn)一步提高恢復(fù)數(shù)據(jù)的可采性。

      [1] 張明旺.基于手機(jī)的電子證據(jù)獲取技術(shù)研究[J].電腦知識(shí)與技術(shù),2012,13(8):3093-3095.

      [2] Paul M C.Forensic Analysis of Mobile Phones[D]. Adelaide,Australia:University of South Australia,2005.

      [3] Svein W.Forensic Analysis of Mobile Phone Internal Memory[J].Advances in Digital Forensics,2006, (194):191-204.

      [4] Marcel B,Coert K.Forensic Data Recovery from Flash Memory[J].Small Scale Digital Device Forensics Journal,2007,1(1):1-17.

      [5] Jonkers K.The Forensic use of Mobile Phone Flasher Boxes[J].Digital Investigation,2010,(6):168-178.

      [6] Jansen W,Ayers R.Guidelines on Cell Phone Forensic: Recommendations of the National Institute of Standards and Technology[EB/OL].[2013-09-20].http:// www.docin.com/p-437911651.html.

      [7] 趙亞杰,陳 龍.面向手機(jī)取證的細(xì)粒度數(shù)據(jù)完整性檢驗(yàn)方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(11): 4091-4094.

      [8] Pereira M T.Forensic Analysis of the Firefox 3 Internet History and Recovery of Deleted SQLite records[J]. Digit Investigation,2009,5(3):93-103.

      [9] Jeon S,Bang J,Byun K.A Recovery Method of Deleted Record for SQLite Database[J].Pers Ubiquit Computer,2012,16(6):707-715.

      [10] Hipp D R.The SQLite Database File Format[EB/OL]. (2013-05-30).http://www.sqlite.org/fileformat.html.

      [11] Owens M.TheDefinitiveGuidetoSQLite[M]. New York,USA:Springer-Verlag,2006.

      [12] 姚 偉,沙 晶.Android智能手機(jī)的取證[J].中國司法鑒定,2012,(1):45-49.

      編輯 索書志

      Research on Recovery Method of Deleted Data for Android System

      FANG Dong-rong,ZHANG Qiu-yu,DONG Rui-hong,WEN Sen
      (School of Computer Technology and Communication, Lanzhou University of Science and Technology,Lanzhou 730050,China)

      With the development and the wide application of mobile communication technology,mobile phone crimes become a new trend,and mobile phone forensics is an effective means to crack down on mobile phone crimes.In view of the problems that the traditional method calling API directly cannot restore the data of Android mobile phone and existing methods cannot restore the deleted data that section covered,through deep analysis of Android SQLite database file structure and the addressing mode of data record,the method that detects and estimates each Type field in the table is proposed.This method uses extraction recovery to process deleted data,combines“restore method with best effort”to discuss the recovery possibility of the deleted data that part covered,and obtains the deleted data.This method is carried out on the Android emulator.Experimental result shows that this method can restore deleted data successfully,and compared with traditional algorithm,it improves the recovery rate of deleted data with no affection of the information extraction accuracy.

      mobile phone forensics;Android system;SQLite database;data deletion;logical extraction;physical extraction

      1000-3428(2014)10-0275-06

      A

      TP309

      10.3969/j.issn.1000-3428.2014.10.051

      方冬蓉(1988-),女,碩士研究生,主研方向:電子取證;張秋余,研究員、博士生導(dǎo)師;董瑞洪,副教授;文 森,工程師。

      2013-08-12

      2013-10-07E-mail:fangdrgo@163.com

      中文引用格式:方冬蓉,張秋余,董瑞洪,等.Android系統(tǒng)刪除數(shù)據(jù)恢復(fù)方法研究[J].計(jì)算機(jī)工程,2014,40(10):275-280.

      英文引用格式:Fang Dongrong,Zhang Qiuyu,Dong Ruihong,et al.Research on Recovery Method of Deleted Data for Android System[J].Computer Engineering,2014,40(10):275-280.

      猜你喜歡
      空閑字段字節(jié)
      恩賜
      詩選刊(2023年7期)2023-07-21 07:03:38
      圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
      No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
      “鳥”字謎
      小讀者之友(2019年9期)2019-09-10 07:22:44
      No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
      彪悍的“寵”生,不需要解釋
      簡談MC7字節(jié)碼
      WLAN和LTE交通規(guī)則
      CHIP新電腦(2016年3期)2016-03-10 14:09:48
      CNMARC304字段和314字段責(zé)任附注方式解析
      無正題名文獻(xiàn)著錄方法評(píng)述
      孟连| 福州市| 宁阳县| 新兴县| 凯里市| 中阳县| 濮阳县| 霍州市| 崇州市| 大安市| 商水县| 石嘴山市| 宁强县| 望奎县| 南丰县| 武城县| 西盟| 华亭县| 东港市| 长顺县| 英吉沙县| 乌兰察布市| 莆田市| 九龙城区| 井冈山市| 宜昌市| 西青区| 柳林县| 尖扎县| 观塘区| 石棉县| 吕梁市| 新化县| 遵义市| 清徐县| 姜堰市| 皮山县| 呈贡县| 高碑店市| 顺义区| 大渡口区|