朱光明,盧梓杰,馮家偉,張向東,張鋒軍,牛作元,張 亮
(1.西安電子科技大學 計算機科學與技術學院,陜西 西安 710071;2.西安電子科技大學 通信工程學院,陜西 西安 710071;3.中國電子科技集團公司第三十研究所,四川 成都 610041)
隨著互聯網在各個領域的運用越來越廣泛,網絡技術的不斷發展,以及大數據、物聯網等新技術的出現和發展,網絡攻擊行為和威脅也在隨之增加,網絡安全成為越來越尖銳的問題。最具威脅性的高級持續性威脅(Advanced Persistent Threat,APT)攻擊[1]一般是由專業的高級持續性威脅組織發起,主要目的是獲取目標的關鍵信息,長期綜合運用多種攻擊手段對特定目標進行滲透活動。高級持續性威脅攻擊通常包括5個主要階段:偵察、建立立足點(初始訪問)、橫向移動、數據泄露、持久化[2]。高級持續性威脅攻擊具有3個重要特征,分別是[11]:①高級。實施攻擊的人運用的專業知識、方法和工具都是高級的。②持續性。通常一個高級持續性威脅活動會持續很長一段時間,短的幾個月,長的甚至幾年,而且成功入侵之后,會對目標進行持久化的監視和數據竊取。③隱蔽性。高級持續性威脅會運用防御繞過技術來躲避目標系統的防御部署,通過信息收集、釣魚等方式逐漸滲透。
近年來,機器學習越來越多地被用于網絡安全的研究當中,比如檢測網絡環境中可能會受到的威脅和攻擊。機器學習具有快速處理數據的能力,面對傳統入侵檢測系統難以檢測到的攻擊,它們能挖掘出攻擊數據與正常數據的區別[3]。在大量的攻擊行為中,最難以檢測的攻擊就是高級持續性威脅攻擊,它涉及較長時間內的多個攻擊步驟,對其調查需要分析大量日志以識別其攻擊步驟。由于每天網絡流量的數量過于龐大,網絡分析師僅憑入侵檢測系統難以全面且持續地應對攻擊行為。
國內外的研究人員在高級持續性威脅攻擊檢測的研究上做了很多重要工作。在這些工作中,較為關鍵的是相關數據的采集和數據集的構建。加拿大網絡安全研究所(Canadian Institute for Cybersecurity,CIC)和新不倫瑞克大學(University of New Brunswick,UNB)提出了CICIDS 2017數據集,該數據集涵蓋了11種常見的攻擊方式,通過機器學習算法進行評估[4]。2018年,加拿大網絡安全研究所進一步提出了CICIDS 2018數據集[5],這次實驗環境部署在亞馬遜云上,攻擊方和被攻擊方都包含了多臺計算機。CICIDS 2018數據集包含了7種攻擊場景,收集了每臺計算機的網絡流量和系統日志。除此之外,還有新不倫瑞克大學提出的UNSW-NB15(University of New South Wales-Network Benchmark 15)數據集[12]和NSL-KDD(Network Security Laboratory-Knowledge Discoveny and Data mining)數據集[13]、美國國防高級研究計劃局(Defense Advanced Research Projects Agency,DARPA)提出的DARPA TC(Transparent Computing)數據集[14]等。但遺憾的是,這些數據集大多數只收集了高級持續性威脅攻擊偵察階段和建立立足點階段的異常數據,沒有包含完整的高級持續性威脅多階段攻擊數據。缺少完整多階段的開源高級持續性威脅數據是近年來開展科研工作的一大難點。直到2020年,MYNENI等人提出了DAPT 2020(Dataset for APT 2020)數據集[6],該數據集比前兩個數據集涵蓋了更多的高級持續性威脅攻擊階段,是第1個捕獲高級持續性威脅所有階段網絡行為的數據集。這些數據集的不斷推陳出新,極大地推動了高級持續性威脅攻擊自動檢測和防御的研究工作,填補了開源高級持續性威脅數據集的空缺。
得益于這些開源數據集,越來越多的研究人員在此基礎上提出了異常檢測算法。Holmes[15]是基于靜態規則集的模式匹配算法,實驗對象是DARPA TC數據集。Unicorn[16]是一個實時的異常檢測系統,它的核心是基于異常的圖形草圖聚類算法,實驗對象是DARPA TC數據集。LI等人[17]提出的基于注意力圖神經網絡的深度自編碼模型,則屬于基于學習的方法。這些方法由于采用了未包含完整的多階段高級持續性威脅攻擊數據集,因此更偏向于傳統的異常檢測。DAPT 2020的原作者在數據集上測試了傳統的單類支持向量機(Support Vector Mchines,SVM)模型和棧式自動編碼模型的性能,訓練的時候只采用了良性數據;測試數據的時候檢測異常的原理是,通過比較輸入與重建輸出的差異大小是否超過閾值來判定是否屬于異常數據。由于他們忽略了高級持續性威脅攻擊的上下文具有關聯性,單獨地對每個網絡流進行重建誤差判斷,最終只得到了平均不到70%的準確率和不到30%的召回率。DIJK等人[18]對DAPT 2020數據集所有高級持續性威脅階段的異常流量檢測進行了實驗,在DAPT論文算法的基礎上提出了一種通過分析網絡流量的有效載荷來成功檢測高級持續性威脅數據泄露階段的方法,準確率和召回率都有了較大程度的提升;但他們依舊沒有從網絡流的上下文聯系方面著手,局限于單個流量數據包的異常檢測方法。國內周杰英等人采用UNSW-NB15數據集,提出了融合隨機森林和梯度提升樹的入侵檢測方法[7]。張興蘭等人提出了一種可變融合的隨機注意力膠囊網絡入侵檢測模型,在NSL-KDD和UNSW-NB15數據集上實驗,得到了很高的準確率[8]。劉景美等人提出了基于信息增益的自適應分箱特征選擇的快速網絡入侵檢測算法,主要解決傳統入侵檢測系統查全率較低以及基于深度學習的入侵檢測訓練用時過長的問題[9]。
傳統的入侵檢測算法,如模式/特征匹配、機器學習等,能識別不同尋常的訪問或對安全內部網絡的攻擊,但是大多數無法有效檢測高級持續性威脅攻擊,因為它們通常被設計為檢測單個(已知)的攻擊模式或方法,而不是涉及多個相互連接的惡意威脅[4]。另外,它們沒有考慮對高級持續性威脅最重要的保密性、完整性和持久性方面進行建模,既不能識別也不能利用高級持續性威脅多個階段的相關性。
高級持續性威脅攻擊一般會在目標系統中留下操作痕跡,目前的研究工作收集高級持續性威脅攻擊數據主要從兩個方面入手,一個是網絡流量抓包,另一個是分析系統日志。筆者針對網絡流抓包記錄的高級持續性威脅行為,提出了基于因果圖序列的高級持續性威脅攻擊檢測算法。首先,利用因果圖對網絡數據包序列進行建模,將網絡環境的互聯網協議(Internet Protocol,IP)節點之間的數據流關聯起來,建立攻擊和非攻擊行為的上下文序列;然后,將序列數據歸一化,使用基于長短期記憶網絡的深度學習模型進行序列二分類;最后,基于序列分類結果對原數據包進行惡性甄別。筆者在DAPT 2020數據集的基礎上構建了新的數據集,并對文中算法進行了驗證。
基于因果圖序列的高級持續性威脅攻擊檢測算法的基本流程如圖1所示,包含3個步驟:

