朱 平 史 記 杜彥輝 陳光宣
(中國(guó)人民公安大學(xué) 北京 100038)
APT(Advanced Persistent Threat)木馬是一種專門(mén)以國(guó)家或重大商業(yè)利益為目的的一種網(wǎng)絡(luò)木馬,是和平時(shí)期進(jìn)行網(wǎng)絡(luò)信息竊取的重要手段,該類型木馬及對(duì)應(yīng)的攻擊通常具有都具三大特點(diǎn):技術(shù)高、手段新;策略強(qiáng)、針對(duì)性強(qiáng);持續(xù)性高。
在滲透進(jìn)入目標(biāo)系統(tǒng)或設(shè)備后,APT木馬通常具備高度隱藏特性,具體包括自身文件的隱藏、啟動(dòng)與工作活動(dòng)隱藏及通訊隱藏。
(1)文件隱藏。文件隱藏指木馬通過(guò)欺騙和技術(shù)方式,將自身隱藏在目標(biāo)計(jì)算機(jī)操作系統(tǒng)中。
(2)啟動(dòng)與工作活動(dòng)隱藏。是指通過(guò)技術(shù)方法,使檢測(cè)軟件不能發(fā)現(xiàn)木馬進(jìn)程或線程的啟動(dòng)。
(3)通訊隱藏。APT木馬通常通過(guò)網(wǎng)絡(luò)與控制者進(jìn)行通訊,接收控制者指令對(duì)目標(biāo)進(jìn)行特定的信息竊取,通訊隱藏包括數(shù)據(jù)傳輸行為隱藏和通訊加密。
傳統(tǒng)的木馬檢測(cè)主要分為基于特征碼檢測(cè)、基于行為檢測(cè)、基于網(wǎng)絡(luò)入侵防范等方式,但存在以下缺點(diǎn):
(1)特征碼檢測(cè)主要依賴于木馬特征碼的提取與比對(duì)。特征碼檢測(cè)法只能對(duì)已知計(jì)算機(jī)木馬的檢測(cè)有效,對(duì)未獲取到特征碼的APT型木馬無(wú)能為力。
(2)行為檢測(cè)主要是基于對(duì)可疑程序的行為進(jìn)行監(jiān)控,但是,如果木馬先于檢測(cè)軟件啟動(dòng),并通過(guò)一系列先進(jìn)技術(shù)或漏洞修改操作系統(tǒng)內(nèi)核,常造成對(duì)木馬的檢測(cè)失效。
(3)常見(jiàn)網(wǎng)絡(luò)入侵防范檢測(cè)方式主要原理仍然是基于對(duì)木馬網(wǎng)絡(luò)數(shù)據(jù)的特征碼提取,不但對(duì)單臺(tái)計(jì)算機(jī)的木馬檢測(cè)效率低下,且針對(duì)性效果較差,特別是對(duì)APT型木馬竊取信息行為的準(zhǔn)確分析能力不足。
由于APT木馬的特殊性,目前,尚未有專門(mén)針對(duì)APT木馬的抽象模型描述,但是可以確定的是,APT木馬完全具備“僵尸網(wǎng)絡(luò)”木馬的基本功能,參考文獻(xiàn)[6]1.4節(jié)中關(guān)于“僵尸網(wǎng)絡(luò)”工作機(jī)制的理論及APT木馬“網(wǎng)絡(luò)通訊”這一關(guān)鍵特征:
本文針對(duì)APT木馬提出一種新的檢測(cè)模型:即基于網(wǎng)絡(luò)數(shù)據(jù)與主機(jī)狀態(tài)的計(jì)算機(jī)木馬檢測(cè)模型F
N(pk)是網(wǎng)絡(luò)數(shù)據(jù)包(pk)的收集、協(xié)議還原與協(xié)議響應(yīng);
H(pr,n..)是主機(jī)的操作系統(tǒng)狀態(tài)檢測(cè),檢測(cè)變量包括進(jìn)程(pr),網(wǎng)絡(luò)連接變量(n)等等;
A
在檢測(cè)中,如果發(fā)現(xiàn)主機(jī)發(fā)出的數(shù)據(jù)包不能關(guān)聯(lián)至主機(jī)正在運(yùn)行的進(jìn)程及網(wǎng)絡(luò)狀態(tài)變量,那么,該主機(jī)就可能被種植了具有高深隱藏技術(shù)的木馬。
(1)網(wǎng)絡(luò)數(shù)據(jù)接收及互聯(lián)網(wǎng)模擬端,用于模擬互聯(lián)網(wǎng),能對(duì)計(jì)算機(jī)發(fā)出的鏈路層和應(yīng)用層網(wǎng)絡(luò)連接請(qǐng)求數(shù)據(jù)包進(jìn)行互聯(lián)網(wǎng)模擬響應(yīng),使被檢測(cè)主機(jī)認(rèn)為已經(jīng)連接到正?;ヂ?lián)網(wǎng),滿足木馬常常進(jìn)行互聯(lián)網(wǎng)連接檢測(cè)才正?!肮ぷ鳌钡沫h(huán)境需求。
(2)主機(jī)信息綜合分析端,運(yùn)行于被檢測(cè)主機(jī),使用正常操作系統(tǒng)API調(diào)用以記錄計(jì)算機(jī)進(jìn)程和網(wǎng)絡(luò)連接的操作系統(tǒng)運(yùn)行時(shí)變量,不采用殺毒軟件等所運(yùn)用的內(nèi)核級(jí)編程技術(shù)。
本文在神經(jīng)網(wǎng)絡(luò)領(lǐng)域中選取能夠在非穩(wěn)定環(huán)境下進(jìn)行實(shí)時(shí)學(xué)習(xí)的一種自適應(yīng)諧振理論對(duì) 3.1中的檢測(cè)模型進(jìn)行自學(xué)習(xí)、分析。
F=ART’
A
{
H(pr,n)=
(1)首先將網(wǎng)絡(luò)數(shù)據(jù)接收及互聯(lián)網(wǎng)模擬端通過(guò)網(wǎng)線連接至計(jì)算機(jī),并開(kāi)啟;
(2)啟動(dòng)計(jì)算機(jī)操作系統(tǒng),開(kāi)啟計(jì)算機(jī)信息綜合分析端軟件;
(3)根據(jù)檢測(cè)需求定制檢測(cè)策略,如,可以模擬用戶啟動(dòng)IE瀏覽器、模擬訪問(wèn)百度等常用網(wǎng)站;
根據(jù)2015年對(duì)工程海域5條垂線大小潮含沙量觀測(cè)資料顯示,工程區(qū)各側(cè)大潮平均含沙量為0.3 kg/m3~0.5 kg/m3,小潮0.1 kg/m3左右。
(4)網(wǎng)絡(luò)數(shù)據(jù)接收及互聯(lián)網(wǎng)模擬端實(shí)時(shí)接收計(jì)算機(jī)發(fā)出的網(wǎng)絡(luò)數(shù)據(jù)包,并對(duì)DNS請(qǐng)求、ARP請(qǐng)求等基本網(wǎng)絡(luò)請(qǐng)求進(jìn)行模擬響應(yīng);
(5)運(yùn)行于被檢測(cè)主機(jī)的計(jì)算機(jī)信息綜合分析端軟件實(shí)時(shí)記錄操作系統(tǒng)進(jìn)程和網(wǎng)絡(luò)等運(yùn)行時(shí)變量,并將網(wǎng)絡(luò)數(shù)據(jù)接收及互聯(lián)網(wǎng)模擬端反饋的數(shù)據(jù)包與進(jìn)程和網(wǎng)絡(luò)進(jìn)行關(guān)聯(lián),比對(duì)正常數(shù)據(jù)包。
(6)如發(fā)現(xiàn)不能關(guān)聯(lián)至計(jì)算機(jī)合法已知進(jìn)程的數(shù)據(jù)包或可疑目的地址的數(shù)據(jù)包以及非用戶主動(dòng)請(qǐng)求所產(chǎn)生的數(shù)據(jù)包,則計(jì)算機(jī)被種植了通過(guò)網(wǎng)絡(luò)進(jìn)行控制木馬。
本文在對(duì)被檢測(cè)主機(jī)狀態(tài)變量以及網(wǎng)絡(luò)數(shù)據(jù)接收及互聯(lián)網(wǎng)模擬端接收到的數(shù)據(jù)包收集后進(jìn)行抽象形成以下待檢測(cè)集合:
表1 待檢測(cè)集合
表1僅展示了部分檢測(cè)集合,其中既包括了正常程序的抽象同時(shí)也包括了部分可以進(jìn)程(線程)的抽象。
下面抽取其中的若干抽象進(jìn)行模型解釋,如表2、表3、表4。
表2 抽象解釋1
表2這條抽象所代表的行為特征是:主機(jī)狀態(tài)記錄中存在相應(yīng)的進(jìn)程號(hào)和線程標(biāo)識(shí)符,且在主機(jī)狀態(tài)集中存在 TCP Send,與之對(duì)應(yīng)的,在網(wǎng)絡(luò)接收器中也對(duì)應(yīng)到了TCP Send數(shù)據(jù)包。按照默認(rèn)檢測(cè)策略,此行為不會(huì)觸發(fā)報(bào)警。
表3 抽象解釋3
表3這條抽象的行為特征是:主機(jī)狀態(tài)集中存在相應(yīng)的進(jìn)程ID,ARP Send和Recv,網(wǎng)絡(luò)接收其中也有對(duì)應(yīng)的ARP Send和Recv,屬于正常行為(如表4)。
表4 抽象解釋4
該抽象行為特征較為特殊,首先在主機(jī)狀態(tài)中沒(méi)有找到對(duì)應(yīng)的進(jìn)程PID和線程描述符,同時(shí)主機(jī)狀態(tài)集中沒(méi)有相應(yīng)的發(fā)包行為,但是在網(wǎng)絡(luò)接收器中卻接收到了TCP Send。這種行為比較危險(xiǎn),很有可能是在系統(tǒng)中做了某種隱藏之后雖然在本機(jī)無(wú)法查出,但是網(wǎng)絡(luò)接收器確實(shí)發(fā)現(xiàn)了不該有的網(wǎng)絡(luò)通信。
接下來(lái)將表1所代表的全部待檢測(cè)集合輸入到ART算法中進(jìn)行自主學(xué)習(xí),分類。
作者選取了860個(gè)混合樣本作為全集,再?gòu)娜须S機(jī)選取一定數(shù)量的抽象樣本作為輸入進(jìn)行檢測(cè)。自適應(yīng)學(xué)習(xí)檢測(cè)結(jié)果如下圖1:
圖1 不同樣本數(shù)量的樣本檢出率
模型實(shí)驗(yàn)顯示,抽樣樣本中的木馬數(shù)量比例對(duì)模型的學(xué)習(xí)性能產(chǎn)生直接影響,木馬數(shù)量比例增加,學(xué)習(xí)效率將增加,檢測(cè)率也將增加。
作者根據(jù)論文所提模型,編寫(xiě)了一套檢測(cè)軟件,在W indows XP系統(tǒng)運(yùn)行過(guò)程中,對(duì)利用TCP/IP協(xié)議并通過(guò)SOCKET套接字編程方法發(fā)送UDP和TCP數(shù)據(jù)包的木馬進(jìn)行了模擬檢測(cè),通過(guò)對(duì)檢測(cè)系統(tǒng)的隨機(jī)抽樣,測(cè)試了系統(tǒng)整體的性能并發(fā)現(xiàn)無(wú)論是在 CPU利用率或者是內(nèi)存占有上系統(tǒng)均能達(dá)到相對(duì)較低且穩(wěn)定的水平。
圖2 內(nèi)存占用率
圖3 CPU時(shí)間
本文提出的木馬檢測(cè)方法與模型所使用的軟件不依賴特征碼提取,能夠彌補(bǔ)“問(wèn)題分析”中已知木馬檢測(cè)方法的弊端,相關(guān)軟件及網(wǎng)絡(luò)數(shù)據(jù)接收及互聯(lián)網(wǎng)模擬端硬件簡(jiǎn)單易實(shí)現(xiàn),在經(jīng)過(guò)ART算法初步驗(yàn)證檢測(cè)結(jié)果基礎(chǔ)上,可由具有一定木馬檢測(cè)經(jīng)驗(yàn)的人員進(jìn)行進(jìn)一步分析確定最終結(jié)果,檢測(cè)模型適用于具有一定專業(yè)經(jīng)驗(yàn)的人員對(duì)未知網(wǎng)絡(luò)型木馬的檢測(cè)。
[1]金慶,吳國(guó)新,李丹.反病毒引擎及特征碼自動(dòng)提取算法的研究[J].計(jì)算機(jī)工程與設(shè)計(jì).2007(24):2-3.
[2]劉國(guó)柱,尚衍筠.基于主動(dòng)防御模式下蠕蟲(chóng)病毒特征碼的提取模型及算法設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件.2009(06):3-4.
[3]徐明,陳純,應(yīng)晶.基于系統(tǒng)調(diào)用分類的異常檢測(cè)(英文)[J].軟件學(xué)報(bào).2004(03):2-4.
[4]張波云,殷建平,蒿敬波,張鼎興.基于多重樸素貝葉斯算法的未知病毒檢測(cè)[J].計(jì)算機(jī)工程.2006(10):2-4.
[5]任云韜.基于二進(jìn)制多態(tài)變形的惡意代碼反檢測(cè)技術(shù)研究[D].電子科技大學(xué) 2007:2-3.
[]6諸葛建偉僵尸網(wǎng)絡(luò)研究[J]軟件學(xué)報(bào) 2008,19(3):2-8.