?

數據驅動的未知網絡威脅檢測綜述*

2022-02-28 01:35王一豐郭淵博
信息安全與通信保密 2022年10期
關鍵詞:威脅語義流量

王一豐,郭淵博

(解放軍戰略支援部隊信息工程大學 密碼工程學院,河南 鄭州 450001)

0 引言

近幾年,在網絡空間規模逐漸擴大、結構日趨復雜的同時,網絡安全形勢也越來越嚴峻。為了逃避日益先進的檢測技術,各類網絡威脅正變得愈加具有隱蔽性和對抗性。并且隨著新冠肺炎疫情在世界范圍內的流行,越來越多的組織將資產和業務遷移到線上,導致攻擊面快速擴張,各類新型威脅數量和種類也急劇增多。Skybox Security在《2022年漏洞和威脅趨勢報告》[1]中指出,2021年0day(零日)漏洞新增數量再創新高,各類新型惡意軟件也層出不窮,同時攻擊者利用0day漏洞的速度及其攻擊能力得到進一步提升,使得網絡空間安全面臨著更多來自未知網絡威脅的挑戰。本文將防御者在系統訓練和運行階段未見過的網絡威脅稱為未知網絡威脅,即缺少相關標注訓練數據的網絡威脅。在以往的相關研究中,大多是關注對已知網絡威脅的檢測,但近年來各種未知網絡威脅不斷涌現,給政府、企業及關鍵基礎設施帶來了巨大的安全風險。而由于未知網絡威脅種類的新增速度不斷增加,采用以往的人工設計規則等方法實現檢測的效率太低,難以滿足如今的網絡安全需求。對未知網絡威脅的檢測已經成為當前的研究熱點和難點。

在實際應用中,未知網絡威脅缺乏標記數據的原因主要有兩種。一是攻擊者在實施攻擊時采用了新0day漏洞或新技術。除了對新0day漏洞的利用,由于許多攻擊工具或新技術(如人工智能)可以從開源社區中被輕易獲取,這不僅提高了攻擊技術,還降低了攻擊成本。例如韓宇等人[2]采用生成對抗網絡(Generative Adversarial Networks,GAN)算法實現了惡意流量偽裝,成功繞過了網絡入侵檢測系統(Network Intrusion Detection Systems,NIDS)的檢測。這類網絡威脅由于防御者在此前沒有相關知識,因此缺乏相關標記數據。二是攻擊者在實施攻擊時采用加密或社會工程等技巧,使得攻擊行為與正常行為難以區分。例如,被廣泛應用的傳輸層安全協議(Transport Layer Security,TLS)也同樣被用于網絡攻擊,據統計,在2020年有70%的惡意攻擊采用了加密技術[3]。防御方一方面需要維護數據傳輸的機密性,另一方面需要在加密環境下找出惡意攻擊,這給攻擊檢測帶來了極大的困難。這類網絡威脅由于防御者的成本等因素限制,無法及時從海量無標注的數據中找出并標記此類攻擊,因此缺乏相關標記數據。

及時檢測和分析未知網絡威脅的意義在于如下兩個方面[4]。一是可以幫助系統盡快從攻擊中恢復,以減少造成的損失。二是多步攻擊[5][也有文獻稱為高級持續威脅(Advanced Persistent Threat,APT)]常常包含未知網絡威脅(例如,MITRE公司搜集的多個真實APT案例中就包含了眾多單步的未知攻擊,包括0day攻擊、社會工程攻擊等[6]),這類多步攻擊也可以視作多步的未知網絡威脅。及時發現這些攻擊碎片可以幫助防御方了解所遭受的多步攻擊的意圖并預測后續攻擊,以幫助防御方及時采取保護措施并阻止后續攻擊。

