呂少嵐 陳澤輝 王晶晶 江佳佳
(1.南京航空航天大學(xué)民航學(xué)院,江蘇 南京 211106;2.上汽大眾汽車(chē)有限公司,上海 201805)
網(wǎng)絡(luò)安全是一個(gè)關(guān)系國(guó)家安全和主權(quán)、社會(huì)的穩(wěn)定、民族文化的繼承和發(fā)揚(yáng)的重要問(wèn)題,網(wǎng)絡(luò)安全的重要性正隨著全球信息化步伐的加快而變到越來(lái)越重要。就我國(guó)目前情況而言,隨著信息技術(shù)在各行各業(yè)的不斷深入應(yīng)用,其極大提升整個(gè)社會(huì)的運(yùn)行效率的同時(shí),也催生了各類網(wǎng)絡(luò)安全事件的頻發(fā),嚴(yán)重影響了企事業(yè)單位和人們的正常生活。因此,網(wǎng)絡(luò)安全和信息化是事關(guān)國(guó)家安全和國(guó)家發(fā)展、事關(guān)廣大人民群眾工作生活的重大戰(zhàn)略問(wèn)題,如何保障各類信息系統(tǒng)的安全運(yùn)行,已成為上升到國(guó)家層面的一項(xiàng)戰(zhàn)略任務(wù)。
網(wǎng)絡(luò)安全事件的呈現(xiàn)形式多種多樣,其中外部黑客的攻擊已引起各企事業(yè)單位的高度重視,通過(guò)在網(wǎng)絡(luò)邊界部署防火墻、入侵檢測(cè)、防入侵等安全設(shè)備可以解決信息網(wǎng)絡(luò)的邊界安全防護(hù)問(wèn)題[1]。但這些邊界防護(hù)機(jī)制很難檢測(cè)、發(fā)現(xiàn)和阻止內(nèi)部網(wǎng)絡(luò)的各類威脅行為。國(guó)際權(quán)威機(jī)構(gòu)Haystax于2019年發(fā)布的網(wǎng)絡(luò)內(nèi)部安全威脅報(bào)告[2]指出,內(nèi)部網(wǎng)絡(luò)的惡意用戶行為是造成企業(yè)數(shù)據(jù)泄露的主要原因,對(duì)企業(yè)內(nèi)部網(wǎng)絡(luò)的威脅行為的檢測(cè)發(fā)現(xiàn)是保證企業(yè)網(wǎng)絡(luò)安全運(yùn)行的一個(gè)重要環(huán)節(jié)。
內(nèi)部網(wǎng)絡(luò)威脅[3,4]通常是企業(yè)現(xiàn)在或前員工、承包商、合作伙伴等利用他們的內(nèi)網(wǎng)特權(quán),通過(guò)有意、無(wú)意或誤用等方式導(dǎo)致對(duì)公司或組織的員工、客戶、資產(chǎn)、信譽(yù)或利益產(chǎn)生傷害行為,威脅行為通常包含尋找、發(fā)現(xiàn)、偷竊、篡改、非法使用或毀壞各類內(nèi)網(wǎng)設(shè)備實(shí)體上的企業(yè)生產(chǎn)資源。
內(nèi)部威脅的類型通常包含了意外數(shù)據(jù)泄露、間諜活動(dòng)、伺機(jī)偷竊數(shù)據(jù)、蓄意破壞、產(chǎn)品/業(yè)務(wù)篡改、不合規(guī)行為、資源濫用誤用等[5],而傳統(tǒng)的威脅檢測(cè)方法都是基于特征量的檢測(cè)機(jī)理,定義的威脅行為的靜態(tài)規(guī)則,很難發(fā)現(xiàn)識(shí)別內(nèi)網(wǎng)的各類威脅行為,即使能發(fā)現(xiàn)一些線索,也會(huì)淹沒(méi)在內(nèi)網(wǎng)海量信息中無(wú)法及時(shí)響應(yīng),導(dǎo)致難以追溯定責(zé)。
本篇文章提出的內(nèi)網(wǎng)異常檢測(cè)方法根據(jù)企業(yè)內(nèi)部網(wǎng)絡(luò)的特點(diǎn),圍繞內(nèi)網(wǎng)安全四要素用戶、設(shè)備、行為和作用域,通過(guò)機(jī)器學(xué)習(xí)技術(shù),建立基于內(nèi)網(wǎng)四要素的安全行為規(guī)范和安全模型,實(shí)現(xiàn)自動(dòng)追蹤識(shí)別惡意用戶和軟件的操作行為和活動(dòng)軌跡,能夠?qū)ν{行為及時(shí)發(fā)現(xiàn)、預(yù)警,阻止惡意威脅行為在內(nèi)網(wǎng)的蔓延和破壞,能夠有效保護(hù)內(nèi)網(wǎng)的關(guān)鍵業(yè)務(wù)應(yīng)用。解決方法包括以下幾個(gè)方面:
(1)內(nèi)網(wǎng)行為事件的采集和提取;
(2)對(duì)內(nèi)網(wǎng)行為事件特征屬性值的數(shù)字化處理;
(3)分析內(nèi)網(wǎng)行為數(shù)據(jù)集特征維度分布,基于學(xué)習(xí)樣例建立無(wú)監(jiān)督機(jī)器學(xué)習(xí)模型;
(4)通過(guò)多種機(jī)器學(xué)習(xí)方法,分析檢測(cè)出的內(nèi)網(wǎng)異常行為事件,得出最優(yōu)算法方案。
由于內(nèi)部網(wǎng)絡(luò)產(chǎn)生的未知風(fēng)險(xiǎn)中,很大一部分來(lái)自內(nèi)部人員有意或無(wú)意的違規(guī)違紀(jì)行為,例如一些內(nèi)部人員非法接入、業(yè)務(wù)數(shù)據(jù)竊取、私自外發(fā)等非常規(guī)行為泄露機(jī)密文件等,針對(duì)內(nèi)部網(wǎng)絡(luò)的威脅行為分析常常面臨以下的問(wèn)題和挑戰(zhàn):
(1)真實(shí)異常樣例少:由于內(nèi)部員工越權(quán)訪問(wèn)涉密數(shù)據(jù)或者賬號(hào)失陷用攻擊是小概率事件,可獲取的真實(shí)異常事件樣本極少;正、負(fù)樣本數(shù)量極不平衡,歷史日志中絕大部分都是正常行為的數(shù)據(jù),異常數(shù)據(jù)所占比例很小,不足以準(zhǔn)確描繪異常的特征,無(wú)法直接從數(shù)據(jù)中學(xué)到所有異常的特性;
(2)數(shù)據(jù)標(biāo)注困難:數(shù)據(jù)缺少標(biāo)簽,人工標(biāo)記成本高,可操作性低;
(3)攻擊模式不確定:為了規(guī)避檢測(cè),攻擊者可能會(huì)將其惡意的行為隱藏在正常的行為中,不易發(fā)現(xiàn);攻擊策略沒(méi)有固定模式,無(wú)法事先預(yù)知。
有監(jiān)督的方法依賴于準(zhǔn)確標(biāo)注好的數(shù)據(jù)集進(jìn)行模型訓(xùn)練,需要充足的正、負(fù)樣本,然而由于存在如前所述的“三大挑戰(zhàn)”,有監(jiān)督的方法無(wú)法發(fā)揮作用。因此,我們提出了無(wú)監(jiān)督機(jī)器學(xué)習(xí)方法對(duì)威脅行為進(jìn)行分析,圍繞用戶、設(shè)備、行為和作用域四要素捕捉內(nèi)網(wǎng)動(dòng)態(tài)行為變化,提高實(shí)際應(yīng)用中的異常檢測(cè)準(zhǔn)確性。同時(shí),對(duì)樣本的多維度特征進(jìn)行評(píng)定,可以批量分析各安全要素的異常行為,有助于自適應(yīng)的持續(xù)算法優(yōu)化。
我們通過(guò)上述分析發(fā)現(xiàn)內(nèi)部網(wǎng)絡(luò)的異常威脅存在著異常樣本占總樣本數(shù)量的比例低、異常點(diǎn)的特征值與正常點(diǎn)特征值的差異性很大的特點(diǎn),所以基于非監(jiān)督學(xué)習(xí)機(jī)制的孤立森林(iForest)[6]機(jī)器算法完全適合內(nèi)網(wǎng)異常檢測(cè)場(chǎng)景。
孤立森林iForest是基于Ensemble的異常檢測(cè)方法,憑借其線性的時(shí)間復(fù)雜度、高精準(zhǔn)度、處理大數(shù)據(jù)時(shí)速度快的優(yōu)勢(shì),被廣泛應(yīng)用于工業(yè)界中對(duì)結(jié)構(gòu)化數(shù)據(jù)的異常檢測(cè)。常見(jiàn)的場(chǎng)景包括:網(wǎng)絡(luò)安全中的異常攻擊檢測(cè)、金融交易欺詐檢測(cè)、疾病偵測(cè)、噪聲數(shù)據(jù)過(guò)濾(數(shù)據(jù)清洗)等[7,8]。
針對(duì)不同的異常檢測(cè)場(chǎng)景,基于傳統(tǒng)孤立森林算法也衍生出一些變種算法,下面首先介紹孤立森林算法和其他三種衍生算法。
傳統(tǒng)孤立森林算法是基于異常點(diǎn)“少而不同”的普遍規(guī)律[9],該方法使用了一套非常高效的策略,即越早被二叉樹(shù)分支隔離的數(shù)據(jù)是異常數(shù)據(jù)的可能性越大,而那些深入到葉子節(jié)點(diǎn)的樣本不太可能出現(xiàn)異常。Zhou等[6]人將此策略轉(zhuǎn)換為數(shù)學(xué)表達(dá),利用分支的平均路徑長(zhǎng)度來(lái)分配被觀測(cè)數(shù)據(jù)的異常分?jǐn)?shù)。平均路徑長(zhǎng)度c(ψ)公式如下:
其中:
ψ為訓(xùn)練樣本二次抽樣的樣本數(shù),路徑長(zhǎng)度為:
e為被觀測(cè)的實(shí)例x從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的過(guò)程中所經(jīng)過(guò)邊的數(shù)目,T.size為被觀測(cè)的實(shí)例所在的葉子節(jié)點(diǎn)的樣本個(gè)數(shù),該實(shí)例遍歷的分支的平均路徑長(zhǎng)度將使用公式(4)轉(zhuǎn)換為異常分?jǐn)?shù):
其中E(h(x))是單個(gè)數(shù)據(jù)點(diǎn)在所有樹(shù)中所達(dá)到路徑長(zhǎng)度的平均值。平均路徑越短,異常得分會(huì)越大,越會(huì)被判定為異常點(diǎn)。
由于算法的設(shè)計(jì),孤立森林有以下優(yōu)點(diǎn):由于每棵樹(shù)都是獨(dú)立的,因此在分布式的系統(tǒng)中加速計(jì)算;不同于聚類算法尋找異常點(diǎn),它不需要計(jì)算點(diǎn)與點(diǎn)之間的距離或者簇的密度,模型為線性時(shí)間的復(fù)雜度,速度快,系統(tǒng)開(kāi)銷小。iForest被廣泛應(yīng)用于工業(yè)界中結(jié)構(gòu)化數(shù)據(jù)的異常檢測(cè)的同時(shí),衍生出多種變體算法模型,如擴(kuò)展孤立森林(Extended Isolation Forest,EIF)、分片選擇準(zhǔn)則孤立森林(Isolation Forest with Split-selection Criterion,SCiForest)和公平分割森林(Fair-Cut Forest,F(xiàn)CForest)。
EIF[10]是對(duì)傳統(tǒng)的孤立森林(iForest)的一種改進(jìn)算法,解決了傳統(tǒng)iForest存在異常掩蓋問(wèn)題,其改變了孤立樹(shù)(iTree)的分支判定,成功隔離了iForest未成功檢測(cè)出的異常數(shù)據(jù),其判定公式如下:
如果條件滿足,則將實(shí)例傳遞給左分支,否則向下移動(dòng)到右分支。
網(wǎng)絡(luò)事件異常可能是由不同的機(jī)制產(chǎn)生,不同機(jī)制產(chǎn)生的集群異常有各自的分布。SCiForest算法[11,12]通過(guò)引入一個(gè)新的切割面來(lái)隔離離群數(shù)據(jù)點(diǎn),彌補(bǔ)了iForest在檢測(cè)聚類異常時(shí)的弱點(diǎn)。在構(gòu)建樹(shù)的過(guò)程中,隨機(jī)選擇q個(gè)特征屬性,將這些屬性結(jié)合投影在一個(gè)超平面,超平面f的表達(dá)式如下:
Q為所有特征屬性,j為隨機(jī)選出的屬性,cj為[-1,1]間隨機(jī)選取的值,X'為二次采樣的樣本集,而為X'的第j個(gè)特征屬性值,p為一個(gè)隨機(jī)分割點(diǎn),并且創(chuàng)建τ個(gè)候選超平面,利用Sdgain理論,從τ個(gè)候選超平面中選擇最優(yōu)超平面進(jìn)行劃分。Sdgain分割公式如下:
Y是用戶行為實(shí)值集,Yl∪Yr=Y隨機(jī)分割點(diǎn)p將Yl和Yr分開(kāi),當(dāng)隨機(jī)選出的p對(duì)應(yīng)的Sdgain值越大,說(shuō)明其分割效果越好。
在測(cè)試數(shù)據(jù)階段,f(x)存在范圍限制,如圖1所示,v為節(jié)點(diǎn)中最大值與最小值之差,f(x)的范圍如下:

