張明遠(yuǎn),祁欣妤,宋宇波,顧榮榮,胡愛(ài)群,朱珍超
?
基于協(xié)議逆向的移動(dòng)終端通信數(shù)據(jù)解析
張明遠(yuǎn)1,祁欣妤2,宋宇波2,顧榮榮2,胡愛(ài)群2,朱珍超2
(1. 國(guó)家無(wú)線電監(jiān)測(cè)中心檢測(cè)中心,北京 100041;2. 東南大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,江蘇 南京 211189)
針對(duì)移動(dòng)終端通信協(xié)議及通信數(shù)據(jù)的解析,其難點(diǎn)在于大部分移動(dòng)終端應(yīng)用程序并無(wú)相關(guān)公開(kāi)的技術(shù)文檔,難以獲知其采取的通信協(xié)議類型。指令執(zhí)行序列分析技術(shù)通過(guò)分析程序執(zhí)行的指令序列逆向推斷出消息格式和狀態(tài)機(jī)。但有時(shí)序列信息采集不全,導(dǎo)致?tīng)顟B(tài)機(jī)推斷不完備,從而無(wú)法獲取全部協(xié)議信息。針對(duì)上述問(wèn)題,提出了一個(gè)新型的基于狀態(tài)機(jī)對(duì)比推斷分析的移動(dòng)終端通信協(xié)議解析方案,可用于取證場(chǎng)景提高數(shù)據(jù)取證的準(zhǔn)確性和完備性。該方案首先利用PIN動(dòng)態(tài)二進(jìn)制插樁,識(shí)別污點(diǎn)源并跟蹤污點(diǎn)軌跡分析出協(xié)議消息格式;然后根據(jù)格式信息對(duì)提取的協(xié)議消息進(jìn)行聚類分析推斷出原始狀態(tài)機(jī);最后利用最長(zhǎng)公共子序列(LCS, longest common subsequence)算法與已知的協(xié)議狀態(tài)機(jī)進(jìn)行對(duì)比,相似度最高者即為推斷出的通信協(xié)議類型。在Android平臺(tái)上基于兩類應(yīng)用程序設(shè)計(jì)實(shí)驗(yàn)對(duì)該方案進(jìn)行測(cè)試和評(píng)估,實(shí)驗(yàn)結(jié)果表明可準(zhǔn)確提取應(yīng)用程序的通信內(nèi)容,實(shí)用價(jià)值強(qiáng)。
移動(dòng)終端;數(shù)據(jù)取證;動(dòng)態(tài)污點(diǎn)分析;協(xié)議逆向分析;相似性對(duì)比
移動(dòng)終端已成為違法詐騙案件中最常利用的犯罪媒介之一,犯罪分子通過(guò)應(yīng)用程序等方式竊取個(gè)人信息或制造惡意攻擊,達(dá)到犯罪目的。存儲(chǔ)在智能終端、智能終端附屬設(shè)備以及移動(dòng)運(yùn)營(yíng)商數(shù)據(jù)庫(kù)中的聯(lián)系人、短信息、通話記錄、各種應(yīng)用程序的數(shù)據(jù)信息等數(shù)據(jù)都可作為有效的證據(jù)信息,但對(duì)運(yùn)營(yíng)商數(shù)庫(kù)的調(diào)用涉及復(fù)雜的權(quán)限級(jí)別等問(wèn)題,所需時(shí)間長(zhǎng),無(wú)法及時(shí)取證,因此如何快速有效地針對(duì)智能終端進(jìn)行通信數(shù)據(jù)取證,有極為重要的意義。
隨著應(yīng)用程序的爆發(fā)式增長(zhǎng),針對(duì)應(yīng)用程序執(zhí)行產(chǎn)生的數(shù)據(jù)信息取證逐漸成為研究熱點(diǎn)。然而,在應(yīng)用程序執(zhí)行過(guò)程中,程序以及用戶的初始化數(shù)據(jù)極易被覆蓋或抹去,或者被第三方加密,因此無(wú)法獲得完整的通信數(shù)據(jù)。為了證據(jù)采集的完整性,還應(yīng)對(duì)應(yīng)用程序執(zhí)行過(guò)程中產(chǎn)生的網(wǎng)絡(luò)通信數(shù)據(jù)進(jìn)行取證。網(wǎng)絡(luò)協(xié)議規(guī)定了網(wǎng)絡(luò)實(shí)體之間進(jìn)行數(shù)據(jù)交換的通信機(jī)制和內(nèi)容,對(duì)網(wǎng)絡(luò)通信數(shù)據(jù)的分析和理解有著至關(guān)重要的作用。因此,在智能終端取證前,要先對(duì)目標(biāo)應(yīng)用程序所采用的網(wǎng)絡(luò)協(xié)議進(jìn)行逆向分析和推斷。網(wǎng)絡(luò)協(xié)議主要包括消息格式以及狀態(tài)機(jī),因此想要逆向分析出采用的網(wǎng)絡(luò)協(xié)議,要推斷出消息格式以及狀態(tài)機(jī)。當(dāng)前市場(chǎng)上的應(yīng)用程序大多采用自定義的私有協(xié)議,并無(wú)公開(kāi)范本,這給協(xié)議的推斷造成了難點(diǎn)?,F(xiàn)有的協(xié)議逆向分析的方法,依據(jù)分析對(duì)象的不同大致分為3類:人工逆向分析、報(bào)文序列逆向分析和指令執(zhí)行序列逆向分析。
文獻(xiàn)[1]對(duì)軟件實(shí)現(xiàn)逆向分析工程的各類方法和工具進(jìn)行了總結(jié),主要有2類實(shí)現(xiàn)方法:分析觀察到的信息交換和反匯編方法。第一種方法是最常用的協(xié)議逆向方法,還需使用總線分析器和數(shù)據(jù)包嗅探器,具體方法是:首先成功接入計(jì)算機(jī)總線或當(dāng)前的網(wǎng)絡(luò)連接,然后截取通信數(shù)據(jù),最后分析觀察到的總線或者網(wǎng)絡(luò)行為。Pan等[2]基于這種方法,通過(guò)安裝系統(tǒng)模擬器和嗅探器工具,提出了基于網(wǎng)絡(luò)協(xié)議反向分析的遠(yuǎn)程控制木馬漏洞挖掘方案,為移動(dòng)終端的遠(yuǎn)程安全防御做出了貢獻(xiàn)。第二種反匯編方法使用反匯編器,將程序執(zhí)行文件編譯成整數(shù)(往往為十六進(jìn)制),從而找到突破口實(shí)現(xiàn)逆向工程,文獻(xiàn)[3-5]基于這種方法,提出運(yùn)用二進(jìn)制編輯器實(shí)現(xiàn)逆向的方案,從而完成協(xié)議漏洞檢測(cè)功能。就網(wǎng)絡(luò)協(xié)議逆向的一般方法而言,Blumbergs等[6]給出了大體框架結(jié)構(gòu),給相關(guān)研究工作者提供了清晰的思路:Sija等[7]提出了一種無(wú)記錄以太網(wǎng)和無(wú)線協(xié)議的協(xié)議逆向工程方法,Goo等[8]在此基礎(chǔ)上進(jìn)一步針對(duì)精確協(xié)議給出了逆向協(xié)議分析工程的一般性框架。
遺憾的是,現(xiàn)有的協(xié)議逆向研究集中在協(xié)議消息格式的逆向分析上,忽略了狀態(tài)機(jī)推斷結(jié)果是否完整的問(wèn)題,一個(gè)協(xié)議的狀態(tài)機(jī)有多種狀態(tài)和狀態(tài)轉(zhuǎn)化方式,在進(jìn)行移動(dòng)終端應(yīng)用程序通信消息取證時(shí)提取的僅是協(xié)議消息的一個(gè)子集。因此,在此基礎(chǔ)上推導(dǎo)得出的僅是一個(gè)不完備狀態(tài)機(jī),無(wú)法準(zhǔn)確推斷其所采用的通信協(xié)議類型。針對(duì)上述問(wèn)題,本文提出一種新型可用于智能終端通信數(shù)據(jù)取證的協(xié)議解析方案。該方案首先利用PIN動(dòng)態(tài)二進(jìn)制插樁,識(shí)別污點(diǎn)源并跟蹤污點(diǎn)軌跡,通過(guò)軌跡信息分析出協(xié)議消息格式;然后根據(jù)格式信息對(duì)提取的協(xié)議消息進(jìn)行聚類分析推斷出原始狀態(tài)機(jī);最后利用LCS算法與公開(kāi)通信協(xié)議狀態(tài)機(jī)進(jìn)行相似性對(duì)比,從而推斷出移動(dòng)終端應(yīng)用程序使用的通信協(xié)議類型,提高數(shù)據(jù)取證的準(zhǔn)確性和完備性。
基于協(xié)議逆向的移動(dòng)終端通信數(shù)據(jù)解析的核心思想是:利用協(xié)議逆向分析技術(shù)的指令執(zhí)行序列分析方法,對(duì)移動(dòng)終端中應(yīng)用程序的通信協(xié)議進(jìn)行完整推斷,從而基于協(xié)議內(nèi)容實(shí)現(xiàn)對(duì)移動(dòng)終端通信數(shù)據(jù)的主動(dòng)獲取分析,找到關(guān)鍵“證據(jù)”數(shù)據(jù)。本文的主要研究工作集中在移動(dòng)終端取證系統(tǒng)的建立上。根據(jù)取證的自發(fā)性與否,手機(jī)取證可以分為靜態(tài)取證和動(dòng)態(tài)取證。
靜態(tài)取證又名事后取證,是指在犯罪行為發(fā)生后,關(guān)閉目標(biāo)終端并獲取其存儲(chǔ)介質(zhì)中的內(nèi)容,如短信、通話、網(wǎng)頁(yè)記錄等,運(yùn)用各種取證手段對(duì)獲得的數(shù)據(jù)進(jìn)行分析,從而篩選出有效的電子證據(jù),是一種被動(dòng)的取證方式。靜態(tài)取證領(lǐng)域的研究成果已較為成熟:對(duì)于數(shù)據(jù)獲取的方法,Barmpatsalon等[9]歸納出手動(dòng)獲取、物理取證技術(shù)和邏輯取證技術(shù)這3種方法。針對(duì)操作系統(tǒng)權(quán)限問(wèn)題,Du[10]提出在取證前進(jìn)行ADB操作的方法,使安卓手機(jī)權(quán)限提升至root級(jí)別,能更便捷地獲取信息。之后,文獻(xiàn)[11-12]提出了反對(duì)意見(jiàn):權(quán)限的提升可能會(huì)導(dǎo)致獲得的信息證據(jù)效力降低的問(wèn)題,指出了root的非必要性,并分別利用三星的Galaxy S2的應(yīng)用程序Orwe和flasher box技術(shù)成功印證了觀點(diǎn)。針對(duì)刪除數(shù)據(jù)恢復(fù)的問(wèn)題,文獻(xiàn)[13-14]提出了一種依據(jù)Android系統(tǒng)SQLite存儲(chǔ)格式和刪除存儲(chǔ)機(jī)制的恢復(fù)方法。
基于靜態(tài)取證實(shí)時(shí)性不強(qiáng)、缺乏周期性完整證據(jù)鏈的弊端,以及智能手機(jī)具有存儲(chǔ)量小和易于擦寫(xiě)的特點(diǎn),Grobler[15]指出應(yīng)采用動(dòng)態(tài)取證彌補(bǔ)靜態(tài)取證的缺陷,用對(duì)事件實(shí)時(shí)控制的方式取代對(duì)既定事件的處理。動(dòng)態(tài)取證是在目標(biāo)手機(jī)運(yùn)行的過(guò)程中對(duì)數(shù)據(jù)進(jìn)行采集和分析來(lái)獲得電子證據(jù)。針對(duì)智能終端存儲(chǔ)器數(shù)據(jù)易失性、難恢復(fù)性問(wèn)題,Thing等[16]提出了一種數(shù)據(jù)動(dòng)態(tài)獲取方法,調(diào)用Kernel內(nèi)核的PTRACE功能實(shí)時(shí)追蹤進(jìn)程,但只能獲得特定內(nèi)存區(qū)域的軌跡數(shù)據(jù)。目前對(duì)手機(jī)動(dòng)態(tài)取證的實(shí)驗(yàn)研究較少,缺乏完整的知識(shí)架構(gòu)。
圖1描述了主動(dòng)取證系統(tǒng)的整體架構(gòu),它由3部分構(gòu)成:1) 取證代理模塊集成了污點(diǎn)源識(shí)別與軌跡跟蹤記錄功能,利用動(dòng)態(tài)污點(diǎn)分析技術(shù),將動(dòng)態(tài)識(shí)別到的網(wǎng)絡(luò)數(shù)據(jù)標(biāo)記為污點(diǎn)源,追蹤污點(diǎn)源進(jìn)入程序后的軌跡,并將這些軌跡信息存儲(chǔ)下來(lái)發(fā)送給下一個(gè)模塊;2) 證據(jù)分析模塊以收到的軌跡信息為基礎(chǔ)進(jìn)行污點(diǎn)傳播分析,得到應(yīng)用程序處理網(wǎng)絡(luò)數(shù)據(jù)的過(guò)程等相關(guān)信息,解析出應(yīng)用程序的消息格式以及狀態(tài)機(jī),在此模塊本文創(chuàng)造性地用字符串相似度算法對(duì)比推斷出的狀態(tài)機(jī)和已有的狀態(tài)機(jī),從而獲得完整的協(xié)議狀態(tài)機(jī);3) 證據(jù)存儲(chǔ)模塊將得到的結(jié)果進(jìn)行存儲(chǔ)。3個(gè)部分順次進(jìn)行、協(xié)調(diào)分工,形成一個(gè)動(dòng)態(tài)的周期性證據(jù)鏈。
圖1 主動(dòng)取證系統(tǒng)的整體架構(gòu)
取證代理模塊包含3個(gè)部分:污點(diǎn)源動(dòng)態(tài)識(shí)別子模塊、軌跡跟蹤子模塊以及軌跡存儲(chǔ)子模塊。作為整個(gè)主動(dòng)取證系統(tǒng)的核心,取證代理模塊集成了污點(diǎn)源識(shí)別和軌跡跟蹤記錄功能,為之后的數(shù)據(jù)分析模塊提供了數(shù)據(jù)基礎(chǔ)。
證據(jù)分析模塊由4個(gè)部分組成:污點(diǎn)傳播分析子模塊、消息格式解析子模塊、狀態(tài)機(jī)推斷子模塊和狀態(tài)機(jī)對(duì)比子模塊。其中,消息格式解析子模塊是核心環(huán)節(jié),實(shí)現(xiàn)了分隔符和關(guān)鍵詞提取、長(zhǎng)度域和目標(biāo)域確定等功能。消息格式解析完成后,將消息聚類并輸出給狀態(tài)機(jī)推斷子模塊。狀態(tài)機(jī)推斷子模塊包括增廣前綴樹(shù)(APTA)構(gòu)造、狀態(tài)機(jī)標(biāo)記、狀態(tài)機(jī)的化簡(jiǎn)。作為主動(dòng)取證系統(tǒng)的中間環(huán)節(jié),證據(jù)分析模塊對(duì)整個(gè)系統(tǒng)的運(yùn)行起到了承上啟下的作用。
證據(jù)存儲(chǔ)模塊是整個(gè)主動(dòng)取證系統(tǒng)的最終環(huán)節(jié),以MySQL數(shù)據(jù)庫(kù)系統(tǒng)為平臺(tái),主要負(fù)責(zé)獲得的電子證據(jù)的存儲(chǔ)功能,配合時(shí)間戳、數(shù)字簽名、數(shù)字摘要等技術(shù)保證了電子證據(jù)的可靠性和有效性。
MySQL是一種開(kāi)源的數(shù)據(jù)庫(kù)管理系統(tǒng),可用于分類存儲(chǔ)電子證據(jù)。MySQL具有操作簡(jiǎn)便的優(yōu)點(diǎn),只需登錄用戶界面即可查看電子證據(jù)。存儲(chǔ)的證據(jù)類型較齊全,包括指令軌跡信息、消息格式、狀態(tài)機(jī)以及推斷出的網(wǎng)絡(luò)協(xié)議。消息格式存儲(chǔ)結(jié)構(gòu)如表1所示,狀態(tài)機(jī)中各個(gè)狀態(tài)存儲(chǔ)結(jié)構(gòu)如表2所示。
表1 消息格式存儲(chǔ)結(jié)構(gòu)
表2 狀態(tài)機(jī)中狀態(tài)存儲(chǔ)結(jié)構(gòu)
PIN是Intel開(kāi)發(fā)的一款動(dòng)態(tài)二進(jìn)制插樁工具,在不同的操作系統(tǒng)上支持不同的CPU架構(gòu)。PIN的內(nèi)外部程序是分開(kāi)的,其固有框架的開(kāi)發(fā)和升級(jí)維護(hù)由企業(yè)內(nèi)部相關(guān)人員負(fù)責(zé),但面向外部用戶,它提供了一個(gè)很大的服務(wù)中心——API函數(shù)群供用戶使用,可以完成性能分析、內(nèi)存分配、資源管理、計(jì)算等工作?;诖耍琍IN除了計(jì)算機(jī)架構(gòu)分析之外,被廣泛地應(yīng)用于環(huán)境模擬、計(jì)算機(jī)安全以及計(jì)算。此外,Intel向用戶提供了一系列簡(jiǎn)易的開(kāi)發(fā)插件,這些插件統(tǒng)稱為Pintool。在取證代理模塊,本文提出了一種基于PIN的污點(diǎn)源動(dòng)態(tài)識(shí)別技術(shù)和一種基于PIN的軌跡跟蹤存儲(chǔ)技術(shù)。
為了降低污點(diǎn)分析開(kāi)銷,本文選擇在操作系統(tǒng)層面引入污點(diǎn),應(yīng)用程序獲取網(wǎng)絡(luò)報(bào)文需要調(diào)用相應(yīng)的API函數(shù),通過(guò)分析API函數(shù)的執(zhí)行情況,可以得到目標(biāo)應(yīng)用程序接收到的消息序列的字節(jié)數(shù)和存儲(chǔ)位置。最后將這些報(bào)文所處的內(nèi)存標(biāo)記成污點(diǎn)源。具體流程如圖2所示。
圖2 污點(diǎn)源識(shí)別流程
軌跡信息是指指令的執(zhí)行流程和指令的操作數(shù)、操作碼和地址。其中,指令的操作數(shù)在指令執(zhí)行的過(guò)程中動(dòng)態(tài)改變,因此需要借助額外代碼及時(shí)更新新的軌跡信息。具體做法為:PIN虛擬機(jī)載入應(yīng)用程序,動(dòng)態(tài)地插入分析代碼,同時(shí)將分析代碼緩存,及時(shí)編譯、執(zhí)行插樁后的代碼以獲得程序運(yùn)行時(shí)的數(shù)據(jù),記錄軌跡信息。圖3為程序動(dòng)態(tài)插樁示意。此次實(shí)驗(yàn)調(diào)用了INS_AddInstrumentFunction函數(shù),用以判斷指令操作數(shù)的類型并獲得操作數(shù)的內(nèi)容。
圖3 程序動(dòng)態(tài)插樁示意
在證據(jù)分析模塊,本文提出改進(jìn)的協(xié)議逆向分析技術(shù),與現(xiàn)有的協(xié)議逆向技術(shù)相比,增加了基于LCS算法的狀態(tài)機(jī)對(duì)比部分,以獲得應(yīng)用程序通信協(xié)議的完整消息格式和狀態(tài)機(jī)文件。改進(jìn)的好處是:可獲得通信協(xié)議的完整消息格式和狀態(tài)機(jī),通過(guò)查看協(xié)議文檔存儲(chǔ)的關(guān)鍵詞具體含義,理解通信雙方的行為,判斷捕獲的數(shù)據(jù)信息能否作為證據(jù)信息。
LCS算法是一種字符串相似度算法,除此之外的字符串相似度算法有編輯距離算法和貪婪字符串對(duì)比算法,與后兩者相比,LCS算法時(shí)間復(fù)雜度較低,故本文選用LCS算法進(jìn)行狀態(tài)機(jī)的對(duì)比。LCS算法的具體步驟如下。
1) 計(jì)算2個(gè)字符串的長(zhǎng)度記為L(zhǎng)en1(str1)和Len2(str2),如果其中任一個(gè)字符串的長(zhǎng)度為0,則最長(zhǎng)公共子序列長(zhǎng)度為0。
2) 構(gòu)造一個(gè)大小為(Len1+1)×(Len2+1)的矩陣,將矩陣的第一行與第一列均置零,即0,j=0,a,0=0,其中,0≤≤Len1,0≤≤Len2。
3) 計(jì)算矩陣的每一個(gè)元素a,j,則矩陣中最大元素的值為最大公共序列的長(zhǎng)度,記為L(zhǎng)CS。
表3 狀態(tài)序列示例
本文選擇智能移動(dòng)終端操作系統(tǒng)Android作為系統(tǒng)測(cè)試平臺(tái),針對(duì)目前關(guān)注度較高的2種應(yīng)用程序類型:網(wǎng)頁(yè)瀏覽類和即時(shí)通信類,選擇相應(yīng)的應(yīng)用程序作為測(cè)試對(duì)象,實(shí)現(xiàn)了完整的主動(dòng)取證分析系統(tǒng)。
針對(duì)網(wǎng)頁(yè)瀏覽類應(yīng)用程序,本文選用ES文件瀏覽器為代表測(cè)試對(duì)象。首先打開(kāi)ES文件瀏覽器的FTP功能,新建一個(gè) FTP服務(wù)器,建立后對(duì)其訪問(wèn)進(jìn)行如下操作:在目錄下新建一個(gè)txt文件,并將手機(jī)上的文件001.pcap復(fù)制至該目錄,最后刪除新建立的txt文件。在進(jìn)行上述操作的同時(shí),對(duì)本文設(shè)計(jì)的主動(dòng)取證系統(tǒng)按運(yùn)行步驟相繼進(jìn)行測(cè)試。
根據(jù)解析出的消息格式,利用狀態(tài)機(jī)推斷策略,推斷出ES文件瀏覽器的協(xié)議狀態(tài)轉(zhuǎn)換結(jié)果,如圖4所示。根據(jù)狀態(tài)機(jī)對(duì)比策略,將得到的13條狀態(tài)轉(zhuǎn)換信息與FTP和SMTP的狀態(tài)轉(zhuǎn)換信息進(jìn)行對(duì)比,對(duì)比結(jié)果如表4所示。
圖4 狀態(tài)轉(zhuǎn)換信息解析結(jié)果
通過(guò)狀態(tài)對(duì)比可以確定ES文件瀏覽器使用了FTP處理上述通信數(shù)據(jù),并將主動(dòng)取證系統(tǒng)解析得到的ES文件瀏覽器通信數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,如圖5所示。其中,1中的用戶名、3中的密碼和其余的操作信息等都是可以作為證據(jù)信息的數(shù)據(jù)。按時(shí)間順序排列存儲(chǔ)得到消息格式信息,可以直觀地看到目標(biāo)對(duì)手機(jī)應(yīng)用程序所執(zhí)行的所有操作和操作相互之間的時(shí)序關(guān)系。
表4 狀態(tài)比對(duì)結(jié)果
針對(duì)即時(shí)通信類應(yīng)用程序,本文將手機(jī)自帶的郵箱作為代表測(cè)試對(duì)象。過(guò)程如下:打開(kāi)郵箱并添加賬號(hào);在成功添加賬號(hào)后該應(yīng)用程序會(huì)自動(dòng)收取郵件;使用該賬號(hào)發(fā)送一封電子郵件。
在郵件收取階段,以通信數(shù)據(jù)消息格式的解析結(jié)果為基礎(chǔ),結(jié)合狀態(tài)機(jī)推斷策略,得到狀態(tài)轉(zhuǎn)換結(jié)果,如圖6所示。根據(jù)狀態(tài)機(jī)對(duì)比策略,將所得的6條狀態(tài)轉(zhuǎn)換信息與POP3協(xié)議和IMAP進(jìn)行對(duì)比,與POP3協(xié)議的相似度高達(dá)100%,由此可以確定該應(yīng)用程序是使用POP3協(xié)議收取郵件的。
圖6 郵件收取階段狀態(tài)轉(zhuǎn)換信息解析結(jié)果
同樣地,在郵件發(fā)送階段,得到狀態(tài)轉(zhuǎn)換結(jié)果如圖7所示。將得到的9條狀態(tài)轉(zhuǎn)換信息與SMTP和FTP進(jìn)行對(duì)比,與SMTP的相似度高達(dá)100%,由此可以確定該應(yīng)用程序是使用SMTP發(fā)送郵件的。
圖7 郵件發(fā)送階段狀態(tài)轉(zhuǎn)換信息解析結(jié)果
將主動(dòng)取證系統(tǒng)解析得到的郵件應(yīng)用程序通信數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,如圖8所示??梢钥闯觯鲃?dòng)取證系統(tǒng)在郵件的收取階段和發(fā)送階段成功地獲取了郵箱用戶的用戶名、密碼、郵箱中郵件的數(shù)目和大小、郵件發(fā)送方和接收方、郵件主題等有效的證據(jù)信息。
圖8 郵件應(yīng)用程序解析結(jié)果展示
本文提出了一種基于協(xié)議逆向分析的移動(dòng)終端通信數(shù)據(jù)主動(dòng)取證方案,由取證代理模塊、證據(jù)分析模塊和證據(jù)存儲(chǔ)模塊3個(gè)部分組成。與現(xiàn)有的基于協(xié)議逆向分析的移動(dòng)終端通信數(shù)據(jù)取證技術(shù)相比,做了兩方面的改進(jìn):第一,在取證代理模塊,利用二進(jìn)制插樁工具PIN實(shí)現(xiàn)了對(duì)污染源的動(dòng)態(tài)識(shí)別和軌跡動(dòng)態(tài)追蹤,保證了證據(jù)采集的及時(shí);第二,在證據(jù)分析模塊,增加了基于LCS算法的狀態(tài)機(jī)對(duì)比部分,保證了證據(jù)追溯的完整。實(shí)驗(yàn)結(jié)果表明,該取證系統(tǒng)兼具實(shí)時(shí)性和完整性,實(shí)用價(jià)值強(qiáng)。
[1] SIJA B D, GOO Y H, KYU S S, et al. Survey on network protocol reverse engineering approaches, methods and tools[C]// IEEE Network Operations and Management Symposium. 2017:271-274.
[2] PAN D, WANG Y, XUE Z. Remote control trojan vulnerability mining based on reverse analysis of network protocol[J]. Computer Engineering, 2016:124-140
[3] WEN S, MENG Q, FENG C, et al. Protocol vulnerability detection based on network traffic analysis and binary reverse engineering[J]. Plos One, 2017, 12(10): 186-188.
[4] LI W, AI M, JIN B. A network protocol reverse engineering method based on dynamic taint propagation similarity[M]. Intelligent Computing Theories and Application. Springer International Publishing, 2016:580-592.
[5] WEI X, LIU R, XU F. Reverse analysis of industrial control protocol based on static binary analysis[J]. Application of Electronic Technique, 2018: 366-372.
[6] BLUMBERGS B, VAARANDI R. BBUZZ: a bit-aware fuzzing framework for network protocol systematic reverse engineering and analysis[C]//IEEE Military Communications Conference. 2017: 707-712.
[7] SIJA B D, GOO Y H, SHIM K S, et al. Protocol reverse engineering methods for undocumented ethernet and wireless protocols; survey[C]//Symposium of the Korean Institute of Communications and Information Sciences. 2017:281-312.
[8] GOO Y H, SHIM K S, CHAE B M, et al. Framework for precise protocol reverse engineering based on network traces[C]// IEEE/IFIP Network Operations and Management Symposium. 2018: 1-4.
[9] BARMPATSALON K, DAMOPOULOS D, KAMBOURAKIS G, et al. A critical review of 7 years of mobile device forensics[J]. Digital Investigation, 2015, (10): 323-349.
[10] DU J. Android mobile forensics privilege promotion[J]. Silicon Valley. 2016, 14: 563-578.
[11] AL BARGHOUTHY N, MARRINGTON A. A comparison of forensic acquisition techniques for android devices: a case study investigation of or Web browsing sessions[C]//2014 6th International Conference on New Technologies Mobility and Security (NTMS). 2014: 1-4.
[12] JONKERS K. The forensic use of mobile phone flasher boxes[J]. Digital Investigation, 2015, (6): 168-178.
[13] JEON S, BANG J, BYUN K, et al. A recovery method of deleted record for SQLite database[J]. Personal and Ubiquitous Computing, 2017, 16(6): 707-715.
[14] YANG Y T, ZU Z Y, SUN G Z. Historical data recovery from android devices[M]//Future Information Technology. Berlin Heidelberg: Springer, 2016: 251-257.
[15] GROBLER C, LOUWRENS C, VON SOLMS S. A multi-component view of digital forensics: fifth international conference on availability, reliability, and security[C]//IEEE Piscataway. 2011: 647-652.
[16] THING V L L, NG K Y, CHANG E C. Live memory forensics of mobile phones[J]. Digital Investigation, 2015:74-82.
Analysis of communication data of mobile terminal based on protocol reversal
ZHANG Mingyuan1, QI Xinyu2, SONG Yubo2, GU Rongrong2, HU Aiqun2, ZHU Zhenchao2
1. The State Radio Monitoring Center Testing Center, Beijing 100041, China 2.School of Cyber Science and Engineering South East University, Nanjing 211189, China
The most problem in analysis of communication protocols and communication data for mobile terminals is that many mobile applications do not have the relevant public technical documents, and it is difficult to know the type of communication protocol it adopts. The instruction execution sequence analysis technique takes the instruction sequence executed by the program as a research object, and inversely infers the message format and the state machine to obtain the communication protocol. However, due to the incomplete collection of sequence information, the state machine infers that the inference is incomplete and cannot be effective. A novel protocol reverse scheme based on state machine comparison is proposed, which can be used for the forensics of mobile terminal communication data. The scheme first uses PIN for dynamical identification of the taint, and track it and analyzes the trajectory to obtain the message format. Secondly, the message clustering is performed on the basis of the message format to infer the protocol state machine. Finally, the LCS algorithm is used to compare the state machines to get a complete protocol state machine. This article tests and evaluates the scheme based on two types of application design experiments on the Android platform. The experimental results show that the results are both complete and real-time, and have practical value.
mobile terminal, data forensics, dynamic stain analysis, protocol reverse analysis, similarity comparison
TN915.08
A
10.11959/j.issn.2096-109x.2018099
2018-11-01;
2018-11-28
祁欣妤,220184390@seu.edu.cn
國(guó)家自然科學(xué)基金資助項(xiàng)目(No.61601113);中央高校基本科研業(yè)務(wù)費(fèi)專項(xiàng)基金資助項(xiàng)目(No.2242017K40013)
The National Natural Science Foundation of China (No.61601113), The Fundamental Research Funds for the Central Universities of China (No.2242017K40013)
張明遠(yuǎn)(1982-),男,內(nèi)蒙古人,碩士,國(guó)家無(wú)線電監(jiān)測(cè)中心檢測(cè)中心工程師,主要研究方向?yàn)樾滦蜔o(wú)線電檢測(cè)技術(shù)。
祁欣妤(1995-),女,江蘇南京人,東南大學(xué)碩士生,主要研究方向?yàn)橥ㄐ啪W(wǎng)絡(luò)安全。
宋宇波(1977-),男,江蘇無(wú)錫人,博士,東南大學(xué)副教授,主要研究方向?yàn)橥ㄐ啪W(wǎng)絡(luò)安全及協(xié)議安全性分析。
顧榮榮(1990-),女,江蘇鹽城人,東南大學(xué)碩士生,主要研究方向?yàn)橹悄芤苿?dòng)終端。
胡愛(ài)群(1952-),男,江蘇南通人,博士,東南大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)橥ㄐ啪W(wǎng)絡(luò)安全。
朱珍超(1982-),男,安徽霍邱人,博士,東南大學(xué)講師,主要研究方向?yàn)槊艽a學(xué)與網(wǎng)絡(luò)安全。