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