圖1 參考超平面的可接受范圍
FCForest[13]最初是為了彌補(bǔ)缺失值而產(chǎn)生的,但針對(duì)用戶行為數(shù)據(jù)檢測(cè),其通過(guò)類似于SCiForest的超平面進(jìn)行分割,但使用的是決策樹(shù)的劃分信息準(zhǔn)則,與iForest完全隨機(jī)切割相比,可以更好地對(duì)用戶行為數(shù)據(jù)進(jìn)行檢測(cè),其劃分信息準(zhǔn)則公式如下:
其中p(xi)代表X為xi的概率。
本文提出的針對(duì)該企業(yè)內(nèi)網(wǎng)的威脅行為提出了一個(gè)內(nèi)網(wǎng)異常檢測(cè)的框架,工作流程如圖2所示。該異常檢測(cè)框架通過(guò)采集企業(yè)內(nèi)網(wǎng)網(wǎng)絡(luò)日志與網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包數(shù)據(jù),完成對(duì)內(nèi)網(wǎng)各類實(shí)體運(yùn)行狀態(tài)的數(shù)據(jù)收集,然后對(duì)收集到的各類網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行規(guī)格化處理,形成結(jié)構(gòu)化的實(shí)體(用戶、內(nèi)網(wǎng)設(shè)備)行為數(shù)據(jù)集。事件分析引擎通過(guò)對(duì)結(jié)構(gòu)化的日志和網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)的分析處理,形成各實(shí)體行為事件數(shù)據(jù)集合。將合規(guī)的實(shí)體行為事件數(shù)據(jù)集提供給非監(jiān)督學(xué)習(xí)算法學(xué)習(xí),用于提取各實(shí)體內(nèi)網(wǎng)合規(guī)行為的特征量。

