徐 兵,郭淵博,葉子維,胡永進(jìn)
(1.信息工程大學(xué), 鄭州 450001; 2.數(shù)學(xué)工程與先進(jìn)計算國家重點實驗室, 鄭州 450001)(*通信作者電子郵箱1214443035@qq.com)
近年來,網(wǎng)絡(luò)安全威脅日益突出。如何保證網(wǎng)絡(luò)信息的安全是信息時代人們要共同面對的挑戰(zhàn)。在企業(yè)網(wǎng)絡(luò)中,用戶的身份認(rèn)證是確認(rèn)用戶身份的過程,用戶常常通過認(rèn)證來得到對某種資源的訪問和使用權(quán)限,而用戶的身份認(rèn)證安全正是眾多挑戰(zhàn)之一[1]。目前,身份認(rèn)證可以有很多種不同的方式。傳統(tǒng)的身份認(rèn)證方法基本可以分為以下三大類:基于用戶所知(what you know)、所有(what you are)、所是(what you are)。最簡單常用的用戶名和密碼的方式就是基于用戶所有的方式,還可以使用基于用戶所知的動態(tài)口令和基于用戶所是的生物特征的方式等[2]?;谏锾卣鞯恼J(rèn)證方式有不易丟失和被竊取的優(yōu)點[3]。但專家指出,在可預(yù)見的未來,基于口令的認(rèn)證方式仍無可替代,口令仍將是最主要的身份認(rèn)證方式[4]。而這種方式的固有缺點是必須在服務(wù)端存儲這些敏感的驗證信息,而且這些信息容易被竊取[5]。在企業(yè)環(huán)境中,用戶通過網(wǎng)絡(luò)向很多計算機(jī)系統(tǒng)或應(yīng)用發(fā)出認(rèn)證[6],這種情況下,用戶的認(rèn)證活動通常由一個統(tǒng)一的網(wǎng)絡(luò)身份認(rèn)證機(jī)制所提供。這種機(jī)制就是集中式賬戶管理機(jī)制[7-8]。身份認(rèn)證和集中式賬戶管理機(jī)制是現(xiàn)代信息技術(shù)管理的基石,在大量的系統(tǒng)中有著廣泛應(yīng)用。然而用戶認(rèn)證在方便的同時也存在著安全隱患。據(jù)賽迪網(wǎng)報道,某證券公司報案稱該公司發(fā)現(xiàn)多名客戶的股票賬戶被盜用,非法分子利用盜取的客戶密碼通過網(wǎng)上委托窗口賣出賬戶內(nèi)股票后又全部買入某只股票,涉及資產(chǎn)上千萬。2016年8月,北京海淀公安分局海淀網(wǎng)安大隊收到百度網(wǎng)訊科技的報警。百度方面稱,該公司威脅情報部門監(jiān)測到有大量百度賬號被成功登錄。同期百度用戶反饋后臺、郵件、官方微博、內(nèi)網(wǎng)等各渠道陸續(xù)收到5 000名用戶反饋“賬號因被盜而封禁以及文件丟失”等,造成嚴(yán)重的個人利益的損失,也使得百度公司直接損失上千萬[9]。這些資源的未授權(quán)使用,個人或者組織的不正當(dāng)活動,都可能使國家、社會以及各類主體的利益遭受嚴(yán)重?fù)p失。特別是攻擊者在取得合法的身份以及認(rèn)證信息后,他的認(rèn)證行為跟正常用戶就很難區(qū)分。著名的APT攻擊案例——Google極光攻擊正是利用這樣的機(jī)制,攻擊者盜用雇員的憑證成功滲透進(jìn)入Google的郵件服務(wù)器,進(jìn)而不斷地獲取特定Gmail賬戶的郵件內(nèi)容信息[10]。傳統(tǒng)的檢測方法在這種情況下,基本喪失了檢測能力。如何在復(fù)雜的網(wǎng)絡(luò)環(huán)境中區(qū)分出這些被盜用或者濫用的賬戶,就顯得尤為緊迫。機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘技術(shù)的引入,使得這類檢測成為了可能。
本文在Kent等[11]用Logistic回歸研究用戶認(rèn)證活動的基礎(chǔ)上作了改進(jìn),將圖分析和機(jī)器學(xué)習(xí)方法結(jié)合,同樣利用用戶的認(rèn)證活動信息,建立正常用戶與異常用戶的分類模型,以此達(dá)到檢測異常的目的。將機(jī)器學(xué)習(xí)方法應(yīng)用到用戶認(rèn)證行為的異常檢測中,減少了人工參與,節(jié)約了人工成本。本文方法可以獨立應(yīng)用在企業(yè)網(wǎng)絡(luò)中,用于異常用戶的識別與檢測;也可與傳統(tǒng)的安全防護(hù)方法結(jié)合,如加入到入侵檢測系統(tǒng)中,進(jìn)一步提升入侵檢測系統(tǒng)的性能。本文使用了大型企業(yè)網(wǎng)絡(luò)的真實數(shù)據(jù)集來驗證文中所提出的檢測方法,分析了在用支持向量機(jī)(Support Vector Machine, SVM)模型進(jìn)行檢測時各種懲罰參數(shù)和核函數(shù)的選擇對檢測結(jié)果的影響,最后用召回率、準(zhǔn)確率、精確率、F1-score來評估實驗結(jié)果。結(jié)果顯示,當(dāng)取得合適的參數(shù)之后,對異常用戶的檢測識別率能達(dá)到較高的水平,能構(gòu)建較為高效的模型,也驗證了本文方法的可行性和有效性。
集中式認(rèn)證管理和控制是現(xiàn)代IT管理的基礎(chǔ),也被應(yīng)用在很多大型的IT企業(yè)網(wǎng)絡(luò)中。網(wǎng)絡(luò)身份認(rèn)證是兩種典型的認(rèn)證技術(shù)——Microsoft NTLM身份認(rèn)證技術(shù)和MIT Kerberos身份認(rèn)證技術(shù)的結(jié)合,這兩種認(rèn)證方式也被廣泛地應(yīng)用在桌面計算機(jī)和面向服務(wù)的操作系統(tǒng)中。這兩種認(rèn)證方式都使用了證書緩存的方法,以方便證書的再次使用,因此也產(chǎn)生了很大的安全風(fēng)險。當(dāng)用戶的證書被惡意人員盜用時,他所發(fā)起的認(rèn)證都將遵循身份認(rèn)證技術(shù)的規(guī)則,沒有技術(shù)上的破綻。但惡意用戶的認(rèn)證活動可能與正常用戶表現(xiàn)差異較大,如用戶短時間內(nèi)發(fā)出大量的認(rèn)證、向很少認(rèn)證過的應(yīng)用或系統(tǒng)發(fā)出認(rèn)證等。Javed在文獻(xiàn)[12]中提出了檢測企業(yè)網(wǎng)異常認(rèn)證被盜的系統(tǒng)。該文中針對暴力破解攻擊提出了一種利用自定義的方法標(biāo)記信息源,當(dāng)某些參數(shù)發(fā)生顯著變化時,則身份認(rèn)證過程可能異常;還提出了一種基于特征工程的方法識別異常用戶,把正常用戶中很少發(fā)生的事件和異常用戶中大量發(fā)生的認(rèn)證事件的特征提取出來進(jìn)行建模,進(jìn)而檢測異常認(rèn)證行為。文獻(xiàn)[12]側(cè)重于攻擊前的檢測與防護(hù),而本文側(cè)重于企業(yè)網(wǎng)絡(luò)中具有異常認(rèn)證行為的用戶的檢測。針對證書被盜或被濫用的用戶,Kent等在文獻(xiàn)[6]首先提出了分析用戶認(rèn)證行為的方法來檢測企業(yè)網(wǎng)絡(luò)中被盜的用戶。后來,Kent等在文獻(xiàn)[11]提出了利用“身份認(rèn)證圖”的方法來識別企業(yè)網(wǎng)絡(luò)中的有特殊權(quán)限的管理員用戶和普通用戶,初步顯示了認(rèn)證數(shù)據(jù)的價值。接著,Kent等[11]又在身份認(rèn)證圖分類用戶類型的基礎(chǔ)上提出了基于Logistic回歸的異常用戶的檢測模型,但模型的召回率不高,只有28%,可以判定是模型本身的缺點所致,調(diào)節(jié)參數(shù)不能從根本上解決檢測效率低的問題。
基于機(jī)器學(xué)習(xí)的異常檢測通常應(yīng)用在入侵檢測系統(tǒng)中,其中SVM作為一種非?;钴S的機(jī)器學(xué)習(xí)方法經(jīng)常用于正常與異常的分類。它是基于結(jié)構(gòu)風(fēng)險最小化(Structural Risk Minimization, SRM)原理,根據(jù)有限的樣本信息在模型的復(fù)雜性和和學(xué)習(xí)能力之間尋求最佳折中,以期獲得最好的泛化能力。早在2003年,饒鮮等[13]提出了SVM用于入侵檢測的模型,直到現(xiàn)在仍然是機(jī)器學(xué)習(xí)用于異常檢測的經(jīng)典模型。2014年,Chitrakar等[14]提出一種用于增量SVM的候選支持向量方法,并實現(xiàn)算法CSV-ISVM,在實時網(wǎng)絡(luò)異常檢測中具有優(yōu)勢。SVM以及SVM的改進(jìn)方法獨立應(yīng)用于異常檢測中已相當(dāng)成熟,但將其與其他方法結(jié)合來進(jìn)行檢測的案例不是很多。圖分析方法是一種新的檢測異常的思路,將圖分析與SVM結(jié)合能發(fā)揮兩種方法的優(yōu)點,SVM難以在大規(guī)模樣本上實施的缺點也可以用圖分析中的信息轉(zhuǎn)化所彌補(bǔ)。從后文的實驗中可以看出,將兩種方法結(jié)合運用于異常的檢測取得了理想的檢測效果。
圖論的研究已有一段歷史,發(fā)展到今天已經(jīng)相當(dāng)成熟[15]。用戶的認(rèn)證活動顯示了計算機(jī)與計算機(jī)之間的相互關(guān)系,這種關(guān)系可以很自然地用圖的方式來表示。如圖1,一臺計算機(jī)可以用圖中的一個節(jié)點來表示,用戶之間的認(rèn)證活動可以用節(jié)點之間的連線代替。圖1表示,在一段時間內(nèi),某用戶通過計算機(jī)C10分別向另外幾臺計算機(jī)發(fā)起過認(rèn)證。表示在圖中就是節(jié)點C10向其他節(jié)點C20、C30、C40的有向連接。
圖1 用戶身份認(rèn)證圖Fig.1 User authentication graph
為了更具體地描述用戶認(rèn)證圖,可以作如下約定:
用戶認(rèn)證圖:Gu=(Vu,Eu),表示給定的一段時間內(nèi),用戶U的認(rèn)證活動生成的有向圖。節(jié)點集Vu表示參與認(rèn)證的計算機(jī)的結(jié)合,邊集Eu表示計算機(jī)之間的認(rèn)證活動。
本文使用的數(shù)據(jù)集是洛斯阿拉莫國家實驗室(Los Alamos National Laboratory,LANL)所收集的兩個真實企業(yè)網(wǎng)絡(luò)安全數(shù)據(jù)集[16]。其中一個數(shù)據(jù)集收集了企業(yè)網(wǎng)絡(luò)中所有用戶58天的認(rèn)證活動信息,稱為Authentication數(shù)據(jù)集;另一個數(shù)據(jù)集標(biāo)注明確的紅隊事件,呈現(xiàn)明顯的惡意行為,稱為Red Team數(shù)據(jù)集。
Authentication數(shù)據(jù)集里有所有用戶58天內(nèi)的認(rèn)證活動。每一行代表一條認(rèn)證記錄,包括認(rèn)證時間、源認(rèn)證用戶、目的認(rèn)證用戶、源認(rèn)證計算機(jī)、目的認(rèn)證計算機(jī)、認(rèn)證類型、登錄類型、認(rèn)證方向、成功或失敗等九個方面的內(nèi)容。原數(shù)據(jù)集中的兩條記錄示例如下:
91,U22@DOM1,U22@DOM1,C477,C2106,Kerberos,Network,LogOn,Success
91,U22@DOM1,U22@DOM1,C506,C457,Kerberos,Network,LogOn,Success
Red Team數(shù)據(jù)集中用戶的認(rèn)證活動都是研究者特意制造并明確標(biāo)注的異常,可以用作異常發(fā)現(xiàn)的對比,也可以用來與正常用戶認(rèn)證活動一起構(gòu)建分類模型。本文實驗中利用其中一部分?jǐn)?shù)據(jù)作為訓(xùn)練集,另一部分作為測試集來評估模型的性能。其中兩條原始數(shù)據(jù)記錄格式如下:
153792,U636@DOM1,C17693,C294
155219,U748@DOM1,C17693,C5693
Read Team數(shù)據(jù)集里每條記錄包含的信息比Authentication數(shù)據(jù)集里記錄的信息要少,但仍包含了必要的認(rèn)證信息,如認(rèn)證時間、源認(rèn)證用戶、源認(rèn)證主機(jī)和目的認(rèn)證主機(jī),而用戶認(rèn)證圖的生成也正是利用這些信息。
這樣,為每一個用戶生成一個用戶認(rèn)證圖,就可以利用用戶認(rèn)證圖中的屬性來反映此用戶的某些性質(zhì)。如用戶認(rèn)證圖的稀疏與稠密可以用密度來度量,來反映此用戶與其他用戶的交互關(guān)系是簡單還是復(fù)雜。稀疏圖對應(yīng)著簡單的交互關(guān)系,稠密的圖對應(yīng)著復(fù)雜的交互關(guān)系。把用戶的認(rèn)證活動以圖的方式表示,將用戶的認(rèn)證性質(zhì)濃縮到圖的屬性中,這樣就把對用戶含糊的性質(zhì)分析,轉(zhuǎn)化為對圖的清晰的定量屬性分析,完成信息的轉(zhuǎn)換。識別和探索每個用戶的用戶認(rèn)證圖的屬性能得出一些有用的結(jié)果。例如,大多數(shù)用戶所認(rèn)證的計算機(jī)都是固定的,這樣反映了他們認(rèn)證活動的固定。那些有特權(quán)的管理員用戶,有著比普通用戶更復(fù)雜的圖,也有著更復(fù)雜的屬性。如圖2是某兩個真實用戶的身份認(rèn)證圖,可以看出真實的認(rèn)證圖更復(fù)雜,也更能反映一些信息。之后可以根據(jù)所得用戶的間接信息作進(jìn)一步的分析處理。
由前面認(rèn)證數(shù)據(jù)的介紹可知,在企業(yè)網(wǎng)絡(luò)中經(jīng)常有異常認(rèn)證的情況,正是由于用戶的異常才導(dǎo)致異常認(rèn)證的發(fā)生。所以,可以把對異常用戶的檢測轉(zhuǎn)化為區(qū)分正常用戶和異常用戶這樣一個二分類問題。由于SVM本身就是為二分類問題設(shè)計的,在二分類問題上有很好的分類效果,且具有較好的魯棒性,所以選擇SVM作為分類的模型。SVM的核心思想是把樣本映射到一個高維的特征空間,使其在高維的空間中達(dá)到線性可分,通過在高維空間里構(gòu)造一個超平面來達(dá)到分類的目的[17]。但SVM所不足的是在大規(guī)模訓(xùn)練樣本上難以實施,要借助二次規(guī)劃來求解支持向量。而圖分析方法恰好能克服SVM此方面的缺點,將大規(guī)模的用戶認(rèn)證活動轉(zhuǎn)換為圖中的信息,數(shù)據(jù)規(guī)模將大大減小,訓(xùn)練分類器時的計算開銷也大大減少。
圖2 某真實用戶的身份認(rèn)證圖Fig. 2 A real user’s authentication graph
本文的系統(tǒng)設(shè)計分為三個階段:數(shù)據(jù)準(zhǔn)備、模型構(gòu)建和結(jié)果檢驗。系統(tǒng)設(shè)計流程如圖3所示。
圖3 系統(tǒng)設(shè)計流程Fig. 3 System design flowchart
數(shù)據(jù)準(zhǔn)備階段由以下步驟來完成:數(shù)據(jù)預(yù)處理、信息提取和信息轉(zhuǎn)換。
3.1.1數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理的目的是把數(shù)據(jù)集預(yù)處理成只包含必要用戶認(rèn)證活動信息的數(shù)據(jù),以方便進(jìn)行下一步的信息提取。此階段將Authentication數(shù)據(jù)集預(yù)處理成跟Red Team數(shù)據(jù)集相同的格式,刪除對本實驗無用的字段,完成數(shù)據(jù)的精簡。精簡后的數(shù)據(jù)只包含如下四個字段:認(rèn)證時間、源認(rèn)證用戶、源認(rèn)證主機(jī)和目的認(rèn)證主機(jī)。
3.1.2信息提取
當(dāng)完成數(shù)據(jù)預(yù)處理后,兩個數(shù)據(jù)集的格式就變得相同。對兩個數(shù)據(jù)集分別進(jìn)行如下的處理:提取數(shù)據(jù)集中的用戶,對每一個用戶提取其認(rèn)證數(shù)據(jù)。
由于Authentication數(shù)據(jù)集中有全部用戶,包括正常和異常用戶,而Red Team數(shù)據(jù)集中只包含異常用戶,所以只需要提取Authentication數(shù)據(jù)集中的用戶即可,Red Team數(shù)據(jù)集中的用戶作為參考對比。提取完用戶后,再提取其所對應(yīng)的認(rèn)證記錄,生成用戶自己的用戶認(rèn)證集。
3.1.3信息轉(zhuǎn)換
利用每一個用戶的認(rèn)證集生成屬于此用戶的認(rèn)證圖,將用戶認(rèn)證數(shù)據(jù)集轉(zhuǎn)換為用戶認(rèn)證圖,即完成了一次信息轉(zhuǎn)換。由用戶認(rèn)證數(shù)據(jù)集生成認(rèn)證圖的偽代碼如下:
For every user authentication dataset:
SAC=Source Authentication Computer
#SAC表示源認(rèn)證計算機(jī)
DAC=Destination Authentication Computer
#DAC表示目的認(rèn)證計算機(jī)
IF SAC!=DAC :
IF SAC is exist:
IF DAC is exist:
PASS
ELSE:
CREATE DAC
ADD Edge(SAC,DAC)
ELSE:
CREATE SAC
IF DAC is exist:
PASS
ELSE:
CREATE DAC
ADD Edge(SAC,DAC)
ELSE:
PASS
上述偽代碼表示:對于每一條認(rèn)證,首先判斷源認(rèn)證主機(jī)和目的認(rèn)證主機(jī)是否相同,如果相同則屬于本地認(rèn)證,再判斷源認(rèn)證主機(jī)節(jié)點在圖中是否存在,若不存在,創(chuàng)建一個新節(jié)點;若存在,則跳過,不再重新創(chuàng)建。若源、目認(rèn)證主機(jī)不同,再判斷源、目主機(jī)是否在圖中存在,不存在則先創(chuàng)建節(jié)點,再創(chuàng)建一條有向邊;若主機(jī)已在圖中存在,直接創(chuàng)建有向邊。
對于所有的用戶數(shù)據(jù)集重復(fù)以上操作,則可以得到轉(zhuǎn)換后的198個用戶認(rèn)證圖,之后是對圖的分析與操作。從每個用戶圖提取出有效的認(rèn)證屬性,生成用戶圖向量,就完成了又一次的信息轉(zhuǎn)換。由已定義過的圖Gu出發(fā),再作以下定義:
在一段時間內(nèi),用戶U可能通過不止一臺計算機(jī)發(fā)起認(rèn)證,定義VS為發(fā)起認(rèn)證的源主機(jī)的集合,VD為認(rèn)證的目的主機(jī)的結(jié)合,|VS|為用戶U的源認(rèn)證主機(jī)數(shù),|VD|為用戶U的目的認(rèn)證主機(jī)數(shù)。
定義Cu為圖中連通組件,|Cu|為連通組件的個數(shù)。若用戶在給定的時間內(nèi),所有的認(rèn)證活動由此一臺計算機(jī)發(fā)起,則圖中只有一個連通組件,也即是最大連通組件Cu_max。
Cu_max一般是用戶最常用的計算機(jī)以及最常認(rèn)證的計算的結(jié)合。如圖2中所示某真實用戶的認(rèn)證圖,中間一部分比較密集的連通圖就是最大連通組件。
Cu_min定義為最小連通組件,由于用戶認(rèn)證圖是由用戶的認(rèn)證生成的圖,所以最小連通組件至少有一個源認(rèn)證主機(jī)和一個目的認(rèn)證主機(jī)兩個節(jié)點,將其定義為孤立認(rèn)證,|Cu_min|為獨立認(rèn)證的數(shù)量。孤立認(rèn)證表現(xiàn)在認(rèn)證圖中是只有兩個節(jié)點的連通組件。如圖2中邊緣部分只有兩個節(jié)點的認(rèn)證。表1列出本文用于分類的一些圖屬性。
表1 屬性及描述Tab. 1 Attributes and description
對于每個用戶所生成的認(rèn)證圖,都可以進(jìn)行上述的信息轉(zhuǎn)換。轉(zhuǎn)換完畢后,將為每一用戶生成一個用戶認(rèn)證圖向量。至此,第一階段完成。
從原始的認(rèn)證數(shù)據(jù)到用戶認(rèn)證圖,再到用戶圖向量,經(jīng)過這一系列的數(shù)據(jù)準(zhǔn)備工作之后,便可以開始進(jìn)行模型的構(gòu)建。模型的構(gòu)建過程即SVM決策函數(shù)求解的過程。把上階段準(zhǔn)備好的用戶圖向量數(shù)據(jù)分為兩部分:一部分用于本階段模型的構(gòu)建,另一部分用于下一階段模型的性能測試。模型構(gòu)建過程如下:
1)將用于構(gòu)建模型的測試集部分作為輸入樣本:T={(x1,y1),(x2,y2),…,(xn,yn)},其中xi∈Rn,yi∈{+1,-1},i=1,2,…,N,每個xi表示一個用戶圖向量,yi為此用戶的標(biāo)簽。
2)當(dāng)樣本可分時,分類超平面的最優(yōu)問題可表示為:
(1)
s. t.yi(w·xi+b)-1≥0,i=1,2,…,N
當(dāng)樣本集線性不可分時,需引入非負(fù)松弛變量ξi(i=1,2,…,m),C為懲罰超參數(shù),分類超平面的最優(yōu)問題表示為:
(2)
s. t.yi(wTxi+b)≥1-ξi
由于此樣本集線性不可分,所以利用式(2)來求解最優(yōu)超平面。
3)選擇合適的核函數(shù)K(x,xT)和懲罰參數(shù)C,構(gòu)造并求解最優(yōu)化問題:
(3)
(4)
5)最終求得決策函數(shù):
(5)
經(jīng)由上述一系列步驟訓(xùn)練出檢測模型后,此模型便可以用于未知用戶類型的識別與檢測。
此階段主要利用未知數(shù)據(jù)進(jìn)行模型的性能測試,用準(zhǔn)確率、召回率、精確率、F1-score幾個指標(biāo)進(jìn)行定量的評估。由于SVM模型中不同懲罰超參數(shù)參數(shù)C設(shè)置得不同,分類效果可能表現(xiàn)不同,核函數(shù)的選擇也對分類效果有一定的影響,所以,實驗環(huán)節(jié)主要調(diào)節(jié)這兩個參數(shù)以獲得更好的分類效果,構(gòu)建出最優(yōu)的模型。
為驗證本文方法的有效性,設(shè)計以下實驗。實驗所使用的數(shù)據(jù)集是LANL收集的β數(shù)據(jù)集的兩個子集——Authentication數(shù)據(jù)集和Red Team數(shù)據(jù)集。經(jīng)過數(shù)據(jù)預(yù)處理后得到格式相同的數(shù)據(jù)集,數(shù)據(jù)集的相關(guān)信息統(tǒng)計如表2。
表2 實驗數(shù)據(jù)集的相關(guān)信息Tab.2 Information of the experimenatl dataset
如表2所示,Authentication數(shù)據(jù)集共提取12 418個用戶,Red Team數(shù)據(jù)集共提取98個用戶,其中Red Team中的98個用戶包含在Authentication數(shù)據(jù)集中的12 418個用戶之中。剔除這98個標(biāo)注異常的用戶,剩下12 320個用戶即為正常用戶,所發(fā)出的認(rèn)證也為正常認(rèn)證。由于正負(fù)樣本不平衡,可以采取從大類樣本中隨機(jī)抽取與小類相同的樣本個數(shù)的方法進(jìn)行不平衡數(shù)據(jù)的降采樣。本文隨機(jī)從12 320個用戶中提取100個用戶參與實驗。對這198個用戶分別提取屬于此用戶的所有認(rèn)證記錄,這樣對于每一個用戶,都會生成一個屬于自己的認(rèn)證數(shù)據(jù)集。對于處理后的數(shù)據(jù)經(jīng)過第一次信息轉(zhuǎn)換之后可以得到198幅用戶認(rèn)證圖,其中每一張認(rèn)證圖隸屬于一個真實用戶。圖2和圖4分別是其中兩個真實用戶的認(rèn)證圖:圖2的用戶認(rèn)證圖稍微簡單,但已經(jīng)到了人所不能分辨的地步,而圖4的辨識度則更差。
圖4 另一真實用戶認(rèn)證圖Fig. 4 Another real user’s authentication graph
雖然人對用戶圖幾乎沒有辨識度,但可以將圖中的重要屬性提取出來以了解圖的性質(zhì)。將198張圖進(jìn)行第二次的信息轉(zhuǎn)化,得到198個圖向量。每個向量對應(yīng)一張用戶認(rèn)證圖,每張用戶認(rèn)證圖對應(yīng)一個用戶。其中10個用戶圖向量以及每個維度表示的含義如表3所示。
表3 10個用戶的用戶圖向量Tab. 3 User graph vector of ten users
將此階段得到的298個圖向量按比例隨機(jī)分成訓(xùn)練集和測試集,用訓(xùn)練集構(gòu)建模型,用測試集來驗證模型的性能。
結(jié)果的評價指標(biāo)要求其能充分反映出模型對問題的解決能力,好的評價指標(biāo)有利于對模型進(jìn)行優(yōu)化。目前,常用的幾個評價指標(biāo)有:準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1-Score。在正負(fù)樣本不平衡的情況下,準(zhǔn)確率評價指標(biāo)有很大的缺陷,所以需要其他幾項指標(biāo)一同來進(jìn)行衡量;F1-Score是精確率和召回率的調(diào)和均值,通常情況下,在精確率和召回率都很高的時候,F(xiàn)1-Score也會很高。
有了以上的評價指標(biāo),隨機(jī)按比例選取一部分正常和異常用戶的用戶圖向量作訓(xùn)練集,剩下的作測試集,以此來檢驗SVM模型的分類效果,每組實驗做10次,取其平均值。固定懲罰參數(shù)和核函數(shù)為默認(rèn)值,調(diào)節(jié)不同比例的測試集,實驗結(jié)果如表4所示。由表4可以看出:精確率和召回率互相影響;根據(jù)F1-score可以看出當(dāng)測試集與訓(xùn)練集分別取80%和20%時,模型能達(dá)到較好的分類結(jié)果,此時,F(xiàn)1-Score為0.74。
當(dāng)固定訓(xùn)練集與測試集的比例80%和20%、選擇默認(rèn)核函數(shù),調(diào)節(jié)不同的懲罰參數(shù),實驗結(jié)果如表5所示。由表5可知,設(shè)置懲罰參數(shù)分別為0.001、0.1、1、10、100,當(dāng)懲罰參數(shù)設(shè)置為1時,能取得較好的分類結(jié)果。
表4 不同比例的訓(xùn)練集和測試集的實驗結(jié)果Tab. 4 Experimental results for different proportions of training sets and test sets
當(dāng)固定訓(xùn)練集測試集比例分別為80%和20%、取懲罰參數(shù)C=1,選取不同的核函數(shù)時,各種核函數(shù)對分類結(jié)果的影響如表6。由表6可以看出,線性核函數(shù)表現(xiàn)良好,徑向基核函數(shù)分類效果較差。所以,應(yīng)選擇線性核函數(shù)作為SVM的核函數(shù),這樣能達(dá)到最佳的分類效果。
綜上,本文提出的方法調(diào)節(jié)合適的訓(xùn)練比例、選擇合適懲罰參數(shù)和最優(yōu)的核函數(shù)之后,最終模型的精確率能達(dá)89.67%,召回率達(dá)到92.86%,兩者的加權(quán)調(diào)和F1-score也有0.89,都比文獻(xiàn)[11]中所提方法的28%的召回率高出兩倍之多。
表5 選擇不同懲罰參數(shù)對實驗結(jié)果的影響Tab. 5 Experimental results of selecting different penalty parameters
表6 選擇不同核函數(shù)的實驗結(jié)果Tab. 6 Experimental results of different kernel functions
本文提出了在集中式認(rèn)證系統(tǒng)和企業(yè)內(nèi)部網(wǎng)絡(luò)中,通過分析用戶的認(rèn)證行為來檢測、識別系統(tǒng)或網(wǎng)絡(luò)中的異常用戶的方法。通過將用戶的認(rèn)證活動信息轉(zhuǎn)化為用戶認(rèn)證圖,再提取圖中的屬性來得到更為濃縮的用戶認(rèn)證圖向量,之后對用戶認(rèn)證圖向量進(jìn)行建模,間接地對網(wǎng)絡(luò)中的異常用戶進(jìn)行檢測與識別。實驗結(jié)果表明,該模型能有效對企業(yè)網(wǎng)絡(luò)中正常與異常用戶進(jìn)行分類,相比Kent等[11]所使用的Logistic模型28%的召回率,本文的檢測效果更好,模型更優(yōu)。本文的不足之處是模型中所提取的特征雜亂,沒有對特征的重要性進(jìn)行區(qū)分。下一步的工作計劃是進(jìn)行特征的篩選,提取一些對于檢測異常更優(yōu)質(zhì)的特征,即用更少的特征獲得更優(yōu)的效果;再結(jié)合β數(shù)據(jù)集中的其他幾個數(shù)據(jù)集,來進(jìn)行進(jìn)一步的研究。
參考文獻(xiàn):
[1]JIANG P, WEN Q, LI W, et al. An anonymous and efficient remote biometrics user authentication scheme in a multi server environment [J]. Frontiers of Computer Science, 2015, 9(1): 142-156.
[2]王英,向碧群.基于用戶行為的入侵檢測系統(tǒng)[J].計算機(jī)工程,2008,34(9):167-169. (WANG Y, XIANG B Q. Intrusion detection system based on user behavior[J]. Computer Engineering, 2009, 34(9): 167-169.)
[3]王平,汪定,黃欣沂.口令安全研究進(jìn)展[J].計算機(jī)研究與發(fā)展,2016,53(10):2173-2188. (WANG P, WANG D, HUANG X Y. Advances in password security [J]. Journal of Computer Research and Development, 2008, 34(9): 167-169.)
[4]HE D, WANG D. Robust biometric-based authentication scheme for multiserver environment [J]. IEEE Systems Journal, 2015, 9(3): 816-823.
[5]WANG D, WANG P. Two birds with one stone: two-factor authentication with security beyond conventional bound [J]. IEEE Transactions on Dependable and Secure Computing, 2016(99): 1-22.
[6]KENT A D, LIEBROCK L M. Differentiating user authentication graphs [C]// SPW ’13: Proceedings of the 2013 IEEE Security and Privacy Workshops. Washington, DC: IEEE Computer Society, 2013: 72-75.
[7]JOHNSON A, DEMPSEY K, ROSS R, et al. Guide for security configuration management of information systems [EB/OL]. [2017- 03- 06]. http://www.gocs.eu/pages/fachberichte/archiv/045-draft_sp800-128-ipd.pdf.
[8]AGARWAL N, SACHS E, KONG G, et al. Central account manager: US, US8789147 [P]. 2014- 07- 22.
[9]賽迪網(wǎng).2016網(wǎng)絡(luò)安全大事件[R/OL]. [2018- 08- 01]. http://www.ccidnet.com/2016/0801/10162993.shtml. (CCIDNET. Network security big event of 2016. [R/OL]. [2016- 08- 01]. http://www.ccidnet.com/2016/0801/10162993.shtml.)
[10]啟明星辰 yepeng.八大典型APT攻擊過程詳解[R/OL]. (2013- 08- 27) [2017- 01- 15]. http://netsecurity.51cto.com/art/201308/408470.htm. (YE P. 8 typical APT attack process analysis in detail [R/OL]. (2013- 08- 27) [2017- 01- 15]. http://netsecurity.51cto.com/art/201308/408470.htm.)
[11]KENT A D, LIEBROCK L M, NEIL J C. Authentication graphs: analyzing user behavior within an enterprise network [J]. Computers & Security, 2015, 48: 150-166.
[12]JAVED M. Detecting credential compromise in enterprise networks [D]. Berkeley: University of California, Electrical Engineering and Computer Sciences, 2016.
[13]饒鮮,董春曦,楊紹全.基于支持向量機(jī)的入侵檢測系統(tǒng)[J].軟件學(xué)報,2003,14(4):798-803. (RAO X, DONG C X, YANG S Q. An intrusion detection system based on support vector machine [J]. Journal of Software, 2003, 14(4): 798-803.)
[14]CHITRAKAR R, HUANG C. Selection of candidate support vectors in incremental SVM for network intrusion detection [J]. Computers & Security, 2014, 45: 231-241.
[15]何大韌,劉宗華,汪秉宏,等.復(fù)雜網(wǎng)絡(luò)與系統(tǒng)[M].北京:高等教育出版社,2009:148. (HE D R, LIU Z H, WANG B H, et al. Complex Networks and Systems [M].Beijing: Higher Education Press, 2009: 148.)
[16]KENT A D. Cyber security data sources for dynamic network research [M]// Networks and Cyber-Security. River Edge, NJ: World Scientific Publishing Company, 2016: 37-65.
[17]周志華,楊強(qiáng).機(jī)器學(xué)習(xí)及其應(yīng)用[M].北京:清華大學(xué)出版社,2011:95. (ZHOU Z H, YANG Q. Statistical Learning Method [M]. Beijing: Tsinghua University Press, 2011: 95.)