• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于逆向工程的計算機(jī)取證方案研究

    2014-04-29 00:00:00劉天悅

    摘 要:自從互聯(lián)網(wǎng)問世的幾十年來,帶動了計算機(jī)普及的同時,同時也導(dǎo)致了計算機(jī)犯罪案件的大幅上升。計算機(jī)中的電子證據(jù)由于其虛擬性,易修改、易丟失等特性,加之操作系統(tǒng)、程序本身的封裝限制,所以造成了計算機(jī)犯罪中取證的困難。近幾年來,由于逆向工程方案的問世,一種嶄新的程序測試方法也隨之誕生。本文利用逆向工程方面的知識,探討該項技術(shù)方案在計算機(jī)取證中的應(yīng)用,以求能降低計算機(jī)犯罪中取證的困難度。

    關(guān)鍵詞:逆向工程;計算機(jī)取證;網(wǎng)絡(luò)犯罪

    中圖分類號:TP391.7

    當(dāng)前,網(wǎng)絡(luò)空間如今在以高速的節(jié)奏發(fā)展壯大,幾乎每天都有計算機(jī)被用于從事犯罪活動。隨著計算機(jī)網(wǎng)絡(luò)、硬件和軟件的構(gòu)成越來越復(fù)雜,加之其與傳統(tǒng)證據(jù)的勘驗、檢查方法以及取證對象等的不同,也增加了將其用于犯罪活動的可能性與取證的難度。由于在軟件測試中,黑盒測試方法無法獲知源程序是否被篡改,犯罪分子有可能利用程序的封裝性所造成的取證難度加大而隱藏了犯罪證據(jù)。逆向工程可從本質(zhì)上分析程序代碼結(jié)構(gòu)以及程序的運行流程,從而得到犯罪分子的犯罪證據(jù)。

    1 逆向工程簡介

    計算機(jī)程序一般是用C、C++等高級語言編寫后,由編譯器編譯成機(jī)器語言形式的目標(biāo)文件后,再通過鏈接過程最終生成可執(zhí)行的程序。逆向工程(Reverse Engineering)是將某封裝好的可執(zhí)行程序還原成高級語言、匯編語言或是二進(jìn)制代碼的一種技術(shù)。通常源程序與逆向分析后的結(jié)果存在不同,運行的結(jié)果雖然相同,但是代碼會發(fā)生很大變化,這就需要分析偵查人員對軟件測試、計算機(jī)低級語言甚至程序運行原理有著深刻的認(rèn)識和理解。

    目前逆向工程常用的分析軟件分為兩大類:動態(tài)反匯編分析以及靜態(tài)反匯編分析軟件。在“動態(tài)分析”過程中,調(diào)試器加載程序,并以調(diào)試模式運行,分析者可以在程序的執(zhí)行過程中獲知程序運行的流程以及最終的結(jié)果。但是實際的分析中,很多情況并不能實際的運行目標(biāo)程序,比如某一個無法單獨運行的模塊、惡意代碼、硬件環(huán)境與程序不兼容而導(dǎo)致無法運行……而所謂的“靜態(tài)分析”,是相對于“動態(tài)分析”而言的。調(diào)試工具Ollydbg具有動態(tài)分析的功能,但是其反匯編輔助分析功能有限,所以一般使用功能極為強(qiáng)大的反匯編靜態(tài)分析工具IDA Pro。

    2 利用逆向技術(shù)分析計算機(jī)物證實例

    本文以某個已經(jīng)捆綁了一個隱藏的未知程序的可執(zhí)行程序為例,此已知的可執(zhí)行程序為一個常見的應(yīng)用程序,并無危害,但是其內(nèi)部捆綁了一個未知的程序,普通的黑盒測試中是無法判斷其危害性,進(jìn)而也無法取得這種情況下的電子物證。下面通過逆向技術(shù)的分析,來判定這個未知程序的作用以及取得該電子物證。

    實驗環(huán)境為Windows 8.1下的VMWare虛擬機(jī)配置的Windows XP SP3的操作系統(tǒng)環(huán)境。某未知程序,其運行后效果為系統(tǒng)提供的cmd.exe程序,但是由于其被附加了另一個未知程序,不能判定該程序類型、功能,所以我們利用互式反編譯工具IDA Pro來進(jìn)行分析。圖1為使用IDA Pro打開該程序后的界面。

    圖1 使用IDA Pro打開該程序后的界面

    從圖1可以得出該文件是一個Win32 PE文件。Win32 PE(Protable Execute)文件名稱為可移植執(zhí)行文件,日常所用的exe、com、sys等后綴名的文件都屬于PE文件類型,該文件是windows系統(tǒng)上的程序文件,其有可能直接執(zhí)行,也有可能以動態(tài)鏈接庫(dll)的形式間接運行。我們在調(diào)試VC++開發(fā)的程序時,總是從main(或是WinMain)函數(shù)開始,實際上,在這兩個函數(shù)被調(diào)用運行之前,已經(jīng)有真正的入口函數(shù)被調(diào)用,通常入口函數(shù)是mainCRTStartup、wmainCRTStartup、WinMainCRTStartup以及wWinMainCRTStartup,具體情況和編譯器的選項有關(guān)。用IDA Pro的程序樹視圖(圖2)可以看到,IDA Pro已經(jīng)把真正的入口函數(shù)部分隱藏,它會直接分析出WinMain函數(shù)所在位置并且直接顯示出來,這對于分析人員進(jìn)行逆向分析降低了一定的難度。

    圖2 IDA Pro的程序樹視圖

    在windows絕大部分的程序調(diào)用中,實際上程序調(diào)用時會釋放到臨時變量中,載入內(nèi)存,然后再運行程序。本文所用的程序也屬于這種情況,所以分析時從CreateFile和WriteFile兩個函數(shù)入手,詳細(xì)分析出該程序具體實現(xiàn)的功能。

    在IDA Pro的導(dǎo)入信息函數(shù)窗口(Imports)中,找到CreateFileA與WriteFileA函數(shù),由于這兩個函數(shù)總是成對出現(xiàn),所以分析時只觀察一個即可。列出所有CreateFileA被用引用過的窗口(圖3)發(fā)現(xiàn)本程序共調(diào)用了4次CreateFile函數(shù),說明其共創(chuàng)建了4份臨時文件。

    圖3 列出所有CreateFileA被用引用過的窗口

    查看用戶變量文件夾,在運行qqq.exe之后,變量文件夾內(nèi)產(chǎn)生了3個臨時文件(圖4)。

    圖4 運行qqq.exe之后,變量文件夾內(nèi)產(chǎn)生了3個臨時文件

    也證明了該程序確實調(diào)用了4個CreateFile函數(shù),第一個CreateFile函數(shù)創(chuàng)建了程序本身,后三個函數(shù)分別創(chuàng)建了qqq.exe,iexpoler.exe,svchsot.exe三個應(yīng)用程序?,F(xiàn)通過十六進(jìn)制文本編輯器來分離其中的一部分程序。利用010edit編輯器打開qqq.exe文件,在識別的ASCII字符串中可發(fā)現(xiàn)MZ文件頭,MZ文件頭是PE文件類型的標(biāo)志之一,這使得PE文件成為一個合法的DOS可執(zhí)行文件。通過篩選幾處MZ字符串,發(fā)現(xiàn)此程序是由兩部分組合而成,將最后的MZ標(biāo)識之后的所有數(shù)據(jù)都復(fù)制到記事本中,修改后綴名為exe,運行結(jié)果如圖5所示:

    圖5 修改后綴名為exe后的運行結(jié)果

    結(jié)束,原程序是由cmd控制臺程序與上述MessageBox程序捆綁組合而成。這里我們利用了IDA Pro分析了程序構(gòu)造,以及利用了十六進(jìn)制文本編輯器進(jìn)行了程序的分離操作,同理也可引用到計算機(jī)取證分析中去。

    3 結(jié)束語

    計算機(jī)程序由于其具有封裝的性質(zhì),一般在程序測試中,所用黑盒測試占了絕大部分。但是黑盒測試有其無法避免的缺點:黑盒測試一般只能用來測試程序的功能性、可用性是否完好,而無法判定一個程序的內(nèi)部構(gòu)造。若某程序封裝了一個在表面看不出運行結(jié)果的程序段,那么在運行時,利用進(jìn)程隱藏等技術(shù),是可以靜默地運行某段未知程序代碼的,這就勢必造成了一定的安全問題,同時在計算機(jī)犯罪事后取證中也造成了一定影響。利用逆向工程方面的知識,可以將一個程序完全“解剖”開來,與白盒測試相類似,這就解決了上述難題,相信隨著逆向工程理論與技術(shù)的發(fā)展,一定會有更廣闊的前景與用途。

    參考文獻(xiàn):

    [1]Frederic Lemieux.Investigating Cyber Security Threats:Exploring National Security and Law Enforcement Perspectives. Report GW-CSPRI-2011-2, April 7,2011.

    [2]Markson Aigbodi,Karim Ouazzane, Daniel Mitchell.Defence in-depth for Cyber Security With Custom Anti-Virus Signature Definition.ISBN:978-0-9853484-3-5,2013.SDIWC.

    [3]Chris Eagle.The IDA Pro Book: The Unofficial Guide to the World’s Most Popular Disassembler[M].ISBN:978-1-59327-178-7,published by No Starch Press,2008.

    作者簡介:劉天悅(1989-),男,蒙古族,遼寧沈陽人,現(xiàn)為網(wǎng)絡(luò)安全保衛(wèi)學(xué)院碩士研究生,研究方向:信息安全及計算機(jī)犯罪偵查。

    作者單位:中國人民公安大學(xué),北京 100038

    宁安市| 二连浩特市| 石城县| 绍兴县| 宝清县| 黄山市| 陇西县| 白河县| 广元市| 青铜峡市| 类乌齐县| 沅陵县| 靖边县| 嵩明县| 辉县市| 沙雅县| 莒南县| 湘乡市| 台前县| 彭泽县| 临颍县| 广南县| 宁陵县| 灵石县| 信宜市| 隆德县| 忻州市| 武邑县| 土默特左旗| 蚌埠市| 彭泽县| 新丰县| 尚义县| 奈曼旗| 偃师市| 利辛县| 扎赉特旗| 凭祥市| 咸阳市| 宜兰市| 夹江县|