金憲珊 季永煒 董冬偉
摘? 要: 設(shè)計(jì)了一種惡意程序發(fā)布檢測(cè)平臺(tái),其中的檢測(cè)方法為:從HTTP請(qǐng)求消息中提取摘要信息;將摘要信息與惡意、安全網(wǎng)站識(shí)別庫(kù)中的識(shí)別信息進(jìn)行匹配;如果匹配不成功,則使用決策分類器對(duì)摘要信息進(jìn)行分類處理;如果確定為可疑惡意網(wǎng)站,則生成可疑惡意資源的下載連接信息;將多個(gè)可疑惡意資源的下載連接信息進(jìn)行關(guān)聯(lián),確定可疑惡意資源的網(wǎng)絡(luò)發(fā)布信息。該方法通過(guò)網(wǎng)絡(luò)節(jié)點(diǎn)圖可以更好地描述惡意程序發(fā)布網(wǎng)絡(luò)的活動(dòng),關(guān)注惡意程序分發(fā)網(wǎng)絡(luò)的機(jī)理和網(wǎng)絡(luò)基礎(chǔ)架構(gòu)的屬性,提高惡意程序的檢出率,加強(qiáng)網(wǎng)絡(luò)安全。
關(guān)鍵詞: 惡意程序; HTTP; 安全; 檢測(cè)
中圖分類號(hào):TP393? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A ? ?文章編號(hào):1006-8228(2021)12-37-04
Abstract: A malware publishing detection platform is designed, in which the detection methods are: extracting summary information from HTTP request messages; Matching the summary information with the identification information in the identification library of malicious and secure websites; If the matching is not successful, the decision classifier is used to classify the summary information; If it is determined to be a suspicious malicious website, generate download connection information of suspicious malicious resources; Associate the download connection information of multiple suspicious malicious resources to determine the network publishing information of suspicious malicious resources. Through the network node graph, the method can better describe the activities of the malware publishing network, pay attention to the mechanism of the malware distribution network and the attributes of the network infrastructure, so as to increase the detection rate of malware and improve the network security.
Key words: malware; HTTP; security; detection
0 引言
目前,一般的惡意程序下載攻擊過(guò)程可以分為三個(gè)階段,在第一階段,即漏洞利用階段,攻擊者的目標(biāo)是在受害者的主機(jī)上運(yùn)行一小段代碼,為此,攻擊者首先準(zhǔn)備一個(gè)帶有下載漏洞利用驅(qū)動(dòng)代碼的網(wǎng)站[1]。當(dāng)受害者訪問惡意頁(yè)面時(shí),瀏覽器將獲取并執(zhí)行驅(qū)動(dòng)代碼。當(dāng)攻擊成功時(shí),它強(qiáng)制瀏覽器執(zhí)行注入的殼代碼(shellcode)。在隨后的第二階段,即安裝階段,殼代碼(shellcode)下載實(shí)際的惡意軟件二進(jìn)制文件并啟動(dòng)它。一旦惡意軟件程序運(yùn)行,在第三階段,即控制階段,它展現(xiàn)其惡意活動(dòng),通常,惡意軟件連接回遠(yuǎn)程命令和控制(C&C)服務(wù)器。攻擊者使用此連接發(fā)出命令,將新的可執(zhí)行文件“丟棄”到受感染的主機(jī)上,以增強(qiáng)惡意軟件的功能,并收到被盜的數(shù)據(jù)。
目前,大多數(shù)保護(hù)用戶免受惡意軟件攻擊的技術(shù)集中在第一和第三階段[2]。大量工作針對(duì)初始漏洞利用階段,嘗試檢測(cè)包含驅(qū)動(dòng)器下載漏洞的頁(yè)面,并防止瀏覽器首先訪問惡意頁(yè)面[3]。例如,蜜罐客戶端(honeyclient)抓取網(wǎng)頁(yè)以快速查找具有漏洞利用代碼的頁(yè)面,并將這些發(fā)現(xiàn)轉(zhuǎn)化為域和URL黑名單。攻擊者通過(guò)惡意域名快速改變,使黑名單永久失效。此外,攻擊者已經(jīng)開始大力識(shí)別蜜罐客戶端(honeyclient)的指紋(由操作系統(tǒng)、設(shè)備類型和主機(jī)名等識(shí)別客戶端的特征),并混淆其代碼以規(guī)避檢測(cè)[4]。由于在安裝階段,殼代碼(shellcode)通常會(huì)發(fā)出從遠(yuǎn)程服務(wù)器獲取程序的HTTP請(qǐng)求,然后在本地安裝并執(zhí)行惡意軟件,這可以通過(guò)簡(jiǎn)單地調(diào)用用戶瀏覽器中的可用功能來(lái)完成此請(qǐng)求。從網(wǎng)絡(luò)的角度來(lái)看,這種連接幾乎不可疑,和不同的下載良性程序的合法請(qǐng)求基本一致。因此,急需一種新的惡意程序發(fā)布檢測(cè)技術(shù)。
1 檢測(cè)平臺(tái)架構(gòu)(圖1)
惡意程序發(fā)布檢測(cè)平臺(tái)包括:數(shù)據(jù)采集模塊、預(yù)處理模塊、特征匹配模塊、訓(xùn)練學(xué)習(xí)模塊、分類處理模塊和發(fā)布信息確定模塊。數(shù)據(jù)采集模塊采集用于發(fā)起文件下載的HTTP請(qǐng)求消息。預(yù)處理模塊從HTTP請(qǐng)求消息中提取摘要信息。特征匹配模塊將摘要信息與惡意\安全網(wǎng)站識(shí)別庫(kù)中的識(shí)別信息進(jìn)行匹配。
如果信息匹配成功,則確定為惡意網(wǎng)站或是可信網(wǎng)站,訓(xùn)練學(xué)習(xí)模塊將一定數(shù)量的摘要信息按照一定比例分別作為訓(xùn)練樣本和測(cè)試樣本,對(duì)所述決策分類器進(jìn)行訓(xùn)練。如果匹配不成功,則分類處理模塊使用訓(xùn)練學(xué)習(xí)模塊,通過(guò)已經(jīng)訓(xùn)練好的決策分類器,對(duì)摘要信息進(jìn)行分類處理,確定為可疑惡意網(wǎng)站或可信網(wǎng)站。如果確定為可疑惡意網(wǎng)站,則發(fā)布信息確定模塊基于此摘要信息對(duì)應(yīng)的HTTP請(qǐng)求消息,生成可疑惡意資源的下載連接信息。發(fā)布信息確定模塊將多個(gè)可疑惡意資源的下載連接信息進(jìn)行關(guān)聯(lián)處理,確定可疑惡意資源的網(wǎng)絡(luò)發(fā)布信息。
通過(guò)對(duì)大量的HTTP請(qǐng)求消息進(jìn)行采集,并進(jìn)行HTTP短摘要的提取,利用機(jī)器學(xué)習(xí)算法進(jìn)行惡意程序分發(fā)特征分析、獲得可疑惡意下載候選連接,生成可疑惡意資源的下載連接網(wǎng)絡(luò)節(jié)點(diǎn)圖,通過(guò)對(duì)包含惡意主機(jī)的網(wǎng)絡(luò)節(jié)點(diǎn)圖的不斷疊加,達(dá)到預(yù)期規(guī)模的惡意程序的分發(fā)網(wǎng)絡(luò)圖,利用網(wǎng)絡(luò)節(jié)點(diǎn)圖并綜合惡意程序下載活動(dòng)的聚類,獲得惡意程序下載網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)。
2 平臺(tái)處理流程(圖2)
數(shù)據(jù)采集預(yù)處理模塊從數(shù)據(jù)采集點(diǎn)獲得HTTP請(qǐng)求數(shù)據(jù),HTTP請(qǐng)求數(shù)據(jù)可以是在線數(shù)據(jù)或之前采集、記錄的抓包文件,例如.pacp文件等。數(shù)據(jù)采集預(yù)處理模塊從采集到的在線數(shù)據(jù)或抓包文件中的HTTP消息提取HTTP短摘要,HTTP短摘要包括源IP地址和目的IP地址、端口號(hào)、URI、用戶代理(UA)HTTP頭字段和前K個(gè)字節(jié)內(nèi)容的哈希值等,K為是可配置參數(shù)。
已知惡意/良性域記錄模塊是已知的良性域和惡意域的列表,該列表來(lái)源于可信的數(shù)據(jù)源頭,良性域集從Alexa一些提供詳細(xì)服務(wù)器數(shù)據(jù)所獲取的信息組成[5]。
HTTP特征匹配模塊從數(shù)據(jù)采集和預(yù)處理模塊獲得HTTP短摘要,根據(jù)不同特征要求,為每一條HTTP短摘要記錄進(jìn)行處理,形成特征匹配后的數(shù)據(jù)。特征匹配后,如果數(shù)據(jù)中的IP地址或URI與已知惡意/良性域記錄模塊中的記錄匹配,則輸出到有標(biāo)簽數(shù)據(jù),否則為無(wú)標(biāo)簽數(shù)據(jù),多個(gè)無(wú)標(biāo)簽數(shù)據(jù)形成無(wú)標(biāo)簽數(shù)據(jù)集。有標(biāo)簽數(shù)據(jù)集合可以按照預(yù)設(shè)比例分別作為訓(xùn)練集和測(cè)試集,由學(xué)習(xí)模塊訓(xùn)練分類器時(shí)使用,例如,預(yù)設(shè)比例可以為20%為測(cè)試集、80%為測(cè)試集等。獲得學(xué)習(xí)后的分類器模型對(duì)無(wú)標(biāo)簽的數(shù)據(jù)進(jìn)行分類,確定每個(gè)HTTP數(shù)據(jù)代表的是可疑惡意下載的候選連接還是良性連接。
如果當(dāng)前的HTTP數(shù)據(jù)被分類器判定為良性預(yù)連接,則完成對(duì)當(dāng)前數(shù)據(jù)的處理;如果當(dāng)前的HTTP數(shù)據(jù)被分類器判定為可疑惡意下載的候選連接,則根據(jù)HTTP數(shù)據(jù)的原始HTTP短摘要生成可疑惡意下載的候選連接網(wǎng)絡(luò)節(jié)點(diǎn)圖。
識(shí)別可疑的連接的方法是根據(jù)惡意下載程序的行為特征進(jìn)行的,這些行為特征通常與惡意活動(dòng)相關(guān)聯(lián),包括文件名的突變檢測(cè)、分布式托管和域名變更檢測(cè)、惡意軟件專用主機(jī)檢測(cè)和漏洞利用程序下載主機(jī)檢測(cè)等。
每一個(gè)HTTP短摘要分別被提取惡意程序發(fā)布網(wǎng)絡(luò)特征相關(guān)的數(shù)據(jù)。對(duì)于文件變異特征,特征提取模塊從HTTP短摘要中查找與單個(gè)URI相關(guān)聯(lián)的下載記錄,并且下載超過(guò)n個(gè)不同文件(由文件的哈希值確定是否為不同文件),n為不同文件個(gè)數(shù)的閾值,通常在10到50之間。
對(duì)于分布主機(jī)和域名變換特征,特征提取模塊從HTTP短摘要中查找HTTP請(qǐng)求的同一服務(wù)器(IP地址)上是否托管不同的域名、該服務(wù)器唯一頂級(jí)域名數(shù)量、匹配URI路徑的數(shù)量和匹配文件名的數(shù)量、每個(gè)域名URI數(shù)量、服務(wù)文件類型類型和域名變化等數(shù)據(jù)。首先,利用聚類的方法發(fā)現(xiàn)內(nèi)容發(fā)布網(wǎng)絡(luò),即如果兩個(gè)域同時(shí)托管了哈希值相同的文件,那么認(rèn)為這兩個(gè)域?qū)儆诮y(tǒng)一聚類;如果在兩個(gè)聚類中分別有至少一個(gè)域托管了相同哈希值的文件,則將這兩個(gè)聚類聯(lián)系起來(lái);內(nèi)容分布網(wǎng)絡(luò)包括兩個(gè)或兩個(gè)以上的域的聚類。
然后,統(tǒng)計(jì)與此下載記錄相對(duì)應(yīng)的可疑內(nèi)容發(fā)布網(wǎng)絡(luò)的特征信息,其中,所述關(guān)于可疑內(nèi)容發(fā)布網(wǎng)絡(luò)的特征信息包括:頂級(jí)域名數(shù)量、URI路徑數(shù)量、文件數(shù)量、文件類型。
查詢歷史下載記錄,如果確定摘要信息中的域名、IP地址和下載文件僅與一個(gè)URI相對(duì)應(yīng),則確定與此摘要信息對(duì)應(yīng)的可疑惡意資源通過(guò)專用主機(jī)下載的特征信息。對(duì)于惡意程序?qū)S弥鳈C(jī)的特征,特征提取模塊從HTTP短摘要中查找域名和IP地址,如果該域名和IP地址包括了一個(gè)可執(zhí)行文件的下載并最多托管了一個(gè)HTML網(wǎng)頁(yè)的URI,則需要提取相關(guān)的記錄。
對(duì)于漏洞利用程序下載主機(jī)的特征,特征提取模塊從HTTP短摘要中獲取與摘要信息中的目的IP地址和用戶代理(User-Agent),尋找與同一IP地址聯(lián)系了一次以上且使用不同的User-Agent記錄,并統(tǒng)計(jì)User-Agent的數(shù)量;將此文件下載記錄以及User-Agent的數(shù)量作為關(guān)于漏洞利用的特征信息。
特征提取模塊可以根據(jù)需要添加新的與惡意程序發(fā)布相關(guān)的其他特征,從HTTP短摘要中提取與新添加的特征相關(guān)的數(shù)據(jù)為進(jìn)一步的處理分析做準(zhǔn)備。
3 惡意資源識(shí)別
基于摘要信息對(duì)應(yīng)的HTTP請(qǐng)求消息生成可疑惡意資源的下載連接網(wǎng)絡(luò)節(jié)點(diǎn)圖,下載連接網(wǎng)絡(luò)節(jié)點(diǎn)圖中的節(jié)點(diǎn)包括:IP地址、域名、URL路徑、文件名和下載文件等。將多個(gè)可疑惡意資源的下載連接網(wǎng)絡(luò)節(jié)點(diǎn)圖進(jìn)行疊加處理,并將多個(gè)可疑惡意資源的下載連接網(wǎng)絡(luò)節(jié)點(diǎn)圖中的相同節(jié)點(diǎn)進(jìn)行關(guān)聯(lián)處理,形成可疑資源的分發(fā)網(wǎng)絡(luò)圖;其中,多個(gè)可疑惡意資源的下載連接網(wǎng)絡(luò)節(jié)點(diǎn)圖中的相同節(jié)點(diǎn)為重疊狀態(tài);基于可疑資源的分發(fā)網(wǎng)絡(luò)圖獲取鏈接到相同的可疑惡意資源的網(wǎng)絡(luò)路徑信息以及可疑惡意資源的發(fā)布主機(jī),用以確定發(fā)布可疑惡意資源的網(wǎng)絡(luò)架構(gòu)。
惡意程序發(fā)布網(wǎng)絡(luò)圖經(jīng)初始化后執(zhí)行一系列迭代,生成可疑候選主機(jī)相關(guān)的惡意活動(dòng)網(wǎng)絡(luò)圖,每次獲得一個(gè)可疑惡意下載的候選連接網(wǎng)絡(luò)節(jié)點(diǎn)圖,就將其添加在惡意程序發(fā)布網(wǎng)絡(luò)圖中,直至圖形達(dá)到其預(yù)設(shè)大小的限制。最終,鏈接到相同文件的不同URI關(guān)聯(lián)在一起的主機(jī)、路徑和行為形成惡意程序發(fā)布網(wǎng)絡(luò)的機(jī)理和網(wǎng)絡(luò)基礎(chǔ)架構(gòu)。
如圖3所示,當(dāng)目標(biāo)網(wǎng)絡(luò)是ISP網(wǎng)絡(luò)時(shí),數(shù)據(jù)的采集點(diǎn)為ISP網(wǎng)絡(luò)的出現(xiàn)點(diǎn)(POP),能夠獲得廣泛和充分的發(fā)起了文件下載的HTTP請(qǐng)求數(shù)據(jù),有利于惡意主機(jī)的發(fā)現(xiàn)。如圖4所示,當(dāng)目標(biāo)網(wǎng)絡(luò)是大型企業(yè)網(wǎng)絡(luò)時(shí),數(shù)據(jù)的采集點(diǎn)為企業(yè)網(wǎng)的出口交換機(jī),在企業(yè)網(wǎng)的出口可以獲得所有企業(yè)網(wǎng)對(duì)互聯(lián)網(wǎng)發(fā)出的發(fā)起了文件下載的HTTP請(qǐng)求數(shù)據(jù)。
當(dāng)分類器確定了一個(gè)HTTP記錄為可疑惡意候選連接后,生成可疑惡意下載網(wǎng)絡(luò)節(jié)點(diǎn)圖。圖5是單個(gè)可疑惡意資源的下載連接網(wǎng)絡(luò)節(jié)點(diǎn)圖,在圖的左下角是圖例,可以看到對(duì)于單個(gè)可疑惡意資源的下載連接網(wǎng)絡(luò)節(jié)點(diǎn)圖包括與連接相關(guān)的URL、全程域名、域名、客戶端、服務(wù)器、URL文件名、URL路徑、壓縮的有效載荷和解壓后的有效載荷,基本上反映了單獨(dú)一次內(nèi)容下載的主要特征。
但是,單個(gè)可疑惡意資源的下載連接網(wǎng)絡(luò)節(jié)點(diǎn)圖不能全面反映惡意下載網(wǎng)絡(luò)的全貌,它只能反映出一系列惡意下載的步驟之一,并且觀察單次下載時(shí),惡意下載和良性下載表現(xiàn)的情況區(qū)別不大。因此需要將被判斷為可疑惡意資源的下載連接疊加在一起,綜合判斷惡意程序下載的網(wǎng)絡(luò)基礎(chǔ)架構(gòu)。如圖6所示,多個(gè)可疑惡意資源的下載連接網(wǎng)絡(luò)節(jié)點(diǎn)圖疊加后形成的可疑資源的分發(fā)網(wǎng)絡(luò)圖。圖6中疊加了5個(gè)可疑惡意下載的網(wǎng)絡(luò)節(jié)點(diǎn)圖,可以看到盡管5個(gè)可疑惡意下載請(qǐng)求的URL并不相同,但是它們最終都指向了兩個(gè)惡意程序Malware1.exe和Malware2.exe,根據(jù)這個(gè)線索,可以跟蹤下載這兩個(gè)惡意程序的客戶端和服務(wù)器之前的行為,最終了解與Malware1.exe和Malware2.exe相關(guān)的惡意軟件發(fā)布網(wǎng)絡(luò)的原理和基礎(chǔ)架構(gòu)。
4 結(jié)束語(yǔ)
本文的惡意程序發(fā)布檢測(cè)平臺(tái),從發(fā)起了文件下載的HTTP請(qǐng)求消息中提取摘要信息,將摘要信息與惡意\安全網(wǎng)站識(shí)別庫(kù)中的信息進(jìn)行匹配,匹配成功的記錄將按照一定的比例分別作為訓(xùn)練集和測(cè)試集訓(xùn)練分類器,匹配不成功的,則使用已經(jīng)訓(xùn)練好的決策分類器對(duì)摘要信息分類處理,若確定為可疑惡意網(wǎng)站,則生成可疑惡意資源的下載連接信息,將多個(gè)可疑惡意資源的下載連接信息進(jìn)行關(guān)聯(lián)處理,確定可疑惡意資源的網(wǎng)絡(luò)發(fā)布信息;利用機(jī)器學(xué)習(xí)的方法,基于已知惡意程序下載特征的提取和已知數(shù)據(jù)集,對(duì)分類器進(jìn)行訓(xùn)練和學(xué)習(xí),對(duì)新的網(wǎng)絡(luò)流量數(shù)據(jù)檢測(cè)出可疑惡意資源,并生成其網(wǎng)絡(luò)節(jié)點(diǎn)圖并進(jìn)行關(guān)聯(lián),得到惡意程序發(fā)布網(wǎng)絡(luò)的信息和網(wǎng)絡(luò)基礎(chǔ)架構(gòu),可以消除誤報(bào)。網(wǎng)絡(luò)節(jié)點(diǎn)圖可以更好的描述惡意程序發(fā)布網(wǎng)絡(luò)的活動(dòng),忽略攻擊者可以輕易改變的特征,而關(guān)注惡意程序分發(fā)網(wǎng)絡(luò)的機(jī)理和網(wǎng)絡(luò)基礎(chǔ)架構(gòu)的屬性,能夠檢測(cè)到以前沒檢測(cè)出的惡意網(wǎng)絡(luò)活動(dòng),進(jìn)而增加惡意程序的檢出率,提高網(wǎng)絡(luò)安全。
參考文獻(xiàn)(References):
[1] 陸濤.惡意程序檢測(cè)算法的研究與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2017.40(3):85-88
[2] 王樂樂,汪斌強(qiáng),劉建港等.基于遞歸神經(jīng)網(wǎng)絡(luò)的惡意程序檢測(cè)研究[J].計(jì)算機(jī)科學(xué),2019.46(7):86-90
[3] 劉佳,張平,劉培玉等.新型入侵增量識(shí)別入侵檢測(cè)模型[J].計(jì)算機(jī)應(yīng)用與軟件,2019.36(3):320-326
[4] 王麗娜,王斐,劉維杰.面向SDN的安全威脅及其對(duì)抗技術(shù)研究[J].武漢大學(xué)學(xué)報(bào)(理學(xué)版),2019.2:153-164
[5] 任益辰,肖達(dá).基于程序雙維度特征的惡意程序相似性分析[J].計(jì)算機(jī)工程與應(yīng)用,2021.57(1):118-124