圖2 企業(yè)內(nèi)網(wǎng)的威脅行為檢測(cè)框架設(shè)計(jì)
本解決方案通過(guò)收集某內(nèi)網(wǎng)相關(guān)實(shí)體的兩個(gè)月的正常網(wǎng)絡(luò)行為事件數(shù)據(jù)作為合規(guī)的特征屬性學(xué)習(xí)數(shù)據(jù)集,輸入非監(jiān)督模式的孤立森林方法(iForest、EIF、SCiForest和FC Forest,)中,提取相關(guān)實(shí)體(用戶或設(shè)備)的內(nèi)網(wǎng)合規(guī)行為特征量集,建立實(shí)體行為合規(guī)模型。通過(guò)實(shí)體行為合規(guī)模型,實(shí)現(xiàn)對(duì)實(shí)時(shí)發(fā)生的網(wǎng)絡(luò)行為事件的異常檢測(cè)。完成對(duì)幾類孤立森林算法的異常檢測(cè)結(jié)果的分析評(píng)判,找出符合內(nèi)網(wǎng)場(chǎng)景中最佳的異常檢測(cè)算法。
完成各類網(wǎng)絡(luò)數(shù)據(jù)的規(guī)格化處理后形成規(guī)格化數(shù)據(jù)集,這些數(shù)據(jù)集中存在大量無(wú)用特征和冗余數(shù)據(jù),會(huì)減慢模型的訓(xùn)練和檢測(cè)運(yùn)行速度,為了避免維度災(zāi)難并實(shí)現(xiàn)網(wǎng)絡(luò)事件異常檢測(cè)的普適性,需要從規(guī)格化數(shù)據(jù)中提取最適合的、有意義的屬性特征信息,因此經(jīng)過(guò)事件分析引擎選擇了以下特征屬性構(gòu)成網(wǎng)絡(luò)行為事件的屬性特性,見(jiàn)表1。

