本發(fā)明屬于計算機信息安全
技術(shù)領(lǐng)域:
,具體涉及一種基于Android系統(tǒng)的智能終端文件獲取以及數(shù)據(jù)恢復系統(tǒng)及方法。
背景技術(shù):
:隨著互聯(lián)網(wǎng)時代的到來,以及電子產(chǎn)品迅速的更新?lián)Q代,如今智能手機已經(jīng)成為人們生活中不可或缺的一部分,在以往需要在pc端才能提供的服務(wù),如今智能手機已基本能夠滿足用戶需求,手機支付,wifi,新聞等等智能手機提供的服務(wù)已經(jīng)滲入人們生活,為人們的生活提供了極大便利。手機中的各種信息,將為案件偵查和審理判決提供依據(jù)。國家在2013年正式認可電子證據(jù)的合法性,政策的落實需要電子取證技術(shù)的有力支持,如何提取、恢復智能終端數(shù)據(jù),將是一個迫切需要解決的挑戰(zhàn)性問題。近幾年出現(xiàn)了一批智能手機文件獲取工具,如MPE+、DC4500、FTK、Fanaldata等等,他們解決上述問題時存在一些缺陷,比如對手機應用程序識別量少,數(shù)據(jù)恢復只是針對完整數(shù)據(jù),被部分覆蓋的未考慮,對現(xiàn)有信息利用不充分。因此現(xiàn)有軟件所得到的數(shù)據(jù)不能結(jié)構(gòu)化的顯示取證結(jié)構(gòu)并且不能滿足需要。技術(shù)實現(xiàn)要素:為了解決上述技術(shù)問題,本發(fā)明提供了一種基于Android系統(tǒng)的智能終端文件獲取以及數(shù)據(jù)恢復系統(tǒng)及方法。本發(fā)明的系統(tǒng)所采用的技術(shù)方案是:一種基于Android系統(tǒng)的智能終端文件獲取以及數(shù)據(jù)恢復系統(tǒng),其特征在于:包括數(shù)據(jù)導入模塊、數(shù)據(jù)整理模塊和數(shù)據(jù)管理模塊;所述數(shù)據(jù)整理模塊包括情景恢復子模塊和數(shù)據(jù)恢復子模塊;所述數(shù)據(jù)導入模塊用于導入Android系統(tǒng)軟件、應用軟件和瀏覽器信息;所述數(shù)據(jù)管理模塊包括證據(jù)管理子模塊和報告管理子模塊;所述數(shù)據(jù)導入模塊與待取證設(shè)備連接獲取所需的數(shù)據(jù),然后通過所述數(shù)據(jù)整理模塊進行情景恢復和數(shù)據(jù)恢復,最后通過所述數(shù)據(jù)管理模塊管理存儲后發(fā)動到司法機關(guān)。本發(fā)明的方法所采用的技術(shù)方案是:一種基于Android系統(tǒng)的智能終端文件獲取以及數(shù)據(jù)恢復方法,其特征在于,包括以下步驟:步驟1:獲取待取證設(shè)備數(shù)據(jù);步驟2:數(shù)據(jù)恢復;步驟3:情景恢復;步驟4:數(shù)據(jù)輸出。本發(fā)明的創(chuàng)新點包括:(1)針對非完全覆蓋數(shù)據(jù)的恢復方法;當前主要的取證軟件,例如DC4500、MPE+、FanalData等等,僅僅能夠?qū)崿F(xiàn)未覆蓋數(shù)據(jù)的恢復,但是對于惡意擦除無能為力,本系統(tǒng)利用說明書中提出的可變長區(qū)域長度估算法以及未完全覆蓋數(shù)據(jù)的恢復算法,能夠有效恢復部分覆蓋的數(shù)據(jù),讓犯罪證據(jù)無所遁形。(2)基于HTML5的數(shù)據(jù)獲取方法;當前的取證軟件主要都是針對SQLite的數(shù)據(jù)讀取,獲取數(shù)據(jù)的范圍有限。考慮到如今HybirdApp(Android與Html5混合應用)的廣泛使用,Html的本地存儲也被應用到如淘寶、京東、攜程等應用中。其中l(wèi)ocalStorage被廣泛使用,保存在里面的數(shù)據(jù)具有很強的取證價值。本系統(tǒng)除了SQLite中的數(shù)據(jù)之外,還能獲得HTML中本地保存的數(shù)據(jù),為分析待取證手機持有者曾經(jīng)瀏覽的網(wǎng)頁以及購買商品的分析提供有力支持。(3)手機用戶私有信息的情景恢復技術(shù);本系統(tǒng)利用Android系統(tǒng)自動記住密碼功能,獲得手機持有人的網(wǎng)站瀏覽痕跡以及微博、百度貼吧等登錄憑證,通過這些應用的跟蹤和登陸進行深度取證,有助于獲得更全面的犯罪證據(jù)。在手機被破壞到無法使用的狀態(tài)下,可以在SDK模擬器中實現(xiàn)手機用戶私有信息的情景恢復,通過現(xiàn)有應用呈現(xiàn)手機數(shù)據(jù),解決提取文本亂碼的問題,通過可視化的展現(xiàn),為分析人員提供更友好的取證環(huán)境。附圖說明圖1:本發(fā)明實施例的系統(tǒng)部署圖;圖2:本發(fā)明實施例的系統(tǒng)結(jié)構(gòu)圖;圖3:本發(fā)明實施例的系統(tǒng)工作原理圖;圖4:本發(fā)明實施例的方法中數(shù)據(jù)恢復流程圖;圖5:本發(fā)明實施例的方法中情景恢復流程圖;圖6:本發(fā)明實施例的方法中刪除區(qū)域包含多個單元的數(shù)據(jù)恢復流程圖。具體實施方式為了便于本領(lǐng)域普通技術(shù)人員理解和實施本發(fā)明,下面結(jié)合附圖及實施例對本發(fā)明作進一步的詳細描述,應當理解,此處所描述的實施示例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。本系統(tǒng)在充分調(diào)研實際辦案需求的基礎(chǔ)上,設(shè)計并實現(xiàn)了基于Android的智能終端信息重現(xiàn)系統(tǒng)。本系統(tǒng)針對Android手機中短信、通訊錄和通話記錄以及一部分第三方應用如QQ、微博、郵箱等使用HTML數(shù)據(jù)庫的應用進行數(shù)據(jù)存儲,并進行分類;在獲取數(shù)據(jù)的基礎(chǔ)上,對一部分已刪除的數(shù)據(jù)進行恢復;并且結(jié)合通訊錄和第三方軟件的數(shù)據(jù)信息,初步構(gòu)建了以聯(lián)系人為核心的關(guān)聯(lián)關(guān)系。對于損壞的智能終端,通過對殘留數(shù)據(jù)的分析,實現(xiàn)智能終端在損壞之前的使用狀況的情景恢復。請見圖1、圖2和圖3,本發(fā)明提供的一種基于Android系統(tǒng)的智能終端文件獲取以及數(shù)據(jù)恢復系統(tǒng),包括數(shù)據(jù)導入模塊、數(shù)據(jù)整理模塊和數(shù)據(jù)管理模塊;數(shù)據(jù)整理模塊包括情景恢復子模塊和數(shù)據(jù)恢復子模塊;數(shù)據(jù)導入模塊用于導入Android系統(tǒng)軟件、應用軟件和瀏覽器信息;數(shù)據(jù)管理模塊包括證據(jù)管理子模塊和報告管理子模塊;數(shù)據(jù)導入模塊與待取證設(shè)備連接獲取所需的數(shù)據(jù),然后通過數(shù)據(jù)整理模塊進行情景恢復和數(shù)據(jù)恢復,最后通過數(shù)據(jù)管理模塊管理存儲后發(fā)動到司法機關(guān)。本系統(tǒng)取證來源分別為安卓的五大儲存,取證類型分為文本和圖片,取得的證據(jù)流向是檢察院和司法機關(guān)。數(shù)據(jù)導入模塊負責從待取證手機持有者數(shù)據(jù)庫中提取有用信息,發(fā)送到情景恢復子模塊和數(shù)據(jù)恢復子模塊對得到的數(shù)據(jù)進行處理。數(shù)據(jù)導入模塊是與Android數(shù)據(jù)提取端(即用于提取數(shù)據(jù)的端口)聯(lián)接的模塊,Android數(shù)據(jù)提取端獲取到的數(shù)據(jù)通過網(wǎng)絡(luò)(或者USB、藍牙)等多種形式與本取證端(即Android系統(tǒng)的智能終端文件獲取以及數(shù)據(jù)恢復系統(tǒng))相連。在待取證設(shè)備上安裝Android數(shù)據(jù)提取端后,會與本取證端相連,并發(fā)送自己的IMEI和IMSI號,以標識特定設(shè)備。然后本取證端可以選擇待取證設(shè)備,并發(fā)送相應命令來獲取所需的數(shù)據(jù)。當Android數(shù)據(jù)提取端的發(fā)送的文件被本取證端接收后,本取證端將會按照取證手機將同一個取證設(shè)備的文件存放在相應的文件夾里。文件接收里能顯示實時接收到的文件相關(guān)信息。同時文件管理在數(shù)據(jù)管理模塊中,它按照設(shè)備的IMEI號將文件歸類管理。在獲得的待取證手機持有者的手機中,已經(jīng)被待取證手機持有者損壞了的占大部分。這種情況給破案增加了難度,很難從手機的sqlite中獲取數(shù)據(jù),其他功能也都無法完成?;诖?,本發(fā)明開發(fā)了一項“情景恢復”的功能,旨在在手機被損壞的情況下,在安卓模擬器中將手機“還原”,使其能夠呈現(xiàn)出損壞前的使用狀態(tài),有利于獲取待取證手機持有者的數(shù)據(jù)信息。情景恢復模塊的主要功能是獲取Data/data目錄下的所有APP的數(shù)據(jù),然后在安卓模擬器中呈現(xiàn)出來,并重現(xiàn)出手機損壞前的使用狀態(tài),獲取待取證手機持有者的使用手機的習慣、瀏覽網(wǎng)頁的記錄、聊天記錄、通話記錄、行動軌跡記錄等等重要信息,能夠得到對破案最為直接的證據(jù)。情景恢復主要是在安卓模擬器上實現(xiàn)的,所以本系統(tǒng)先在項目工程中嵌入安卓模擬器,將手機中的應用程序的sqlite數(shù)據(jù)以及配置文件,復制到安卓模擬器中,將原有的文件和數(shù)據(jù)替換掉,使得安卓模擬器中最終呈現(xiàn)出來的是已損壞手機中的數(shù)據(jù)和狀態(tài),這樣便達到了情景恢復的目的。由于手機中內(nèi)存儲空間的限制,當存儲空間較滿的時候,新添加的數(shù)據(jù)將會自動蓋寫之前存儲的數(shù)據(jù),或者在刪除之后新添加的數(shù)據(jù)也會覆蓋刪除區(qū)域內(nèi)的數(shù)據(jù),此時就會出現(xiàn)部分數(shù)據(jù)被覆蓋的情況。在數(shù)據(jù)覆蓋發(fā)生的時候,覆蓋是從后往前進行(首先覆蓋的是數(shù)據(jù)區(qū)域,然后才是類型區(qū)域)。若是數(shù)據(jù)區(qū)域被完全覆蓋,僅僅只有類型區(qū)域是沒有取證意義的,此時對未完全覆蓋的數(shù)據(jù)恢復也就失去了意義。在數(shù)據(jù)區(qū)域沒有被完全覆蓋的時候,由于刪除操作改變了單元的頭部,數(shù)據(jù)區(qū)域又被修改,因此無法定位每個字段的位置,此時需要對“可變長區(qū)域估算法”無法恢復的整片區(qū)域進行編碼轉(zhuǎn)義,并對轉(zhuǎn)義后的非結(jié)構(gòu)化數(shù)據(jù)進行分析。通常由取證人員根據(jù)經(jīng)驗分析和語義分析從殘留的數(shù)據(jù)片段中獲取關(guān)鍵信息,未來可以考慮由取證系統(tǒng)自動實現(xiàn)部分信息提取的功能。請見圖4和圖5,本發(fā)明提供的一種基于Android系統(tǒng)的智能終端文件獲取以及數(shù)據(jù)恢復方法,括以下步驟:步驟1:獲取待取證設(shè)備數(shù)據(jù);本發(fā)明提出基于HTML5的數(shù)據(jù)獲取算法獲取目前軟件所忽略的數(shù)據(jù)??紤]到如今HybirdApp(Android與Html5混合應用)的廣泛使用,Html的本地存儲也被應用到如淘寶、京東、攜程等應用中。Html5支持兩種的WebStorage,一種是永久性的本地存儲(localStorage),另外一種是會話級別的本地存儲(sessionStorage)。本發(fā)明除了SQLite中的數(shù)據(jù)之外,還能獲得HTML中本地保存的數(shù)據(jù);本發(fā)明通過sessionStorage對象可以直接操作存儲在瀏覽器中的會話級別的WebStorage。當會話結(jié)束后,數(shù)據(jù)會自動清除,跟未設(shè)置過期時間的Cookie類似。sessionStorage提供了四個方法來輔助我們進行對本地存儲做相關(guān)操作,1.setItem(key,value):添加本地存儲數(shù)據(jù)。2.getItem(key):通過key獲取相應的Value;3.removeItem(key):通過key刪除本地數(shù)據(jù);4.clsar():清空數(shù)據(jù)。本發(fā)明通過localStorage對象可以直接操作用戶永久存儲的Web端的數(shù)據(jù)。localStorage提供了四個方法來輔助我們進行對本地存儲做相關(guān)操作,1.setItem(key,value):添加本地存儲數(shù)據(jù)。2.getItem(key):通過key獲取相應的Value;3.removeItem(key):通過key刪除本地數(shù)據(jù);4.clsar():清空數(shù)據(jù)。本發(fā)明的數(shù)據(jù)提取主要針對智能手機的系統(tǒng)軟件,應用軟件以及瀏覽器信息。其中系統(tǒng)軟件的提取本系統(tǒng)實現(xiàn)了手機短信息提取,聯(lián)系人信息提取,手機通話記錄信息提取。手機應用的信息提取則實現(xiàn)了即時通訊類信息提取,郵箱類信息提取等。1.1:手機應用程序信息提??;4G時代的來臨以及智能手機的迅速普及,以及智能手機功能的強大,PC時代的社交、即時通訊、郵箱等這些涉及個人的私密數(shù)據(jù)的應用軟件已經(jīng)逐漸被應用于智能手機終端中。人們可以利用安裝在Android手機中的應用程序隨時隨地進行日?;顒雍徒涣鳌H找尕S富的應用程序為人們的生活帶來了很大的便利,由于這些應用程序含有大量的個人隱私數(shù)據(jù),也成為不少犯罪份子進行欺詐、勒索、盜竊的對象。應用程序的數(shù)據(jù)往往對取證工作具有非常重大的價值。目前,主流的涉及個人隱私數(shù)據(jù)比較多的應用程序主要分為四類,第一類是即時通訊類應用程序,包括QQ、Skype、飛信等。第二類是郵件類應用程序,包括Gmail、Hotmail、網(wǎng)易、QQ郵箱等。第三類是瀏覽器類應用程序,包括UC瀏覽器、QQ瀏覽器、百度瀏覽器等。第四類是社交類應用程序,包括人人網(wǎng)、新浪微博、騰訊微博等。根據(jù)Android系統(tǒng)架構(gòu)和數(shù)據(jù)存儲機制可以了解,Android應用程序主要將數(shù)據(jù)存儲在內(nèi)部存儲器上,內(nèi)部存儲器通過Android應用編輯接口(API)進行控制。當安裝一個應用程序時,系統(tǒng)會在/data/data子目錄下使用這個應用程序包的名字為此應用程序建立一個內(nèi)部存儲器。例如,Android瀏覽器程序包的默認名字為com.android.browser,因此,數(shù)據(jù)文件將會被存儲在子目錄“/data/data/com.android.browser”下。雖然系統(tǒng)沒有要求應用程序必須存儲數(shù)據(jù)文件,但大多數(shù)應用程序都會這樣做。在應用程序的“/data/data”子目錄中,有一些標準目錄以及由開發(fā)者控制的目錄,常見目錄如表1-1所示:表1-1應用程序標準目錄目錄名文件類型shared_prefs以XML格式存儲的共享優(yōu)先目錄lib(共享程序庫)應用程序所需的自定義庫文件files(文件)開發(fā)者存儲在內(nèi)部存儲器上的文件cache(緩存)應用程程序緩存的文件databases(數(shù)據(jù)庫)SQLite數(shù)據(jù)庫和日志文件從表1-1可以看到,在“/data/data/”子目錄中的應用程序目錄下的databases目錄中的文件是應用程序產(chǎn)生的用戶數(shù)據(jù),應重點提取。掌握應用程序的標準目錄機制可以讓取證人員快速鎖定應用程序中的數(shù)據(jù),快速找到相應的證據(jù)。1.2:瀏覽器類信息提?。皇謾C瀏覽器是用戶利用無線互聯(lián)網(wǎng)進行信息瀏覽的主要工具,瀏覽器中存儲著大量的用戶個人數(shù)據(jù),例如qq密碼、社交網(wǎng)站的密碼、瀏覽的信息等等。目前主流的瀏覽器有QQ瀏覽器、UC瀏覽器等。本發(fā)明主要對QQ瀏覽器進行提取和解析。QQ瀏覽器2.9版本的數(shù)據(jù)存儲在“/data/data/com.tencent.mtt/databases/”路徑下的database.db、default.db和webview.db數(shù)據(jù)庫中。對這三個數(shù)據(jù)庫文件進行分析可以發(fā)現(xiàn)瀏覽器的信息主要存儲在database.db的history表、default.db的mtt_bookmarks表和webview.db的password表中。具體解析如表1-2所示:表1-2QQ瀏覽器主要字段信息解析類似的,本系統(tǒng)還實現(xiàn)了uc瀏覽器的提取。1.3:HTML5數(shù)據(jù)獲?。籋tml4時代由于Cookie的大小、格式、存儲數(shù)據(jù)格式等限制,網(wǎng)站應用如果想在瀏覽器端存儲用戶的部分信息,那么只能借助于Cookie。但是Cookie的這些限制,也就導致了Cookie只能存儲一些ID之類的標識符等簡單的數(shù)據(jù),更加復雜的數(shù)據(jù)則不能儲存在本地。而Html5支持兩種的WebStorage,一種是永久性的本地存儲(localStorage),另外一種是會話級別的本地存儲(sessionStorage)。在Html5中增加了一個Js對象:sessionStorage;通過此對象可以直接操作存儲在瀏覽器中的會話級別的WebStorage。存儲在sessionStorage中的數(shù)據(jù)首先是Key-Value形式的,另外就是它跟瀏覽器當前會話相關(guān),當會話結(jié)束后,數(shù)據(jù)會自動清除,跟未設(shè)置過期時間的Cookie類似。sessionStorage提供了四個方法來輔助進行對本地存儲做相關(guān)操作。如下表1-3所示。表1-3在最新的JS的API中增加了localStorage對象,以便于用戶存儲永久存儲的Web端的數(shù)據(jù)。而且數(shù)據(jù)不會隨著Http請求發(fā)送到后臺服務(wù)器,而且存儲數(shù)據(jù)的大小機會不用考慮,因為在HTML5的標準中要求瀏覽器至少要支持到4MB.所以,這完全是顛覆了Cookie的限制,為Web應用在本地存儲復雜的用戶痕跡數(shù)據(jù)提供非常方便的技術(shù)支持。那接下里分別介紹一下localStorage的常用的方法,當然基本上跟sessionStorage是一致的。localStorage提供了四個方法來輔助進行對本地存儲做相關(guān)操作。如下表1-4所示。表1-41setItem(key,value):添加本地存儲數(shù)據(jù)。2getItem(key):通過key獲取相應的Value3removeItem(key):通過key刪除本地數(shù)據(jù)4clsar():清空數(shù)據(jù)步驟2:數(shù)據(jù)恢復;根據(jù)SQLite的數(shù)據(jù)結(jié)構(gòu),分析了刪除后數(shù)據(jù)的存儲形式,提出了一種面向SQLite數(shù)據(jù)庫中已刪除數(shù)據(jù)的恢復方法,該方法通過探測估算“可變長區(qū)域”的具體長度來確定刪除區(qū)域中數(shù)據(jù)內(nèi)容的位置,針對被未完全覆蓋的數(shù)據(jù)進行最大程度的恢復。經(jīng)過對Android手機上短信數(shù)據(jù)的恢復實驗,證明了該恢復方法的有效性。2.1:刪除數(shù)據(jù)的存儲形式;根據(jù)對SQLite數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)的分析可以看出,被SQLite刪除過的數(shù)據(jù)僅通過手機應用程序或者普通的數(shù)據(jù)庫瀏覽器并不能正常讀取。通過實驗發(fā)現(xiàn),在刪除數(shù)據(jù)之后僅僅只有數(shù)據(jù)單元區(qū)域的頭部信息發(fā)生了改變,該區(qū)域被數(shù)據(jù)庫識別為刪除域1,刪除域以碎片、空閑塊或者空閑頁的形式存在。由于SQLite的輕量級特性,在刪除操作時僅僅進行了邏輯刪除而非物理刪除,只要這片刪除域沒有被新增的數(shù)據(jù)給完全覆蓋,那么將刪除后的數(shù)據(jù)恢復是大有可能的。在SQLite數(shù)據(jù)庫中進行不同的刪除、更新和插入操作時,都會改變數(shù)據(jù)庫中的數(shù)據(jù),并會對數(shù)據(jù)庫數(shù)據(jù)的結(jié)構(gòu)產(chǎn)生不同的改變,產(chǎn)生了碎片、空閑塊或者空閑頁。不同的數(shù)據(jù)參數(shù)設(shè)置,碎片的字節(jié)數(shù)達到不同的數(shù)量就會啟動整理程序,此時碎片中的數(shù)據(jù)將不復存在。每一個空閑塊的前兩個字節(jié)說明了下一個空閑塊的偏移量,緊接著的兩個字節(jié)說明該空閑塊的大小??臻e塊中可能包含一個或者多個單元,當刪除的數(shù)據(jù)量較大時,多個單元會被合并為一個空閑塊。而當空閑塊與未分配區(qū)相連接的時候,將合并入相鄰的未分配區(qū)中。由于碎片只占不過4個字節(jié),數(shù)據(jù)意義不大,但是空閑塊和未分配區(qū)中的數(shù)據(jù)有很大的恢復可能。刪除區(qū)域的類型分為了三種情況,如表2-1:表2-1刪除區(qū)域的存儲類型1.刪除區(qū)域包含單元的一部分,此時可能以碎片或者空閑塊形式存在,此時的空閑塊中只包含部分數(shù)據(jù)。2.刪除區(qū)域包含一個單元,此時這個空閑塊緊挨著兩個正常的單元。3.刪除區(qū)域包含多個單元,此時這個空閑塊會被并入到未分配區(qū)中。根據(jù)SQLite的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫中真正的數(shù)據(jù)內(nèi)容只被存儲在B+Tree葉子頁的單元記錄數(shù)據(jù)區(qū)中,若數(shù)據(jù)保存在可變長度區(qū)域可能會導致模糊定位。在SQLite數(shù)據(jù)被刪除之后,存儲單元的前四個字節(jié)被修改,前2個字節(jié)表示下一個空閑塊的偏移位置,接下來的2個字節(jié)表示當前空閑塊的大小。SQLite設(shè)計時規(guī)定:SQLite會對所有整型的字段自動增長。RowID的值被曝存在單元的頭部。Payload中type1將設(shè)為空,標識為0X00。這個規(guī)則為數(shù)據(jù)恢復提供了便利,刪除操作后改變的前四個字節(jié)中,Payload-size、RowID和Header-size三部分至少各占一個字節(jié),type1也只占一個字節(jié),那么這幾個部分大小就超過了四個字節(jié)。真正有效的數(shù)據(jù)type2,type3…typeN和data1,data2…dataN都沒有被改變,也就一定程度的保證了恢復數(shù)據(jù)的有效性,本發(fā)明將Payload-size、RowID和Header-size合稱為“可變長度區(qū)域”,此時可變長度區(qū)域大小分為三種情況,如表2-2:表2-2刪除單元前四個字節(jié)2個字節(jié)2個字節(jié)Type2……TypeNData1……DataN(1)Payload-size、RowID、Header-size占據(jù)空間最小2個字節(jié)2個字節(jié)Type1……TypeNData1……DataN(2)Payload-size、RowID、Header-size占據(jù)4個字節(jié)2個字節(jié)2個字節(jié)……Type1……TypeNData1……DataN(3)Payload-size、RowID、Header-size占據(jù)大于4個字節(jié)1.若可變長度區(qū)域每部分各占一個字節(jié)(共3個字節(jié)),那么執(zhí)行刪除操作之后,只有前四個字節(jié)被改變,真正有效的數(shù)據(jù)type2—typeN和data1—dataN都沒有被改變。2.若可變長度區(qū)域一共占四個字節(jié),那么執(zhí)行刪除操作之后,只有前四個字節(jié)被改變,type1和真正有效的數(shù)據(jù)type2—typeN和data1—dataN都沒有被改變。3.若可變長度區(qū)域一共超過了四個字節(jié),那么執(zhí)行刪除操作之后,只有前四個字節(jié)被改變,此時可變長度區(qū)域中的殘留部分沒有被改變,type1和真正有效的數(shù)據(jù)type2—typeN和data1—dataN也沒有被改變。通過對可變長度區(qū)域的三種情況分析,證實了真正有效的數(shù)據(jù)type2—typeN和data1—dataN無論任何情況下都沒有被改變。由于前四個字節(jié)被刪除,無法通過單元頭部得到單元各個字段的長度。由于可變長整數(shù)存儲形式中存在結(jié)束標識,并且Android應用SQLite數(shù)據(jù)庫中各個字段個數(shù)固定統(tǒng)一,就可以預估type字段的范圍并計算大小,以確定每個字段對應的每個Data區(qū)域大小,然后找到Data區(qū)范圍并讀取存儲的數(shù)據(jù),再根據(jù)數(shù)據(jù)庫的編碼方式完成恢復數(shù)據(jù)的功能。2.2:可變長區(qū)域長度估算法;為了恢復被刪除的數(shù)據(jù),恢復的方法必須包含估算可變長的區(qū)域,用以確定該記錄的類型和數(shù)據(jù)的值。首先將需要確定的就是被刪除的單元的長度,然后,將可變長區(qū)域長度設(shè)置為默認值3(Payload-Size、RowID和Header-Size每部分各占一個字節(jié)),以便于后續(xù)增加這個長度。驗證估算值的過程中,需要計算可變長區(qū)域的長度和數(shù)據(jù)類型type區(qū)域長度和數(shù)據(jù)內(nèi)容data區(qū)域長度之和與最初的單元長度作比較。Data區(qū)域總長度最少為2個字節(jié),若存在TEXT和BLOB字段時將會超過56個字節(jié),若不是以上兩種類型,那么該類型字段的長度為1個字節(jié)。由于計算的內(nèi)容包括了類型所占的長度和數(shù)據(jù)內(nèi)容所占的長度,估算總長度的公式為:f(x)=m+x+l;其中,x表示估算的可變長區(qū)域長度,包括Payload-Size、RowID和Header-Size;m表示記錄數(shù)據(jù)類型部分的(type區(qū)域)總長度,若存在TXET字段和BLOB字段將超過56個字節(jié),計算公式為l表示記錄數(shù)據(jù)內(nèi)容區(qū)的(data區(qū)域)總長度,計算公式為:其中,i為自定義的循環(huán)參數(shù),無特殊意義;n為可變長區(qū)域塊的個數(shù);type_size[i]表示第i塊的數(shù)據(jù)類型長度,data_size[i]表示第i塊的數(shù)據(jù)內(nèi)容長度;將公式計算出的f(x)值與碎片的總長度進行比較,當兩個值相等時就認為估算正確并且可以進行恢復,如果這兩個值并不相等,就需要重復上述過程并將估算值加1;當可變長區(qū)域長度的估值超過了27個字節(jié)(Payload-Size、RowID和Header-Size每個值最多占9個字節(jié))時,可以表明該刪除域包含部分被覆蓋、損壞的數(shù)據(jù)或者包含多個單元,此時就需要進行單元切割方法的嘗試。在數(shù)據(jù)庫的刪除過程中,單元的刪除順序是隨機發(fā)生的,空閑塊起始位置的第三四個字段所說明的空閑塊總大小是格外重要的。通過讀取SQL定義語句中得到的各個字段類型,由此確定部分數(shù)據(jù)類型所占的長度和數(shù)據(jù)內(nèi)容所占的長度。2.3:單元切割法;當可變長區(qū)域的長度估值超過了27個字節(jié),此時需要通過單元切割法將該空閑區(qū)包含的多個數(shù)據(jù)單元區(qū)分出來。此時需要不斷的重復2.2中的步驟,將預測的數(shù)據(jù)單元長度從前往后加入棧中。當確定最后一個單元的大小后,依次出棧,從后往前確定每一個數(shù)據(jù)單元的大小。直到棧為空,若最后棧還不為空則表示數(shù)據(jù)被部分覆蓋或者損壞。具體的流程如圖6,其中whole-size表示為將當前空閑塊區(qū)域的總大小值,從當前空閑塊的起始地址block-start開始進行多單元數(shù)據(jù)提取,g-size表示對當前位置數(shù)據(jù)單元的猜測值,extra-size表示猜測完一個數(shù)據(jù)單元大小后的剩余區(qū)域大小。步驟3:情景恢復;安卓手機的情景恢復功能主要是針對于原手機損壞的情況下,無法按照正常渠道獲取手機的數(shù)據(jù)和狀態(tài)。本發(fā)明利用情景恢復技術(shù)在PC端的安卓模擬器上還原出手機損壞前的狀態(tài),利于分析手機數(shù)據(jù)。情景恢復的理論實現(xiàn)方法是從已損壞的安卓手機中利用人工手段獲取手機中的sqlite數(shù)據(jù)庫和APP的配置文件,即相當于備份整部手機數(shù)據(jù)。然后將這些獲得的數(shù)據(jù)庫或者配置文件或者安裝文件,覆蓋到安卓模擬器中去,使得安卓模擬器能夠呈現(xiàn)出已損壞手機的原始數(shù)據(jù)和狀態(tài)。情景恢復的主要的實現(xiàn)方案是利用adbshell從已損壞的手機中提取手機中的app列表以及其中的配置文件和sqlite數(shù)據(jù)庫,然后根據(jù)app列表在安卓模擬器中安裝相應的應用軟件,最后把配置文件和數(shù)據(jù)庫覆蓋到在安卓模擬器中新安裝的軟件中去。在安卓模擬器中實現(xiàn)對手機的情景恢復。情景恢復功能的實現(xiàn)基本是用adb語句實現(xiàn)的,本發(fā)明利用Android系統(tǒng)自動記住密碼功能,獲得手機持有人的網(wǎng)站瀏覽痕跡以及微博、百度貼吧等登錄憑證,通過這些應用的跟蹤和登陸進行深度取證,可以在SDK模擬器中實現(xiàn)手機用戶私有信息的情景重現(xiàn),通過現(xiàn)有應用呈現(xiàn)手機數(shù)據(jù),解決提取文本亂碼的問題。具體實現(xiàn)包括以下步驟:1:利用adbshell從已損壞的手機中提取手機中的app列表,關(guān)鍵命令:adbshellsuls/data/app。2:然后根據(jù)app列表導出應用APK文件,其中包括配置文件。關(guān)鍵命令:adb.exepull/data/app/[軟件包名][localpath]。3:導出用戶應用數(shù)據(jù)庫文件,關(guān)鍵命令:Adbpull/data/app[軟件包名]/databases[lacalpath]。4:把配置文件和數(shù)據(jù)庫覆蓋到在安卓模擬器中新安裝的軟件中去。在安卓模擬器中實現(xiàn)對手機的情景重現(xiàn)。關(guān)鍵命令:adbinstall–r[.apk].一般配置文件的存放位置都不盡相同,而且種類較多,而有使用價值的配置文件有AndroidManifest.xml和project.properties。它們均在應用軟件的apk中,本發(fā)明在導入apk的同時,配置文件也隨之導入到本地。一般應用軟件的數(shù)據(jù)庫的位置是/data/data/軟件包名/databases。以QQ瀏覽器為例,它的數(shù)據(jù)庫在手機中的存放位置是/data/com.tencent.mtt/databases。利用adbpull<path>[localpath]。即將該應用軟件的databases文件夾下的所有數(shù)據(jù)庫拷貝到本地apk文件中的assets文件夾中。4.將apk文件裝載到安卓模擬器上面。情景恢復的最后一步實現(xiàn)是將之前獲得的含有用戶數(shù)據(jù)和配置文件的應用軟件apk裝載到安卓模擬器中。打開模擬器,即可看到已損壞手機之前的狀態(tài)。步驟4:數(shù)據(jù)輸出。本發(fā)明提供的基于Android的智能終端信息重現(xiàn)系統(tǒng)采用較為成熟的智能終端文件獲取,實現(xiàn)了對于嫌疑人智能終端的數(shù)據(jù)獲取,針對司法機關(guān)迫切需要解決的問題提出了創(chuàng)新性的方法,目的在于解決現(xiàn)有取證技術(shù)的局限性,本系統(tǒng)能夠在獲取待取證手機持有者手機的基礎(chǔ)上,將待取證手機持有者手機上的數(shù)據(jù)庫導入到本系統(tǒng)的數(shù)據(jù)庫中,并通過對其進行數(shù)據(jù)的整理,然后通過結(jié)構(gòu)化的表現(xiàn)形式將結(jié)果呈現(xiàn),在滿足了司法機關(guān)對于數(shù)據(jù)獲取的基礎(chǔ)需求之后,更錦上添花地增加了情景恢復等創(chuàng)新功能。因為智能終端信息重現(xiàn)在這類犯罪中所起的作用是決定性的,打擊手機犯罪最重要的是獲取證據(jù),因而,手機電子證據(jù)的提取、鑒定和舉證成為安全部門亟待解決的問題。如何有效的進行智能終端文件信息的重現(xiàn)成為維護人民生命財產(chǎn)安全的重要環(huán)節(jié)。對于待取證手機持有者的Android手機,我們可以取出其數(shù)據(jù),挖掘出有用信息,幫助偵查。能有效解決司法機關(guān)以及公安機關(guān)等對電子證據(jù)取證的需求。本發(fā)明與現(xiàn)有商業(yè)產(chǎn)品不同與創(chuàng)新之處主要體現(xiàn)在是以下三個方面:1.當前商業(yè)產(chǎn)品能夠很好地恢復未被覆蓋的數(shù)據(jù),但是對于被有意擦除并覆蓋的數(shù)據(jù)考慮較少,本系統(tǒng)能夠有效的恢復非完全覆蓋的數(shù)據(jù)。2.由于HTML5良好的靈活性和控制性,越來越多的應用程序采用該技術(shù)來存儲數(shù)據(jù),現(xiàn)有的電子取證工具,主要是處理的SQLite中的數(shù)據(jù),而本系統(tǒng)還能有效的提取HTML5中的數(shù)據(jù)。3.當前的產(chǎn)品主要都是將提取的電子證據(jù)以文本的形式展現(xiàn)出來,但是由于各種手機應用的編碼方式不同,很多數(shù)據(jù)呈現(xiàn)出亂碼,取證人員難以利用。本系統(tǒng)除了傳統(tǒng)的文本呈現(xiàn)形式之外,還能登陸手機用戶的關(guān)鍵應用,如微信、qq、微博等,準確重現(xiàn)手機用戶私有信息,而且,還可能以待取證手機持有者的賬戶登陸相關(guān)應用,為取證人員的深度取證提供有力支持。應當理解的是,本說明書未詳細闡述的部分均屬于現(xiàn)有技術(shù)。應當理解的是,上述針對較佳實施例的描述較為詳細,并不能因此而認為是對本發(fā)明專利保護范圍的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明權(quán)利要求所保護的范圍情況下,還可以做出替換或變形,均落入本發(fā)明的保護范圍之內(nèi),本發(fā)明的請求保護范圍應以所附權(quán)利要求為準。當前第1頁1 2 3