圖1 算法流程
步驟1 利用網絡流數據構建數據流圖,在數據流圖的輔助下,梳理出攻擊路徑,詳見2.2節內容;
步驟2 以攻擊路徑為參照,構造出攻擊序列的正樣本和負樣本,并對序列進行歸一化,詳見2.3節內容;
步驟3 基于序列分類結果對原始網絡流數據進行分類,進行惡意數據識別,詳見2.4節內容。
數據流圖:數據流圖是從網絡流量特征數據中提取處理出來的數據結構,用于確定各網絡節點的連接關系,確定網絡流量的流向。數據流圖由代表源互聯網協議地址和目的互聯網協議地址的節點組成,以有向邊相連,代表數據的流向。
節點:數據流圖中的節點表示數據集網絡環境中的一臺主機節點,以互聯網協議地址地址作為標識。
邊:數據流圖中的一條邊就表示數據集中一個數據包,連接了源互聯網協議地址和目的互聯網協議地址,表示了兩個主機節點的一次數據傳輸。邊以源互聯網協議地址、目的互聯網協議地址、時間戳的組合作為標識。由于節點之間會有多次傳輸,因此每兩個節點之間會有多條邊。
將所有網絡流數據包按上述原則生成節點和邊,可以構建一個復雜的數據流因果圖。圖2數據流圖中只展示了部分攻擊節點之間的連接,且兩個節點之間只顯示一條連接;箭頭表示流向。