表1 網(wǎng)絡(luò)行為特征屬性列表
各個(gè)網(wǎng)絡(luò)行為事件可由8個(gè)特征屬性來(lái)描述,這些行為事件包含了諸如用戶的Web訪問(wèn)、數(shù)據(jù)庫(kù)訪問(wèn)、用戶登錄、設(shè)備時(shí)間周期的訪問(wèn)流量、文件訪問(wèn)等內(nèi)網(wǎng)行為事件,每個(gè)事件的8個(gè)特征屬性值反映了各行為事件潛在的特征。部分具體行為事件實(shí)例見(jiàn)表2。
表2中每一行記錄為一次網(wǎng)絡(luò)行為事件,包括事件的發(fā)生時(shí)間、事件名稱、發(fā)出該事件的源設(shè)備IP和端口、行為目標(biāo)的設(shè)備IP和端口、行為用戶以及該事件類型的信息。

表2 網(wǎng)絡(luò)行為事件數(shù)據(jù)集格式(樣例)
iForest及其衍生算法通過(guò)非監(jiān)督學(xué)習(xí)的方式實(shí)現(xiàn)對(duì)內(nèi)網(wǎng)合規(guī)行為數(shù)據(jù)集的訓(xùn)練學(xué)習(xí),通過(guò)訓(xùn)練完成網(wǎng)絡(luò)各類實(shí)體正常網(wǎng)絡(luò)行為的潛在特征向量集的提取,以合規(guī)特征向量集為標(biāo)準(zhǔn),用來(lái)檢測(cè)非合規(guī)行為的異常數(shù)據(jù)。
解決方案中數(shù)據(jù)涉及兩種類型的數(shù)據(jù),即學(xué)習(xí)樣本數(shù)據(jù)和檢測(cè)數(shù)據(jù);學(xué)習(xí)樣本數(shù)據(jù)提供給非監(jiān)督學(xué)習(xí)算法學(xué)習(xí),用來(lái)提取合規(guī)行為數(shù)據(jù)中的潛在特征量;通過(guò)合規(guī)行為的特征量,實(shí)現(xiàn)對(duì)檢測(cè)數(shù)據(jù)集中的異常數(shù)據(jù)檢測(cè)。
(1)學(xué)習(xí)數(shù)據(jù)集
本解決方案中提取了某內(nèi)部網(wǎng)絡(luò)中的33個(gè)實(shí)體在2個(gè)月的正常實(shí)體行為事件數(shù)據(jù)作為學(xué)習(xí)數(shù)據(jù)樣本集(表3),孤立森林及衍生算法基于該學(xué)習(xí)樣本數(shù)據(jù)集,完成實(shí)體合規(guī)行為的特征向量的提取。

表3 學(xué)習(xí)樣本集
通過(guò)對(duì)2個(gè)月33個(gè)內(nèi)網(wǎng)實(shí)體中的867897條的日志和網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)的處理分析,學(xué)習(xí)數(shù)據(jù)集形成四大類39小類23379個(gè)網(wǎng)絡(luò)行為事件,39小類網(wǎng)絡(luò)行為事件包含主機(jī)登錄事件、HTTP訪問(wèn)事件、SMB共享文件事件、數(shù)據(jù)庫(kù)訪問(wèn)事件、主機(jī)登出事件、SSH登錄事件、安全策略變更事件、Telent登錄事件、服務(wù)啟停事件、目標(biāo)訪問(wèn)事件、系統(tǒng)啟停事件等,這些網(wǎng)絡(luò)行為事件作為學(xué)習(xí)數(shù)據(jù)集提供給算法進(jìn)行無(wú)監(jiān)督訓(xùn)練學(xué)習(xí)。
(2)檢測(cè)集
檢測(cè)集是基于學(xué)習(xí)樣本數(shù)據(jù)集中合規(guī)特征向量模型的異常檢測(cè)數(shù)據(jù)集,通過(guò)對(duì)某天某一個(gè)小時(shí)段32031條的日志和網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)的處理分析,選取1個(gè)實(shí)體實(shí)例中1個(gè)小時(shí)產(chǎn)生的網(wǎng)絡(luò)事件行為(表4)。

