朱 平, 杜彥輝
(中國人民公安大學(xué), 北京 100038)
隨著計(jì)算機(jī)及互聯(lián)網(wǎng)技術(shù)應(yīng)用的廣泛發(fā)展,信息數(shù)據(jù)可直接或間接產(chǎn)生巨大的經(jīng)濟(jì)利益及其他社會(huì)利益,不同的利益目標(biāo)促使以竊取特定信息為目的的木馬的“專業(yè)性”更強(qiáng)。具有高深隱藏技術(shù)的計(jì)算機(jī)木馬在沒有被捕獲到特征碼以前,基于特征碼的檢測(cè)方式?jīng)]有辦法進(jìn)行常規(guī)檢測(cè),在這種情形下,木馬的檢測(cè)只能通過基于行為檢測(cè)的方式。但是,對(duì)于以竊取特定信息為目的的“專業(yè)性”木馬,在特定條件沒有得到滿足前經(jīng)常處于“休眠式”的潛伏狀態(tài),只運(yùn)行基本的環(huán)境信息搜集代碼,執(zhí)行環(huán)境探測(cè)等低等級(jí)、不易暴露的正常軟件常見行為。這些正常軟件常見的并且活動(dòng)量極少的行為往往能夠躲過基于行為檢測(cè)的木馬檢測(cè)。為此,本文將對(duì)計(jì)算機(jī)木馬檢測(cè)中的木馬誘發(fā)條件進(jìn)行全面研究,探討觸發(fā)木馬產(chǎn)生更多“工作行為”,以提升木馬檢測(cè)成功率的模擬環(huán)境模型。
目前計(jì)算機(jī)木馬檢測(cè)方法主要分為兩大類:一是基于特征碼的檢測(cè)方式;二是基于行為的檢測(cè)方式。
(1)特征碼檢測(cè)主要依賴于木馬特征碼的提取與比對(duì)。檢測(cè)通常包含特征碼設(shè)計(jì),特征碼提取和掃描引擎檢測(cè)三大模塊。檢測(cè)算法一般采用可變長度的特征碼集合來增加掃描引擎的檢查效率;特征碼提取模塊自動(dòng)定位病毒代碼的位置,然后提取其中某些字節(jié)作為特征碼;掃描引擎檢測(cè)模塊首先針對(duì)每個(gè)目標(biāo)文件都進(jìn)行一次準(zhǔn)特征碼提取操作,將獲得到準(zhǔn)特征碼放到特征碼庫中去匹配,匹配成功后再進(jìn)行二次準(zhǔn)特征碼提取和二次特征碼匹配,最終確定目標(biāo)文件是否被特征碼庫中的木馬感染過。檢測(cè)實(shí)現(xiàn)上,可分為單機(jī)殺毒軟件式和網(wǎng)絡(luò)入侵檢測(cè)類式。受制于檢測(cè)的基本原理,特征碼檢測(cè)法只能對(duì)已知特征碼的計(jì)算機(jī)木馬檢測(cè)有效,對(duì)未獲取到特征碼的計(jì)算機(jī)木馬將完全失效。
(2)行為檢測(cè)主要是對(duì)可疑程序的行為進(jìn)行監(jiān)控,記錄程序在運(yùn)行時(shí)與操作系統(tǒng)交互過程中所調(diào)用的API函數(shù)相關(guān)信息或特定行為組合,從中抽取特征輸入檢測(cè)器,檢測(cè)器對(duì)樣本集進(jìn)行學(xué)習(xí)后即可用于對(duì)可疑程序進(jìn)行自動(dòng)檢測(cè)。對(duì)于尚未被捕獲到特征碼的木馬檢測(cè),只能依靠于基于木馬行為的檢測(cè)。但是,檢測(cè)軟件需要捕獲既定的木馬行為,如果出于信息安全保密的考慮,在不能將待檢嫌疑機(jī)連接至真實(shí)互聯(lián)網(wǎng)環(huán)境的情況下,如何構(gòu)造有效的模擬環(huán)境,誘發(fā)木馬脫離“潛伏狀態(tài)”產(chǎn)生更多的“工作行為”,將直接影響木馬檢測(cè)效果。
據(jù)調(diào)研,高“專業(yè)性”木馬的工作通??煞炙膫€(gè)階段:一是植入階段,即通過特定方式將木馬植入特定主機(jī);二是所需信息資源驗(yàn)證階段,即驗(yàn)證所侵入主機(jī)是否存儲(chǔ)有特定的、值得工作進(jìn)行竊取的信息;三是信息竊取與通訊安全性驗(yàn)證階段,即探測(cè)是否具有能夠保障竊取信息不被發(fā)現(xiàn)的特殊運(yùn)行時(shí)環(huán)境,以及能夠掩護(hù)與控制者通訊行為的安全環(huán)境掩護(hù)保障;四是信息竊取階段,即通過信息資源驗(yàn)證,信息竊取與通訊環(huán)境安全得到保障后開始竊取信息;或與控制者聯(lián)系,接收控制者指令進(jìn)行信息竊取。
通過研究木馬上述第二、第三階段所需的環(huán)境,提出一種基于主機(jī)行為與環(huán)境及互聯(lián)網(wǎng)環(huán)境模擬的木馬行為誘發(fā)模型。
模型包括主機(jī)行為與環(huán)境模擬端及互聯(lián)網(wǎng)環(huán)境模擬端兩個(gè)部分:結(jié)構(gòu)圖如圖1。
圖1 木馬行為誘發(fā)模型結(jié)構(gòu)圖
主機(jī)行為與環(huán)境模擬端負(fù)責(zé)模擬各種條件下的主機(jī)環(huán)境及用戶行為,具體包含操作系統(tǒng)環(huán)境模擬模塊、應(yīng)用程序環(huán)境模擬模塊、用戶行為模擬模塊和模擬環(huán)境綜合指揮模塊,功能模塊圖如圖2。
(1)操作系統(tǒng)環(huán)境模擬模塊主要負(fù)責(zé)通過模擬各種操作系統(tǒng)變量參數(shù)(如操作系統(tǒng)版本、操作系統(tǒng)語言類型、補(bǔ)丁版本)、網(wǎng)絡(luò)類型和網(wǎng)絡(luò)連接狀態(tài)等環(huán)境信息,使木馬認(rèn)為已經(jīng)處于所需的操作系統(tǒng)運(yùn)行時(shí)環(huán)境。該模塊包含操作系統(tǒng)環(huán)境庫。
(2)應(yīng)用程序環(huán)境模擬模塊主要通過構(gòu)造操作系統(tǒng)應(yīng)用程序安裝狀態(tài)等信息,模擬木馬所需的應(yīng)用程序環(huán)境,如,部分Windows木馬需要通過注入Firefox瀏覽器進(jìn)程進(jìn)行數(shù)據(jù)傳輸,則可以通過修改注冊(cè)表和構(gòu)建需虛擬應(yīng)用程序文件,構(gòu)造Firefox瀏覽器“存在”的假象,使木馬認(rèn)為已經(jīng)具備特定的“輔助工具”。該模塊包含應(yīng)用程序環(huán)境庫。
(3)用戶行為模擬模塊負(fù)責(zé)逐一構(gòu)造各種用戶行為,誘導(dǎo)木馬認(rèn)為已經(jīng)滿足可以“掩護(hù)工作”所需的“安全運(yùn)行”環(huán)境。如,部分木馬只在屏保時(shí)(認(rèn)為用戶不在計(jì)算機(jī)前)開始高級(jí)工作,部分木馬只在用戶大量瀏覽網(wǎng)頁信息時(shí)工作(可以掩蓋木馬網(wǎng)絡(luò)通訊)或大量文件讀寫操作時(shí)工作(可以掩蓋木馬文件讀寫操作),部分“擺渡類”木馬檢測(cè)是否有U盤等移動(dòng)設(shè)備接入以便通過中間介質(zhì)將局域網(wǎng)計(jì)算機(jī)數(shù)據(jù)“擺渡”至互聯(lián)網(wǎng)環(huán)境。該模塊包含用戶行為庫。
(4)綜合指揮模塊將根據(jù)上述三個(gè)模擬端數(shù)據(jù)庫中的模擬行為進(jìn)行組合,以制定綜合模擬策略用例。
互聯(lián)網(wǎng)環(huán)境模擬端是指構(gòu)造被檢測(cè)主機(jī)連接的互聯(lián)網(wǎng)環(huán)境,使木馬誤認(rèn)為計(jì)算機(jī)已經(jīng)連接至互聯(lián)網(wǎng)。主要包括數(shù)據(jù)包接收端模塊、網(wǎng)絡(luò)協(xié)議分析模塊、網(wǎng)絡(luò)協(xié)議響應(yīng)模塊和網(wǎng)絡(luò)探測(cè)協(xié)議主動(dòng)發(fā)起模塊,如圖3。
(1)數(shù)據(jù)包接收模塊能夠全部接收計(jì)算機(jī)發(fā)出的數(shù)據(jù)包。
(2)網(wǎng)絡(luò)協(xié)議分析模塊可以對(duì)接收到的數(shù)據(jù)包進(jìn)行協(xié)議還原和協(xié)議分析。
(3)網(wǎng)絡(luò)協(xié)議響應(yīng)模塊是指響應(yīng)被檢測(cè)計(jì)算機(jī)發(fā)出網(wǎng)絡(luò)請(qǐng)求,使木馬認(rèn)為所在的計(jì)算機(jī)已經(jīng)連接至互聯(lián)網(wǎng)。如,部分木馬會(huì)首先發(fā)出DNS請(qǐng)求以判斷是否連接至真實(shí)互聯(lián)網(wǎng),在接收到正確DNS響應(yīng)時(shí)才全面激活,進(jìn)行更多行為活動(dòng)。
(4)網(wǎng)絡(luò)探測(cè)協(xié)議主動(dòng)發(fā)起模塊是指主動(dòng)發(fā)出局域網(wǎng)及互聯(lián)網(wǎng)常見探測(cè)協(xié)議的數(shù)據(jù)包,以構(gòu)造更加真實(shí)的網(wǎng)絡(luò)環(huán)境。如部分木馬在判斷所在計(jì)算機(jī)是否真正連接至網(wǎng)絡(luò)時(shí),會(huì)首先監(jiān)聽是否有ARP請(qǐng)求數(shù)據(jù)包。
圖3 互聯(lián)網(wǎng)環(huán)境模擬端
主機(jī)行為與環(huán)境模擬端的各模塊在模擬環(huán)境綜合指揮模塊的統(tǒng)一指揮下工作于異步模式。模擬環(huán)境綜合指揮模塊可以通過遍歷的方式逐一遍歷組合操作系統(tǒng)環(huán)境模擬模塊、應(yīng)用程序環(huán)境模擬模塊和用戶行為模擬模塊數(shù)據(jù)庫中的行為或環(huán)境變量,也可以根據(jù)檢測(cè)者的檢測(cè)策略進(jìn)行特定行為組合模擬進(jìn)而為木馬檢測(cè)提供所需的特定環(huán)境。
互聯(lián)網(wǎng)環(huán)境模擬端的數(shù)據(jù)包接收模塊和網(wǎng)絡(luò)協(xié)議分析模塊同步實(shí)時(shí)運(yùn)行,實(shí)時(shí)地、全面的接收被檢測(cè)主機(jī)發(fā)出的數(shù)據(jù)包并進(jìn)行協(xié)議還原與分析。
網(wǎng)絡(luò)協(xié)議響應(yīng)模塊及網(wǎng)絡(luò)探測(cè)協(xié)議主動(dòng)發(fā)起模塊與數(shù)據(jù)包接收模塊工作于異步模式。其中,網(wǎng)絡(luò)探測(cè)協(xié)議主動(dòng)發(fā)起模塊主動(dòng)并定期發(fā)起探測(cè)協(xié)議數(shù)據(jù)包;網(wǎng)絡(luò)協(xié)議響應(yīng)模塊則根據(jù)數(shù)據(jù)包接收模塊的數(shù)據(jù)接收情況進(jìn)行響應(yīng)。
利用本模型編寫并搭建了一套Windows XP環(huán)境下的木馬誘發(fā)環(huán)境。其中,主機(jī)行為與環(huán)境模擬端使用VC++6.0編寫,除基本的用戶操作模擬外,加入了時(shí)鐘加速功能,可使Windows系統(tǒng)時(shí)鐘最高加速4倍;互聯(lián)網(wǎng)環(huán)境模擬端使用Linux操作系統(tǒng),嵌入工控機(jī)內(nèi),可模擬響應(yīng)ARP、DNS、TCP等網(wǎng)絡(luò)協(xié)議。木馬以“灰鴿子”為基礎(chǔ),通過重新編譯,“變種”為ARP響應(yīng)探測(cè)、DNS探測(cè)、Windows更新包探測(cè)、Firefox訪問“Sohu網(wǎng)”激活等四個(gè)版本。木馬檢測(cè)軟件使用開源殺毒軟件“ClamAV”。實(shí)驗(yàn)結(jié)果顯示,本模型環(huán)境切實(shí)可行,同時(shí),時(shí)鐘加速功能可大大提高對(duì)木馬檢測(cè)的效率,使對(duì)“低頻度”活動(dòng)木馬的檢測(cè)效率明顯提升。
本文提出木馬行為誘發(fā)模型誘發(fā)能力取決于主機(jī)行為與環(huán)境模擬端中操作系統(tǒng)環(huán)境模擬模塊、應(yīng)用程序環(huán)境模擬模塊和用戶行為模擬模塊三個(gè)模塊數(shù)據(jù)庫中的樣例行為數(shù)量。在樣例充分的情況下,可以極大條件的誘發(fā)計(jì)算機(jī)木馬產(chǎn)生更多的活動(dòng)行為,通過全面激活木馬以提升木馬檢測(cè)成功率。全環(huán)境的模擬可以充分保障被檢測(cè)計(jì)算機(jī)的信息安全,由于檢測(cè)環(huán)境沒有真正連接至互聯(lián)網(wǎng),可有效避免被檢測(cè)計(jì)算機(jī)信息數(shù)據(jù)的泄漏。
[1]任云韜. 基于二進(jìn)制多態(tài)變形的惡意代碼反檢測(cè)技術(shù)研究[D]. 西安:電子科技大學(xué), 2007.
[2]金慶,吳國新,李丹. 反病毒引擎及特征碼自動(dòng)提取算法的研究[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2007(24).
[3]張波云. 計(jì)算機(jī)病毒智能檢測(cè)技術(shù)研究[D]. 長沙:國防科學(xué)技術(shù)大學(xué), 2007.
[4]張峰. 基于策略樹的網(wǎng)絡(luò)安全主動(dòng)防御模型研究[D]. 西安:電子科技大學(xué), 2004.
[5]尹清波. 基于機(jī)器學(xué)習(xí)的入侵檢測(cè)方法研究[D]. 哈爾濱:哈爾濱工程大學(xué), 2007.
[6]劉國柱,尚衍筠. 基于主動(dòng)防御模式下蠕蟲病毒特征碼的提取模型及算法設(shè)計(jì)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2009(6).
[7]彭國軍,張煥國,王麗娜,等. Windows PE病毒中的關(guān)鍵技術(shù)分析[J]. 計(jì)算機(jī)應(yīng)用研究, 2006(5).
[8]陳秀真,鄭慶華,管曉宏,等. 層次化網(wǎng)絡(luò)安全威脅態(tài)勢(shì)量化評(píng)估方法[J]. 軟件學(xué)報(bào), 2006(4).
[9]金然,魏強(qiáng),王清賢. 基于歸一化的變形惡意代碼檢測(cè)[J]. 計(jì)算機(jī)工程, 2008(5).
[10]李榮鑫. 基于智能代理的分布式入侵檢測(cè)系統(tǒng)模型[J]. 微計(jì)算機(jī)信息, 2008(6).
[11]陳立軍. 計(jì)算機(jī)病毒免疫技術(shù)的新途徑[J]. 北京大學(xué)學(xué)報(bào):自然科學(xué)版, 1998(5).
[12]PEISERT S, BISHOP M, KARIN S, et al. Analysis of computer intrusions using sequences of function calls[J]. Dependable and Secure Computing, IEEE Transactions on, 2007,4(2):137-150.
[13]ELOVICI Y, SHABTAI A, MOSKOVITCH R, et al. Applying machine learning techniques for detection of malicious code in network traffic[M]∥KI 2007: Advances in Artificial Intelligence. Springer Berlin Hedelberg, 2007:44-50.
[14]JANG M, KIM H, YUN Y. Detection of DLL inserted by windows malicious code[C]∥Convergence Information Technology, 2007. International Conference on. IEEE, 2007: 1059-1064.
[15]LEE M, CHO S, JANG C, et al. A Rule-based Security Auditing Tool for Software Vulnerability Detection[C]∥Hybrid Information Technology, 2006. ICHIT’06. International Conference on. IEEE, 2006,2:505-512.
[16]ECOVICI Y, SHABTAI A, MOSKOVITCH R, et al. Applying machine learning techniques for detection of malicious code in network traffic[M]∥KI 2007: Advances in Artificial Intelligence. Springer Berlin Heidelberg, 2007: 44-50.
中國人民公安大學(xué)學(xué)報(bào)(自然科學(xué)版)2014年1期