圖2 數據流圖
由數據流圖確定數據集中的流量路徑,配合原數據集的高級持續性威脅攻擊階段標簽和數據包的正常和惡性標簽,按照時間戳順序和高級持續性威脅的階段先后順序,構造出序列數據。根據組成序列的數據包中是否包含良性數據包來判定該序列是否是完整的攻擊序列,以此來給所有序列進行標簽標定。構建序列的目的是為了引入高級持續性威脅攻擊的上下文關系,幫助模型捕捉高級持續性威脅攻擊的隱蔽性特征表示,提高異常識別的準確率和查全率。
2.3.1 惡性序列構建
在DAPT 2020數據集中,不是所有高級持續性威脅攻擊都能完成全部階段的攻擊。有些攻擊只完成偵察階段,有些完成了偵察階段和建立立足點階段。按照數據流圖中的路徑和高級持續性威脅攻擊階段,分析出攻擊網絡流最多包含5個階段:偵察、建立立足點、兩次橫向移動、數據泄露。因此,構建的攻擊路徑序列的長度也是不定的,最大長度為5。
構建惡性序列分為3個基本步驟:
(1) 在所有流量包中單獨分離出帶惡性標簽的流量包。由于原本的DAPT 2020數據集跨越的時間段為5天,周一模擬日常使用產生的流量,周二到周五每天只模擬一個階段的高級持續性威脅攻擊,4天剛好對應4個高級持續性威脅階段,這對構建惡性序列提供了很大的便利。
(2) 惡性流量涉及到的互聯網協議地址數量比較少,可以依據因果圖梳理出所有可能成立的攻擊路徑。
(3) 攻擊路徑中的每一步都可以在周二到周五的一天中找到對應的源互聯網協議地址、目的互聯網協議地址以及對應高級持續性威脅階段的數據包,在這些數據包中選出一條數據。以此類推,就能組合出一條完整攻擊鏈路對應的序列數據。這些序列里數據包的時間戳,也符合先后順序。
表1所示是一個長度為5的惡性序列,實際訓練的時候會刪去源互聯網協議地址、目的互聯網協議地址、時間戳、活動和階段,只保留源端口、目的端口、協議號和其他的統計特征,如:流持續時間,正向包/反向包的數量、大小、標準差,流字節率(每秒傳輸的數據包數),流包速率(每秒傳輸的包數)等。