表4 檢測(cè)集
該實(shí)例實(shí)體中某一小時(shí)段中包含有102例合規(guī)行為數(shù)據(jù)和81例通過(guò)在相關(guān)實(shí)體上運(yùn)行某類網(wǎng)絡(luò)探測(cè)軟件所產(chǎn)生特定的網(wǎng)絡(luò)異常行為,異常行為包含了橫向移動(dòng)、端口掃描、暴力破解、系統(tǒng)探測(cè)、流量突升等異常行為,該實(shí)例實(shí)體某一小時(shí)段中的183例網(wǎng)絡(luò)事件可分為三大類13小類,13小類包括SSH登錄事件、SMB共享文件事件、數(shù)據(jù)庫(kù)訪問(wèn)事件、目標(biāo)訪問(wèn)事件等。
數(shù)字化處理是指對(duì)行為事件中各特征屬性值按照設(shè)定的轉(zhuǎn)換規(guī)則完成相關(guān)特征屬性值的從非數(shù)字到數(shù)字的轉(zhuǎn)換工作,通過(guò)對(duì)行為事件特征屬性值的數(shù)字化轉(zhuǎn)換,用來(lái)構(gòu)建特征屬性數(shù)字化映射表,通過(guò)數(shù)字化映射表完成各類數(shù)字森林樹(shù)的構(gòu)建。
圖3以DevicePort屬性為例,展示了孤立樹(shù)基于數(shù)字化的特征屬性值的建樹(shù)過(guò)程,其中p為隨機(jī)分割點(diǎn),小于分割點(diǎn)的數(shù)據(jù)傳遞給左子樹(shù),否則移動(dòng)到右子樹(shù),可見(jiàn)算法中的孤立樹(shù)無(wú)法對(duì)非數(shù)字類型數(shù)據(jù)分支,進(jìn)而影響對(duì)異常數(shù)據(jù)的判別,因此網(wǎng)絡(luò)行為事件數(shù)據(jù)集不可直接用于模型,對(duì)數(shù)據(jù)集數(shù)字化處理非常重要。

圖3 孤立樹(shù)對(duì)數(shù)字類型數(shù)據(jù)分支原理
行為事件的特性屬性值依據(jù)相關(guān)規(guī)則進(jìn)行數(shù)字化轉(zhuǎn)換,轉(zhuǎn)換規(guī)則包含字符串轉(zhuǎn)換規(guī)則和時(shí)間轉(zhuǎn)換規(guī)則兩類。字符串轉(zhuǎn)換規(guī)則中包含IP屬性值除去分割符后的數(shù)字合并規(guī)則,例如,192.1.6.103數(shù)字化后為19216103。行為事件發(fā)生時(shí)間的數(shù)字化方案則采用了三種規(guī)則方式,即數(shù)字分規(guī)則、數(shù)字半時(shí)規(guī)則和數(shù)字時(shí)規(guī)則。數(shù)字分規(guī)則是數(shù)字周幾+發(fā)生到分的時(shí)間,例如:2021-07-29 15:32:12數(shù)字化后為41532,其中4對(duì)應(yīng)2021-07-29周四,1532對(duì)應(yīng)發(fā)生時(shí)間15:32分;數(shù)字半時(shí)規(guī)則是在數(shù)字分規(guī)則基礎(chǔ)上對(duì)發(fā)生“分鐘”數(shù)字的再處理,例如:2021-07-29 15:32:12的數(shù)字化后為41530,發(fā)生時(shí)間的32分超過(guò)半時(shí)30分按30分?jǐn)?shù)字化。2021-07-29 15:12:15的數(shù)字化后為41500,發(fā)生時(shí)間的12分小于半時(shí)30分按00數(shù)字化,數(shù)字化半時(shí)規(guī)則使得一個(gè)小時(shí)中發(fā)生的行為事件的時(shí)間屬性降維到兩個(gè)數(shù)字值。數(shù)字時(shí)規(guī)則是對(duì)同一小時(shí)內(nèi)發(fā)生的行為事件進(jìn)行數(shù)字統(tǒng)一,例如:2021-07-29 15:32:12和2021-07-29 15:12:15兩個(gè)時(shí)間數(shù)字化為41500。
在對(duì)特征屬性值的數(shù)據(jù)數(shù)字化過(guò)程中,屬性可存在多個(gè)數(shù)字轉(zhuǎn)換規(guī)則,但每次學(xué)習(xí)轉(zhuǎn)換只能選擇一種規(guī)則,轉(zhuǎn)換規(guī)則不能混用。
本方案中數(shù)字森林構(gòu)成樹(shù)的數(shù)目是根據(jù)周志華等人的論文[6]中證實(shí),當(dāng)森林滿足100棵樹(shù)時(shí),樹(shù)的根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的路徑長(zhǎng)度就已經(jīng)收斂,因此設(shè)置每一個(gè)算法對(duì)應(yīng)的森林都為100棵樹(shù)的林子為最優(yōu)檢測(cè)林子,本案中構(gòu)建的任何孤立森林都是由100棵樹(shù)組成。
根據(jù)周志華論文[6]中證實(shí)由于孤立樹(shù)有等價(jià)于二叉搜索樹(shù)的結(jié)構(gòu),當(dāng)孤立樹(shù)平均路徑長(zhǎng)度與用相同樣本量構(gòu)建的二叉樹(shù)平均路徑長(zhǎng)度相等時(shí),異常得分為0.5,一旦超過(guò)了0.5的異常得分,則表示孤立樹(shù)平均路徑長(zhǎng)度低于所期望平均路徑長(zhǎng)度。根據(jù)孤立森林異常數(shù)據(jù)“少而不同”的理念,路徑越短,異常程度越高,因此本案的異常閾值設(shè)置為0.5,一旦算法得分超過(guò)0.5則被分類為異常數(shù)據(jù),低于0.5的數(shù)據(jù)被判別為正常數(shù)據(jù),分?jǐn)?shù)越高異常程度越高。
5.1.1 數(shù)據(jù)集數(shù)字化處理
本方案分別對(duì)特定選取的學(xué)習(xí)集與檢測(cè)集的特征屬性值進(jìn)行數(shù)據(jù)數(shù)字化處理,形成相關(guān)的特征數(shù)字化映射表,為算法森林構(gòu)建提供數(shù)據(jù)支撐。
本檢測(cè)方案對(duì)行為事件發(fā)生時(shí)間特征屬性采用了三種不同方式的數(shù)字化規(guī)則,即數(shù)字分規(guī)則、數(shù)字半時(shí)規(guī)則和數(shù)字時(shí)規(guī)則,用來(lái)驗(yàn)證關(guān)鍵特征屬性值數(shù)字化的細(xì)膩程度對(duì)檢測(cè)結(jié)果的影響。
展示部分?jǐn)?shù)字化結(jié)果見(jiàn)表5、6,表5(a)為原始學(xué)習(xí)集樣本,表5(b)(c)(d)為事件時(shí)間屬性采用三類不同數(shù)字化規(guī)則產(chǎn)生的數(shù)字化映射表,表6(a)為原始檢測(cè)集樣本,表6(b)(c)(d)為事件時(shí)間屬性采用三類不同數(shù)字化規(guī)則產(chǎn)生的數(shù)字化映射表。

