任新東 胡廣朋
(江蘇科技大學(xué)計(jì)算機(jī)學(xué)院 鎮(zhèn)江 212003)
高速發(fā)展的網(wǎng)絡(luò)環(huán)境提供更自由、開(kāi)放的環(huán)境的同時(shí)也帶來(lái)了更大的安全威脅。當(dāng)前環(huán)境下,數(shù)據(jù)泄露是導(dǎo)致國(guó)民財(cái)產(chǎn)安全遭受重大威脅的主要原因之一[1],數(shù)據(jù)信息的大規(guī)模泄露時(shí)會(huì)影響社會(huì)的正常運(yùn)作。據(jù)2019 年IBM 新發(fā)的《數(shù)據(jù)年度數(shù)據(jù)泄露成本報(bào)告》[2]分析可得,近幾年數(shù)據(jù)泄露成本逐年增加即導(dǎo)致的經(jīng)濟(jì)損失慢慢加大。因此,針對(duì)數(shù)據(jù)信息泄露展開(kāi)安全防護(hù)工作、將安全威脅扼殺在前期是降低經(jīng)濟(jì)損失、維護(hù)信息安全的重要手段。在造成數(shù)據(jù)信息泄露的眾多原因中需要特別關(guān)注的是,系統(tǒng)內(nèi)部人員的異常操作和純惡意的員工行為導(dǎo)致的內(nèi)部問(wèn)題。近年來(lái)對(duì)網(wǎng)絡(luò)安全的智能防護(hù)不斷發(fā)展,結(jié)合機(jī)器學(xué)習(xí)、深度學(xué)習(xí)的各種防護(hù)方法層出不窮,但想要檢測(cè)來(lái)自系統(tǒng)內(nèi)部的惡意操作則需要更新興的檢測(cè)技術(shù),如用戶行為分析(User Behavior Analysis,UBA),借此填補(bǔ)數(shù)據(jù)保護(hù)與內(nèi)部欺詐防護(hù)的空白。
國(guó)內(nèi)外對(duì)于用戶行為分析的研究主要分為靜態(tài)檢測(cè)與動(dòng)態(tài)檢測(cè)兩類。在動(dòng)態(tài)檢測(cè)領(lǐng)域主要在目標(biāo)有行為動(dòng)作時(shí)提取動(dòng)態(tài)行為特征[3~6],而后與惡意樣本一同進(jìn)行分析對(duì)比。用戶行為具有復(fù)雜性和誤導(dǎo)性,即用戶行為過(guò)程中的某單個(gè)行為不一定具有異常特征,需要對(duì)行為進(jìn)行關(guān)聯(lián)性分析得到最后的目的結(jié)果?;谟脩粜袨榈奶攸c(diǎn),本文假設(shè)用戶在進(jìn)行操作時(shí)的一些行為是可以被觀察的,提出一種可應(yīng)用于用戶惡意行為檢測(cè)的規(guī)劃識(shí)別方法。規(guī)劃識(shí)別是人工智能領(lǐng)域的重要組成部分,是通過(guò)對(duì)智能體的系列行為(動(dòng)作、狀態(tài)等)觀察,推導(dǎo)分析智能體的目標(biāo)或行為動(dòng)作的過(guò)程[7]。規(guī)劃識(shí)別的基本概念由Schmidt 等[8]首先提出,并由Goldman 等[9]構(gòu)建了相關(guān)的概率模型。發(fā)展至今,規(guī)劃識(shí)別在危機(jī)管理[10]、入侵檢測(cè)[11~12]、輔助教學(xué)[13~14]等領(lǐng)域均有廣泛的應(yīng)用。與在其他領(lǐng)域應(yīng)用規(guī)劃識(shí)別不同,在入侵檢測(cè)這種具有對(duì)抗性的領(lǐng)域中智能體之間的行為一般是離散、無(wú)序、模糊的。應(yīng)對(duì)這種問(wèn)題時(shí),應(yīng)該首先識(shí)別出智能體現(xiàn)行的規(guī)劃和目標(biāo),然后對(duì)潛在的未來(lái)規(guī)劃與目標(biāo)進(jìn)行預(yù)測(cè)[15~16],最后實(shí)施有效的應(yīng)對(duì)方法。
本文針對(duì)用戶行為分析構(gòu)建網(wǎng)絡(luò)模型,進(jìn)而采用基于隱馬爾可夫的規(guī)劃識(shí)別方法,利用可觀察節(jié)點(diǎn)與隱藏節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系,識(shí)別分析用戶操作是否存在惡意行為,并以UNIX 系統(tǒng)用戶日志的數(shù)據(jù)集SEA為例設(shè)計(jì)實(shí)驗(yàn),驗(yàn)證方法的有效性。
實(shí)現(xiàn)用戶行為分析的網(wǎng)絡(luò)模型如圖1 所示。首先將系統(tǒng)使用日志當(dāng)作觀察對(duì)象,檢測(cè)用戶的操作行為,將檢測(cè)到的行為操作經(jīng)過(guò)特征抽象后構(gòu)成數(shù)據(jù)集輸入給規(guī)劃識(shí)別方法,然后分析識(shí)別出行為是否異常,最后反饋給系統(tǒng)管理員,對(duì)存在異常操作的用戶進(jìn)行處理規(guī)避,調(diào)整系統(tǒng)的安全策略,獲取新的系統(tǒng)日志,更新可觀察的數(shù)據(jù)集,獲取新的分析結(jié)果,達(dá)到維護(hù)系統(tǒng)安全的目的。
圖1 用戶行為分析框架
規(guī)劃識(shí)別方法是整個(gè)行為分析網(wǎng)絡(luò)的核心,整個(gè)分析過(guò)程以特征抽象處理后的數(shù)據(jù)特征作為輸入,通過(guò)識(shí)別算法分析尋找異常的操作行為,分析各行為之間相互轉(zhuǎn)換的概率。在對(duì)數(shù)據(jù)集的分析時(shí)間,不斷使用網(wǎng)絡(luò)分析狀態(tài)轉(zhuǎn)換,達(dá)到對(duì)安全態(tài)勢(shì)的預(yù)測(cè)識(shí)別。
對(duì)原始數(shù)據(jù)進(jìn)行語(yǔ)言處理,即特征抽象是進(jìn)行識(shí)別分析的一個(gè)關(guān)鍵步驟。經(jīng)常使用的特征提取方法有;詞袋模型(Bag-of-words)以及詞頻與逆向文件概率模型(TF-IDF)。
詞袋是文本的表示方式,因其僅關(guān)注被提取文檔中是否出現(xiàn)已知單詞,對(duì)于文本的結(jié)構(gòu)順序不進(jìn)行考慮,故詞袋模型的復(fù)雜程度主要在于決定如何設(shè)計(jì)已知單詞的詞匯和如何對(duì)已知單詞評(píng)分。詞袋模型主要有三個(gè)步驟:分詞、統(tǒng)計(jì)修訂詞特征值和標(biāo)準(zhǔn)化。在使用詞袋模型時(shí),一般可以使用CountVectorizer 方法來(lái)完成,該方法會(huì)將文本中的詞語(yǔ)轉(zhuǎn)換為詞頻矩陣。
此外在一些語(yǔ)料庫(kù)中,有一些經(jīng)常出現(xiàn)但沒(méi)有實(shí)際語(yǔ)意的詞出現(xiàn),如果使用詞袋模型處理完后直接輸入會(huì)掩蓋有意義詞得效果。TF-IDF 是一種加權(quán)技術(shù),即可以評(píng)估某一詞對(duì)文本或語(yǔ)料庫(kù)得重要性。單詞的重要程度與其在文件中出現(xiàn)的次數(shù)成正比,與其在語(yǔ)料庫(kù)中的頻率成反比。其主要根據(jù)某單詞或短語(yǔ)的詞頻(TF)即在文章中出現(xiàn)的頻率。在處理得到TF后還需考慮逆向文件概率IDF,單詞的IDF 可以由總文件數(shù)除以包含該單詞的文件的數(shù)量,然后再將結(jié)果取對(duì)數(shù),若假設(shè)總的文檔數(shù)目為n,包含單詞w的文件的數(shù)目為m則有:
當(dāng)包含單詞w的文檔數(shù)目越小,IDF就越大,就說(shuō)明單詞w 的類別區(qū)分能力越好。假如某一類文檔集C 中包含單詞w 的文件數(shù)為n,其他類別文檔集中包含該單詞的文件數(shù)目為m,實(shí)際運(yùn)用中若只因n 較大導(dǎo)致IDF 較小,則在C 中該給予該單詞較高的權(quán)重,并作為文檔集的特征以與其他文檔區(qū)分。
針對(duì)于復(fù)雜的網(wǎng)絡(luò)環(huán)境與入侵手段,本文提出的基于隱馬爾可夫的規(guī)劃識(shí)別方法(PRHM)同時(shí)描述了目的與行為、目的與目的之間的關(guān)聯(lián)關(guān)系,其中將目的節(jié)點(diǎn)之間的相互轉(zhuǎn)換的概率分布記作Aij=p(sj|si),1 ≤i≤N,1 ≤j≤N,即從目的si轉(zhuǎn)到的sj的概率;目的與行為節(jié)點(diǎn)的關(guān)聯(lián)關(guān)系描繪了目的si和相對(duì)應(yīng)的行為序列V之間的概率分布,記作Bj(k)=p(vk|si),1 ≤j≤N,1 ≤k≤M;與其他的規(guī)劃識(shí)別方法不同,PRHM 方法會(huì)對(duì)預(yù)設(shè)初始的目的節(jié)點(diǎn)概率,記作π=p(si),1 ≤i≤N,即目的行為Si初始情況下的概率分布。
PRHM 方法在入侵檢測(cè)領(lǐng)域的應(yīng)用主要由數(shù)據(jù)預(yù)處理過(guò)程、網(wǎng)絡(luò)模型建立并調(diào)整模型參數(shù)、識(shí)別判斷當(dāng)前的安全態(tài)勢(shì)和對(duì)安全態(tài)勢(shì)的預(yù)測(cè)四個(gè)部分組成。在本文提出的方法中,首先對(duì)選用的數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理,包括對(duì)冗余信息的刪減和不規(guī)范數(shù)據(jù)的規(guī)范化;然后將數(shù)據(jù)集作為智能體的行為進(jìn)行觀察并對(duì)網(wǎng)絡(luò)模型進(jìn)行優(yōu)化;接著輸入一組信息序列,對(duì)輸入的數(shù)據(jù)使用優(yōu)化的Forwardbackward算法進(jìn)行計(jì)算,以確定輸入序列的發(fā)生概率;最后預(yù)測(cè)層對(duì)概率值最大的數(shù)據(jù)序列做狀態(tài)信息的預(yù)測(cè),獲取對(duì)行為的預(yù)測(cè)值。假設(shè)現(xiàn)有一數(shù)據(jù)集,其可觀察狀態(tài)類型有三種,目的狀態(tài)有四種。使用本文的算法模擬預(yù)算后,有如圖2 預(yù)測(cè)狀態(tài)的指數(shù)曲線以及圖3的狀態(tài)轉(zhuǎn)換路徑密度。
圖2 預(yù)測(cè)狀態(tài)指數(shù)曲線
圖3 狀態(tài)轉(zhuǎn)換路徑
在規(guī)劃識(shí)別模型建立后,在已知參數(shù)變量λ和被觀察得動(dòng)作序列O的條件下,若針對(duì)序列進(jìn)行觀察,求解出的是一段時(shí)間內(nèi)的安全態(tài)勢(shì),實(shí)現(xiàn)的識(shí)別效果不夠精準(zhǔn)。因此,本文在其他規(guī)劃識(shí)別方法的基礎(chǔ)上,針對(duì)具體時(shí)刻進(jìn)行安全態(tài)勢(shì)的識(shí)別,以提高規(guī)劃識(shí)別方法的應(yīng)用效果。
假設(shè)現(xiàn)有的規(guī)劃識(shí)別模型參數(shù)為λ,且序列記作O=(O1,O2,…,OT),則在t 時(shí)刻且狀態(tài)為Si時(shí),在t時(shí)刻之前有:
本次實(shí)驗(yàn)主要針對(duì)使用UNIX系統(tǒng)的用戶行為日志進(jìn)行分析。主要的樣本數(shù)據(jù)來(lái)自由Schonlau等人構(gòu)造的經(jīng)典數(shù)據(jù)集SEA 數(shù)據(jù)集。該數(shù)據(jù)集涵蓋了70 多個(gè)UNIX 系統(tǒng)用戶的行為日志,主要是系統(tǒng)記錄的用戶使用的命令。其針對(duì)每個(gè)用戶采集了15000條命令,并在用戶中隨機(jī)選取了50名定義為正常用戶,將其他用戶的命令隨即插入,以此模擬內(nèi)部人員實(shí)施攻擊的行為。并且該數(shù)據(jù)集的數(shù)據(jù)被按塊分割,每100個(gè)命令分為1塊,在進(jìn)行驗(yàn)證實(shí)驗(yàn)時(shí)將數(shù)據(jù)塊中的三分之一作為訓(xùn)練集,剩余的數(shù)據(jù)塊作為測(cè)試集,最后分析本文算法在以實(shí)際使用為基礎(chǔ)的數(shù)據(jù)集中識(shí)別的效果。
本次對(duì)方法的驗(yàn)證中,是完全基于SEA數(shù)據(jù)集的白樣本即正常數(shù)據(jù)的。本文使用了數(shù)據(jù)集中前50 個(gè)沒(méi)有異常的操作序列進(jìn)行基準(zhǔn)訓(xùn)練。然后對(duì)數(shù)據(jù)集中的異常數(shù)據(jù)進(jìn)行識(shí)別檢測(cè),對(duì)于方法中判斷異常的閾值確認(rèn),采用了設(shè)置初始閾值而后逐漸變大的方法,由此獲取閾值和方法準(zhǔn)確率、召回率的關(guān)系如圖4 所示,并驗(yàn)證該方法在惡意檢測(cè)領(lǐng)域有較好的應(yīng)用前景。
圖4 閾值與準(zhǔn)確率、召回率之間的關(guān)系
為了提高對(duì)智能體行為的預(yù)測(cè)效果,并使用不同的節(jié)點(diǎn)以更清晰地區(qū)分規(guī)劃識(shí)別模型中智能體的狀態(tài)和行為之間的層次結(jié)構(gòu)。本文以隱馬爾可夫模型為基礎(chǔ),提出一種實(shí)現(xiàn)規(guī)劃識(shí)別的具體方法?;陔[馬爾可夫的規(guī)劃識(shí)別方法,可以在僅以可觀察序列為已知的條件下,實(shí)現(xiàn)對(duì)未來(lái)目標(biāo)的概率預(yù)測(cè)。該方法對(duì)于可觀察行為和隱藏行為之間轉(zhuǎn)化關(guān)系的探究,在簡(jiǎn)化一般規(guī)劃識(shí)別方法復(fù)雜結(jié)構(gòu)的同時(shí)也較為精確地實(shí)現(xiàn)識(shí)別效果。本文的實(shí)驗(yàn)結(jié)果表明,該規(guī)劃識(shí)別方法在惡意行為檢測(cè)領(lǐng)域的實(shí)用效果,在合理提取攻擊特征的情況下,對(duì)于惡意行為操作有較好的學(xué)習(xí)與檢測(cè)性能。
本文提出的方法主要考慮系統(tǒng)的使用日志,需對(duì)原始的數(shù)據(jù)信息進(jìn)行處理。雖然抽象后的數(shù)據(jù)特征可使網(wǎng)絡(luò)的識(shí)別精度更高,但有些原始信息的處理較為復(fù)雜,使得網(wǎng)絡(luò)對(duì)數(shù)據(jù)信息處理工作量增大。如何更簡(jiǎn)單高效的處理原始報(bào)文信息將是接下來(lái)的研究重點(diǎn)之一。并且雖然本文提出的算法一定程度上提高了識(shí)別的精度,但在實(shí)際應(yīng)用場(chǎng)景中還需要更準(zhǔn)確的識(shí)別,接下來(lái)的研究學(xué)習(xí)將盡可能地提高算法的精度,以期實(shí)際環(huán)境下的應(yīng)用。