表1 一個惡性序列的構成
2.3.2 良性序列構建
良性序列在惡性序列的基礎上構建,方法是使用良性數據包替換掉惡性序列中的一個或多個惡性數據包。替換的條件是這些良性數據的源互聯網協議地址和目的互聯網協議地址要和被替換的惡性數據保持一致,而且重新組合的序列需要滿足時間戳順序。例如將表1中帶有“建立立足點”標簽的數據包替換成帶有“良性”標簽的良性數據包,源互聯網協議地址是206.207.50.50,目的互聯網協議地址是192.168.3.29,時間戳處在上下兩個數據包之間。由于替換之后的序列不再符合高級持續性威脅攻擊鏈路的完整性,因而將它們標記為良性序列。
2.3.3 序列數據歸一化
使用CICflowmeter工具對抓取到的網絡流數據包進行特征提取,輸出的特征一共有83個維度,包含了網絡流身份標識號碼、源互聯網協議地址、源端口、目的互聯網協議地址、目的端口、時間戳以及其它統計特征。考慮到網絡流身份標識號碼、源互聯網協議地址、目的互聯網協議地址、時間戳等特征對檢測模型的構建并無太大價值,去掉這些特征后,最終保留了79維特征。為了減小不同特征值之間的大小差異,避免不同數據之間數量級差距過大的干擾,對序列的數值特征進行歸一化處理,將所有特征值映射到[0,1] 之間。
為了從輸入的數據中挖掘出攻擊序列和非攻擊序列的差別,文中采用了序列分類模型,通過添加多個網絡層線性堆疊來構建模型。在實驗中,我們還引入了其它論文中的模型,比較它們檢測異常流量的表現,以此體現出所提算法的優勢。下面將詳細介紹模型的設計,以及實驗中引用的對比模型。
2.4.1 序列分類模型
如圖3所示,除了輸入層和輸出層,分類模型由5層網絡構成,分別是卷積層、池化層、隨機失活層(Dropout層)、LSTM層、全連接層。

圖3 順序模型
模型使用:①用正則化的 Dropout 層以減少過擬合并改善泛化誤差。②用具有最大池化的 Conv1D 層來處理序列,輸入數據維度為[Lmax,Dw],Lmax為序列的最大長度,Dw為詞向量的維度。③用具有 Sigmoid 激活的全連接層來預測這些序列的攻擊相關概率[10]。
在實驗用到的模型中,長短期記憶網絡(Long Short-Term Memory,LSTM)發揮了重大作用。長短期記憶網絡是循環神經網絡(Recurrent Neural Network,RNN)的一個變種,長短期記憶網絡的廣泛應用證明了它對不同任務中的基于序列的學習是有效的。門控循環單元(Gate Recurrent Unit,GRU)是長短期記憶網絡的一種變體。長短期記憶網絡使模型能夠自動學習區分攻擊序列和非攻擊序列。該模型還包括一個卷積層,它有助于我們的模型捕獲高級持續性威脅攻擊的隱蔽性和動態性。
該模型是二分類模型,輸入的數據是上文提取的網絡交互序列。需要注意的是,前面提取的序列數據并不是定長的,序列長度從1到5分布。但是模型只接受輸入維度大小相同的序列,所以筆者對序列進行了填充,統一序列長度為5,特征維度為79。模型最后輸出的數據是一個實數,表示該序列屬于類別1的概率;若大于0.5則判定為攻擊(惡性)序列,小于等于0.5則判定為非攻擊(良性)序列。
2.4.2 基于序列預測結果的數據包分類
通過序列分類模型實現對序列的分類,基于序列分類結果可以回歸用于生成序列的原始網絡流量的分類。具體方法如下:
原始數據中,每一條網絡流數據包可能多次出現在不同的序列中。遍歷所有序列的類別概率,并賦予序列里包含的網絡流數據包相同的類別概率。比如,某序列的預測概率為0.9,那么該序列包含的網絡流數據包也被賦予0.9的概率。隨著遍歷的進行,也不斷更新各個網絡流數據包的類別概率。更新的原則是:如果某網絡流數據包跟隨序列被預測為惡性數據(即概率大于0.5),那么之后只有遇到更大的惡性類別概率時才會更新它的概率值;反之,如果某網絡流數據包跟隨序列被預測為良性數據(即概率小于等于0.5),那么之后只有遇到更小的良性類別概率時才會更新它的概率值;最終獲得基于序列分類結果的網絡流數據包的類別概率。
3.1.1 DAPT 2020數據集
DAPT 2020數據集是由亞利桑那州立大學和美國海軍研究實驗室共同設計提出的,和CICIDS 2017、CICIDS 2018數據集一樣,首先從自主設計的網絡環境中模擬日常使用和高級持續性威脅攻擊,然后抓取網絡流數據包。使用CICflowmeter工具提取數據包流量特征,考慮到網絡流身份標識號碼、源互聯網協議地址、目的互聯網協議地址、時間戳等特征對檢測模型的構建并無太大價值,去掉這些特征后最終保留了79維特征。
對比其它開源的高級持續性威脅數據集,DAPT 2020數據集多了橫向移動和數據泄露兩個攻擊階段。這是第一個具有較為完整的高級持續性威脅攻擊的開源數據集,用到的技術也比較豐富[6]。表2說明了DAPT 2020數據集高級持續性威脅的時間分布和各階段用到的攻擊技術。

