廖鐸烽
(廣州市香江中學(xué)國(guó)際部,廣東 廣州 511340)
近年高級(jí)可持續(xù)威脅(Advanced Persistent Threat,APT)逐漸引起人們的關(guān)注。APT 攻擊也稱為定向攻擊,通常是具有高水平專業(yè)知識(shí)和豐富資源的組織對(duì)特定重要對(duì)象開展的持續(xù)的網(wǎng)絡(luò)攻擊活動(dòng),相較于傳統(tǒng)的網(wǎng)絡(luò)攻擊模式更加難以防范,造成的危害更加嚴(yán)重[1]。
傳統(tǒng)的防御方法,如入侵檢測(cè)、防火墻等,主要適用于應(yīng)對(duì)模式固定的網(wǎng)絡(luò)攻擊。APT 攻擊往往具有“多步驟”和“低姿態(tài)”的特點(diǎn),在一個(gè)很長(zhǎng)的時(shí)間段內(nèi),運(yùn)用釣魚郵件、系統(tǒng)漏洞、社會(huì)工程學(xué)等各種手段,繞過邊界防護(hù)潛伏在系統(tǒng)中。如何有效地檢測(cè)APT 攻擊過程中相關(guān)的異常事件仍然是比較困難的問題。
為了應(yīng)對(duì)這種復(fù)雜的網(wǎng)絡(luò)攻擊手段,本文對(duì)APT攻擊原理和防護(hù)技術(shù)進(jìn)行研究,提出一種基于網(wǎng)絡(luò)攻擊鏈模型和循環(huán)神經(jīng)網(wǎng)絡(luò)的檢測(cè)方法,在時(shí)間和空間上對(duì)APT 攻擊鏈條中相關(guān)的網(wǎng)絡(luò)行為進(jìn)行關(guān)聯(lián),提高對(duì)APT 攻擊的識(shí)別能力。
國(guó)內(nèi)外學(xué)者圍繞APT 檢測(cè)已開展了廣泛的研究和實(shí)踐,其成果主要集中于入侵檢測(cè)技術(shù)方面。入侵檢測(cè)技術(shù)可分為特征檢測(cè)和異常檢測(cè),前者使用基于規(guī)則庫(kù)的入侵檢測(cè)系統(tǒng)等安全設(shè)備對(duì)計(jì)算機(jī)網(wǎng)絡(luò)中的事件進(jìn)行分析,與規(guī)則相匹配的網(wǎng)絡(luò)行為則被檢測(cè)為攻擊[2-4];后者采用統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法,通過收集正常數(shù)據(jù)訓(xùn)練行為模型,當(dāng)網(wǎng)絡(luò)中出現(xiàn)偏離該模型限值的情況時(shí)會(huì)被認(rèn)為是網(wǎng)絡(luò)攻擊行為[5-6]。從實(shí)際應(yīng)用情況來看,上述研究成果對(duì)于改善APT 攻擊的檢測(cè)水平起到了重要作用,但是也存在一些問題。一方面,現(xiàn)有的入侵檢測(cè)系統(tǒng)缺乏對(duì)安全威脅特征代碼庫(kù)中尚未簽名的未知威脅的實(shí)時(shí)有效的安全防護(hù)能力[7];另一方面,基于常規(guī)機(jī)器學(xué)習(xí)模型的檢測(cè)方法,對(duì)于時(shí)間跨度大、攻擊行為不明顯的APT 攻擊的效果相對(duì)有限[8]。
APT 攻擊行為不僅是直接的破壞行為,其攻擊的各階段是混雜交織的,需要引入更細(xì)粒度的模型來指導(dǎo)防御[9]。經(jīng)典網(wǎng)絡(luò)攻擊鏈(Cyber Attack Chain,CAC)模型是美國(guó)洛克希德-馬丁公司于2011 年提出的從攻擊者角度描述的一種有針對(duì)性的分階段攻擊的網(wǎng)絡(luò)安全模型。該模型協(xié)助安全人員識(shí)別潛在攻擊每個(gè)階段的可疑活動(dòng),如未能在某一步中發(fā)現(xiàn)攻擊跡象,也可以在后續(xù)階段中找到線索,以期盡早發(fā)現(xiàn)并阻止攻擊行為,使防御效果最大化。通過CAC 模型側(cè)寫出惡意攻擊的邏輯關(guān)系,為網(wǎng)絡(luò)安全事件追蹤溯源、關(guān)系抽取和攻擊預(yù)測(cè)提供了先決條件。
如圖1 所示,CAC 模型包含7 個(gè)攻擊階段:偵查跟蹤通常通過充分利用社會(huì)工程學(xué)了解目標(biāo)系統(tǒng)和網(wǎng)絡(luò)信息;武器構(gòu)建主要是指制作定向攻擊工具,例如帶有惡意代碼的PDF 文件或Office 文件;載荷投遞將輸送攻擊工具到目標(biāo)系統(tǒng)上,常用的手法包括郵件的附件、網(wǎng)站(掛馬)、U 盤等;攻擊利用是利用目標(biāo)系統(tǒng)的應(yīng)用或操作系統(tǒng)漏洞,在目標(biāo)系統(tǒng)觸發(fā)已制作的攻擊工具使其運(yùn)行;安裝植入與互聯(lián)網(wǎng)控制器服務(wù)器建立一個(gè)命令與控制信道;通信控制是指執(zhí)行所需要的攻擊行為,例如偷取信息、篡改信息等;最后目標(biāo)行動(dòng)階段創(chuàng)建攻擊據(jù)點(diǎn),并持續(xù)潛伏擴(kuò)大攻擊戰(zhàn)果。
圖1 經(jīng)典攻擊鏈模型
與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)不同,循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)內(nèi)置循環(huán)的網(wǎng)絡(luò),允許信息持續(xù)存在,從而能夠?qū)斎霑r(shí)間點(diǎn)前后的事件進(jìn)行關(guān)聯(lián)。
神經(jīng)單元A 接收輸入X 并輸出一個(gè)值h,循環(huán)允許信息從網(wǎng)絡(luò)的一個(gè)步驟傳遞到下一個(gè)步驟??梢詫⒀h(huán)神經(jīng)網(wǎng)絡(luò)視為同一網(wǎng)絡(luò)的在不同時(shí)刻的復(fù)制,每個(gè)復(fù)制都將消息傳遞給下一個(gè)時(shí)刻,因此理論上來看,循環(huán)神經(jīng)網(wǎng)絡(luò)能夠處理“長(zhǎng)期依賴性”問題。
前面所述的經(jīng)典攻擊鏈模型僅適合建模外部攻擊,不適用于內(nèi)部威脅[10]。在APT 攻擊中,大量攻擊行為都是在獲得了內(nèi)部系統(tǒng)權(quán)限后進(jìn)行的,所以需要對(duì)經(jīng)典攻擊鏈模型進(jìn)行擴(kuò)展,擴(kuò)展后的攻擊鏈模型如圖2所示。相對(duì)于經(jīng)典攻擊鏈,擴(kuò)展CAC 細(xì)分了內(nèi)部行為,在達(dá)成目標(biāo)階段中增加了內(nèi)部攻擊鏈。內(nèi)部攻擊鏈?zhǔn)菫榱双@得對(duì)目標(biāo)系統(tǒng)的訪問,包含內(nèi)部偵察、目標(biāo)利用、權(quán)限提升、橫向移動(dòng)和內(nèi)部目標(biāo)操縱。
圖2 擴(kuò)展攻擊鏈模型
在實(shí)踐中RNN 模型對(duì)于學(xué)習(xí)“長(zhǎng)期依賴”的能力仍然存在不足,并且會(huì)有梯度消失的問題存在,因此一種特殊結(jié)構(gòu)的RNN,即長(zhǎng)短期記憶網(wǎng)絡(luò)(Long-Short Term Memory,LSTM)被提出[11]。LSTM 對(duì)RNN 中的神經(jīng)單元進(jìn)行了擴(kuò)展,引入了三個(gè)門,即輸入門、遺忘門和輸出門,以及記錄額外的信息的記憶細(xì)胞(見圖3)。
圖3 長(zhǎng)短期記憶網(wǎng)絡(luò)單元
具體來說,令隱藏單元個(gè)數(shù)為h,給定時(shí)間步為t,輸入為Xt,上一時(shí)間步隱藏狀態(tài)Ht?1,時(shí)間步t 的輸入門It、遺忘門Ft和輸出門Ot分別計(jì)算如下:
其中的Wxi,Wxf,Wxo和Whi,Whf,Who是對(duì)應(yīng)的權(quán)重參數(shù),bi,bf,bo是對(duì)應(yīng)的偏差參數(shù)。
結(jié)合以上定義,基于擴(kuò)展攻擊鏈和LSTM 的APT檢測(cè)方法的總體框架,具體可以分為以下四個(gè)步驟:
1.擴(kuò)展攻擊鏈映射。將寬度為j 的窗口內(nèi)的網(wǎng)絡(luò)事件序列ei-j,…ei-1,ei輸入至LSTM,與此同時(shí),對(duì)事件與擴(kuò)展攻擊鏈模型進(jìn)行映射。
2.事件權(quán)重更新。根據(jù)攻擊鏈映射的結(jié)果獲得各個(gè)事件ei 的權(quán)重wi,并將其更新至“1”已輸入至LSTM模型的事件序列中。
3.事件序列表示學(xué)習(xí)。使用LSTM 模型來結(jié)合不同時(shí)刻事件的信息提取事件的變化特征,并進(jìn)行表示向量的學(xué)習(xí),將該窗口內(nèi)的整個(gè)事件序列表示成一維的向量。
4.流數(shù)據(jù)的異常檢測(cè)。使用成熟的數(shù)據(jù)流上的異常檢測(cè)算法RRCF[12]給出異常分?jǐn)?shù)。為了確定異常事件序列,可以設(shè)定一個(gè)閾值并認(rèn)為該分?jǐn)?shù)超過閾值的序列存在異常。
現(xiàn)有網(wǎng)絡(luò)攻擊防御措施主要側(cè)重于檢測(cè)固定模式的網(wǎng)絡(luò)攻擊行為,對(duì)APT 攻擊檢測(cè)效果不佳。本文在分析APT 攻擊原理和攻擊特點(diǎn)的基礎(chǔ)上,提出了一種新的APT 檢測(cè)方法。在經(jīng)典網(wǎng)絡(luò)攻擊鏈模型基礎(chǔ)上,考慮內(nèi)部威脅部分,提出了擴(kuò)展攻擊鏈模型,并結(jié)合LSTM 神經(jīng)網(wǎng)絡(luò)模型對(duì)網(wǎng)絡(luò)行為進(jìn)行廣泛關(guān)聯(lián),為APT攻擊檢測(cè)的應(yīng)用實(shí)踐提供了一種新的思路。