彭子俊
摘要:為了在惡意代碼行為中對(duì)各種變異的病毒、惡意插件、僵尸網(wǎng)絡(luò)、攻擊性代碼進(jìn)行識(shí)別和分析,提出了基于惡意代碼的網(wǎng)絡(luò)行為分析與識(shí)別方法。根據(jù)惡意代碼憑借自身的攻擊性強(qiáng)的優(yōu)勢(shì)嚴(yán)重地制約著網(wǎng)絡(luò)的良性發(fā)展,直接威脅著互聯(lián)網(wǎng)用戶的信息安全的特點(diǎn),設(shè)計(jì)惡意代碼流量采集實(shí)驗(yàn)部署,給出了如何將Tor流量與正常加密數(shù)據(jù)流量區(qū)分開來(lái),從而達(dá)到可疑數(shù)據(jù)的準(zhǔn)確篩選。最后通過(guò)實(shí)例對(duì)這些惡意代碼和網(wǎng)絡(luò)攻擊行為分析透徹,討論了利用無(wú)監(jiān)督機(jī)器學(xué)習(xí)算法對(duì)Tor流量進(jìn)行分類。
關(guān)鍵詞:惡意代碼;tor網(wǎng)絡(luò);流量分類
中圖分類號(hào):TP393? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)22-0055-04
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Analysis and Recognition of Network Behavior Based on Malicious Code
PENG Zi-jun
(Guangdong University of Technology,Guangzhou 510006, China)
Abstract:In order to identify and analyze various variant viruses, malicious plug-ins, botnets and offensive codes in malicious code behavior, a malicious code-based network behavior analysis and identification method is proposed. According to the characteristics of malicious code, which seriously restricts the healthy development of the network and directly threatens the information security of Internet users, this paper designs an experimental deployment of malicious code traffic collection, and gives how to distinguish Tor traffic from normal encrypted data traffic, so as to achieve the accurate screening of suspicious data. Finally, the malicious code and network attacks are thoroughly analyzed by examples, and the classification of Tor traffic using unsupervised machine learning algorithm is discussed.
Key words:Malicious code; tor network; traffic classification
網(wǎng)絡(luò)是一把雙刃劍,為人們的生活和工作帶來(lái)極大的便捷的同時(shí),我們還要盡量地避免由于網(wǎng)絡(luò)安全防范不當(dāng)帶來(lái)的一些損失和問(wèn)題。網(wǎng)絡(luò)安全是各個(gè)單位部門、家庭企業(yè)、個(gè)人團(tuán)體都必須面對(duì)的問(wèn)題,不可避免地需要去正視、去面臨,如果這些網(wǎng)絡(luò)安全問(wèn)題日益突出,則會(huì)在很大程度上導(dǎo)致計(jì)算機(jī)病毒的泛濫和網(wǎng)絡(luò)攻擊行為的大面積發(fā)生。目前造成網(wǎng)絡(luò)安全問(wèn)題的原因和因素包括很多種,但是從產(chǎn)生的原因?yàn)橹饕呀?jīng)可以大致分為兩個(gè)方面。一方面是技術(shù)問(wèn)題,目前市面上使用的一些主流計(jì)算機(jī)操作系統(tǒng)大多數(shù)都存在一定的BUG和漏洞,包括一些應(yīng)用軟件,這些系統(tǒng)或者軟件雖然已經(jīng)具備了強(qiáng)大的功能,安全加密措施也比較完善,但是“金無(wú)足赤”,仍然在某些方面存在著一定的安全漏洞,而別有用心的攻擊者恰恰是發(fā)現(xiàn)和利用了這些客觀存在的漏洞,進(jìn)行惡意代碼的入侵和數(shù)據(jù)破壞。由于在通常情況下,計(jì)算機(jī)的病毒預(yù)防和治理技術(shù)一般要落后于各種新病毒或者惡意代碼的攻擊,具有一定的滯后性。因此,就會(huì)在某種程度上造成計(jì)算機(jī)病毒或攻擊代碼在一定范圍內(nèi)大量的存在和蔓延;另一方面是管理,由于不同單位或者部門的重視程度和網(wǎng)絡(luò)管理人員的計(jì)算機(jī)專業(yè)技術(shù)水平參差不齊,使網(wǎng)絡(luò)安全防范體系弱化或者根本就是紙上談兵。在現(xiàn)實(shí)生活中,由于網(wǎng)絡(luò)管理不善和管理人員專業(yè)水準(zhǔn)低下所造成的網(wǎng)絡(luò)安全問(wèn)題層出不窮,給各個(gè)企業(yè)和部門帶來(lái)了極大的無(wú)形損失。有時(shí)候系統(tǒng)漏洞沒(méi)有及時(shí)被發(fā)現(xiàn),相關(guān)的修復(fù)措施相對(duì)比較滯后,這些由于管理疏忽所導(dǎo)致的安全防護(hù)措施的不到位,給惡意人員和攻擊者提供了極大的攻擊機(jī)會(huì)。
1 惡意代碼行為分析研究
任何事物的發(fā)展都具有兩面性,互聯(lián)網(wǎng)也不例外,它在方便和簡(jiǎn)化人們的生活的同時(shí),也具有一定的安全隱患性,如果無(wú)限地放大網(wǎng)絡(luò)優(yōu)勢(shì)性,而疏于防范網(wǎng)絡(luò)的潛在安全隱患,將會(huì)給人們帶來(lái)無(wú)法彌補(bǔ)的遺憾和一系列的數(shù)據(jù)安全、個(gè)人隱私、惡意攻擊等網(wǎng)絡(luò)常見的問(wèn)題。通過(guò)總結(jié)以往的網(wǎng)絡(luò)安全和惡意代碼攻擊案例,可以將目前比較猖獗的、破壞力比較大、影響比較惡劣的惡意代碼攻擊行為進(jìn)行梳理如下:
(1)僵尸網(wǎng)絡(luò)(Botnet)進(jìn)行惡意攻擊所采用的手段不是唯一的,有時(shí)候會(huì)綜合運(yùn)用多種代碼惡意攻擊和病毒傳播手段,其主要目的和病毒感染機(jī)理是將大量的受害者主機(jī)被動(dòng)地感染bot程序(僵尸程序)病毒,以便達(dá)到控制被感染主機(jī)的目的,使整個(gè)網(wǎng)絡(luò)受控于惡意攻擊者。僵尸網(wǎng)絡(luò)從某種方法上分析是惡意地利用了被攻擊計(jì)算機(jī)中的硬件設(shè)施服務(wù)漏洞和各種軟件配置的安全隱患端口,并且將具有攻擊性的惡意代碼進(jìn)行一定的偽裝。隨著功能各異、形式不同的服務(wù)型應(yīng)用軟件的層出不窮,很多表面看似綠色、友好、無(wú)毒的娛樂(lè)型軟件被不同群體的用戶大量安裝或者下載使用,特別是一些具有公共服務(wù)或者社交功能的網(wǎng)絡(luò)服務(wù)程序,不可避免地存在某些方面的“非技術(shù)”性安全漏洞,從而導(dǎo)致了安全隱患突出的、可供惡意攻擊者利用的、人為因素存在的安全漏洞的種類不斷增多,并且在數(shù)量上呈現(xiàn)突發(fā)增長(zhǎng)的趨勢(shì)。雖然目前僵尸網(wǎng)絡(luò)的呈現(xiàn)形式趨向于多樣化,但是大多數(shù)的講師網(wǎng)絡(luò)控制端與被控制端之間的控制命令傳遞和交互主要是通過(guò)Tor進(jìn)行數(shù)據(jù)信息通信,因此,在進(jìn)行而已代碼行為分析時(shí),對(duì)Tor網(wǎng)絡(luò)研究和Tor流量識(shí)別具有很強(qiáng)的實(shí)用性和顯著的效果。目前為止,對(duì)Tor流量識(shí)別主要側(cè)重于匿名通信關(guān)系研究,而用于匿名通信流量的識(shí)別和阻塞的分析探索則顯得相對(duì)匱乏。
(2)DDoS攻擊雖然并不是最新的、破壞力最強(qiáng)的攻擊手段,但是仍然不可小覷,基于DDoS攻擊的行為和案例更是不勝枚舉,讓廣大網(wǎng)絡(luò)用戶額外頭疼、屢防不止,這種惡意攻擊在很多情況下很難及時(shí)發(fā)現(xiàn),往往是等到受害主機(jī)被攻擊或者數(shù)據(jù)被盜取之后,才被發(fā)現(xiàn)和知曉,因此,如何快速地、預(yù)先地檢測(cè)到或者預(yù)測(cè)到攻擊行為,成為目前網(wǎng)絡(luò)安全進(jìn)一步完善和提升的瓶頸。通過(guò)定期地分析和統(tǒng)計(jì)被感染的僵尸主機(jī)的DDos攻擊行為流量特點(diǎn),可以在一定程度上查找出攻擊來(lái)源,避免惡意代碼的進(jìn)一步破壞行為的發(fā)生。
雖然惡意代碼攻擊性強(qiáng),攻擊行為惡劣,對(duì)廣大互聯(lián)網(wǎng)用戶的數(shù)據(jù)安全破壞嚴(yán)重,但是這種惡意代碼的預(yù)防和抵御方法還是比較有效果的,對(duì)惡意代碼的分析方法研究,可以歸納為三個(gè)基本環(huán)節(jié):
(1)惡意行為描述。根據(jù)攻擊案例中的惡意攻擊行為特點(diǎn)分析獲取的、已知的惡意代碼,將惡意攻擊行為按照攻擊目標(biāo)和攻擊范圍進(jìn)行劃分,例如針對(duì)文件訪問(wèn)攻擊、網(wǎng)絡(luò)傳輸過(guò)程攻擊等,在這些不同攻擊對(duì)象功能構(gòu)件中,動(dòng)態(tài)地分析代碼惡意攻擊行為的關(guān)鍵步驟和彼此之間存在的必然因果聯(lián)系和時(shí)序關(guān)系,同時(shí)使用有窮狀態(tài)機(jī)的方式描述這些代碼的惡意攻擊行為。
(2)全局狀態(tài)模型建立。對(duì)于計(jì)算機(jī)中存在的或者外界訪問(wèn)中出現(xiàn)的可疑程序,首先采用相關(guān)方法對(duì)其進(jìn)行反匯編和反編譯操作,然后成功地將其轉(zhuǎn)換為對(duì)應(yīng)的中間語(yǔ)言,最后根據(jù)轉(zhuǎn)換完畢的中間語(yǔ)言,相應(yīng)地生成程序下推自動(dòng)機(jī),從而達(dá)到準(zhǔn)確描述全局狀態(tài)空間的目的。
(3)惡意行為存在性驗(yàn)證。使用惡意代碼行為分析模型檢驗(yàn)方法,如果可疑的程序中確實(shí)存在相應(yīng)的惡意攻擊行為,則動(dòng)態(tài)地輸出疑似的惡意攻擊行為路徑,并且依據(jù)惡意行為分析模型,從關(guān)鍵環(huán)節(jié)對(duì)其進(jìn)行詳細(xì)的惡意代碼網(wǎng)絡(luò)行為分析。
本文的惡意代碼網(wǎng)絡(luò)行為分析模型主要是在Christodorescu等人提出的惡意代碼分析模型的基礎(chǔ)上,進(jìn)行適當(dāng)引用和擴(kuò)展分析。該模型應(yīng)用的主要原理和過(guò)程是使用有窮狀態(tài)機(jī)(Finite States Automata, FSA)描述網(wǎng)絡(luò)惡意代碼的攻擊行為,下推自動(dòng)機(jī)(Pushdown Automata, PDA)用于動(dòng)態(tài)地描述可疑程序的全局狀態(tài)空間(這里主要是指可疑程序的執(zhí)行路徑空間),最后,使用模型檢驗(yàn)方法,全面地、動(dòng)態(tài)地檢查可疑的程序中是否存在某些惡意代碼的網(wǎng)絡(luò)攻擊行為。
惡意代碼的網(wǎng)絡(luò)攻擊行為的FSA使用六元組的方式,即[A=(V,Σ,S,δ,S0,F(xiàn))],其中對(duì)這些字母符號(hào)進(jìn)行說(shuō)明如下:
[V={v1,...,vk}]代表的是自由變量集合;
[∑={Γ1,...,Γn}]是以自由變量為參數(shù)的抽象語(yǔ)法樹(函數(shù)調(diào)用或控制結(jié)構(gòu)等)集合;
[S]是狀態(tài)的有窮集合;
[δ?S×∑→2S]為轉(zhuǎn)換函數(shù);
[S0?S]是初始狀態(tài)的非空集合;
[F?S]是結(jié)束狀態(tài)的非空集合,所有惡意行為序列使得[A]到達(dá)結(jié)束狀態(tài)。
對(duì)于[V={v1,...,vk}]的一個(gè)綁定[Β],使用[Β(vi)]替換[A]中所有的[vi]([1≤i≤k])得到有窮狀態(tài)機(jī)稱作[Β(A)]。每個(gè)自由變量在程序中的所有出現(xiàn)存在一致的取值。
為了表示程序的全局狀態(tài)空間,即包含函數(shù)調(diào)用的程序執(zhí)行路徑集合,需要一個(gè)棧來(lái)記錄函數(shù)調(diào)用的返回地址,由棧產(chǎn)生的語(yǔ)言是上下文無(wú)關(guān)語(yǔ)言,則存在一個(gè)下推自動(dòng)機(jī)[Ρ]接受[T]。令[Ρ=(P,Γ,Δ)],其中[P]為程序的控制點(diǎn)的有窮集合;[Γ]為程序的棧符號(hào)集合,即棧指針的值域;[Δ?(P×Γ)×(P×Γ*)]是一個(gè)有窮的轉(zhuǎn)換集合,表示[P]接收一個(gè)輸入符號(hào),從一個(gè)配置到達(dá)另一個(gè)配置。
分析器以程序的PDA[P]和惡意行為FSA[A=(V,Σ,S,δ,S0,F(xiàn))]作為輸入,并判定[L(P)?(B∈AllL(B(A))]語(yǔ)言是否為空。[L(P)]是[P]對(duì)應(yīng)的語(yǔ)言,[ΒAll]是所有對(duì)[V]中變量綁定的集合。即檢測(cè)器決定是否存在一個(gè)綁定[Β]使得語(yǔ)言[P]和[B(A)]的交集非空。根據(jù)自動(dòng)機(jī)理論,有算法能夠計(jì)算一個(gè)PDA和FSA交集生成的PDA接受的語(yǔ)言是否為空。若算法返回了一個(gè)非空集合,則在[P]中存在惡意行為,檢測(cè)器報(bào)告惡意行為對(duì)應(yīng)的執(zhí)行路徑。
2 惡意代碼流量采集實(shí)驗(yàn)部署
在惡意代碼攻擊與防范的博弈中,很多設(shè)計(jì)精良的通信和網(wǎng)絡(luò)技術(shù)被惡意攻擊者所利用,例如比較突出的Tor匿名通信技術(shù),該技術(shù)的初衷是通過(guò)匿名網(wǎng)絡(luò)進(jìn)行通信傳輸,然而卻被別用用心的不法分子利用,反而成了惡意代碼攻擊行為的溫床,一定程度上阻礙了網(wǎng)絡(luò)正常通信的正常實(shí)施,威脅網(wǎng)絡(luò)用戶的數(shù)據(jù)信息安全。因此,加強(qiáng)防范匿名網(wǎng)絡(luò)造成的惡意代碼攻擊和僵尸網(wǎng)絡(luò)的形成刻不容緩。
針對(duì)以上情況,本文在進(jìn)行惡意代碼流量分析的實(shí)驗(yàn)部署中,主要通過(guò)基于報(bào)文長(zhǎng)度分布的Tor匿名通信流量識(shí)別方法,進(jìn)行匿名通信流量識(shí)別,為惡意代碼的攻擊行為分析檢測(cè)提供新的、可行性的研究方法。為了使分析結(jié)果更加清晰,在進(jìn)行實(shí)驗(yàn)部署的過(guò)程中盡量做到步驟簡(jiǎn)潔,實(shí)驗(yàn)環(huán)境的搭建主要是集中在一臺(tái)配置相對(duì)較高的物理計(jì)算機(jī)上實(shí)現(xiàn),宿主主機(jī)的網(wǎng)卡配置為普通以太網(wǎng)卡,并且在網(wǎng)卡上虛擬綁定多個(gè)IP地址,網(wǎng)絡(luò)流量采集拓?fù)鋱D如圖3.1所示。實(shí)際配置中將IP地址192.168.0.2(攻擊機(jī)IP)和192.168.1.2(控制機(jī)IP)均綁定到宿主主機(jī)網(wǎng)卡上。宿主主機(jī)同時(shí)也作為監(jiān)控服務(wù)器,通過(guò)VMware軟件安網(wǎng)關(guān)虛擬機(jī)(Roo)和虛擬操作系統(tǒng)(windows 7)。網(wǎng)關(guān)上有三個(gè)網(wǎng)絡(luò)接口。其中eth0 連接外網(wǎng),eth1連接內(nèi)網(wǎng)。網(wǎng)關(guān)的另一網(wǎng)絡(luò)接口eth2連接內(nèi)部管理監(jiān)控網(wǎng)絡(luò),使之能夠遠(yuǎn)程對(duì)網(wǎng)關(guān)進(jìn)行控制,并能夠?qū)W(wǎng)關(guān)捕獲的攻擊數(shù)據(jù)進(jìn)行進(jìn)一步分析。網(wǎng)關(guān)是與外部網(wǎng)絡(luò)的唯一連接,所有流入流出網(wǎng)絡(luò)流量都將通過(guò)它,所以在網(wǎng)關(guān)上能夠?qū)崿F(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)流的控制和捕獲。
為了可以捕獲攻擊者更詳細(xì)的信息,需要在Win7終端上安裝Sebek客戶端,將Sebek-Win32-3.0.4.zip通過(guò)網(wǎng)絡(luò)共享拷貝到虛擬機(jī)中,解壓后執(zhí)行Setup.exe進(jìn)行安裝。
在流量采集中,宿主主機(jī)、網(wǎng)關(guān)、虛擬終端的IP地址按照表1進(jìn)行分配。
3 實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析
在實(shí)驗(yàn)過(guò)程中,由于Tor網(wǎng)絡(luò)的數(shù)據(jù)流量和通信規(guī)模隨著時(shí)間的推移不斷增長(zhǎng),大量的用戶訪問(wèn)會(huì)直接導(dǎo)致網(wǎng)絡(luò)擁塞現(xiàn)象的發(fā)生,從而很難分清楚所使用的檢測(cè)模式。當(dāng)考慮通過(guò)流量分析對(duì)互聯(lián)網(wǎng)通信數(shù)據(jù)進(jìn)行分類時(shí),需要用到3種技術(shù):精確匹配技術(shù),啟發(fā)式匹配技術(shù)和機(jī)器學(xué)習(xí)技術(shù)。因?yàn)門or采用了強(qiáng)加密策略且支持任意端口通信,因此通過(guò)簡(jiǎn)單的配置選項(xiàng)即可實(shí)現(xiàn)精確匹配。
為了確定能否將Tor流量與正常加密數(shù)據(jù)流量區(qū)分開來(lái),我們通過(guò)仿真實(shí)驗(yàn)生成一組數(shù)據(jù)用于比較。為了降低混雜變量的影響,所有階段在相同的隔離測(cè)試網(wǎng)絡(luò)環(huán)境下完成,在仿真實(shí)驗(yàn)時(shí)還用到周期性回到潔凈且已知狀態(tài)的虛擬機(jī)快照。仿真實(shí)驗(yàn)獲得3組結(jié)果,如表2所示。
采集來(lái)的數(shù)據(jù)以1MB大小的文件存儲(chǔ),然后與mergecap相融合并經(jīng)過(guò)NetAI處理,最終生成可由Weka使用的ARFF格式的文件。NetAI可識(shí)別出采集文件中的數(shù)據(jù)流,并生成可作為分類屬性使用的一組統(tǒng)計(jì)量。
選擇的所有算法均可成功分類Tor上的HTTPS和HTTP數(shù)據(jù),分類精度在90%以上,但Adaboost無(wú)法對(duì)Tor上的HTTPS數(shù)據(jù)進(jìn)行有效分類。性能最優(yōu)的隨機(jī)森林算法對(duì)Tor上HTTPS數(shù)據(jù)的分類精度達(dá)到93.7%,虛警率只有3.7%。Tor上HTTPS的分類難度較低,分類精度達(dá)到97.7%,虛警率只有0.3%。這些機(jī)器學(xué)習(xí)算法的實(shí)驗(yàn)結(jié)果如表3所示。
利用無(wú)監(jiān)督機(jī)器學(xué)習(xí)算法對(duì)Tor流量分類也取得了一定成功后,然后我們利用啟發(fā)式分類算法進(jìn)行實(shí)驗(yàn)。生成報(bào)文尺寸直方圖后,不同樣本集間的顯著差異如圖3所示。
使用Tor作為通信代理會(huì)導(dǎo)致一些額外開銷,在受控條件下產(chǎn)生的額外開銷足以將其與正常加密流量區(qū)分開來(lái)。在實(shí)際網(wǎng)絡(luò)中利用產(chǎn)生的上述開銷及當(dāng)前偵聽技術(shù),便可將Tor結(jié)點(diǎn)檢測(cè)出來(lái)。
將Tor層通信封裝起來(lái)的加密層似乎并沒(méi)有實(shí)現(xiàn)Tor結(jié)點(diǎn)間通信規(guī)模的加密。這個(gè)現(xiàn)象在構(gòu)成各個(gè)會(huì)話的報(bào)文結(jié)構(gòu)中尤其明顯;Tor會(huì)話所占比例很大,足以匹配Tor協(xié)議中的512字節(jié)單元。
本文實(shí)驗(yàn)中的仿真數(shù)據(jù)還很有限,無(wú)法覆蓋真實(shí)世界中的所有情況。真實(shí)Tor網(wǎng)絡(luò)的變化特點(diǎn)和噪聲可能使本文分類方法失效。
4 結(jié)束語(yǔ)
網(wǎng)絡(luò)安全雖然老生常談,但是目前仍然是各個(gè)單位部門、企業(yè)、團(tuán)體都必須面對(duì)的問(wèn)題,不可避免地需要去正視、去面臨,如果這些網(wǎng)絡(luò)安全問(wèn)題日益突出,則會(huì)在很大程度上導(dǎo)致計(jì)算機(jī)病毒的泛濫和網(wǎng)絡(luò)攻擊行為的大面積發(fā)生。本文在基于惡意代碼的基礎(chǔ)上進(jìn)行網(wǎng)絡(luò)行為分析研究,通過(guò)惡意代碼流量采集實(shí)驗(yàn)部署,嘗試如何將Tor流量與正常加密數(shù)據(jù)流量區(qū)分開來(lái),以期達(dá)到可疑數(shù)據(jù)的準(zhǔn)確篩選。由于本文研究?jī)?nèi)容有限,在下一步的研究中應(yīng)當(dāng)開發(fā)相關(guān)的軟件來(lái)實(shí)現(xiàn)Tor用戶的自動(dòng)檢測(cè)并將其與網(wǎng)絡(luò)隔離,并且利用Tor網(wǎng)絡(luò)真實(shí)用戶的實(shí)時(shí)報(bào)文數(shù)據(jù)展開研究。
參考文獻(xiàn):
[1] 趙明濤.抗DDos攻擊的Tor匿名通信安全性增強(qiáng)研究[D].蘭州理工大學(xué),2017.
[2] 陳美玲.基于流量分析的Tor內(nèi)容分類研究[D].北京交通大學(xué),2017.
[3] BalykA,IatsykovskaU,KarpinskiM,et al. A survey of modern IP traceback methodologies[C]. IEEE,International Conference on Intelligent Data Acquisition and Advanced Computing Systems:Technology and Applications,2015.
[4] Aghaei-ForoushaniV,Zincir-Heywood A N.Autonomous system based flow marking scheme for IP-Traceback[C] . Network Operations and Management Symposium ,2016.
[5] HakemBeitollahi,GeertDeconinck. Analyzing well-known countermeasures against distributed denial of service attacks[J] . Computer Communications ,2012 (11).
【通聯(lián)編輯:代影】