表5 學(xué)習(xí)集數(shù)據(jù)數(shù)字化

表6 檢測(cè)集數(shù)據(jù)數(shù)字化

5.1.2 數(shù)據(jù)維度分布
在數(shù)字化特征屬性值代入模型前,我們利用數(shù)據(jù)維度分布圖來(lái)直觀顯示正常數(shù)據(jù)和異常數(shù)據(jù)的空間分布,提供先驗(yàn)性的數(shù)據(jù)集的屬性特征。
將學(xué)習(xí)集數(shù)據(jù)與檢測(cè)集數(shù)據(jù)進(jìn)行數(shù)據(jù)化處理后,利用tsne算法[14]提取數(shù)據(jù)特征,將數(shù)據(jù)集維度降為隨機(jī)的3維屬性數(shù)據(jù),可視化表現(xiàn)出學(xué)習(xí)集與檢測(cè)集的特征向量的空間分布,圖4為在數(shù)字分規(guī)則下學(xué)習(xí)集數(shù)據(jù)和檢測(cè)集數(shù)據(jù)在3維空間里呈現(xiàn)的不同數(shù)據(jù)分布,其中藍(lán)色的為正常行為數(shù)據(jù),紅色的為異常行為數(shù)據(jù)。
從圖4中可見(jiàn),學(xué)習(xí)樣本集的數(shù)據(jù)特點(diǎn)為:數(shù)據(jù)量大、分布集中、數(shù)據(jù)連續(xù),而檢測(cè)集數(shù)據(jù)由于數(shù)據(jù)量較小,呈現(xiàn)分散、異常點(diǎn)與正常點(diǎn)混雜的特點(diǎn)。


圖4 數(shù)字分規(guī)則下學(xué)習(xí)集與檢測(cè)集3D可視化數(shù)據(jù)分布
為驗(yàn)證實(shí)驗(yàn)算法的有效性,在本實(shí)驗(yàn)中,使用F-measure來(lái)評(píng)價(jià)準(zhǔn)確度,F(xiàn)-measure即精度和查全率的調(diào)和平均值,它同時(shí)考慮了測(cè)試的精準(zhǔn)度和召回率來(lái)計(jì)算分?jǐn)?shù)。異常檢測(cè)模型評(píng)價(jià)的混淆矩陣見(jiàn)表7,真陽(yáng)性(TP)為正確檢測(cè)到的異常數(shù)據(jù),假陽(yáng)性(FP)為錯(cuò)誤檢測(cè)到的異常數(shù)據(jù),假陰性(FN)為未檢測(cè)到的異常數(shù)據(jù),真陰性(TN)為正確檢測(cè)出的正常數(shù)據(jù)。精準(zhǔn)度表示檢測(cè)出的異常數(shù)據(jù)中為真實(shí)異常數(shù)據(jù)的比例,召回率表示真實(shí)異常數(shù)據(jù)中有多少被檢測(cè)出來(lái)。

表7 檢測(cè)結(jié)果混淆矩陣
可以從這些參數(shù)中,推導(dǎo)出精準(zhǔn)度、召回率和F-measure。公式如下:
使用F-measure值作為分類器性能的衡量標(biāo)準(zhǔn),值范圍在0至1之間,因?yàn)樗懋惓z測(cè)性能,甚至比精度值或ROC曲線更好[15],數(shù)據(jù)實(shí)例精準(zhǔn)度和召回率越高,F(xiàn)-measure值越高,說(shuō)明模型所得出的結(jié)果越好。
四個(gè)孤立森林(iForest、EIF、SCiForest、FCForest)算法采用無(wú)監(jiān)督學(xué)習(xí)方式,基于兩個(gè)月的合規(guī)數(shù)據(jù)樣本學(xué)習(xí)了內(nèi)網(wǎng)各實(shí)體的潛在行為特征,建立相關(guān)合規(guī)行為模型森林,對(duì)一小時(shí)內(nèi)包含81個(gè)異常行為的檢測(cè)樣本數(shù)據(jù)集進(jìn)行檢測(cè),得到了表8的結(jié)果,表8提取了測(cè)試集樣本中人為標(biāo)識(shí)出的前5例最嚴(yán)重的異常行為事件,利用4個(gè)算法對(duì)其評(píng)分,異常評(píng)分在0至1之間,超過(guò)0.5被分類為異常數(shù)據(jù),分?jǐn)?shù)越高表示該點(diǎn)異常程度越嚴(yán)重。
(1)異常敏感度分析
可見(jiàn),在三類時(shí)間轉(zhuǎn)換規(guī)則中,所有算法對(duì)前5例最嚴(yán)重的異常數(shù)據(jù)都給出了超過(guò)異常閾值0.5的得分,都檢測(cè)出了前5例威脅行為。并且,根據(jù)時(shí)間轉(zhuǎn)換規(guī)則的不同,算法對(duì)同一網(wǎng)絡(luò)事件的異常得分之間普遍呈現(xiàn)出規(guī)律,即數(shù)字分規(guī)則下的異常得分最高,而數(shù)字時(shí)規(guī)則下的異常得分最低,時(shí)間規(guī)則越細(xì),異常得分打分越高,可見(jiàn),在特征屬性值數(shù)字化規(guī)則細(xì)膩度越細(xì),四類算法對(duì)異常行為數(shù)據(jù)的敏感度越高。
(2)擬合度分析
將本文中學(xué)習(xí)集和檢測(cè)集的特定屬性值(網(wǎng)絡(luò)事件發(fā)生時(shí)間)采用三種不同的數(shù)字化規(guī)則所產(chǎn)生的屬性數(shù)字化映射表代入iForest、EIF、SCiForest、FCForest異常檢測(cè)算法,得出如表8模型評(píng)價(jià)指標(biāo)。