表2 數據集中高級持續性威脅攻擊的時間分布和各階段用到的技術
3.1.2 實驗數據集構建
DAPT 2020原始數據數量龐大,如果直接用原始數據來構建數據流圖,建成的數據流圖將極其復雜,每兩個節點之間將會有大量平行邊。這是由于原始數據中多次出現了兩個網絡協議地址之間在短時間內頻繁進行數據交換的情況。過于復雜的數據流圖會影響梳理攻擊路徑,所以筆者采取了適當地合并網絡流數據的操作。
如果兩個網絡協議地址的短期內多次進行了數據交換,我們會設置一個定長時間30 s,將30 s內的同類型流量數據做合并,合并的條件是源網絡協議地址、目的網絡協議地址、標簽要相同。其它統計特征的合并,共有4種合并方式,分別是取最大值、取最小值、取平均值、取總和。需要根據每個特征的含義,來選擇合適的合并操作。這樣可以得到一個新的適合實驗的數據集,其統計如表3所示。在此基礎上,按照第2節所述方法生成訓練和測試的序列數據,最終訓練集序列數量為192 022,測試集序列數量為59 533。

表3 不同種類的網絡流數據包合并前后數量對比
3.2.1 實驗參數
文中算法(命名為CGSeq-LSTM)模型用到的參數如表4所示,經過處理后網絡流序列特征維度為79,序列長度為5,則輸入到卷積層的數據維度為[5,79]。經過卷積層、池化層、Dropout層的處理后,進入循環網絡層。無論采取何種循環網絡,該層節點數都是256。

