崔景洋,陳振國,田立勤,張光華
(1.河北科技大學 信息科學與工程學院,石家莊 050018;2.北京天融信網(wǎng)絡安全技術有限公司,北京 100085;3.華北科技學院河北省物聯(lián)網(wǎng)監(jiān)控工程技術研究中心,河北廊坊 065201)
隨著計算機與網(wǎng)絡的快速發(fā)展,機器學習技術在人們的生活與工作中起著越來越重要的作用,并在興趣推薦[1-2]、人臉識別[3]、路徑規(guī)劃[4]等領域得到廣泛應用。然而,機器學習技術在給人們生活帶來便利的同時也產(chǎn)生了一系列風險問題,例如,信息的過度分析使得人們的生活日益透明化,計算機視覺技術的廣泛應用使得圖片驗證碼防御作用下降等[5]。一方面,計算機性能的增強以及技術的不斷發(fā)展使得網(wǎng)絡攻擊者的攻擊方式更加成熟、趨于隱蔽,難以通過傳統(tǒng)威脅檢測系統(tǒng)進行檢測與防御[6]。另一方面,網(wǎng)絡流量數(shù)據(jù)、設備日志數(shù)據(jù)量快速增長也提高了對檢測性能的要求[7]。
為更好地檢測潛在威脅并及時準確地發(fā)現(xiàn)安全問題,用戶與實體行為分析(User and Entity Behavior Analytics,UEBA)技術應運而生,在用戶行為分析(User and Behavior Analytics,UBA)以及安全信息和事件管理(Security Information and Event Management,SIEM)的基礎上發(fā)展而來[8],是一種針對內(nèi)外網(wǎng)威脅進行分析并通過多維度對系統(tǒng)所面臨的風險進行綜合評價的威脅檢測方法[9],其中增加的實體(Entity)概念強調(diào)了設備行為在網(wǎng)絡攻擊與威脅檢測中的作用。與傳統(tǒng)檢測方法相比,UEBA 進一步提高了威脅檢測的精度與效率,增加了風險判斷的表述功能,有利于系統(tǒng)發(fā)現(xiàn)未知風險,增強系統(tǒng)安全性[10]。
根據(jù)用戶和實體行為建立基線,找出用戶以及實體的異常行為,不僅可以實現(xiàn)企業(yè)內(nèi)部行為檢測,還可以解決外部網(wǎng)絡安全問題[11]。因此,用戶與實體行為分析技術已被廣泛應用于企業(yè)內(nèi)部行為分析[12]、主機入侵檢測[10,13]、用戶畫像研究[14-15]、復雜行為建模[16]、推薦系統(tǒng)[17-18]等任務。本文從統(tǒng)計學習、深度學習、強化學習等3 個角度出發(fā)對機器學習在用戶與實體行為分析技術中的研究與應用進行介紹,并討論相關分析方法的局限性與發(fā)展趨勢。
用戶與實體行為分析由Gartner公司[19]于2015年在《Market Guide for User and Entity Behavior Analytics》調(diào)查報告中提出,該報告詳細介紹了UEBA 的定義、使用范圍、應用意義等。UEBA 是一類用來追蹤監(jiān)視用戶、IP 地址、主機等異常行為的模型,可以通過行為的上下文關聯(lián)進行潛在惡意活動分析[9]。與SIEM 和UBA 相比,UEBA 覆蓋的分析范圍更廣,利用的數(shù)據(jù)種類更多,三者在不同角度的對比情況如表1 所示。
表1 SIEM、UBA 和UEBA 的對比Table 1 Comparison of SIEM,UBA and UEBA
自20 世紀90 年代以來,學者們就開始分析用戶的網(wǎng)絡行為[20],由于當時攻擊手段單一、檢測能力有限,因此威脅檢測的目標多以實時防御為主[21]、手段多以專家經(jīng)驗所轉(zhuǎn)換的識別邏輯檢測為主[22]、結果多以“正常”和“異?!眱煞N狀態(tài)為主。之后,新的攻擊方式不斷增加、新的威脅類型不斷出現(xiàn),傳統(tǒng)方法在面對新威脅時的檢測效果有限,學者們開始使用進化算法識別未知威脅[23]。21 世紀初期,支持向量機(Support Vector Machine,SVM)得到了快速發(fā)展與廣泛流行,作為傳統(tǒng)機器學習算法的里程碑,該算法衍化出一系列變種形式[24],在威脅檢測方面也有不錯的效果。目前,行為分析與入侵檢測方法多數(shù)屬于人工智能范疇,以傳統(tǒng)統(tǒng)計學習方法為主。隨著設備算力的提高與深度學習的發(fā)展,學者們開始廣泛采用神經(jīng)網(wǎng)絡算法進行檢測,以深度學習為主的檢測方法在未來的研究中可能會成為主流。此外,知識圖譜等復雜數(shù)據(jù)類型在攻擊路徑方面有較強的表述能力,因此也有一部分學者使用知識圖譜進行入侵檢測研究[25]。整個UEBA 技術的發(fā)展歷程呈現(xiàn)由簡單到復雜的趨勢,各個發(fā)展階段中具有一定代表性的研究成果如圖1 所示。
圖1 UEBA 發(fā)展趨勢圖Fig.1 Development trend chart of UEBA
UEBA 的分析對象包括用戶行為與實體行為。用戶行為指的是用戶在終端設備的操作[26],例如使用應用程序、與數(shù)據(jù)的交互、點擊行為、鼠標移動、執(zhí)行命令行語句等。實體行為主要指無法與真實用戶產(chǎn)生直接關聯(lián)的行為[27],例如某些APP 自身的運行日志、病毒木馬的動作記錄以及一些高級持續(xù)性威脅(Advanced Persistent Threat,APT)[28]的行為軌跡等。
根據(jù)行為產(chǎn)生路徑與方向的不同,UEBA 的研究內(nèi)容主要包含內(nèi)部威脅分析及外部入侵檢測兩個方面。內(nèi)部威脅分析主要解決企業(yè)內(nèi)部違規(guī)操作所引起的安全問題,從內(nèi)向外所延展出的異常事件復雜多變的形式是內(nèi)部行為分析中的研究難點,對于員工行為進行分析、發(fā)現(xiàn)其中的異常點,可以降低企業(yè)風險,提高企業(yè)管理效率,避免從內(nèi)部產(chǎn)生攻擊。外部入侵檢測同樣也是UEBA 技術中不可或缺的一環(huán),例如防火墻(Firewall)、入侵檢測系統(tǒng)(Intrusion Detection System,IDS)、入侵防御系統(tǒng)(Intrusion Prevention System,IPS)以及Web 應用防火墻(Web Application Firewall,WAF)等[29],這幾種外部檢測方法是目前各研究領域的熱點,在實際應用中均有不錯效果。
本節(jié)將討論統(tǒng)計學習方法在UEBA 技術中的應用。統(tǒng)計學習是基于統(tǒng)計方法對數(shù)據(jù)規(guī)律進行總結的一種關鍵技術,根據(jù)類別標簽的使用方式不同,統(tǒng)計學習由監(jiān)督學習、無監(jiān)督學習、半監(jiān)督學習等研究類別組成[30],其中:監(jiān)督學習指的是使用帶有類別標簽的數(shù)據(jù)進行模型建立的過程,主要用于解決分類、回歸等問題[31];無監(jiān)督學習是指有數(shù)據(jù)但沒有標簽的情況,主要應用于聚類分析、異常值檢測等任務[32];半監(jiān)督學習是指訓練數(shù)據(jù)中只含有小部分標簽,根據(jù)實際情況在醫(yī)療診斷、物聯(lián)網(wǎng)設備分析、工業(yè)故障分析、流量異常檢測等領域中[33]有廣泛應用。
監(jiān)督學習的建模過程一般是構建預測器的過程。監(jiān)督學習使用帶有已知的類別標簽訓練數(shù)據(jù)進行模型訓練,模型建立完成后再對待檢測樣本進行預測,無論是對于離散變量的分類還是對于連續(xù)變量的回歸,都需要模型給出一個預測值。監(jiān)督學習的代表算法有KNN、SVM、邏輯斯諦回歸、線性回歸、決策樹等[34],在UEBA 中,基于監(jiān)督學習的算法可以根據(jù)先驗數(shù)據(jù)構建預測模型,并對新樣本進行預測,從而判斷新樣本的異常程度或者對新樣本按照不同的攻擊類型進行多分類和二分類。
基于規(guī)則的檢測方法在入侵檢測系統(tǒng)中具有廣泛應用。文獻[35]根據(jù)經(jīng)驗設計檢測邏輯對SQL 注入行為進行檢測,模型利用SQL 語句規(guī)范來定義Web 應用程序生成和執(zhí)行SQL 查詢時預期的語法結構,建立SQL 語句有效性檢測模塊,并使用事件監(jiān)控模塊檢測違反規(guī)范的查詢行為,符合預期結構的語句才能正常在數(shù)據(jù)庫內(nèi)執(zhí)行,實時檢測SQL 注入攻擊。之后將檢測的結果記錄到日志中以便后續(xù)檢測過程中檢測結構的建立,其中準確率(Accuracy)和召回率(Recall)達到100%,具體的檢測過程如圖2所示。
圖2 通過人工經(jīng)驗轉(zhuǎn)換的規(guī)則檢測SRL 注入語句的流程Fig.2 Procedure of detecting SRL injection sentences through the rules of human experience conversion
文獻[36]研究無人機(Unmanned Aerial Vehicles,UAV)的安全問題,根據(jù)無線數(shù)據(jù)攻擊的鏈路特征以及其他影響因素建立攻擊檢測規(guī)則,增強了無人機系統(tǒng)的安全性,其準確率為97.4%。文獻[37]建立基于預定義事件簽名的Web 應用入侵檢測系統(tǒng),通過簽名知識庫進行行為分析與異常檢測。但上述基于規(guī)則的檢測方法難以應對未知威脅,不能夠?qū)ο鄳南到y(tǒng)進行動態(tài)防護[38]。
回歸方法在檢測過程中多應用于連續(xù)異常值的檢測,大部分帶有時序性特征。文獻[39]對用戶的登錄時間、登錄間隔、在線時長、會話時長等行為特征進行回歸分析,建立用戶習慣畫像進行異常識別并及時調(diào)整網(wǎng)絡負載。學者們還使用3σ 準則、自回歸(Autoregressive,AR)模 型、自回歸移動平 均(Autoregressive Moving Average,ARMA)模 型等[40]將歷史行為基線與預測值進行比較,如果預測值與行為基線相差較大,則會被標注為異常值。
針對有類別標記的行為數(shù)據(jù),可以直接使用算法構建模型。文獻[41]使用KNN 算法對用戶行為數(shù)據(jù)進行分析,建立針對“偽裝者”數(shù)據(jù)的分類模型。監(jiān)督學習算法的性能瓶頸在于訓練數(shù)據(jù)集中類別標簽的正確率,由于很多數(shù)據(jù)集樣本的標簽都已經(jīng)固定,因此一些學者也采用多算法結合的方式提升異常檢測的正確率。文獻[42]基于KNN 構建一種云環(huán)境下的入侵檢測系統(tǒng),該系統(tǒng)參考了智能體(Agent)與聚類算法的特性提高了入侵檢測的效率,系統(tǒng)的準確率與召回率分別為92.23%與88.07%,在實際應用中取得了不錯的效果。此外,決策樹算法的檢測方式簡單、邏輯清晰、可解釋性強,也大范圍應用于異常檢測領域[43]。為減少建模時間,提升模型檢測效 果,文 獻[44]使 用SMOTE(Synthetic Minority Oversampling Technique)采樣方法對高度不平衡的數(shù)據(jù)進行預處理,之后分別使用Hellinger距離以及K-L 散度對構造過程進行改進,建立了惰性決策樹(LazyDT)提高算法性能。
基于監(jiān)督學習的行為分析與異常檢測的優(yōu)勢在于可以使用先驗知識進行建模,在從一定程度上提高了檢測精度,但檢測流程過于依賴樣本標簽。在實際應用中:一方面,樣本標簽的質(zhì)量會對檢測模型的構建起到非常大的影響;另一方面,對數(shù)據(jù)樣本進行標注同樣也會消耗大量人力成本與時間成本。因此,在使用監(jiān)督學習算法建立異常識別模型時,還需要注意在建模過程中訓練成本與檢測效率之間的平衡問題。
在實際入侵檢測與行為分析中,數(shù)據(jù)在產(chǎn)生時往往并不帶有標簽,而采用一些方式對數(shù)據(jù)進行標注會耗費一定的資源。無監(jiān)督學習可以從無標簽數(shù)據(jù)中學習一定的規(guī)律,并使用這些規(guī)律對新數(shù)據(jù)進行分析。無監(jiān)督學習的代表算法有K 均值(K-Means)、基于密度的聚類算法(Density-Based Spatial Clustering of Applications with Noise,DBSCAN)、主成分分 析(Principal Component Analysis,PCA)等[45]。在UEBA中使用聚類等無監(jiān)督學習方法進行威脅識別時,一般會對大部分數(shù)據(jù)樣本的代表性特征進行學習,并根據(jù)數(shù)據(jù)自身的特性進行分類,最終針對偏離群體的數(shù)據(jù)樣本進行分析,判斷其是否為異常點。近年來,各種類型的網(wǎng)絡設備與數(shù)量均呈現(xiàn)增長趨勢,所產(chǎn)生的海量數(shù)據(jù)難以標記,因此無監(jiān)督威脅檢測算法的研究是未來的重點之一。
K 均值算法的訓練速度快、可解釋性強,廣泛用于異常識別。文獻[46]基于K 均值算法構建一種多層次入侵檢測模型,通過分批進行小規(guī)模訓練的方式減少模型的迭代時間,借鑒支持向量機的思想來優(yōu)化檢測流程,準確率為95.75%,F(xiàn)PR 為1.87%,取得了不錯的效果。文獻[47]基于K 均值算法按照特征對流量數(shù)據(jù)進行分組,在調(diào)參的同時盡可能地保留分組信息,該方法可以顯著降低訓練模型所需的特征數(shù)從而提高檢測效率,其準確率達到了99.73%。與K 均值算法相比,DBSCAN 算法不僅更適合識別不規(guī)則形狀的聚類簇,還能在一定程度上減少噪聲數(shù)據(jù)在建模過程中的干擾[48]。文獻[49]構建一種自適應DBSCAN 算法,該算法首先分析流量數(shù)據(jù)的特征值,之后對聚類簇內(nèi)數(shù)據(jù)與噪聲數(shù)據(jù)分別進行處理,并建立對應的余弦相似性計算過程。該處理方式降低了噪聲數(shù)據(jù)對于模型準確度的影響,增強了模型的魯棒性。由于采取了對噪聲值單獨處理的建模思路,因此該模型可以更加細致地檢測出隱蔽的DoS 攻擊,其準確率達到了99.96%,具體建模過程如圖3 所示。
圖3 通過對簇內(nèi)數(shù)據(jù)與噪聲數(shù)據(jù)分別建模檢測異常的流程Fig.3 Procedure of anomaly detection through modeling for data in cluster and noise data respectively
在實際異常檢測過程中,有時不需要獲得確定性的聚類結果。對用戶及實體行為進行模糊聚類[50],可以使得一個實體包含在若干聚類簇內(nèi),從一定程度上可以避免遺漏異常行為,降低了異常檢測算法的漏報率。主成分分析方法主要用于建模前數(shù)據(jù)的降維處理,文獻[51]使用PCA 算法處理了數(shù)據(jù)庫操作行為日志,降低了行為數(shù)據(jù)維度,提高了建模速度。同時,主成分分析也可以直接用于異常檢測,文獻[52]設計一種基于PCA 算法的無監(jiān)督自動化異常檢測方法,通過計算降維后源空間與低維空間映射點的直接距離,檢測主機操作日志映射過程失衡的情況,進行異常點的判斷。
隨著設備數(shù)據(jù)產(chǎn)出量的不斷擴大,樣本的標記工作也變得愈發(fā)困難,基于無監(jiān)督的異常檢測方法在UEBA 研究領域?qū)⒊蔀闊狳c方向,無監(jiān)督算法可以減少數(shù)據(jù)樣本對標簽的依賴,一方面可以降低類別標注的成本,另一方面能從未被標簽束縛的樣本中學到新規(guī)則,解決一定的未知風險識別問題。但不足之處在于無監(jiān)督學習算法往往都需要大量的計算資源,如何降低計算開銷解決大規(guī)模數(shù)據(jù)處理問題,是無監(jiān)督異常檢測算法一個重要的研究方向。
半監(jiān)督學習因其所使用的訓練數(shù)據(jù)只含有部分標簽,所以名為半監(jiān)督學習[53]。盡管對每條網(wǎng)絡數(shù)據(jù)進行標注需要付出一定的代價,但在各網(wǎng)絡設備、網(wǎng)絡探針或者監(jiān)測系統(tǒng)中獲得少部分帶有標簽的數(shù)據(jù)相對比較容易。半監(jiān)督學習能夠?qū)⑸倭繋撕炁c大量無標簽數(shù)據(jù)相結合構成訓練集完成建模過程,通常半監(jiān)督學習可以獲得比無監(jiān)督聚類更好的檢測效果[54]。半監(jiān)督學習算法包括半監(jiān)督聚類、半監(jiān)督分類、半監(jiān)督降維、半監(jiān)督集成等算法[55]。在UEBA 中半監(jiān)督算法可以在一定程度上解決實際流量數(shù)據(jù)、行為數(shù)據(jù)異常樣本與正常樣本的不平衡分布問題,比較適合應用于當前形勢下的工業(yè)安全防御體系。
聚類作為異常檢測的主要手段在現(xiàn)階段研究中占有較大比重,半監(jiān)督聚類是無監(jiān)督聚類的升級版本,結合有監(jiān)督與無監(jiān)督學習過程的優(yōu)勢,優(yōu)化異常檢測與行為分析的效果。文獻[56]提出一種基于協(xié)同聚類的半監(jiān)督DDoS 檢測算法,該算法中無監(jiān)督的部分可以剔除與DDoS 檢測無關的流量數(shù)據(jù),從而減少誤報率,提高準確性,最終準確率為98.23%、FPR 為0.33%。文獻[57]提出一種基于K-Means 的半監(jiān)督算法,該算法能夠通過改進聚類初始中心的選擇解決孤立點和局部最優(yōu)的問題,優(yōu)化DDoS 檢測的結果,其準確率為99.68%,效果優(yōu)于文獻[56]的檢測模型。半監(jiān)督分類同樣也有不少研究成果,文獻[58]設計一種半監(jiān)督支持向量機,可以充分利用未標記樣本數(shù)據(jù)的潛在信息,優(yōu)化分類過程,最終構建在線分類器。在實際威脅檢測與行為分析中,由于數(shù)據(jù)樣本的維度過高,通常需要將特征降維后再進行建模,針對不平衡樣本分布情況,可以使用文獻[59]提出的降維算法,專門應對稀疏樣本問題,該算法通過保留矩陣局部投影的方式處理未標記信息,之后再對其他未標記信息進行處理,分析其K 近鄰的幾何結果,適合異常檢測問題的數(shù)據(jù)處理。除此之外,半監(jiān)督集成也是當前的一個研究熱點[60],可以先將未標記的樣本通過自我訓練的方式組成若干小的分類器,之后將這些小分類器集成為一個整體進行預測,解決了標記樣本數(shù)據(jù)過少的問題。
無論是對于企業(yè)內(nèi)部用戶行為分析還是外部入侵檢測,最大的問題仍然是數(shù)據(jù)樣本難以標注。與監(jiān)督學習相比,半監(jiān)督學習對數(shù)據(jù)標注比例沒有特定要求;與同一算法的無監(jiān)督學習相比,半監(jiān)督學習往往能取得更好的檢測效果。但由于樣本標簽的特殊性,半監(jiān)督學習需要更復雜的處理流程與更長的訓練時間。此外,在半監(jiān)督算法的設計過程中,一般都只針對一種類型的問題進行優(yōu)化,同一個半監(jiān)督算法難以推廣到其他應用場景。例如,文獻[56-57]均專門針對DDoS 場景進行設計,不能檢測其他類型的威脅或者異常情況。
基于統(tǒng)計學習方法對內(nèi)部人員進行行為分析、外部網(wǎng)絡異常進行檢測的技術手段發(fā)展比較成熟,側(cè)重點在于根據(jù)樣本標注進行各類別數(shù)據(jù)中的規(guī)律學習,在計算效率與計算結果的可解釋性方面要優(yōu)于深度學習方法。由于訓練過程較為清晰,因此異常行為鏈的全過程呈現(xiàn)方面與深度學習相比具有較大的優(yōu)勢。表2給出了部分統(tǒng)計學習算法的對比情況,其中:N/A 表示原文獻未體現(xiàn)相關指標;性能評價數(shù)據(jù)來自原文獻,可能存在實驗環(huán)境及參數(shù)的不同。基于傳統(tǒng)機器學習的異常檢測多為二分類算法,即判斷一個樣本是否為異常樣本。相較多分類任務,二分類任務在模型訓練成本以及預測準確度評價方面具有一定優(yōu)勢,因此在整體性能表現(xiàn)上要優(yōu)于深度學習方法。
表2 部分統(tǒng)計學習算法的性能評價對比Table 2 Comparison of performance evaluation of some statistical learning algorithms
在實際應用中,樣本標注仍然是當前所面臨的主要問題之一。對于有監(jiān)督學習而言,盡管可以通過設置合適的參數(shù)、選取恰當?shù)哪P偷确椒ǖ玫讲诲e的模型表現(xiàn),甚至能夠達到100%的預測準確率,但只局限于實驗環(huán)境。在企業(yè)應用中由于樣本標注成本問題,半監(jiān)督學習在未來會更具發(fā)展前景。
以往神經(jīng)網(wǎng)絡受限于計算能力不足,應用范圍不如統(tǒng)計學習方法廣泛,但自從21 世紀初設備算力逐步提高,神經(jīng)網(wǎng)絡的研究取得了革命性進展,尤其在最近10 年間,對于神經(jīng)網(wǎng)絡的研究與使用成為當下最主流的研究方向之一。深度學習通過神經(jīng)網(wǎng)絡從連續(xù)的神經(jīng)層中學習參數(shù),構建預測模型。深度學習與傳統(tǒng)統(tǒng)計學習方法在特征與權重的處理方式上有著明顯不同,尤其神經(jīng)網(wǎng)絡非線性權重模型在特征選擇方面表現(xiàn)優(yōu)異。隨著當前安全數(shù)據(jù)規(guī)模的不斷擴大,特征的種類也變得越來越多,傳統(tǒng)機器學習手段在進行復雜特征選擇方面的優(yōu)勢不足,而深度學習方法可以進行自動特征選擇,更適合目前的情況。在實際應用中,深度學習模型主要包括自編碼器(Auto Encoder,AE)、多層感知神經(jīng)網(wǎng)絡、循環(huán)神經(jīng)網(wǎng)絡、卷積神經(jīng)網(wǎng)絡、生成式對抗網(wǎng)絡等。
自編碼器是一種可以學到輸入數(shù)據(jù)高效表示的神經(jīng)網(wǎng)絡,對監(jiān)督信息不敏感,一般包含編碼器(Encoder)與解碼器(Decoder)兩個部分。常用的自編碼數(shù)據(jù)異常檢測模型有自編碼模型和變分自編碼(Variational Auto Encoder,VAE)模型兩種。
文獻[61]基于自編碼模型建立一種稀疏數(shù)據(jù)表示框架,針對大規(guī)模高維數(shù)據(jù)可以起到降維的作用,同時能夠提取比手動處理更高級的特征,最終F1 值(F1-Score)達到了0.812 0。有些自編碼器需要學者們提供不包含異常的干凈數(shù)據(jù)才能正常建模,而有些魯棒性較強的自編碼器[62]可以直接使用包含異常的數(shù)據(jù),并從中識別出異常值和噪聲,但其準確率與召回率均只有65%。但在無監(jiān)督特征抽取、復雜任務處理、異常實時檢測等方面,自編碼器效果有限,因此學者們也會采用與其他方法結合的形式進行異常檢測。文獻[63]在使用編碼器的過程中發(fā)現(xiàn)在嘗試將輸出數(shù)據(jù)盡量還原成對應輸入的過程中,隱藏層的數(shù)據(jù)流動會產(chǎn)生壓縮,基于此原理提出一種基于密度估計的自編碼異常檢測模型,解決了自編碼器在訓練集上重建異常數(shù)據(jù)能力差的問題。在訓練階段,自編碼器首先在一個正常的訓練集上進行訓練,得到初步訓練完成的模型,隨后使用訓練集進行訓練并將訓練數(shù)據(jù)壓縮至隱藏層,通過設置密度閾值的方式調(diào)節(jié)壓縮尺度,采用質(zhì)心密度估計和核密度估計(Kernel Density Estimation,KDE)兩種方法來建立密度估計模型,從而解決異常點檢測問題,建模過程如圖4 所示。
圖4 基于密度估計的自編碼異常檢測流程Fig.4 Procedure of auto encoding anomaly detection based on density estimation
多層感知(Multi-Layer Perceptron,MLP)神經(jīng)網(wǎng)絡是一種基礎神經(jīng)網(wǎng)絡,由一個輸入層、一個輸出層和多個隱藏層組成。在多層感知神經(jīng)網(wǎng)絡中,各層網(wǎng)絡之間通過全連接的方式構成網(wǎng)絡結構,在各神經(jīng)元中可以設置激活函數(shù)實現(xiàn)非線性函數(shù)參數(shù)的學習,常用的激活函數(shù)有tanh、sigmoid、relu 等,MLP 可以構成最簡單的分類器,實現(xiàn)softmax邏輯回歸。文獻[64]利用MLP進行KDD CUP 99 數(shù)據(jù)的分類處理,在某些類別的攻擊上的檢測效果優(yōu)于SVM 算法。但由于多層感知神經(jīng)網(wǎng)絡的構造比較簡單,因此直接應用于數(shù)據(jù)中取得的效果往往較有限,其在UEBA 中多與其他算法進行聯(lián)合使用。文獻[65]利用Apriori算法進行樣本特征的處理,挖掘出樣本中關聯(lián)規(guī)則較強的特征后再使用多個MLP 進行分類,并使用AdaBoost算法集成得到最終結果,其準確率達到了99.55%??傮w而言,盡管多層感知神經(jīng)網(wǎng)絡只有簡單的結構形式,但仍然可以學習出數(shù)據(jù)內(nèi)的非線性信息,因此在簡單數(shù)據(jù)分類上一般要優(yōu)于傳統(tǒng)統(tǒng)計學習算法。
卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)主要基于卷積層和池化層的往復作用實現(xiàn)特征抽取,最終通過全連接層實現(xiàn)分類。在多次卷積和池化的過程中,數(shù)據(jù)的特征被很好學習。一般在處理數(shù)據(jù)的過程中,需要將樣本數(shù)據(jù)轉(zhuǎn)換為圖像的形式才能進行檢測。在流量分析中,可以使用二進制表示的流量數(shù)據(jù),將數(shù)據(jù)串進行分割處理,按照字節(jié)進行裁剪,之后將每個字節(jié)都轉(zhuǎn)換成二進制值,再轉(zhuǎn)換成像素點。然后通過對多個像素點進行整合,可以將某一串流量數(shù)據(jù)轉(zhuǎn)換為灰度圖片。
文獻[66]整理了多個將流量數(shù)據(jù)轉(zhuǎn)換為相應圖像的方式,不需要手工抽取設計特征,減少了主觀因素在異常檢測過程中的影響,之后使用卷積神經(jīng)網(wǎng)絡對流量數(shù)據(jù)的圖片形式進行處理,識別其中的異常軟件流量。針對基礎設施的工業(yè)控制系統(tǒng)(Industrial Control System,ICS)的異常檢測問題,文獻[67]結合主成分分析法與卷積神經(jīng)網(wǎng)絡設計一種1D 卷積網(wǎng)絡,其準確率、召回率與F1 值分別為98.02%、98.39% 和0.980 5。文獻[68]注意到當前ICS 數(shù)據(jù)有限,只使用工業(yè)數(shù)據(jù)進行異常檢測的效果不佳,于是采用傳統(tǒng)IT 數(shù)據(jù)與ICS 數(shù)據(jù)相結合的形式合成一個新的訓練數(shù)據(jù)集,隨后使用CNN 進行檢測,效果要優(yōu)于只使用工業(yè)數(shù)據(jù)的情況,其準確率為86.37%,召回率為67.67%。
使用卷積神經(jīng)網(wǎng)絡處理流量進行威脅行為檢測問題的主要難點在于如何進行前期數(shù)據(jù)處理工作使其適用于CNN 的網(wǎng)絡結構。對于特征處理及抽取的方法將直接影響檢測效果。與常見的全連接神經(jīng)網(wǎng)絡相比,卷積神經(jīng)網(wǎng)絡的優(yōu)勢在于可以處理更高維度的數(shù)據(jù),而且使用者完全不用關心每一層特征的具體表現(xiàn)形式,其缺點是過程不透明,可解釋性較差,只給出了檢測結果,很難對檢測過程的細節(jié)進行分析。
循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)是一類用來處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡?;A神經(jīng)網(wǎng)絡只在層與層之間建立連接,而RNN 可以在本層處理單元內(nèi)部之間進行連接。從作用上看,這是一種帶有記憶功能的反饋系統(tǒng),當前神經(jīng)元狀態(tài)與上一時刻的神經(jīng)元狀態(tài)密切相關。因此,RNN 在具有序列屬性的數(shù)據(jù)上表現(xiàn)尤其優(yōu)異,無論是流量分析還是用戶行為檢測,均能夠挖掘出數(shù)據(jù)中所包含的時序信息及行為意圖。
基于循環(huán)神經(jīng)網(wǎng)絡對Linux 系統(tǒng)內(nèi)的實體行為進行分析,利用RNN 對特征的敏感性抽取行為特征可以實現(xiàn)對網(wǎng)絡日志中的高級網(wǎng)絡威脅進行檢測[69-70]。文獻[71]基于CNN 與RNN 提出兩個有效的載荷分類方法,可以在無需特征工程的情況下,快速完成分類并顯著提高分類準確率,該方法在NSL-KDD 數(shù)據(jù)集上的表現(xiàn)尤為突出,其準確率、召回率和F1 值分別達到99.36%、99.81%和0.993 8。文獻[72]將模糊C 均值聚類與循環(huán)神經(jīng)網(wǎng)絡相結合,采用先聚類后神經(jīng)網(wǎng)絡分類的方式對流量數(shù)據(jù)進行處理,解決了云環(huán)境中入侵檢測系統(tǒng)效率低下的問題。長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡是一種時間循環(huán)神經(jīng)網(wǎng)絡,尤其解決了長序列訓練過程中的梯度爆炸或梯度消失問題。文獻[73]將三層LSTM 堆疊在一起分層抽取流量數(shù)據(jù)的不同深度特征,每通過一次LSTM 層,數(shù)據(jù)特征增加一階,最終將一階、二階、三階特征與原始數(shù)據(jù)進行合并,再基于殘差神經(jīng)網(wǎng)絡對其中的異常數(shù)據(jù)進行識別,模型準確率、召回率與F1 值分別為90.78%、94.61%、0.925。
循環(huán)神經(jīng)網(wǎng)絡在訓練過程中需要計算網(wǎng)絡梯度數(shù)值,而梯度又與神經(jīng)元權重密切相關,很容易造成梯度過大過小的問題,這是RNN 模型應用中最值得注意的一點,在長序列分析時尤其明顯。因此,在使用RNN 進行用戶或?qū)嶓w的行為序列分析時,應盡量減少序列輸入規(guī)?;蛘咴诮Y構上進行改進。
生成式對抗網(wǎng)絡(Generative Adversarial Network,GAN)[74]自2014 提出以來受到了工業(yè)界和學術界的廣泛關注,是一種無監(jiān)督方法,至少包括生成(Generative,G)模型和判別(Discriminative,D)模型兩個部分,通過兩個模型相互博弈進行模型訓練,判別模型根據(jù)生成數(shù)據(jù)判斷數(shù)據(jù)類型,生成模型根據(jù)給定數(shù)據(jù)生成新的數(shù)據(jù)。在博弈過程中,為了得到更好的結果,這兩個模型會不斷提高自己的判別效率與生成效率。在進行異常檢測時,經(jīng)常存在數(shù)據(jù)分布極度不平衡的問題,正常樣本遠大于異常樣本。直接對不平衡數(shù)據(jù)建模分析容易造成模型有偏,進一步影響模型的準確率。GAN 可以生成具有真實樣本分布的數(shù)據(jù),解決數(shù)據(jù)有偏問題,因此通常學者們更關注GAN 模型的生成部分。
文獻[75]基于TensorFlow 框架使用GAN 及高斯判別分析對異常樣本進行擴充,提高了異常檢測的準確率,另外還并行訓練模型,實現(xiàn)準確實時異常檢測,適用于工業(yè)界的大數(shù)據(jù)環(huán)境中的數(shù)據(jù)增強和不平衡樣本分類。還有學者在研究中發(fā)現(xiàn)某些異常樣本會對模型的性能產(chǎn)生影響,甚至能夠作為系統(tǒng)防御漏洞被黑客攻擊,于是開始研究使用GAN 生成的異常數(shù)據(jù)與檢測模型優(yōu)化IDS 的防御效果。文獻[76]將GAN 作為IDS 的前置處理單元,使用生成模型對流量數(shù)據(jù)中的非功能特征進行處理得到生成特征,并結合流量數(shù)據(jù)中的功能特征構建新的流量數(shù)據(jù)。將這些生成的流量數(shù)據(jù)作為異常樣本輸入到判別模型中,往復進行訓練確保D 模型能夠?qū)W習到假的流量示例,將D 模型作為IDS 的前置單元一方面能夠甄別可能存在的黑客通過偽造流量而產(chǎn)生攻擊行為,另一方面也可能增強IDS的識別能力,增加其在流量數(shù)據(jù)處理過程中應對未知威脅的能力,具體的建模過程如圖5 所示。文獻[77]使用自編碼器將數(shù)據(jù)從原始空間映射到潛在空間,之后使用生成對抗網(wǎng)絡精確估計潛在分布的概率表示,利用潛在空間的概率分布作為輸入數(shù)據(jù),建立異常檢測模型。文獻[78]先使用蒙特卡洛搜索樹算法擴充跨站腳本攻擊(Cross-Site Scripting,XSS)樣本解決數(shù)據(jù)有偏問題,之后建立基于GAN 的XSS 檢測系統(tǒng),著重利用判別部分對異常流量進行檢測。文獻[79]建立基于GAN 的入侵檢測系統(tǒng),結合自編碼器改善IDS 性能并提高檢測穩(wěn)定性,系統(tǒng)在召回率上表現(xiàn)優(yōu)異,達到了91.15%。
圖5 基于對抗樣本生成的GAN 異常檢測流程Fig.5 Procedure of GAN anomaly detection based on adversarial example generation
學者們主要使用GAN 來解決數(shù)據(jù)中的不平衡問題,在實際使用中需要結合其他算法才能完成用戶或?qū)嶓w的行為分析過程。相比其他生成模型或者抽樣進行樣本擴充的方法,GAN 能夠生成更真實的樣本數(shù)據(jù),更能優(yōu)化模型的檢測結果。由于GAN 能夠采用無監(jiān)督的方式訓練,在當前的異常檢測與行為分析領域應用廣泛。但在實際應用過程中,GAN 也可能出現(xiàn)模式崩潰的問題,而且生成過程對于使用者而言不透明,因此在神經(jīng)網(wǎng)絡參數(shù)調(diào)節(jié)時面臨一定的困難。
隨著深度學習技術的不斷發(fā)展,各種類型神經(jīng)網(wǎng)絡的應用為UEBA 提供了新思路。神經(jīng)網(wǎng)絡應用于多分類任務時的性能優(yōu)于統(tǒng)計學習方法,但檢測過程的可解釋較差,難以還原攻擊行為的過程。表3給出了部分深度學習算法的性能對比情況,其中:N/A 表示原文獻未體現(xiàn)相關指標;性能評價數(shù)據(jù)來自原文獻,可能存在實驗環(huán)境及參數(shù)的不同。任務類別以多分類為主,整體性能表現(xiàn)略遜于統(tǒng)計學習算法。一方面,對于多分類任務而言,分類結果為某種具體的攻擊類型,比二分類任務結果更為細化,因此在算法性能評價時可能存在一定的劣勢。另一方面,多分類結果對于后續(xù)異常行為分析過程而言,可參考性更高,網(wǎng)絡管理者能夠從多分類結果中得到更多有用的信息。在檢測性能相差不大的情況下,多分類結果比二分類結果更有意義,例如在文獻[71]的CNN 與RNN 使用過程中,不但實現(xiàn)了樣本的多分類,而且具有良好的性能表現(xiàn),適合實際應用。
表3 部分深度學習算法的性能評價對比Table 3 Comparison of performance evaluation of some deep learning algorithms
強化學習又被稱為增強學習,在模型訓練過程中不需要數(shù)據(jù)樣本的標簽,主要通過Agent與環(huán)境交互的方式進行模型訓練,目標是使得Agent獲取最大收益。強化學習受行為主義心理學的啟發(fā),強調(diào)的是“再”學習的過程。與其他統(tǒng)計學習方法相比,強化學習可以不參考給定的類別標簽,而是通過結果給予模型的回饋來更新所需參數(shù)[80]。通常而言,強化學習有很強的時序性,每次的結果都極大依賴上一步中智能體的狀態(tài)。強化學習的代表算法包括Q-Learning、狀態(tài)-動作-獎勵-狀態(tài)-動作(State-Action-Reward-State-Action,SARSA)、深度Q 網(wǎng)絡(Deep Q Network,DQN)以及深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)等算法[81]。強化學習是機器學習的重要組成部分,但目前UEBA 中的強化學習技術還應用較少,未來還有很大的發(fā)展空間。
惡意實體作為高級可持續(xù)威脅攻擊的一種,常常隱匿在系統(tǒng)中不容易被發(fā)現(xiàn),行為序列特征與運行環(huán)境的交互方式適合使用強化學習進行檢測。在文獻[82-83]研究中,強化學習用于處理惡意實體的行為序列,篩選惡意行為的特征并根據(jù)結果反饋動態(tài)調(diào)整檢測模型。XIAO 等[84]研究網(wǎng)絡游戲環(huán)境中的高級可持續(xù)威脅,建立一種基于策略的強化學習算法,通過策略爬坡(Policy Hill-Climbing,PHC)方式增加了策略的不確定性,動態(tài)引誘持續(xù)威脅實體暴露自身意圖。XIAO 等[85]還結合邊緣計算與強化學習設計一種區(qū)塊鏈信任機制,可以處理邊緣攻擊并識別偽造的實體記錄。在工業(yè)互聯(lián)網(wǎng)安全方面,文獻[86]針對電力系統(tǒng)的錯誤數(shù)據(jù)注入(False Data Injection,F(xiàn)DI)問題,設計一種帶有短期記憶功能的Q 學習算法保證自動電壓控制系統(tǒng)的正常運行。
強化學習與其他類型的機器學習方法不同,訓練數(shù)據(jù)主要來自與環(huán)境的各種交互。強化學習的優(yōu)勢在于其獎勵與懲罰機制簡單,訓練邏輯也不復雜,可以對環(huán)境信息做出快速反應。隨著深度學習的不斷發(fā)展,深度強化學習也逐漸成為領域內(nèi)的研究熱點。深度強化學習繼承了深度學習注意力機制在特征處理方面的優(yōu)點,同樣適合處理時序數(shù)據(jù),基于時序數(shù)據(jù)進行分析不僅可以更好地總結歷史行為規(guī)律,而且能夠挖掘更多異常場景,從而應對部分未知威脅。
5.1.1 KDD CUP 99 數(shù)據(jù)集
KDD CUP 99 數(shù)據(jù)集是1999 年KDD[87]競賽所使用的數(shù)據(jù)集,在異常檢測領域被廣泛使用,數(shù)據(jù)集攻擊類型主要分為4 個大類和39 個小類,訓練集包含22 種攻擊,測試集包含17種攻擊,具體類別情況如表4所示。
表4 KDD CUP 99 數(shù)據(jù)集攻擊類別Table 4 Attack categories of KDD CUP 99 dataset
KDD CUP 99 數(shù)據(jù)集中的每個連接的前41 項為屬性值,最后1 項為類別標簽,具體特征含義在數(shù)據(jù)集kddcup_names.txt 文件中進行了描述。
KDD CUP 99 數(shù)據(jù)集由美國國防部高級研究計劃局(DARPA)于1998 年在麻省理工學院林肯實驗室所進行的一個網(wǎng)絡安全滲透測試評估項目相關數(shù)據(jù)抽取收集而來,經(jīng)哥倫比亞大學的Sal Stolfo 教授和北卡羅來納州立大學的Wenke Lee教授經(jīng)過分析處理后得到。DARPA 在MIT 的項目模擬了美國空軍局域網(wǎng)的一個網(wǎng)絡環(huán)境,收集了9 周的網(wǎng)絡連接和系統(tǒng)審計數(shù)據(jù),仿真各種用戶類型、網(wǎng)絡流量及攻擊手段,并在1998年[88]、1999 年[89]、2000 年[90]公開發(fā)布過3 次數(shù)據(jù)集,均廣泛用于異常檢測領域。歷次數(shù)據(jù)內(nèi)容基本不變,1999 版數(shù)據(jù)集在1998 版數(shù)據(jù)集的基礎上,增加了攻擊類型和對于Windows NT 系統(tǒng)的操作,而2000 版本的數(shù)據(jù)集則將攻擊類型擴充至58 種。
NSL-KDD[91]是KDD CUP 99 數(shù)據(jù)集的改進 版本,解決了KDD CUP 99 數(shù)據(jù)集中數(shù)據(jù)冗余、測試數(shù)據(jù)與訓練數(shù)據(jù)重復、正負樣本比例失衡等問題,同樣廣泛作為UEBA 的benchmark 數(shù)據(jù)集。
5.1.2 UNSW-NB15 數(shù)據(jù)集
UNSW-NB15 數(shù)據(jù)集[92]由新南威爾士大學Cyber Range 實驗室在2015 年利用PerfectStorm 工具創(chuàng)建,整個數(shù)據(jù)集包含F(xiàn)uzzers、Analysis、Backdoors、DoS、exploit、Generic、Reconnaissance、Shellcode、Worms 等9 種攻擊大類,并未進行細致劃分。每個樣本有49 個特征,在UNSW-NB15_features.csv 文件中進行了描述。
5.1.3 CIC-IDS 2017 數(shù)據(jù)集
CIC-IDS 2017 數(shù)據(jù)集[93]是加拿大網(wǎng)絡安全研究所公開的IDS 模擬數(shù)據(jù)集,解決了之前公共異常檢測數(shù)據(jù)集中攻擊手段陳舊、流量多樣性差、攻擊樣本數(shù)量少等問題。CIC-IDS 2017 數(shù)據(jù)集包含大量新型攻擊手段,且更接近于真實企業(yè)環(huán)境,除了流量數(shù)據(jù)之外,還包含一部分經(jīng)過IDS 分析后的結果,實現(xiàn)了包 括暴力FTP、暴力SSH、DoS、Heartbleed、Web 攻擊、SQL 注入、僵尸網(wǎng)絡、DDoS 等8 種攻擊。
該數(shù)據(jù)集還有CIC-IDS 2012[94]、CIC-IDS 2018[95]等其他版本,CIC-IDS 2018 同樣是目前應用范圍較廣的網(wǎng)絡安全數(shù)據(jù)集。加拿大網(wǎng)絡安全研究所還有各類安全設備日志、主機操作記錄、軟件運行日志等其他類型的UEBA 數(shù)據(jù)集[96],能夠提供學者們進一步對各類用戶與實體的威脅行為進行識別。
5.1.4 Masquerading User Data 數(shù)據(jù)集
DUMOUCHEL 等[97]研究內(nèi)部人員操作行為對整個系統(tǒng)安全性的影響,構建偽裝者用戶數(shù)據(jù)(Masquerading User Data,MUD),共包括50 個文件,每個文件都是一個用戶的Unix 系統(tǒng)的操作數(shù)據(jù)。每個文件都有15 000條數(shù)據(jù),前5 000條為正常用戶操作數(shù)據(jù),后10 000 條中包括隨機的異常數(shù)據(jù)。DUMOUCHEL等為用戶操作數(shù)據(jù)提供了標注,將每100 條數(shù)據(jù)看作一個序列,同時用0 和1 對序列進行標注,0 代表正常,1 代表該序列存在偽裝者行為。該數(shù)據(jù)集作為為數(shù)不多的用戶行為異常檢測公共數(shù)據(jù)集得到了廣泛應用。
特征工程是整個UEBA 過程中的關鍵一環(huán),對整個分析模型的最終效果起著至關重要的作用。部分特征工程方法比較如表5 所示。
表5 部分特征工程方法對比Table 5 Comparison of some feature engineering methods
在進行實體行為數(shù)據(jù)分析的過程中,面臨安全設備種類多、屬性特征繁雜等問題,因此標準化、歸一化方法使用較多。由于部分數(shù)據(jù)的字符屬性沒有先后順序或者大小區(qū)別,因此使用獨熱編碼編譯字符屬性也是常用手段。同時,學者們還通過考察同一類型數(shù)據(jù)在不同數(shù)據(jù)集中的特征抽取方式來完善已有數(shù)據(jù),例如參考各類公共數(shù)據(jù)集中對時間串的處理方法,將其進行細化分割為季度、月、周等特征。
用戶行為數(shù)據(jù)的特征相對流量數(shù)據(jù)而言更匱乏,在實際企業(yè)環(huán)境下內(nèi)網(wǎng)主機安裝的通常都是Unix 類的系統(tǒng),主機命令有限。在進行用戶行為分析時,行為種類少、數(shù)據(jù)維度低,很難對各類行為進行區(qū)別,很大程度上會影響最終的檢測結果。筆者在研究數(shù)據(jù)的過程中,發(fā)現(xiàn)有以下兩種方式可以增強用戶及實體行為表述準確性:
1)使用“操作行為”與“操作對象”結合的方式細化動作,例如“cd Download”動作要比“cd”的表述性強。較少的主機指令與各類文件名、對象名以及指令參數(shù)等結合后,能夠使得行為集合指數(shù)級擴充。此外,還可以引入詞頻-逆文檔頻度(Term Frequency-Inverse Document Frequency,TF-IDF)加權技術對行為頻次做進一步處理以增強不同用戶或?qū)嶓w行為間的差別度量。
2)參考其他數(shù)據(jù)集特征對現(xiàn)有數(shù)據(jù)進行改進。例如,KDD CUP 99 數(shù)據(jù)集中TCP 連接基本特征中的連接持續(xù)時間(duration)、是否連接同一主機(land)、登錄失敗次數(shù)(num_failed_logins)等參數(shù)可以作為目標特征從而對已有數(shù)據(jù)進行處理。從原始數(shù)據(jù)中挖掘信息是特征維度提升的重要手段,表6給出了特征處理的部分樣例。
表6 主機行為特征處理部分樣例Table 6 Some examples of host behavior feature processing
具體的特征構造方法要視情況而定,例如一般日志中的操作時間記錄為一個時間字符串,很難發(fā)現(xiàn)其中的規(guī)律。如果將該時間串轉(zhuǎn)換為年、月、日、時、分、季度、周幾、是否為下班時間、是否為工作日等特征,可以增加原始數(shù)據(jù)的維度,便于后續(xù)算法分析。對于“是否為工作日”特征,可以根據(jù)取值的不同建立“工作日行為模型”與“非工作日行為模型”,通常分別處理比混合建模效果更好。
內(nèi)部威脅分析的數(shù)據(jù)源以主機操作、數(shù)據(jù)庫、堡壘機、服務器等日志文件為主。這類數(shù)據(jù)帶有一定的時序特征,通過上下文行為關聯(lián)可以還原事件的真實情況,在對于威脅的細粒度分析中具有關鍵價值。內(nèi)部行為日志威脅分析的難點主要包括以下3 個方面:
1)多源異構數(shù)據(jù)融合。數(shù)據(jù)質(zhì)量低的問題主要源自企業(yè)內(nèi)部設備環(huán)境復雜、系統(tǒng)版本雜亂。在企業(yè)中,員工工作場景下所使用的設備多種多樣,連接內(nèi)網(wǎng)服務器的方式也較為靈活,不利于記錄員工個人主機的行為數(shù)據(jù)以及內(nèi)網(wǎng)服務器操作數(shù)據(jù)。除了員工個人設備直連服務器主機外,由于涉密或者數(shù)據(jù)保護的需要,部分企業(yè)采用審計系統(tǒng)實現(xiàn)服務器訪問認證的3A 原則[98]管控員工的資源登錄認證過程,但認證的安全性與記錄操作行為的簡便性存在一定負相關關系,越安全的系統(tǒng)可能越復雜,復雜系統(tǒng)不利于便捷記錄員工的操作行為。
2)用戶與實體行為序列的上下文關聯(lián)。用戶的某一行為不是孤立存在的,而是需要根據(jù)上下文行為確定該行為屬性。如果一次攻擊樣本呈現(xiàn)帶有時序性的攻擊序列狀態(tài),那么在對用戶行為分析時也需要確定一個事件窗口。用戶行為被事件窗口切割后,會保留一條完整的證據(jù)鏈,從開始嘗試入侵到入侵結束的一系列行為都應該被包含在事件窗口中,而實際環(huán)境下很難判斷威脅行為開始的時間。
3)用戶與實體行為類別標簽。用戶在操作過程中,系統(tǒng)難以通過動作判斷其行為屬性,因此樣本標簽較少。無論是二分類問題還是多分類問題,樣本標簽的質(zhì)量都直接影響分類結果的優(yōu)劣。無監(jiān)督數(shù)據(jù)意味著用于異常行為識別的可選模型較少,很難在模型端進行改進。
近幾年互聯(lián)網(wǎng)高速發(fā)展,網(wǎng)絡技術水平也不斷提高,企業(yè)的網(wǎng)絡安全意識不斷完善。外部威脅包括黑客攻擊、病毒入侵、安全漏洞等方面。目前,外部威脅分析的難點主要包括以下3 個方面:
1)監(jiān)控手段單一、設備智能化程度不夠。IDS、IPS、WAF、網(wǎng)絡探針等各類網(wǎng)絡安全設備在實際企業(yè)的網(wǎng)絡安全外部威脅防御中占有重要比重,但其中的多數(shù)通過網(wǎng)絡安全策略對流量數(shù)據(jù)進行管控,安全策略采用規(guī)則匹配方式對流量進行處理,檢測效果有限,規(guī)則更新滯后。
2)數(shù)據(jù)量大??萍及l(fā)展迅猛,網(wǎng)絡設備無論是數(shù)量上還是質(zhì)量上都突飛猛進,單位時間內(nèi)產(chǎn)出的各種網(wǎng)絡設備、流量等日志呈現(xiàn)指數(shù)增長趨勢。越來越多的流量數(shù)據(jù)在硬盤內(nèi)大量堆積,無論是在線處理還是離線分析都會占用大量的計算資源。數(shù)據(jù)量大也會導致分析時間的增加,檢測結果更為滯后,系統(tǒng)暴露在風險下的時間更長。
3)樣本數(shù)據(jù)分布不平衡。在模型訓練過程中,很多算法通常有數(shù)據(jù)均勻分布這樣一個基本假設。少量攻擊流量數(shù)據(jù)摻雜在大量正常數(shù)據(jù)中,如果采取正常模型訓練模式,則可能會導致不準確的模型結果。在樣本較少的情況下,盡管也能從中學習到相應的檢測規(guī)則,但結果可能會存在一定的過擬合現(xiàn)象,僅針對某些場景有效果,缺少普適性,難以應對未知威脅。
UEBA 作為人工智能產(chǎn)業(yè)在網(wǎng)絡安全領域的應用之一,具有廣闊的發(fā)展前景。從發(fā)展趨勢來看,在早期研究中,以數(shù)據(jù)集擴充、實驗擴充和增加模型能夠識別的威脅行為種類為主,更加注重從數(shù)據(jù)量、威脅類型等方面對模型進行優(yōu)化。在中期研究中,學者們開始考慮模型性能與系統(tǒng)的運行效率,積極優(yōu)化模型檢測速度。在近期研究中,學者們更加注重檢測質(zhì)量,準備通過特征優(yōu)化、檢測過程可視化等方式對模型進行改進。總體而言,整個UEBA 研究重點具有明顯的“分析數(shù)量-分析速度-分析質(zhì)量”發(fā)展趨向。
UEBA 技術與各行各業(yè)深度融合的同時,也暴露出一定的缺陷。典型異常檢測算法的對比分析如表7 所示。
表7 典型異常檢測算法對比Table 7 Comparison of typical anomaly detection algorithms
當前研究方法的缺陷主要集中在:1)易陷入局部最優(yōu);2)標簽質(zhì)量對結果的影響大;3)噪聲數(shù)據(jù)對結果的影響大;4)未知行為判斷不足。缺陷1 不僅出現(xiàn)在UEBA 領域,在整個計算機行業(yè)內(nèi)都是如此,模型陷入局部最優(yōu)可能在健壯性與檢測準確度方面均表現(xiàn)不佳。缺陷2 和缺陷3 主要涉及數(shù)據(jù)質(zhì)量問題,需要對原始數(shù)據(jù)進行處理。針對缺陷4 應增加模型泛化能力,保證其更好地學習到異常行為規(guī)律。
考慮到UEBA 的發(fā)展趨勢以及當前存在的缺陷,將針對以下問題做進一步研究:
1)未知威脅識別問題。根據(jù)先驗知識建立威脅識別模型,一般在面對未知異常行為時的表現(xiàn)性能不佳,而未知威脅給系統(tǒng)帶來的潛在風險更為突出,因此未來將建立面向未知威脅的異常檢測算法。
2)數(shù)據(jù)有偏問題。無論是內(nèi)部風險還是外部威脅,往往是少量異常樣本摻雜在大量正常樣本中,很多算法極易受到有偏樣本分布的影響,因此未來將解決數(shù)據(jù)有偏分布問題,建立適應性更強的UEBA方法。
3)行為序列劃分問題。在現(xiàn)有行為數(shù)據(jù)的分析模型中,很多模型利用時間、會話ID 等屬性進行硬劃分。這種劃分方法在時間維度上割裂了異常事件的前后關聯(lián),不利于威脅鏈條的完整呈現(xiàn)。因此,未來將解決行為序列的劃分問題,在保證其時序性完整的同時,避免多序列劃分可能帶來的算法復雜度增加問題。
4)局部最優(yōu)問題。在異常檢測任務中,陷入局部最優(yōu)意味著判別模型的準確率較低,對于流量數(shù)據(jù)的錯誤判斷會對正常業(yè)務產(chǎn)生極大影響。因此,未來將建立收斂于全局最優(yōu)的異常檢測模型,以獲得更加準確的預測效果。
本文闡述基于機器學習的UEBA 技術研究進展,對統(tǒng)計學習、深度學習、強化學習中的典型算法進行對比分析,介紹被廣泛使用的經(jīng)典數(shù)據(jù)集并討論如何通過特征工程手段生成新的可利用特征,隨后分析UEBA 技術在數(shù)據(jù)處理、行為關聯(lián)、類別確定、智能分析等方面的局限性和需要解決的問題,從使用方法、算法性能、關鍵技術等角度出發(fā)對典型異常檢測方法的優(yōu)劣勢進行歸納總結。由于網(wǎng)絡規(guī)模的不斷擴大,設備類型多樣化、數(shù)據(jù)類型復雜化使得機器學習模型在用戶與實體行為分析領域的應用范圍越來越廣,結合的緊密程度也逐步加深。盡管現(xiàn)有UEBA 技術在實際異常檢測中取得了較好的效果,但在攻擊行為全過程解析方面還存在不足,多數(shù)分析方法只能找到異常點而不能找出異常序列,但有些持續(xù)性威脅并非只在某一點產(chǎn)生異常,必須通過完整的行為鏈條進行判斷,并且隨著網(wǎng)絡技術發(fā)展加快,攻擊技術在越來越趨于隱蔽的同時,也呈現(xiàn)出多樣化態(tài)勢。因此,在日趨復雜的安全形勢、不斷進化的攻擊手段等背景下,后續(xù)將針對未知威脅識別、入侵事件還原等問題對用戶與實體行為分析技術進行更深入的研究,進一步提高用戶與實體行為分析模型的處理效率與檢測質(zhì)量。