廖鐸烽
摘 要 隨著信息系統(tǒng)智能化的發(fā)展,高級持續(xù)性威脅帶來的危害愈加嚴(yán)重。如何對各類傳統(tǒng)安全設(shè)備產(chǎn)生的海量日志進(jìn)行關(guān)聯(lián)分析,從而對此新型網(wǎng)絡(luò)威脅進(jìn)行有效的檢測顯得愈加重要。本文在分析高級持續(xù)性威脅的原理和特點(diǎn)的基礎(chǔ)上,提出了基于擴(kuò)展攻擊鏈模型結(jié)合長短期記憶網(wǎng)絡(luò)模型對網(wǎng)絡(luò)行為進(jìn)行廣泛關(guān)聯(lián)的智能威脅檢測方法,為檢測高級持續(xù)性威脅的應(yīng)用和實踐提供了一種新的思路。
關(guān)鍵詞 高級持續(xù)性威脅 入侵檢測 網(wǎng)絡(luò)攻擊鏈 循環(huán)神經(jīng)網(wǎng)絡(luò)
中圖分類號:TP31 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-0745(2022)01-0010-04
1 前言
近年高級可持續(xù)威脅(Advanced Persistent Threat,APT)逐漸引起人們的關(guān)注。APT攻擊也稱為定向攻擊,通常是具有高水平專業(yè)知識和豐富資源的組織對特定重要對象開展的持續(xù)的網(wǎng)絡(luò)攻擊活動,相較于傳統(tǒng)的網(wǎng)絡(luò)攻擊模式更加難以防范,造成的危害更加嚴(yán)重[1]。
傳統(tǒng)的防御方法,如入侵檢測、防火墻等,主要適用于應(yīng)對模式固定的網(wǎng)絡(luò)攻擊。APT攻擊往往具有“多步驟”和“低姿態(tài)”的特點(diǎn),在一個很長的時間段內(nèi),運(yùn)用釣魚郵件、系統(tǒng)漏洞、社會工程學(xué)等各種手段,繞過邊界防護(hù)潛伏在系統(tǒng)中。如何有效地檢測APT攻擊過程中相關(guān)的異常事件仍然是比較困難的問題。
為了應(yīng)對這種復(fù)雜的網(wǎng)絡(luò)攻擊手段,本文對APT攻擊原理和防護(hù)技術(shù)進(jìn)行研究,提出一種基于網(wǎng)絡(luò)攻擊鏈模型和循環(huán)神經(jīng)網(wǎng)絡(luò)的檢測方法,在時間和空間上對APT攻擊鏈條中相關(guān)的網(wǎng)絡(luò)行為進(jìn)行關(guān)聯(lián),提高對APT攻擊的識別能力。
2 相關(guān)工作
國內(nèi)外學(xué)者圍繞APT檢測已開展了廣泛的研究和實踐,其成果主要集中于入侵檢測技術(shù)方面。入侵檢測技術(shù)可分為特征檢測和異常檢測,前者使用基于規(guī)則庫的入侵檢測系統(tǒng)等安全設(shè)備對計算機(jī)網(wǎng)絡(luò)中的事件進(jìn)行分析,與規(guī)則相匹配的網(wǎng)絡(luò)行為則被檢測為攻擊[2-4];后者采用統(tǒng)計機(jī)器學(xué)習(xí)的方法,通過收集正常數(shù)據(jù)訓(xùn)練行為模型,當(dāng)網(wǎng)絡(luò)中出現(xiàn)偏離該模型限值的情況時會被認(rèn)為是網(wǎng)絡(luò)攻擊行為[5-6]。從實際應(yīng)用情況來看,上述研究成果對于改善APT攻擊的檢測水平起到了重要作用,但是也存在一些問題。一方面,現(xiàn)有的入侵檢測系統(tǒng)缺乏對安全威脅特征代碼庫中尚未簽名的未知威脅的實時有效的安全防護(hù)能力[7];另一方面,基于常規(guī)機(jī)器學(xué)習(xí)模型的檢測方法,對于時間跨度大、攻擊行為不明顯的APT攻擊的效果相對有限[8]。
3 APT檢測關(guān)鍵技術(shù)
3.1 經(jīng)典攻擊鏈模型
APT攻擊行為不僅是直接的破壞行為,其攻擊的各階段是混雜交織的,需要引入更細(xì)粒度的模型來指導(dǎo)防御[9]。經(jīng)典網(wǎng)絡(luò)攻擊鏈(Cyber Attack Chain,CAC)模型是美國洛克希德-馬丁公司于2011年提出的從攻擊者角度描述的一種有針對性的分階段攻擊的網(wǎng)絡(luò)安全模型。該模型協(xié)助安全人員識別潛在攻擊每個階段的可疑活動,如未能在某一步中發(fā)現(xiàn)攻擊跡象,也可以在后續(xù)階段中找到線索,以期盡早發(fā)現(xiàn)并阻止攻擊行為,使防御效果最大化。通過CAC模型側(cè)寫出惡意攻擊的邏輯關(guān)系,為網(wǎng)絡(luò)安全事件追蹤溯源、關(guān)系抽取和攻擊預(yù)測提供了先決條件。
如圖1所示,CAC模型包含7個攻擊階段:偵查跟蹤通常通過充分利用社會工程學(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ù)器建立一個命令與控制信道;通信控制是指執(zhí)行所需要的攻擊行為,例如偷取信息、篡改信息等;最后目標(biāo)行動階段創(chuàng)建攻擊據(jù)點(diǎn),并持續(xù)潛伏擴(kuò)大攻擊戰(zhàn)果。
3.2 循環(huán)神經(jīng)網(wǎng)絡(luò)
與傳統(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間點(diǎn)前后的事件進(jìn)行關(guān)聯(lián)。
神經(jīng)單元A接收輸入X并輸出一個值h,循環(huán)允許信息從網(wǎng)絡(luò)的一個步驟傳遞到下一個步驟??梢詫⒀h(huán)神經(jīng)網(wǎng)絡(luò)視為同一網(wǎng)絡(luò)的在不同時刻的復(fù)制,每個復(fù)制都將消息傳遞給下一個時刻,因此理論上來看,循環(huán)神經(jīng)網(wǎng)絡(luò)能夠處理“長期依賴性”問題。
4 基于擴(kuò)展CAC及LSTM的APT檢測方法
4.1 擴(kuò)展攻擊鏈模型
前面所述的經(jīng)典攻擊鏈模型僅適合建模外部攻擊,不適用于內(nèi)部威脅[10]。在APT攻擊中,大量攻擊行為都是在獲得了內(nèi)部系統(tǒng)權(quán)限后進(jìn)行的,所以需要對經(jīng)典攻擊鏈模型進(jìn)行擴(kuò)展,擴(kuò)展后的攻擊鏈模型如圖2所示。相對于經(jīng)典攻擊鏈,擴(kuò)展CAC細(xì)分了內(nèi)部行為,在達(dá)成目標(biāo)階段中增加了內(nèi)部攻擊鏈。內(nèi)部攻擊鏈?zhǔn)菫榱双@得對目標(biāo)系統(tǒng)的訪問,包含內(nèi)部偵察、目標(biāo)利用、權(quán)限提升、橫向移動和內(nèi)部目標(biāo)操縱。
4.2 長短期記憶網(wǎng)絡(luò)
在實踐中RNN模型對于學(xué)習(xí)“長期依賴”的能力仍然存在不足,并且會有梯度消失的問題存在,因此一種特殊結(jié)構(gòu)的RNN,即長短期記憶網(wǎng)絡(luò)(Long-short term memory,LSTM)被提出[11]。LSTM對RNN中的神經(jīng)單元進(jìn)行了擴(kuò)展,引入了三個門,即輸入門、遺忘門和輸出門,以及記錄額外的信息的記憶細(xì)胞(見圖3)。
具體來說,令隱藏單元個數(shù)為h,給定時間步為t,輸入為Xt,上一時間步隱藏狀態(tài)Ht?1,時間步t的輸入門It、遺忘門Ft和輸出門Ot分別計算如下:
It=σ(XtWxi+Ht?1Whi+bi);
Ft=σ(XtWxf+Ht?1Whf+bf);
Ot=σ(XtWxo+Ht?1Who+bo);
其中的Wxi,Wxf,Wxo和Whi,Whf,Who是對應(yīng)的權(quán)重參數(shù),bi,bf,bo是對應(yīng)的偏差參數(shù)。
4.3 基于擴(kuò)展攻擊鏈和LSTM的APT檢測
結(jié)合以上定義,基于擴(kuò)展攻擊鏈和LSTM的APT檢測方法的總體框架,具體可以分為以下四個步驟:
1.擴(kuò)展攻擊鏈映射。將寬度為j的窗口內(nèi)的網(wǎng)絡(luò)事件序列ei-j,…ei-1,ei輸入至LSTM,與此同時,對事件與擴(kuò)展攻擊鏈模型進(jìn)行映射。
2.事件權(quán)重更新。根據(jù)攻擊鏈映射的結(jié)果獲得各個事件ei的權(quán)重wi,并將其更新至“1”已輸入至LSTM模型的事件序列中。
3.事件序列表示學(xué)習(xí)。使用LSTM模型來結(jié)合不同時刻事件的信息提取事件的變化特征,并進(jìn)行表示向量的學(xué)習(xí),將該窗口內(nèi)的整個事件序列表示成一維的向量。
4.流數(shù)據(jù)的異常檢測。使用成熟的數(shù)據(jù)流上的異常檢測算法RRCF[12]給出異常分?jǐn)?shù)。為了確定異常事件序列,可以設(shè)定一個閾值并認(rèn)為該分?jǐn)?shù)超過閾值的序列存在異常。
5 結(jié)語
現(xiàn)有網(wǎng)絡(luò)攻擊防御措施主要側(cè)重于檢測固定模式的網(wǎng)絡(luò)攻擊行為,對APT攻擊檢測效果不佳。本文在分析APT攻擊原理和攻擊特點(diǎn)的基礎(chǔ)上,提出了一種新的APT檢測方法。在經(jīng)典網(wǎng)絡(luò)攻擊鏈模型基礎(chǔ)上,考慮內(nèi)部威脅部分,提出了擴(kuò)展攻擊鏈模型,并結(jié)合LSTM神經(jīng)網(wǎng)絡(luò)模型對網(wǎng)絡(luò)行為進(jìn)行廣泛關(guān)聯(lián),為APT攻擊檢測的應(yīng)用實踐提供了一種新的思路。
參考文獻(xiàn):
[1] 孫增.高級持續(xù)性威脅(APT)的攻防技術(shù)研究[D].上海:上海交通大學(xué),2015.
[2] 陶曉玲,周理勝,龔昱鳴.基于角標(biāo)隨機(jī)讀取的Snort報警數(shù)據(jù)聚合方法.CNKI:SUN:GLDZ.0.2019-04-008[P].2019.
[3] Karim I,Vien Q T.Snort-based intrusion detection system for practical computer networks: implementation and comparative study[J].2017.
[4] More S,Matthews M,Joshi A,et al. A Knowledge-Based Approach to Intrusion Detection Modeling[M].2012.
[5] 王竹曉,張彭彭,李為,等.基于深度Q網(wǎng)絡(luò)的電力工控網(wǎng)絡(luò)異常檢測系統(tǒng)[J].計算機(jī)與現(xiàn)代化,2019(12): 114-118.
[6] 張蕾,崔勇,劉靜,等.機(jī)器學(xué)習(xí)在網(wǎng)絡(luò)空間安全研究中的應(yīng)用[J].計算機(jī)學(xué)報,2018,41(09):1943-1975.
[7] 高昆侖,辛耀中,李釗,等.智能電網(wǎng)調(diào)度控制系統(tǒng)安全防護(hù)技術(shù)及發(fā)展[J].電力系統(tǒng)自動化,2015,39(01): 48-52.
[8] 劉海波,武天博,沈晶,等.基于GAN-LSTM的APT攻擊檢測[J].計算機(jī)科學(xué),2020,47(01):287-292.
[9] Hutchins EM,Cloppert MJ,Amin RM.Intelligence-driven computer network defense informed by analysis of adversary campaigns and intrusion kill chains. Leading Issues in Information Warfare & Security Research.20 11,01(01):80.
[10] 劉文彥,霍樹民,陳揚(yáng),等.網(wǎng)絡(luò)攻擊鏈模型分析及研究[J].通信學(xué)報,2018,39(S2):88-94.
[11] Gf A,Schmidhuber J,F(xiàn) Cummins.Learning to Forget:Continual Prediction with LSTM[C]//Istituto Dalle Molle Di Studi Sull Intelligenza Artificiale.Istituto Dalle Molle Di Studi Sull Intelligenza Artificiale,1999.
[12] Guha S, Mishra N, Roy G, et al. Robust random cut forest based anomaly detection on streams. In: Proc.of the Intl Conf. on Machine Learning (ICML),2016:2712-2721.