可以預見,隨著未來網絡攻擊場景更加復雜,未知網絡威脅也將愈發常見。然而以往對已知網絡威脅檢測的基于簽名的方法對未知網絡威脅束手無策,基于異常的方法誤報率高。并且,如今面對越來越復雜的網絡攻擊以及海量安全數據,大多研究采用了機器學習(Machine Learning)算法實現高性能的威脅檢測[7]。在機器學習算法中,分類任務定義了以下4個基本類:已知的已知類(Known Known Classes,KKC)、已知的未知類(Known Unknown Classes,KUC)、未知的已知類(Unknown Known Classes,UKC)和未知的未知類(Unknown Unknown Classes,UUC)[8]。而對未知類(UKC或UUC類)的識別方法包括異常檢測(Anomaly Detection)、開集識別(Open Set Recognition)和零樣本學習(Zero-Shot Learning)3種,相關任務及差異如表1所示[8]。從方法的角度來看,現有對單步未知網絡威脅的檢測方法也可以分為這3類,而對包含多步未知網絡威脅來說,檢測原理大多基于上下文推理[5,9]。

表1 分類中不同任務的差異[10]

從表1可以看出,這3類方法適用場景的差異主要在于所需數據的不同。然而,數據作為網絡空間安全中的重要資源,獲取高質量數據的成本很高?,F有的研究都是針對某一具體場景下未知網絡威脅檢測的需求,給出了具體的解決方案。目前該領域缺乏系統性的綜述研究,特別是從數據視角分析不同場景下適合的算法。為此,本文從實際應用出發,從數據視角總結了不同場景下的未知網絡威脅的檢測方法,并分析了不同數據條件下的檢測思路,同時詳細地闡述了各類檢測方法的優缺點以及適用場景,為實際中各類未知網絡威脅檢測的實現提供了指導和參考。

1 用于未知威脅檢測的數據類型

數據是網絡威脅檢測和分析的基礎。特別是在機器學習架構中,數據的可用性與質量直接影響了模型的性能[6]。對本文所研究的未知威脅檢測來說,不同來源的安全數據具有不同的語義,也具有不同的獲取難度,而數據的可用性直接決定了實際應用中應該采用何種方法來實現檢測。

如何對不同來源的安全數據進行分類是一個重要的研究課題。Ju等人[11]基于不同的語義級別將安全相關的數據分為3類:非語義數據(Nonsemantic Data)、語義數據(Semantic Data)和安全知識數據(Security Knowledge Data)。本文在此研究的基礎上,擴展和完善了相關概念,并分析了其在實際未知網絡威脅檢測中的位置和獲取難度。

本文基于文獻[9]和文獻[11]給出了一個簡化的通用網絡威脅檢測框架,并標注了各類數據在其中的所屬位置,如圖1所示。根據研究對象的不同,可將檢測框架分為5層,分別為感知層、事件層、告警層、態勢分析層和威脅情報層。感知層的任務是采集、傳輸并預處理系統中的各類原生數據(Raw Data);事件層的任務是對感知層中的非語義數據進行分析,將其分割和提煉為與安全相關的事件;告警層的任務是采用模式匹配、異常檢測等方法對感知層的語義數據以及事件層提煉的安全事件數據進行分析,實現對各種單步攻擊的檢測;態勢分析層的任務是結合威脅情報層的相關安全知識數據,對告警層檢測到的多個單步攻擊進行關聯分析和場景重構等,以發現復雜的多步攻擊,并呈現當前系統的網絡安全態勢;威脅情報層需要采集并處理各類需要的安全知識數據。

圖1 包含3類安全數據的典型網絡威脅檢測框架

1.1 非語義數據

非語義數據是指系統本身正常運行時所產生的數據,不包括安全語義信息的各程序或組件的詳細記錄。其主要數據類型包括鏡像的流量數據、系統調用、操作日志、NetFlow、各類審計設備日志、服務器日志、數據庫日志等。雖然這類數據自身并不包含與安全相關的語義信息,但安全分析人員可以通過異常檢測、規則匹配等方法從中發現潛在的網絡威脅。在實際應用中,這類數據較容易被獲取,但因數量龐大且是無標注的,因此在威脅檢測時還需進一步處理分析。

1.2 語義數據

語義數據是包含安全語義的數據,包括各類安全設備的告警和日志,以及從非語義數據中提煉的與安全相關的事件,如圖1所示。其主要數據類型包括各類入侵檢測系統(Intrusion Detection System,IDS)、防火墻和蜜罐等安全組件的告警和日志,以及安全人員提煉的與安全相關的事件。這類數據自身包含了與安全相關的語義信息,所以是有標注的。獲取這類數據需要部署各類安全組件,并且數據的質量與安全設備的性能高度相關。近年來,雖然各類安全組件的性能進步很大,但仍難以應對層出不窮的攻擊。在實際應用中,這類數據中可能存在較多的誤報和漏報。在未知網絡威脅檢測中,語義數據應當不包含單步未知威脅(否則就是已知威脅),但多步未知威脅可以通過對語義數據中的部分已知單步攻擊的上下文推理中發現未知網絡威脅。