表4 文中算法模型參數
3.2.2 對比指標
在文中實驗的數據中,存在有類別不平衡的問題,良性數據比惡意數據數量多很多。如果采用準確率作為評價指標,那么可能會出現一種情況:即使所有數據都預測為良性,這樣仍然有98%的準確率。顯然這是不合適的,所以要考慮其它評價指標。
在不平衡數據分類中,受試者工作特征(Receiver Operating Characteristic,ROC)曲線、準確率-召回率(Precision-Recall,PR)曲線都是比較常用的指標。受試者工作特征曲線是以假正例率(False Positive Rate,FPR)為橫軸,以真正例率(True Positive Rate,TPR)為縱軸做出的曲線。受試者工作特征曲線有個很好的特性:當測試集中的正負樣本的分布變化時,受試者工作特征曲線能夠保持不變。而準確率-召回率曲線是以準確率(Precision)和召回率(Recall)這兩個變量做出的曲線,其中召回率為橫坐標,準確率為縱坐標。受試者工作特征曲線和準確率-召回率曲線一樣,一個閾值對應曲線上的一個點,不同的閾值對應不同假正例率、真正例率或準確率、召回率值。
曲線下面積(Area Under Curve,AUC)被定義為受試者工作特征曲線或準確率-召回率曲線下的面積,取值范圍一般在0.5和1之間。使用曲線下面積值作為評價標準是因為很多時候曲線并不能清晰地說明哪個分類器的效果更好,而作為一個數值,對應曲線下面積更大的分類器效果更好。
3.2.3 對比算法
以下的對比算法是引用了DAPT 2020論文里的算法或者對其改進后的算法。
(1) 基于連續包序列的有監督分類
為了與前面的基于因果圖構建序列的算法作對比,文中設置了基于連續時間戳構造序列的有監督分類算法作為對比實驗。所有網絡流數據按時間戳排序后,設置滑動窗口,大小為5,滑動步長為1,每次生成一個包含5個連續時間戳數據包的序列,以第3個數據包的標簽作為整體序列的標簽。與基于攻擊路徑構建序列的算法一樣,使用同樣的訓練模型,最后比較這兩個在測試集的表現。該算法被命名為Seq-LSTM。
(2) 基于長短期記憶網絡和自動編碼器的半監督分類
文中引用了DAPT 2020數據集作者采用的半監督模型,作為實驗的對比參照。常規的堆疊式自動編碼器(Stacked Auto-Encoder,SAE)已被用于許多研究工作,但是由于堆疊式自動編碼器的輸入層只接受單個網絡數據包作為輸入,因此它無法檢測上下文異常,這是檢測高級持續性威脅攻擊所欠缺的。為了解決這個問題,使用了一個堆疊的自編碼器,它使用長短期記憶網絡層而不是堆疊式自動編碼器的隱藏全連接層,改進后的堆疊式自動編碼器稱為LSTM-SAE。多層長短期記憶網絡可以在時間序列分析中起到比較好的效果,把多個連續的時間戳的網絡流數據包先經過多層編碼,然后再經過多層解碼,最后達到重構輸入數據的目的。
這個模型檢測異常的原理是,通過對大量的正常良性數據進行訓練,獲得重構模型;測試集中同時包含良性數據和攻擊過程惡性數據,輸入數據經過模型的計算重構后,如果與原始數據差距比設定的閾值大,就判定為惡性。這種半監督模型有一個優點,它們適用于網絡流數據的數據不平衡的情況。
為了驗證所提高級持續性威脅檢測模型的有效性,設計了兩組實驗。
實驗1文中算法自我對比,分析不同的循環網絡和不同的數據處理方式對模型的高級持續性威脅攻擊檢測效果的影響。
實驗2文中算法模型與其他方法的分類效果進行對比分析。
3.3.1 文中算法自我對比
(1) 不同循環網絡的性能對比
觀察圖4和表5可以發現,對比于門控循環單元(GRU)和循環神經網絡(RNN),長短期記憶網絡(LSTM)在文中模型的預測中更具有優勢,長短期記憶網絡網絡的受試者工作特征曲線的曲線下面積達到0.948,準確率-召回率曲線的曲線下面積是0.531,都是3者中最高的。門控循環單元的預測效果比長短期記憶網絡稍差,標準循環神經網絡的預測效果最差,受試者工作特征曲線的曲線下面積(ROC-AUC)只有 0.809,準確率-召回率曲線的曲線下面積(PR-AUC)只有0.439。

(a) 受試者工作特征曲線

