廖鐸烽


摘 要 隨著信息系統智能化的發展,高級持續性威脅帶來的危害愈加嚴重。如何對各類傳統安全設備產生的海量日志進行關聯分析,從而對此新型網絡威脅進行有效的檢測顯得愈加重要。本文在分析高級持續性威脅的原理和特點的基礎上,提出了基于擴展攻擊鏈模型結合長短期記憶網絡模型對網絡行為進行廣泛關聯的智能威脅檢測方法,為檢測高級持續性威脅的應用和實踐提供了一種新的思路。
關鍵詞 高級持續性威脅 入侵檢測 網絡攻擊鏈 循環神經網絡
中圖分類號:TP31 文獻標識碼:A 文章編號:1007-0745(2022)01-0010-04
1 前言
近年高級可持續威脅(Advanced Persistent Threat,APT)逐漸引起人們的關注。APT攻擊也稱為定向攻擊,通常是具有高水平專業知識和豐富資源的組織對特定重要對象開展的持續的網絡攻擊活動,相較于傳統的網絡攻擊模式更加難以防范,造成的危害更加嚴重[1]。
傳統的防御方法,如入侵檢測、防火墻等,主要適用于應對模式固定的網絡攻擊。APT攻擊往往具有“多步驟”和“低姿態”的特點,在一個很長的時間段內,運用釣魚郵件、系統漏洞、社會工程學等各種手段,繞過邊界防護潛伏在系統中。如何有效地檢測APT攻擊過程中相關的異常事件仍然是比較困難的問題。
為了應對這種復雜的網絡攻擊手段,本文對APT攻擊原理和防護技術進行研究,提出一種基于網絡攻擊鏈模型和循環神經網絡的檢測方法,在時間和空間上對APT攻擊鏈條中相關的網絡行為進行關聯,提高對APT攻擊的識別能力。
2 相關工作
國內外學者圍繞APT檢測已開展了廣泛的研究和實踐,其成果主要集中于入侵檢測技術方面。入侵檢測技術可分為特征檢測和異常檢測,前者使用基于規則庫的入侵檢測系統等安全設備對計算機網絡中的事件進行分析,與規則相匹配的網絡行為則被檢測為攻擊[2-4];后者采用統計機器學習的方法,通過收集正常數據訓練行為模型,當網絡中出現偏離該模型限值的情況時會被認為是網絡攻擊行為[5-6]。從實際應用情況來看,上述研究成果對于改善APT攻擊的檢測水平起到了重要作用,但是也存在一些問題。一方面,現有的入侵檢測系統缺乏對安全威脅特征代碼庫中尚未簽名的未知威脅的實時有效的安全防護能力[7];另一方面,基于常規機器學習模型的檢測方法,對于時間跨度大、攻擊行為不明顯的APT攻擊的效果相對有限[8]。
3 APT檢測關鍵技術
3.1 經典攻擊鏈模型
APT攻擊行為不僅是直接的破壞行為,其攻擊的各階段是混雜交織的,需要引入更細粒度的模型來指導防御[9]。經典網絡攻擊鏈(Cyber Attack Chain,CAC)模型是美國洛克希德-馬丁公司于2011年提出的從攻擊者角度描述的一種有針對性的分階段攻擊的網絡安全模型。該模型協助安全人員識別潛在攻擊每個階段的可疑活動,如未能在某一步中發現攻擊跡象,也可以在后續階段中找到線索,以期盡早發現并阻止攻擊行為,使防御效果最大化。通過CAC模型側寫出惡意攻擊的邏輯關系,為網絡安全事件追蹤溯源、關系抽取和攻擊預測提供了先決條件。
如圖1所示,CAC模型包含7個攻擊階段:偵查跟蹤通常通過充分利用社會工程學了解目標系統和網絡信息;武器構建主要是指制作定向攻擊工具,例如帶有惡意代碼的pdf文件或office文件;載荷投遞將輸送攻擊工具到目標系統上,常用的手法包括郵件的附件、網站(掛馬)、U盤等;攻擊利用是利用目標系統的應用或操作系統漏洞,在目標系統觸發已制作的攻擊工具使其運行;安裝植入與互聯網控制器服務器建立一個命令與控制信道;通信控制是指執行所需要的攻擊行為,例如偷取信息、篡改信息等;最后目標行動階段創建攻擊據點,并持續潛伏擴大攻擊戰果。
3.2 循環神經網絡
與傳統神經網絡不同,循環神經網絡(Recurrent Neural Network,RNN)內置循環的網絡,允許信息持續存在,從而能夠對輸入時間點前后的事件進行關聯。
神經單元A接收輸入X并輸出一個值h,循環允許信息從網絡的一個步驟傳遞到下一個步驟。可以將循環神經網絡視為同一網絡的在不同時刻的復制,每個復制都將消息傳遞給下一個時刻,因此理論上來看,循環神經網絡能夠處理“長期依賴性”問題。
4 基于擴展CAC及LSTM的APT檢測方法
4.1 擴展攻擊鏈模型
前面所述的經典攻擊鏈模型僅適合建模外部攻擊,不適用于內部威脅[10]。在APT攻擊中,大量攻擊行為都是在獲得了內部系統權限后進行的,所以需要對經典攻擊鏈模型進行擴展,擴展后的攻擊鏈模型如圖2所示。相對于經典攻擊鏈,擴展CAC細分了內部行為,在達成目標階段中增加了內部攻擊鏈。內部攻擊鏈是為了獲得對目標系統的訪問,包含內部偵察、目標利用、權限提升、橫向移動和內部目標操縱。
4.2 長短期記憶網絡
在實踐中RNN模型對于學習“長期依賴”的能力仍然存在不足,并且會有梯度消失的問題存在,因此一種特殊結構的RNN,即長短期記憶網絡(Long-short term memory,LSTM)被提出[11]。LSTM對RNN中的神經單元進行了擴展,引入了三個門,即輸入門、遺忘門和輸出門,以及記錄額外的信息的記憶細胞(見圖3)。
具體來說,令隱藏單元個數為h,給定時間步為t,輸入為Xt,上一時間步隱藏狀態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是對應的權重參數,bi,bf,bo是對應的偏差參數。
4.3 基于擴展攻擊鏈和LSTM的APT檢測
結合以上定義,基于擴展攻擊鏈和LSTM的APT檢測方法的總體框架,具體可以分為以下四個步驟:
1.擴展攻擊鏈映射。將寬度為j的窗口內的網絡事件序列ei-j,…ei-1,ei輸入至LSTM,與此同時,對事件與擴展攻擊鏈模型進行映射。
2.事件權重更新。根據攻擊鏈映射的結果獲得各個事件ei的權重wi,并將其更新至“1”已輸入至LSTM模型的事件序列中。
3.事件序列表示學習。使用LSTM模型來結合不同時刻事件的信息提取事件的變化特征,并進行表示向量的學習,將該窗口內的整個事件序列表示成一維的向量。
4.流數據的異常檢測。使用成熟的數據流上的異常檢測算法RRCF[12]給出異常分數。為了確定異常事件序列,可以設定一個閾值并認為該分數超過閾值的序列存在異常。
5 結語
現有網絡攻擊防御措施主要側重于檢測固定模式的網絡攻擊行為,對APT攻擊檢測效果不佳。本文在分析APT攻擊原理和攻擊特點的基礎上,提出了一種新的APT檢測方法。在經典網絡攻擊鏈模型基礎上,考慮內部威脅部分,提出了擴展攻擊鏈模型,并結合LSTM神經網絡模型對網絡行為進行廣泛關聯,為APT攻擊檢測的應用實踐提供了一種新的思路。
參考文獻:
[1] 孫增.高級持續性威脅(APT)的攻防技術研究[D].上海:上海交通大學,2015.
[2] 陶曉玲,周理勝,龔昱鳴.基于角標隨機讀取的Snort報警數據聚合方法.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網絡的電力工控網絡異常檢測系統[J].計算機與現代化,2019(12): 114-118.
[6] 張蕾,崔勇,劉靜,等.機器學習在網絡空間安全研究中的應用[J].計算機學報,2018,41(09):1943-1975.
[7] 高昆侖,辛耀中,李釗,等.智能電網調度控制系統安全防護技術及發展[J].電力系統自動化,2015,39(01): 48-52.
[8] 劉海波,武天博,沈晶,等.基于GAN-LSTM的APT攻擊檢測[J].計算機科學,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] 劉文彥,霍樹民,陳揚,等.網絡攻擊鏈模型分析及研究[J].通信學報,2018,39(S2):88-94.
[11] Gf A,Schmidhuber J,F 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.