1.3 安全知識數據

安全知識數據主要包括系統相關信息和攻擊相關知識兩個部分。系統相關信息是指系統自身相關但又難以準確獲取的安全相關信息,例如網絡拓撲、資產信息、訪問控制策略、各類系統設置和安全規則等,進一步還包括利用外界的威脅情報構建的知識圖譜等高級數據形式。這類數據往往不能從真實部署的環境中直接獲取或在建設、運行、維護時經常變更,需要對其進行實時監控并提供人工維護。攻擊相關知識包括各種外部威脅情報信息(如漏洞庫、惡意域名庫等)以及其他與網絡攻擊相關的知識(如各類攻擊模型等)。威脅情報已成為檢測網絡威脅的重要數據源[12],這類數據或由專業安全機構實時發布更新,或以非結構化的文本形式存在于互聯網中。安全知識數據的獲取難度各不相同,需要結合具體場景分析。但對未知網絡威脅檢測而言,很多最新的攻擊技巧或0day漏洞往往是最先碎片化存在于社交網站中,要從互聯網的海量信息中獲取高質量的威脅情報數據十分困難。

2 不同數據場景下的未知網絡威脅的檢測方法

2.1 采用非語義數據的未知網絡威脅檢測方法

采用非語義數據的未知網絡威脅檢測方法是指僅利用系統業務所產生的非語義數據實現檢測,主要用于對單步未知網絡威脅的檢測。從采用數據角度來說,實際中使用的非語義數據主要是原始流量數據,其他類型的非語義數據主要用于用戶實體行為分析(User and Entity Behavior Analytics,UEBA)[13]。從使用方法的角度來說,主要采用異常檢測和開集識別的方法,并且最終通過相似度匹配思想實現檢測。這類方法的檢測流程如圖2所示。

圖2 采用非語義數據的未知網絡威脅檢測方法

采用原始流量數據來識別未知威脅檢測的方法框架與傳統惡意流量識別任務基本相同。流量分類主要包括3種方法,分別是基于端口(Port-Based)、基于載荷(Payload Inspection-Based)和基于流(Flow-Based)[14]。然而,由于缺乏與未知網絡威脅相關的先驗知識,并且對于動態端口、端口混淆、加密等技術的應用使得傳統的、基于端口和載荷的流量識別方法幾乎失效[15-16]。因此,基于流的方法已經成為識別未知網絡威脅的主流方法[17-18]。在海量實時數據中,相比于傳統方法,基于機器學習的惡意流量識別方法的性能優勢愈發凸顯[19]。目前,該方面的研究都是基于流級特征,并采用機器學習算法,從而實現檢測。

這類方法基本可以分為異常檢測和開集識別?;诋惓z測的方法是采用大量無標注的正常類數據訓練模型,檢測時將明顯偏離正常類的離群點識別為未知網絡威脅。例如,Binbusayyis等人[20]提出了一種基于單類支持向量機(One Class Support Vector Machine,OCSVM)和一維卷積自編碼器(One-Dimensional Convolutional Autoencoder,1D-CAE)的方法,通過設計一個將重構誤差與分類誤差相結合的統一目標函數,同時優化兩個模型并實現對未知流量的識別。同樣地,Shang等人[21]提出了一種基于OCSVM的方法,并設計了粒子群優化算法對模型參數進行優化,在工控網絡中實現了對未知流量的實時檢測。為了解決單一模型性能不足的問題,許多研究采用集成學習的方式集成多個檢測模型[22]。例如,汪潔等人[23]設計了多級分布式集成分類器,可以用于對未知惡意流量的識別。這種方法對數據質量要求較低,但在模式不固定的大規模網絡中應用時往往容易產生較多的誤報和漏報,其原因在于大多偏離正常類的離群點與威脅無關,并且對抗樣本攻擊[24]、流量混淆[25]等技術可以使惡意流量與正常流量類似,使得這類方法準確率大幅下降。