表8 異常數(shù)據(jù)異常評(píng)分對(duì)比(樣例)
從表9可見(jiàn),在數(shù)字分和數(shù)字半時(shí)轉(zhuǎn)換規(guī)則里,所有算法的精準(zhǔn)度、召回率和F-measure得分都是統(tǒng)一的,分別為44%、100%、0.61。造成這一現(xiàn)象的原因是數(shù)字分與數(shù)字半時(shí)轉(zhuǎn)換規(guī)則下,算法一致將所有檢測(cè)數(shù)據(jù)判別為了異常行為數(shù)據(jù),出現(xiàn)了嚴(yán)重的過(guò)擬合現(xiàn)象。當(dāng)以數(shù)字時(shí)為轉(zhuǎn)換規(guī)則,F(xiàn)CForest依然將所有數(shù)據(jù)判別為異常行為數(shù)據(jù),而iForest、EIF、SCiForest的F-measure值都保持在0.9以上,很好地分離出異常與正常行為,其中iForest效果最優(yōu),F(xiàn)-measure值達(dá)到了0.99,趨于滿分,因此得出結(jié)論,針對(duì)該數(shù)據(jù)集,以數(shù)字時(shí)為規(guī)則,iForest算法方案最好。

表9 異常檢測(cè)算法性能對(duì)比
(3)最佳結(jié)果分析
通過(guò)上述實(shí)驗(yàn)和數(shù)據(jù),在本文提供的學(xué)習(xí)樣本集和檢測(cè)樣本集中,在數(shù)字時(shí)規(guī)則下iForest、EIF、SciForest的F-measure值都保持在0.9以上,其中iForest的精準(zhǔn)度達(dá)到了100%,召回率達(dá)到了99%,F(xiàn)-measure值達(dá)到了0.99。為了分析iForest算法在網(wǎng)絡(luò)事件數(shù)據(jù)集上的運(yùn)算,將學(xué)習(xí)集中正常數(shù)據(jù)與檢測(cè)集中異常數(shù)據(jù)降為2維,截取其中一部分進(jìn)行可視化展現(xiàn)iForest算法的分支過(guò)程,如圖5,其中紅色方形表示檢測(cè)集網(wǎng)絡(luò)異常事件,藍(lán)色圓形表示學(xué)習(xí)集正常事件,每一條灰線都表示iForest算法一次分支,灰線越密集的區(qū)域說(shuō)明該區(qū)域內(nèi)數(shù)據(jù)平均路徑長(zhǎng)度越長(zhǎng),異常得分越低。

圖5 數(shù)字時(shí)規(guī)則下iForest對(duì)網(wǎng)絡(luò)事件數(shù)據(jù)分支操作
可見(jiàn),在樣本中正常行為事件與異常行為事件特征分布差異明顯,異常網(wǎng)絡(luò)事件區(qū)域只有一條分支所產(chǎn)生的灰線,說(shuō)明檢測(cè)集異常網(wǎng)絡(luò)數(shù)據(jù)區(qū)域平均路徑長(zhǎng)度短,造成異常得分高。綜上所述,可得出結(jié)論,檢測(cè)集中的異常行為事件未有意識(shí)制造異常事件隱藏,針對(duì)此數(shù)據(jù)集特性,iForest可以高效分離異常數(shù)據(jù)。
(4)其他結(jié)果分析
為了進(jìn)一步探究在數(shù)字分和數(shù)字半時(shí)轉(zhuǎn)換規(guī)則里,出現(xiàn)過(guò)擬合現(xiàn)象的原因,分別將三類時(shí)間規(guī)則下,數(shù)字森林對(duì)檢測(cè)集的異常得分進(jìn)行統(tǒng)計(jì),繪制數(shù)據(jù)分布軸須圖,橫坐標(biāo)為異常得分,縱坐標(biāo)為數(shù)據(jù)數(shù)量,紅線為0.5閾值線,線左邊為異常得分小于0.5的數(shù)據(jù),線右邊為異常得分大于0.5的數(shù)據(jù)。
從圖6(c)中可見(jiàn),iForest、EIF、SCiForest在數(shù)字時(shí)規(guī)則下都清晰區(qū)分了正常數(shù)據(jù)與異常數(shù)據(jù),但為了補(bǔ)全缺失值而誕生的FCForest并不適用于閾值在0.5的異常劃分,并且由(c)的軸須圖可見(jiàn),F(xiàn)CForest所產(chǎn)生的異常得分離散度低,效果差。

