丁錳,康艷榮,黃冬
(1.中國(guó)人民公安大學(xué)刑事技術(shù)學(xué)院,北京 100038;2.公安部物證鑒定中心,北京 100038; 3.中國(guó)人民公安大學(xué)犯罪學(xué)學(xué)院,北京 100038)
一種獲取Android應(yīng)用程序密碼的方法
丁錳1,康艷榮2,黃冬3
(1.中國(guó)人民公安大學(xué)刑事技術(shù)學(xué)院,北京 100038;2.公安部物證鑒定中心,北京 100038; 3.中國(guó)人民公安大學(xué)犯罪學(xué)學(xué)院,北京 100038)
目前Android是移動(dòng)設(shè)備的主流操作系統(tǒng),與此同時(shí),Android上的應(yīng)用數(shù)量也日益增多。在這種情況下,如何對(duì)其中的數(shù)據(jù)進(jìn)行提取、處理和分析成為一個(gè)重要的研究方向,并且對(duì)公安工作具有重要的意義。通過(guò)實(shí)驗(yàn)研究如何使用免費(fèi)工具在手機(jī)的RAM中提取數(shù)據(jù)并進(jìn)行分析,進(jìn)而得到Android系統(tǒng)上常見(jiàn)應(yīng)用程序QQ的密碼等信息。
Android;電子數(shù)據(jù);DDMS
在移動(dòng)設(shè)備中存在大量與用戶相關(guān)的數(shù)據(jù),這些數(shù)據(jù)目前已經(jīng)成為調(diào)查取證人員關(guān)注的重點(diǎn)。根據(jù)數(shù)據(jù)在設(shè)備斷電后是否消失可以將其分為兩類:一類是易失性的,斷電后就會(huì)消失。另一類是非易失性的,斷電后不會(huì)消失。按照以上的分類方法,設(shè)備的RAM中存儲(chǔ)的是易失性數(shù)據(jù),在這些數(shù)據(jù)中通常都包含一些非常重要的信息,如應(yīng)用程序的密碼和用戶名,認(rèn)證證書(shū),等等。Android是一種在移動(dòng)設(shè)備上常見(jiàn)的操作系統(tǒng),如何獲取Android設(shè)備RAM中的數(shù)據(jù)并分析其中的重要信息對(duì)調(diào)查取證工作具有重要意義。
目前國(guó)內(nèi)外的專家在如何獲取非易失性數(shù)據(jù)方面做了大量的工作,也開(kāi)發(fā)了很多比較好的取證軟件,而在如何獲取易失性數(shù)據(jù)方面則較少研究,針對(duì)Android設(shè)備RAM中數(shù)據(jù)的研究就更少。
2010年8月,Thomas Cannon在博客中介紹了一種獲取Android應(yīng)用程序內(nèi)存中數(shù)據(jù)的方法[2],即通過(guò)向應(yīng)用程序發(fā)送一個(gè)信號(hào)(SIGUSRI)將該程序所用內(nèi)存中的數(shù)據(jù)轉(zhuǎn)存。
2012年8月,Joe Sylve和Andrew Case等人發(fā)表文章[3],提供了一種完全獲取Android設(shè)備內(nèi)存中易失性數(shù)據(jù)的方法,并發(fā)布了一個(gè)名為DMD的取證工具。
2013年,希臘比雷埃夫斯大學(xué)的Dimitris等人發(fā)表了一篇文章,其主要內(nèi)容是提取Android內(nèi)存中的認(rèn)證證書(shū)[4]。
2.1 實(shí)驗(yàn)工具
在本實(shí)驗(yàn)中使用的是電子數(shù)據(jù)分析常用工具WinHex以及Android軟件開(kāi)發(fā)工具包(SDK)中的DDMS(Dalvik Debug Monitor Service)工具。DDMS是Android開(kāi)發(fā)環(huán)境中的Dalvik虛擬機(jī)調(diào)試監(jiān)控服務(wù),它可以針對(duì)特定的進(jìn)程查看正在運(yùn)行的線程以及堆信息。在本實(shí)驗(yàn)中主要將其用于提取應(yīng)用程序存儲(chǔ)在RAM中的數(shù)據(jù)。
在使用DDMS工具前需要確定實(shí)驗(yàn)設(shè)備上的Android是否為ENG版(工程版),如果不是ENG版,而是USER版(用戶版),則DDMS工具就無(wú)法發(fā)揮其應(yīng)有的作用??梢酝ㄟ^(guò)adb shell getprop ro.build.type命令的返回值確定Android是否為工程版,如果返回值是ENG即是工程版,返回值是USER則是用戶版。
2.2 實(shí)驗(yàn)步驟
本實(shí)驗(yàn)使用的操作系統(tǒng)是在virtual box虛擬機(jī)中全新安裝的ubuntu,具體的實(shí)驗(yàn)步驟如下:
首先在virtual box中新建一臺(tái)虛擬機(jī)并安裝ubuntu操作系統(tǒng),然后安裝jdk,最后安裝Android軟件開(kāi)發(fā)工具包(SDK)。
連接設(shè)備,并使用adb devices命令檢測(cè)設(shè)備是否已經(jīng)連接。
在DDMS中查看正在運(yùn)行的進(jìn)程,如圖1。
實(shí)驗(yàn)針對(duì)的應(yīng)用程序是被廣泛使用的QQ。將進(jìn)程com.tencent.qq的數(shù)據(jù)轉(zhuǎn)存至文件,文件的名稱默認(rèn)為:com.tencent.qq.hprof。
圖1 正在運(yùn)行的進(jìn)程
2.3 實(shí)驗(yàn)結(jié)果
在相同條件下反復(fù)進(jìn)行10次實(shí)驗(yàn),用WinHex打開(kāi)實(shí)驗(yàn)過(guò)程中轉(zhuǎn)存的10個(gè)文件,依次在這些文件中尋找用戶名和密碼(如圖2),結(jié)果發(fā)現(xiàn)QQ的用戶名(號(hào)碼)10次、密碼9次。
圖2 用WinHex查看轉(zhuǎn)存文件
在查找用戶名和密碼的過(guò)程中,筆者發(fā)現(xiàn)在用戶名和密碼前都會(huì)出現(xiàn)一段同樣的數(shù)據(jù)“40 12 AB B0 40 0F AE 18 40”,圖3和圖4分別是登陸不同的QQ號(hào)碼進(jìn)行實(shí)驗(yàn)后找到的用戶名和密碼。
由此可見(jiàn),使用本實(shí)驗(yàn)的方法可以發(fā)現(xiàn)某些Android應(yīng)用程序的重要信息。更重要的是,實(shí)驗(yàn)說(shuō)明如果在案件現(xiàn)場(chǎng)出現(xiàn)了手機(jī)等電子設(shè)備,則需要特別注意設(shè)備的運(yùn)行情況,如果設(shè)備正在運(yùn)行,則有可能提取到RAM中的數(shù)據(jù),并分析得到重要的信息。由于目前很多用戶習(xí)慣在不同的應(yīng)用程序中使用同一密碼,因此獲取一個(gè)應(yīng)用程序的密碼就有可能得到很多應(yīng)用程序的重要信息。
圖3 登錄不同QQ號(hào)碼后找到的用戶名
圖4 登陸不同QQ號(hào)碼后找到的密碼
通過(guò)實(shí)驗(yàn)可知,在RAM中有可能提取到某些Android應(yīng)用程序的重要信息比如密碼和用戶名,而且提取工作通過(guò)一些免費(fèi)的工具就可以進(jìn)行。因此在調(diào)查取證的過(guò)程中,如果有正在運(yùn)行的Android設(shè)備,則應(yīng)特別注意RAM中的數(shù)據(jù)。
除本實(shí)驗(yàn)研究的問(wèn)題以外,還有其他一些需要深入研究的問(wèn)題,如對(duì)于USER模式的手機(jī)如何獲取其RAM中的數(shù)據(jù)?在RAM中還包括什么其他的重要信息?這些都是對(duì)公安工作非常有價(jià)值的問(wèn)題,值得進(jìn)一步通過(guò)實(shí)驗(yàn)開(kāi)展研究。
[1]HOOG A.Android forensics:investigation,analysis and mobile security for Google Android[M].ELSEVIER,2011.
[2]Cannon,Thomas:Android Reverse Engineering,Accessed:04/19/2012.[Online]:http:∥thomascannon.net/ projects/Android-reversing/.
[3]SYLVE J,CASE A,MARZIALE L,et al.Acquisition and analysis of volatile memory from Android devices[J].Digital Investigation,2012,8(3):175-184.
[4]Dimitris A,Giannis M,Christororos N.Christos X:Discovering authentication credentials in volatile memory of Android mobile devices Univesity of Piraeus.
[5]HERIYANTO A P.Procedures And Tools For Acquisition And Analysis Of Volatile Memory On Android Smartphones[J].2013.
(責(zé)任編輯 陳小明)
TP316
丁錳(1980—),男,北京人,碩士,講師。