基于開集識別的方法是采用各類標記數據訓練細粒度的分類模型,檢測時通過極值理論(Extreme Value Theory,EVT)等方法校正分類結果,以實現對已知類和未知類的識別。例如,Cruz等人[26]采用Weibull-calibrated支持向量機(Weibull-calibrated Support Vector Machine,W-SVM)對流量進行細粒度識別,并采用EVT進行評估校準以識別出未知惡意流量。Henrydoss等人[27]通過EVT近似計算每個已知類的邊緣距離分布并實現開集流量分類。Yang等人[28]設計了一個兩階段分類方法,采用條件變分自編碼器(Conditional Variational Auto-Encoder,CVAE)和EVT分別在不同階段對已知和未知惡意流量進行識別,實現分類性能的進一步提升。此外,基于深度學習檢測未知網絡威脅產生的流量時,也可以結合強化學習(Reinforcement Learning)實現。例如,Puzanov等人[29]設計了一個小樣本下基于深度強化學習的檢測模型。在該方法中,如果某一新樣本特征經檢測模型判斷與當前已知類都不符合,則需要分析人員判斷其是否屬于新類的未知威脅。一旦有新的未知類被確定,則檢測模型會學習識別后續同類樣本。這類方法實質上是采用度量學習[30]思想,通過計算未知威脅的流量特征與所有已知類特征的相似度來進行識別,而主要區別在于所采用的識別算法和相似度計算方法不同。

綜上所述,采用非語義數據的未知網絡威脅檢測方法的優點在于:(1)數據的獲取成本較低;(2)方法性能與安全設備的性能無關;(3)模型大多較簡單,輕量化的方法能夠實現快速部署。相應地,其缺點在于:(1)基于異常檢測的方法誤報率高,容易將離群點都認為是威脅或攻擊行為;(2)針對隱蔽性較強的網絡威脅效果欠佳;(3)方法性能受非語義數據質量的影響,且輸出結果只包含是否異常,具體威脅所屬細粒度類型還需要大量人工分析。此類方法適合于業務或通信模式相對固定的小規模網絡系統,如工業控制網絡系統等。這類系統模式相對固定,因此異常往往與攻擊相關,并且由于系統規模較小,人工分析工作量較小。

2.2 采用非語義數據和安全知識數據的未知網絡威脅檢測方法

采用非語義數據和安全知識數據的未知網絡威脅檢測方法是指利用系統業務所產生的非語義數據和安全知識數據來實現檢測。從采用數據的角度來說,實際中使用的非語義數據是原始流量數據;使用的安全知識數據包括攻擊相關知識和系統相關信息。從使用方法的角度來說,主要有基于零樣本學習和基于攻擊圖兩類方法,并且最終通過相似度匹配實現檢測。這類方法的檢測流程如圖3所示。

圖3 采用非語義數據和安全知識數據的未知網絡威脅檢測方法

第一類方法基于零樣本學習,采用攻擊相關知識實現未知網絡威脅檢測。零樣本學習作為遷移學習的一種特殊場景,可以通過安全知識數據實現對未知網絡威脅的檢測。相關研究處于起步階段,零樣本方法利用威脅情報的語義數據,在語義空間中實現知識轉移,從而精準識別和分析未知威脅的類型。例如,Zhang等人[30]提出了一種基于自編碼器(Autoencoder,AE)的零樣本學習方法用于未知攻擊檢測。該方法將已知攻擊的流量特征映射到語義空間,再通過AE的重構誤差建立特征到語義的映射關系,實現對未知攻擊的檢測及其語義分析。

第二類方法基于攻擊圖,采用基于漏洞和網絡拓撲等系統相關信息構建的攻擊圖,利用模式匹配實現對多步未知網絡威脅的檢測。例如,Nia等人[31]首先將所有偏離正常模式的未知流量假定為惡意流量,提取其屬性信息并采用MulVAL工具生成輕量級的攻擊圖,其次采用隨機游走和模式定理與已知攻擊圖進行相似度計算,最后判斷該未知流量是良性類還是惡意類。