圖6 異常得分密度分布
當(dāng)時(shí)間規(guī)則為數(shù)字分與數(shù)字半時(shí)時(shí),所有算法異常得分大于了0.5,其中SCiForest對(duì)數(shù)據(jù)異常程度的判斷最為激進(jìn),并且異常得分間存在明顯分散,介于FCForest和SCiForest都有著相似的超平面劃分機(jī)制,由圖5(a)(b)可知FCForest并沒(méi)有呈現(xiàn)過(guò)高或過(guò)低的異常得分,經(jīng)過(guò)分析,F(xiàn)C Forest和SCiForest的區(qū)別在于FC Forest使用決策樹(shù)的劃分信息準(zhǔn)則,而SCiForest的超平面分割基于Sdgain理論(公式(7)),因此推測(cè)是Sdgain理論造成此現(xiàn)象,Sdgain理論本質(zhì)為當(dāng)一個(gè)超平面能清晰地將兩個(gè)不同的分布分開(kāi)時(shí),這兩個(gè)分布的內(nèi)部離散程度是最小的。為了驗(yàn)證猜想,單獨(dú)選取了三位不同員工一天的網(wǎng)絡(luò)行為數(shù)據(jù)進(jìn)行檢測(cè)實(shí)驗(yàn),利用Sdgain理論分別對(duì)三人網(wǎng)絡(luò)行為頻率進(jìn)行劃分,如圖7。

圖7 三位員工一天的網(wǎng)絡(luò)行為頻率分布根據(jù)Sdgain選取分割點(diǎn)
其中,橫坐標(biāo)為時(shí)間,縱坐標(biāo)為行為頻率,藍(lán)色線為隨機(jī)選取分裂點(diǎn)中擁有最大的值的分割點(diǎn)的延長(zhǎng)線。可見(jiàn)藍(lán)線清晰地將員工行為數(shù)據(jù)集分為兩部分,其中對(duì)于時(shí)間較為集中所產(chǎn)生的頻率單峰(圖7(b)),藍(lán)線與峰值之間距離最大,可見(jiàn)理論擁有很好的分割數(shù)據(jù)性能,也正是因?yàn)榇诵阅茉斐闪藬?shù)字分和數(shù)字半時(shí)規(guī)則下,SCiForest對(duì)數(shù)據(jù)異常程度判斷激進(jìn),且相較于其他算法分?jǐn)?shù)離散程度大的原因。
為了進(jìn)一步尋找過(guò)擬合現(xiàn)象造成數(shù)字分、數(shù)字半時(shí)規(guī)則下算法性能較差的根本原因,對(duì)原始數(shù)據(jù)集進(jìn)行探究,分別將三類時(shí)間規(guī)則所產(chǎn)生的數(shù)據(jù)利用t-sne算法[16]提取數(shù)據(jù)特征,將數(shù)據(jù)集維度降為3維,如圖8,其中綠色點(diǎn)為學(xué)習(xí)集數(shù)據(jù),藍(lán)色點(diǎn)為檢測(cè)集正常行為數(shù)據(jù),紅色點(diǎn)為檢測(cè)集異常行為數(shù)據(jù)。

圖8 三類時(shí)間規(guī)則下的數(shù)據(jù)分布
從圖8中可見(jiàn),數(shù)據(jù)分和數(shù)據(jù)半時(shí)規(guī)則下,檢測(cè)集的正常數(shù)據(jù)與異常數(shù)據(jù)都分布在學(xué)習(xí)集數(shù)據(jù)外圍,兩者間相似度極高,且都與學(xué)習(xí)集數(shù)據(jù)分布大相徑庭,而在數(shù)據(jù)時(shí)規(guī)則下,檢測(cè)集的正常數(shù)據(jù)置信度空間明顯小于異常數(shù)據(jù)的置信度空間,更加接近學(xué)習(xí)集數(shù)據(jù)分布,因此得出結(jié)論,關(guān)鍵特征屬性的數(shù)字化規(guī)則會(huì)直接影響算法的結(jié)果,同時(shí),解釋了在此數(shù)據(jù)集下數(shù)字時(shí)規(guī)則效果最好。
本文提出了一種基于機(jī)器學(xué)習(xí)技術(shù)的內(nèi)網(wǎng)威脅行為發(fā)現(xiàn)方法,有效解決了現(xiàn)有方法存在的真實(shí)異常樣本少、數(shù)據(jù)標(biāo)注困難及攻擊模式不確定的問(wèn)題。檢測(cè)模型圍繞用戶、設(shè)備、行為和作用域四要素,并選取企業(yè)真實(shí)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)驗(yàn)證,主要結(jié)論如下:以小時(shí)進(jìn)行檢測(cè)算法的精準(zhǔn)度和召回率普遍更高,相比于其他的異常檢測(cè)方法,iForest算法效果最好。
形成以上結(jié)論的原因?yàn)樵撈髽I(yè)相關(guān)用戶行為模式單一,在內(nèi)網(wǎng)訪問(wèn)中用戶的正常行為與異常行為數(shù)據(jù)特征差距大,iForest相較于它的衍生算法可以更準(zhǔn)確地檢測(cè)出異常。在未來(lái)工作里,實(shí)驗(yàn)將進(jìn)一步改變攻擊方式,在本文基礎(chǔ)上增加異常掩蓋事件,探索特征屬性值數(shù)字化最佳細(xì)膩度的曲線分布,研究基于iForest樹(shù)實(shí)例的異常閾值自適應(yīng)的優(yōu)選方法。