張晨路
(中北大學(xué) 大數(shù)據(jù)學(xué)院,山西 太原 030051)
隨著信息技術(shù)的不斷發(fā)展,許多公司已經(jīng)把維護信息安全作為一個長遠戰(zhàn)略目標(biāo). 根據(jù)報告顯示[1]:僅在 2015年,我國發(fā)生的內(nèi)部威脅安全事件就高達2 097萬件,占全年信息安全事件的一半. CERT(Computer Emergency Response Team)內(nèi)部威脅中心將內(nèi)部威脅定義為組織的現(xiàn)任或前任員工或合作伙伴利用對組織網(wǎng)絡(luò)、系統(tǒng)和數(shù)據(jù)的訪問權(quán)限進行一系列惡意或無意行為,這些行為包括但不限于竊取知識產(chǎn)權(quán)、泄露機密信息、網(wǎng)絡(luò)或系統(tǒng)破壞[2]. 內(nèi)部威脅用戶對公司造成的損害遠超其他攻擊事件,因此,內(nèi)部威脅用戶的檢測對于公司的信息安全是十分重要的.
當(dāng)前,機器學(xué)習(xí)已經(jīng)廣泛用于內(nèi)部威脅檢測,它們能夠從大量數(shù)據(jù)中訓(xùn)練出模型,并將模型用于檢測內(nèi)部人員的異常行為. 文獻[3]將用戶一周內(nèi)的所有操作建模為一個序列,并使用隱馬爾可夫模型(HMM)進行建模,通過HMM可以得到每周的預(yù)測概率,并設(shè)置閾值T,如果序列的概率低于閾值,則將其分類為異常; 文獻[4]將自組織映射(SOM)方法用于內(nèi)部威脅檢測,SOM還提供了地形圖保存的訓(xùn)練數(shù)據(jù)可視化,內(nèi)部人員的數(shù)據(jù)實例集中在SOM地圖的較亮區(qū)域中,分析人員通過檢查映射到較亮區(qū)域的數(shù)據(jù)就能夠找出數(shù)據(jù)中的異?,F(xiàn)象并識別可疑行為; 文獻[5]對所有特征進行了交叉分組,并利用交叉分組后的特征構(gòu)建了孤立森林模型,更加充分地利用了數(shù)據(jù)的特征信息,提升了內(nèi)部威脅用戶檢測的效果; 文獻[6]將1天劃分為4個時間段來提取用戶特征,然后使用長短時記憶人工神經(jīng)網(wǎng)絡(luò)(LSTM)進行訓(xùn)練,并判斷用戶的行為是否異常.
以上文獻雖然有著較好的總體準(zhǔn)確率,但都忽略了數(shù)據(jù)類別不平衡的問題,威脅用戶只占所有用戶中的極小一部分,從而導(dǎo)致威脅用戶召回率過低. 一般的分類器模型都是基于平衡數(shù)據(jù)集,而從不平衡數(shù)據(jù)集上訓(xùn)練出的分類器傾向于多數(shù)樣本,并不能找出所有少數(shù)類樣本. 針對類別不平衡問題,文獻[7]使用SMOTE-RF算法,通過在少數(shù)類樣本與其近鄰樣本之間插入隨機生成的新少數(shù)類樣本重構(gòu)訓(xùn)練集,并在新的訓(xùn)練集上進行模型訓(xùn)練,從而提高了少數(shù)類樣本的檢測結(jié)果; 文獻[8]引入專家知識,通過分析真實的攻擊數(shù)據(jù),得出了3種攻擊的子類型,并設(shè)計了一個威脅用戶數(shù)據(jù)生成算法,通過輸入處理好的正常用戶數(shù)據(jù)即可得到3種不同攻擊子類型的威脅用戶數(shù)據(jù). 然而,文獻[7]使用SMOTE-RF算法生成的少數(shù)類樣本容易被分布邊緣化和產(chǎn)生噪聲點,影響檢測結(jié)果; 文獻[8]使用專家知識生成內(nèi)部攻擊數(shù)據(jù)雖然達到了很好的效果,但泛化性差,需要很強的專家知識才能形成內(nèi)部攻擊數(shù)據(jù).
綜上,針對現(xiàn)有方法存在類別不平衡、生成的樣本噪聲點過多、泛化性差等問題,本文提出一種將G-SMOTE與Biased-SVM結(jié)合的內(nèi)部威脅用戶檢測方法,分別從數(shù)據(jù)和算法層面解決類別不平衡的問題. 算法首先使用G-SMOTE算法生成噪聲點較少的威脅用戶數(shù)據(jù)從而保證了數(shù)據(jù)集的平衡性,再通過 Biased-SVM 算法提高對威脅用戶的檢測效果.
本文所提內(nèi)部威脅用戶檢測方法的整體框架如圖 1 所示. 首先,對CERT 4.2數(shù)據(jù)集進行特征提取,將所提取的人物特征按照十折交叉方法分為訓(xùn)練集與測試集; 其次,使用G-SMOTE算法對訓(xùn)練集中的威脅用戶的特征進行過采樣處理,直到訓(xùn)練集正常用戶與威脅用戶的特征數(shù)量平衡,利用重組后的訓(xùn)練集訓(xùn)練Biased-SVM模型; 再次,使用模型對測試集進行分類且記錄結(jié)果; 最后,使用網(wǎng)格搜索法遍歷完所有參數(shù),從中選取最優(yōu)參數(shù)作為最終模型參數(shù).
圖 1 內(nèi)部威脅用戶檢測整體框架Fig.1 The overall framework of insider threat user detection
本文使用的數(shù)據(jù)集為CERT 4.2. CERT數(shù)據(jù)集是由卡內(nèi)基梅隆大學(xué)與ExactData公司從構(gòu)建的真實企業(yè)環(huán)境所采集的,模擬了惡意內(nèi)部威脅人員對知識產(chǎn)權(quán)或安全信息進行竊取、欺詐、破壞等的行為. 該數(shù)據(jù)集包括了2010年1月至 2011年 5月期間1 000名內(nèi)部人員的用戶活動日志,其中威脅用戶只有70個. 本文選擇logon,device,file,email,http域的數(shù)據(jù),針對用戶的不同操作提取特征,這些域的具體操作見表 1.
表 1 CERT數(shù)據(jù)集內(nèi)容Tab.1 The contents of CERT dataset
文獻[5-6]將時間劃分為0:00~6:00,6:00~12:00,12:00~18:00,18:00~24:00等4個時間段,并分別在4個時間段提取特征,但此方法存在某些特征空缺值過多影響分類效果的不足,且沒有考慮工作日與休息日的用戶行為差別. 本文將時間段分為工作日與休息日,分別對兩個時間段按天提取特征. 由于文件內(nèi)容、郵件內(nèi)容、上網(wǎng)內(nèi)容大多都是隨機生成的,在特征提取時忽略這些信息. 針對用戶的不同操作(登錄、登出、郵件操作等)提取兩種類型的特征:① 頻率特征:統(tǒng)計用戶每天執(zhí)行不同操作的數(shù)量,計算在不同時間段的操作數(shù)量的平均值、最大值、最小值; ② 時間特征:統(tǒng)計用戶每天執(zhí)行不同操作的時間,計算在不同時間段的操作的開始時間、結(jié)束時間以及持續(xù)時間的平均值、最大值、最小值,并剔除異常值,對空缺值使用均值法補全,最終提取出1 000條 96維的人物特征數(shù)據(jù).
1.3.1 G-SMOTE算法
文獻[9]提出的SMOTE算法,通過在少數(shù)類樣本和其近鄰少數(shù)類樣本中進行線性插值并生成樣本,從而達成數(shù)據(jù)平衡,但SMOTE算法容易生成噪聲點、分布邊緣化. 文獻[10]提出的G-SMOTE算法是SMOTE算法的拓展,其具有以下優(yōu)點:對每個選定的少數(shù)類樣本周圍定義一個幾何區(qū)域,在此區(qū)域生成的少數(shù)類樣本不再是簡單的線性插值,并且減少了噪聲點的生成; 通過不同的策略選擇,其近鄰樣本的類別不再局限于少數(shù)類,擴大了生成少數(shù)類樣本的區(qū)域. 以下為G-SMOTE算法的步驟.
輸入:訓(xùn)練集train,標(biāo)簽label,近鄰選擇策略strategy,生成樣本的點數(shù)N,近鄰值k,截斷系數(shù)truncation,變形系數(shù)deformation.
輸出:平衡數(shù)據(jù)集train_res,平衡數(shù)據(jù)集標(biāo)簽label_res.
步驟1:將訓(xùn)練集train依據(jù)標(biāo)簽label分割為多數(shù)類樣本max和少數(shù)類樣本min,設(shè)置空集S儲存生成的少數(shù)類樣本.
步驟2:選擇少數(shù)類樣本center作為少數(shù)類樣本中心,根據(jù)近鄰選擇策略strategy,分為以下情況:
i) 若近鄰選擇策略為少數(shù)類,則從少數(shù)類樣本中心center選擇k個最近鄰樣本,并隨機選擇一個樣本作為surface.
ii) 若近鄰選擇策略為多數(shù)類,則從多數(shù)類中心center選擇最近鄰樣本作為surface.
iii) 若近鄰選擇策略為組合策略,分別按照i)和ii)計算距離d=‖surface-center‖,并選擇距離小的樣本作為surface.
步驟3:使用正態(tài)分布和均勻分布在單位超球體內(nèi)生成隨機點gen,依據(jù)截斷系數(shù)truncation、變形系數(shù)deformation對隨機點gen進行截斷變換和變形變換,將生成的隨機點gen平移到中心為center,半徑為‖surface-center‖的超球體內(nèi)并進行伸縮變換生成少數(shù)類樣本,并將生成的少數(shù)類樣本并入集合S.
步驟4:重復(fù)步驟2、步驟3共N次,將集合S與訓(xùn)練集train合并為平衡數(shù)據(jù)集train_res,并生成新的標(biāo)簽label_res.
G-SMOTE算法由參數(shù)strategy,k, truncation, deformation所控制,strategy分別選擇3種最近鄰選擇策略:少數(shù)類、多數(shù)類、組合策略;k∈{3,5}; truncation∈{-1.0,-0.75,-0.5,-0.25,0.0,0.25,0.5,0.75,1.0}; deformation∈{0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0}.
G-SMOTE算法是SOMTE算法的一種拓展. 當(dāng)近鄰選擇策略選擇少數(shù)類,變形系數(shù)和截斷系數(shù)為1,近鄰選擇策略與SMOTE算法相同都為少數(shù)類,變形系數(shù)使得初始超球體變形為線段,截斷系數(shù)使得結(jié)果截斷為一半,此時算法就為SMOTE算法; 當(dāng)變形系數(shù)為1,截斷系數(shù)不做任何限制,近鄰選擇策略為多數(shù)類策略或者組合策略,此時超球體仍為線段,截斷系數(shù)可使線段進行截斷、擴展或旋轉(zhuǎn),近鄰選擇策略有更多的選擇,此時算法可以認為是SMOTE的改進算法; 當(dāng)變形系數(shù)小于1,且其余參數(shù)無任何限制時,數(shù)據(jù)生成區(qū)域不再為線段,此時算法從嚴(yán)格意義上為G-SMOTE算法.
1.3.2 Biased-SVM算法
SVM算法是基于統(tǒng)計學(xué)習(xí)理論的分類方法,有著較強的泛化能力. 傳統(tǒng)的SVM分類器基于兩個假設(shè):數(shù)據(jù)集內(nèi)不同種類樣本是平衡的; 對于不同種類樣本的權(quán)重是相同的. 因此,SVM分類器對于不平衡數(shù)據(jù)集傳統(tǒng)的SVM算法分類效果不好,尤其是對少數(shù)類樣本的識別率很低. Biased-SVM算法通過對正負樣本設(shè)置不同的懲罰因子中提高對少數(shù)類樣本的識別率,此時目標(biāo)函數(shù)將變?yōu)?/p>
s.t.yi(ω·φ(xi)+b)-1+ξi≥0
ξi≥0,i=1,…,l.
(1)
對于懲罰因子的選擇,文獻[11]使用正、負樣本數(shù)目的反比分別作為正、負樣本的懲罰因子,稱為Imbalance Ratio(IR)方法. 本文算法的懲罰因子使用了文獻[12]的方法,其考慮了數(shù)據(jù)集的正、負樣本的空間分布,提出一種Average Density(AD)方法,正、負樣本的懲罰因子分別選擇負樣本和正樣本的樣本數(shù)目與平均密度之比. 平均密度的計算過程為
(2)
實驗在Windows10操作系統(tǒng)的聯(lián)想臺式機上運行,配置為Intel i7-6700的CPU以及8 GB內(nèi)存. 使用1.2節(jié)所提取的1 000條96維的人物特征數(shù)據(jù)用于實驗. 選擇威脅用戶作為正類,正常用戶作為負類,混淆矩陣如表 2 所示. 表中,ATP表示真正類(True Positive, TP)的用戶數(shù)量;AFP表示假正類(False Positive, FP)的用戶數(shù)量;AFN表示假負類(False Negative, FN)的用戶數(shù)量;ATN表示真負類(True Negative, TN)的用戶數(shù)量。
表 2 內(nèi)部威脅人物檢測評價指標(biāo)計算的混淆矩陣Tab.2 Confusion matrix for calculating insider threat user detection evaluation index
內(nèi)部威脅用戶檢測的難點在于威脅用戶數(shù)量很少,這代表即便模型把所有用戶認定為正常用戶,也會有很高的準(zhǔn)確率. 因此,對于內(nèi)部威脅用戶檢測不應(yīng)選擇準(zhǔn)確率(Accuracy)作為評價指標(biāo),本文選擇P、R和F1值來評價模型的分類性能,計算過程為
(3)
(4)
(5)
式中:P為精確率,反映了模型所預(yù)測的威脅用戶是否準(zhǔn)確;R為召回率,反映了模型是否能夠檢測出所有威脅用戶;F1綜合了威脅用戶的精確率與召回率,反映了模型對于威脅用戶的分類效果. 我們要在盡可能保證精確率的前提下提高召回率,找出更多威脅用戶,減少其帶來的危害.
近鄰選擇策略、近鄰值k是網(wǎng)格搜索法找出的最優(yōu)參數(shù)時,分析參數(shù)變形系數(shù)和截斷系數(shù)對P、R和F1值的影響,實驗結(jié)果如圖 2 所示.
由圖 2 可得,當(dāng)變形系數(shù)為0和截斷系數(shù)為0.25時,模型的P、R和F1值最高; 隨著變形系數(shù)與截斷系數(shù)的絕對值不斷增大,實驗結(jié)果也隨之變差. 由于數(shù)據(jù)集中威脅用戶遠少于正常用戶,所以過采樣時會重復(fù)選擇某些威脅用戶作為中心生成樣本,當(dāng)變形系數(shù)與截斷系數(shù)的絕對值逐漸接近1時,G-SMOTE算法與SMOTE算法類似,生成樣本的區(qū)域逐漸縮小接近線段,生成的威脅用戶樣本很容易重復(fù)或者有噪聲; 與之相反,當(dāng)變形系數(shù)與截斷系數(shù)的絕對值在0附近時,生成樣本的幾何區(qū)域變大,減少了重復(fù)點和噪聲點的生成,提高了威脅用戶的檢測效果.
(a) 變形系數(shù)deformation參數(shù)的選擇
(b) 截斷系數(shù)truncation參數(shù)的選擇圖 2 參數(shù)選擇對比實驗結(jié)果Fig.2 Comparison of different parameters effect
為了驗證本文方法對不平衡數(shù)據(jù)處理的優(yōu)勢,進行消融對比實驗. 將本文方法(G-SMOTE+Biased-SVM)的實驗結(jié)果與以下兩種算法相比較:①SMOTE和Biased-SVM相結(jié)合的算法; ②G-SMOTE和SVM相結(jié)合的算法.
圖 3 消融實驗結(jié)果Fig.3 The results of ablation experiments
如圖 3 所示,本文方法與方法①的對比證明了G-SMOTE算法在數(shù)據(jù)層面處理數(shù)據(jù)集不平衡問題的優(yōu)勢. 在生成威脅用戶時采用G-SMOTE算法有更多的近鄰樣本選擇策略,擴大了生成威脅樣本的區(qū)域,增加了生成威脅用戶樣本的多樣性,并且引入幾何區(qū)域生成威脅用戶樣本,使生成的威脅用戶樣本的噪聲點和重復(fù)點更少,因此擁有更高的精確率、召回率和F1值. 本文方法與方法②的對比證明了懲罰因子使用AD方法的有效性. 過采樣后樣本數(shù)目平衡,則此時使用IR方法的Biased-SVM算法與標(biāo)準(zhǔn)SVM相同,但數(shù)據(jù)集還存在空間分布不平衡的情況; 本文使用的Biased-SVM通過考慮樣本數(shù)目與空間分布來設(shè)置懲罰因子,提高了對于威脅用戶的關(guān)注度,因此可以找出更多的威脅用戶,提高了實驗的召回率; 同時由于權(quán)重的影響將部分正常用戶判別為威脅用戶,降低了實驗的精確率.
為比較內(nèi)部威脅用戶檢測的結(jié)果,將本文方法(G-SMOTE+Biased-SVM)的實驗結(jié)果與SMOTE-RF算法、原始的SVM算法進行對比.
如圖 4 所示,本文方法的精確率為78.5%,與其余兩種算法的精確率相近; 召回率和F1值分別為84.3%和81.3%,與SMOTE-RF算法相比提高了5.7%和2.1%,與SVM算法相比提高了25.1%和14%. 這是因為SMOTE算法通過在兩個威脅用戶樣本之間線性插值生成的樣本,當(dāng)生成樣本較多時,容易產(chǎn)生重復(fù)和噪聲,影響RF算法的分類效果; SVM算法處理不平衡數(shù)據(jù)集時具有偏斜性,容易將威脅用戶預(yù)測為正常用戶,不能達到對威脅用戶的精確識別; 本文方法過采樣時有著更多近鄰選擇策略以及不再局限于線性插值,因此減少了重復(fù)點和噪聲點的生成,并且在Biased-SVM算法中提高對于威脅用戶的權(quán)重,與RF、SVM算法相比能夠找出更多的威脅用戶. 因此,本文方法的召回率和F1值優(yōu)于其余兩種算法,能夠檢測出更多的內(nèi)部威脅用戶.
圖 4 內(nèi)部威脅用戶檢測效果對比實驗結(jié)果Fig.4 Comparison of insider threat user detection effect
本文提出了一種基于G-SMOTE和Biased-SVM方法的內(nèi)部威脅用戶檢測方法. 本方法首先從數(shù)據(jù)層面使用G-SMOTE算法選擇最優(yōu)參數(shù)對訓(xùn)練集的威脅用戶進行過采樣,改善了SMOTE算法過采樣時容易產(chǎn)生噪聲點、分布邊緣化的問題; 然后從算法層面使用Biased-SVM算法對威脅用戶、正常用戶設(shè)置不同的懲罰因子,提高了對威脅用戶的關(guān)注度,并且通過消融對比實驗驗證了兩種算法的有效性. 實驗結(jié)果表明,本文算法在CERT 4.2數(shù)據(jù)集上,有效地改善了類別不平衡的問題,提升了內(nèi)部威脅用戶檢測的召回率和F1值. 但本文方法對過采樣威脅用戶過采樣時,只考慮了不同類別樣本數(shù)目的平衡性,沒有考慮到空間分布的平衡性. 今后的工作應(yīng)在生成威脅用戶樣本時考慮空間分布的平衡性問題.