綜上所述,采用非語義數據和安全知識數據的未知網絡威脅檢測方法的優點在于:(1)方法的識別性能與安全設備的性能無關;(2)輸出細粒度識別結果,理論上誤報率比基于非語義數據的方法低。相應地,其缺點在于:(1)方法的性能與安全知識數據的質量高度相關,而高質量的安全知識數據獲取難度較大;(2)容易受到業務模式改變(概念漂移)的影響;(3)模型復雜度和數據成本較大。此類方法適合于缺少安全設備的系統。這類環境中由于安全設備的缺失,難以獲取語義數據,因此采用非語義數據和安全知識數據來識別未知威脅。

2.3 采用語義數據和非語義數據的未知網絡威脅檢測方法

采用語義數據和非語義數據的未知網絡威脅檢測方法是指利用語義數據和非語義數據來實現對多步未知威脅的檢測。從采用數據角度來說,實際中使用的語義數據是各類安全設備的告警或日志;使用的非語義數據是各類審計設備的日志數據。從使用方法的角度來說,首先采用聚類或異常檢測的方法篩選出可能證明存在未知威脅的日志事件,再與現有的安全事件基于屬性跨域關聯分析,實現對未知網絡威脅的檢測。這類方法本質上與采用非語義數據方法的檢測思想類似,只是采用語義數據進行關聯分析,進一步篩選出可疑日志,降低誤報率。這類方法的檢測流程如圖4所示。

圖4 采用語義數據和非語義數據的未知網絡威脅檢測方法

這類方法的相關研究極少,這是因為未知威脅大多隱蔽性強,很難通過對各類日志的分析篩選出來,對包含未知威脅的多步攻擊檢測性能欠佳。這類方法主要針對已知攻擊檢測,但也有對未知攻擊檢測的能力,在部分特殊場景中表現不錯。例如,Cheng等人[32]在物聯網(Internet of Things,IoT)場景中將各類日志轉化為圖結構,采用社區發現算法聚類分析,找出可疑日志并參與安全事件的關聯分析,以發現可能的多步攻擊。

綜上所述,采用語義數據和非語義數據的未知網絡威脅檢測方法的優點在于:(1)誤報率相對之前的方法較低;(2)模型大多較簡單,輕量化的方法能夠實現快速部署;(3)能夠重構攻擊場景,節省安全人員分析時間。相應地,其缺點在于:(1)適用場景有限;(2)針對隱蔽性較強的網絡威脅效果欠佳。此類方法適合于業務或通信模式相對固定的網絡系統,能夠從日志層面快速篩選出潛在威脅。

2.4 采用語義數據和安全知識數據的未知網絡威脅檢測方法

采用語義數據和安全知識數據的未知網絡威脅檢測方法是指利用語義數據和安全知識數據來實現對多步未知威脅的檢測。從采用數據的角度來說,實際中使用的語義數據是各類安全設備的告警或日志;使用的安全知識數據主要包括實時更新的漏洞信息和網絡拓撲等信息、攻擊相關知識數據、基于威脅情報構建的安全知識圖譜3種類型。從使用方法的角度來說,主要采用基于攻擊圖、基于攻擊模型和基于知識圖譜3種方法,最終通過上下文推理實現對未知威脅的檢測。這類方法的檢測流程如圖5所示。

圖5 采用語義數據和安全知識數據的未知網絡威脅檢測方法

第一類方法采用系統相關信息中的漏洞和網絡拓撲等信息作為安全知識數據,通過構建當前網絡的攻擊圖,分析系統中存在的攻擊路徑,再結合語義數據匹配攻擊圖中的攻擊路徑,結合上下文推理來發現潛在的多步未知威脅。例如,Hu等人[33]提出了一種基于攻擊圖的警報關聯方法,首先使用MulVAL根據網絡拓撲和漏洞構建攻擊圖,其次將警報聚類并映射到攻擊圖中呈現入侵情況,最后通過攻擊圖上的上下文推理,發現漏報的未知網絡威脅。