(b) 準確率-召回率曲線
長短期記憶網絡是循環神經網絡的一個優秀的變種模型,繼承了大部分循環神經網絡模型的特性;同時長短期記憶網絡解決了循環神經網絡的長期依賴問題,并且緩解了循環神經網絡在訓練時反向傳播帶來的“梯度消失”問題。文中實驗也表明,在所提模型中,長短期記憶網絡比普通循環神經網絡表現更加出色。
(2) 4種不同數據處理方式實驗情況對比
圖5是當循環網絡是長短期記憶網絡時,4種數據處理方式組合對應的曲線。歸一化和未歸一化是指是否對網絡流特征進行歸一化操作,取最大值和取平均值是指從序列分類結果計算每個網絡流數據包的分類概率時是按2.4.2節所述方法,還是把所有包含某個網絡流數據包的序列的分類概率的平均值作為該網絡流數據包的分類概率。對比后可以發現,歸一化和取最大值的組合處理方式的受試者工作特征曲線的曲線下面積(ROC-AUC)和準確率-召回率曲線的曲線下面積(PR-AUC)的值最高。采用最大值作為數據包的類別概率比采用平均值更有優勢,是因為這樣可以最大可能地提高異常數據的查全率,提高檢測最終惡性數據的敏感程度。

(a) 受試者工作特征曲線

(b) 準確率-召回率曲線
從表5中可以發現,數據歸一化后,各特征數據處于同一數量級,避免較大數量級數據對較小數量級數據造成干擾,無論是采用最大值還是平均值,模型都具有更好的性能。
表5也展示了3種循環網絡和4種數據處理方式的完整實驗結果,從整體來看,長短期記憶網絡、歸一化以及取最大值的組合對比其他組合的分類效果更好,這也是文中算法最終呈現的效果。

表5 文中算法自我對比
3.3.2 不同算法的異常檢測性能對比
圖6和表6是文中算法和設置的另外兩個對比算法的實驗結果。很明顯,文中提出的基于因果圖構建序列的異常檢測算法CGSeq-LSTM,在受試者工作特征曲線的曲線下面積(ROC-AUC)和準確率-召回率曲線的曲線下面積(PR-AUC)上都是大幅領先于其他兩個算法的,最優情況下受試者工作特征曲線的曲線下面積可達到0.948,準確率-召回率曲線的曲線下面積可達0.531,體現了所提算法的優勢和可行性。3者中LSTM-SAE無監督算法最不理想,兩個指標都未達到0.5。

(a) 受試者工作特征曲線

(b) 準確率-召回率曲線

表6 不同算法對比
對比所提算法,分析其他兩個算法表現不佳的原因:
(1) 基于連續時間數據包序列的分類算法,雖然采用和所提算法一樣的訓練模型,但它的缺陷在于,很多情況下這些連續時間的相鄰數據包之間并沒有明顯的上下文關系,比如兩個數據包之間的源IP和目的IP之間完全沒有關聯,所以它并不能體現高級持續性威脅攻擊階段的前后順序和完整性。文中基于因果圖序列的檢測算法是根據因果圖構建序列,序列中的數據包之間有較強的上下文關系,在異常檢測中更有優勢。
(2) LSTM-SAE半監督算法,雖然訓練數據無需人為打上標簽,但相對于有監督的模型,異常識別的精度不理想。對于預測、分類、性能比較、預測分析、定價和風險評估等任務,有監督學習更為適用。
高級持續性威脅攻擊的精確檢測是非常具有挑戰性的工作。盡管現在很多研究人員已經在試圖解決高級持續性威脅攻擊檢測,但還是有很多困難。文中提出通過構建數據流圖來提取高級持續性威脅攻擊路徑,基于攻擊路徑組合網絡流數據形成序列。這樣做的目的是通過多個高級持續性威脅攻擊階段的流量,從完整性來考慮引入上下文關系,將多個異常進行關聯,提高異常檢測的全面性和敏感性。在DAPT 2020數據集上,對模型進行測試,雖然在真正例率、假正例率、受試者工作特征曲線的曲線下面積(ROC-AUC)值上能得到比較高的性能,但是在精確率、召回率和準確率-召回率曲線的曲線下面積(PR-AUC)值上的表現還是不夠突出。今后的研究工作,需要投入更多的精力改進算法,挖掘出更有效的高級持續性威脅攻擊檢測模型。