第二類方法采用攻擊相關知識中的網絡攻擊模型作為安全知識數據,結合語義數據中的碎片攻擊,通過上下文推理識別和預測可能存在的多步未知威脅。所采用的攻擊模型包括兩類,一是從攻擊階段建模,采用的典型的攻擊模型包括MITRE ATT&CK(MITRE Adversarial Tactics, Techniques, and Common Knowledge)模型[6]、統一鏈(Unified Kill Chain,UKC)模型[34]等;二是為攻擊者的能力、成本和收益等屬性建模,如鉆石模型(Diamond Model)[35]。具 體 來 說,Wilkens等人[36]采用有限狀態機基于典型殺傷鏈[37](Kill Chain)模型將告警映射到不同的攻擊階段上,通過圖上的推理實現對多步未知威脅的檢測。在對基于攻擊者建模的方法中,Yin等人[38]提出了一種基于博弈論的安全度量方法,從攻擊者的角度,通過量化分析攻擊者的收益與風險計算出最優攻擊時機,利用空間結構來建模長期博弈過程,將每個節點被攻擊的可能性作為安全度量結果,以提前預測可能發生的未知威脅。

第三類方法采用攻擊相關知識中的外部威脅情報,構建安全知識圖譜作為安全知識數據,首先利用威脅情報,例如,攻擊類型枚舉和分類數據集[39](Common Attack Pattern Enumeration and Classification,CAPEC)、通用漏洞庫[40](Common Vulnerabilities and Exposures,CVE)等構建知識圖譜,其次將語義數據中的安全事件基于網絡安全本體實例化,通過圖譜上的邊關系推理和上下文推理識別和預測可能存在的單步或多步未知網絡威脅。例如,琚安康[41]提出一種基于知識圖譜的攻擊關聯方法,將攻擊模式、漏洞屬性等結構化數據和描述文本等非結構化數據分別從本體和嵌入向量表示兩個角度進行建模,在所構建的知識圖譜中關聯查詢推理預測實體屬性,發現未知網絡威脅并給安全人員推薦響應方案。

綜上所述,采用語義數據和安全知識數據的未知網絡威脅檢測方法的優點在于:(1)誤報率相對之前的方法較低;(2)能夠發現相對隱蔽的未知網絡威脅;(3)能夠重構攻擊場景,節省安全人員分析時間。相應地,其缺點在于:(1)方法的性能與安全設備的性能高度相關,特別是漏報會極大影響性能;(2)方法的性能還與安全知識數據的質量有關。若所構建的攻擊圖或知識圖譜中不包含單步未知威脅的相關信息,或者多步未知威脅不符合所采用的攻擊模型,則無法關聯發現未知威脅。此類方法適合于部署了高質量安全設備的網絡系統,因為這類場景存在海量的多源異構數據,語義數據相比非語義數據在數量級上大大減少,能夠極大地提高效率并減少誤報率。

3 結語

未知網絡威脅由于缺乏簽名特征或訓練數據,給網絡防御帶來了新的挑戰。對于未知威脅檢測,業內當前有兩種思路,一是將未知威脅轉化為已知威脅后檢測問題,例如基于聯邦學習[42]等方法;二是本文總結的對未知網絡威脅的檢測方法。本文從數據角度系統地介紹了當前未知網絡威脅檢測的幾種方法,并分析了各種方法的優缺點和適用場景,如表2所示,為實際中未知網絡威脅檢測的部署和實現提供了參考。

表2 未知網絡威脅檢測方法對比

從表2和前文中可以看出,采用安全知識數據可以極大地降低檢測時的誤報和漏報,并可以給出對未知威脅的分析和響應建議。然而,高質量的安全語義數據獲取困難,各類威脅情報的更新速度越來越快,僅憑分析人員難以及時理解和處理[43]。開源高質量共享威脅情報更新速度較慢,而針對最新未知網絡威脅的信息大多第一時間發布在各類網站上以非結構化形式零散存在,獲取高質量數據難度較大[44]。未來,未知網絡威脅研究方向可以主要采用自然語言處理技術和認知計算方法,讓機器自動從海量的威脅情報中得到高質量安全知識數據[43],再采用不同的方法模型進行精準分析和識別。這類方法不僅識別更精準,并且能給出具體威脅類型以及響應建議。

猜你喜歡
威脅語義流量
冰墩墩背后的流量密碼
張曉明:流量決定勝負!三大流量高地裂變無限可能!
尋找書業新流量
人類的威脅
語言與語義
受到威脅的生命
“社會”一詞的語義流動與新陳代謝
“上”與“下”語義的不對稱性及其認知闡釋
“吃+NP”的語義生成機制研究
搞笑圖片
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合