陳 雪 彭艷兵 陳 前 劉澤正
1(武漢郵電科學(xué)研究院 武漢 430074) 2(南京烽火天地通信科技有限公司 南京 210019) 3(南京信息工程大學(xué) 南京 210044)
隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,人們將業(yè)務(wù)所需的資源和數(shù)據(jù)置于云上,使用遠(yuǎn)程連接進(jìn)行云計(jì)算服務(wù)管理[1],遠(yuǎn)程連接行為已經(jīng)成為人們?nèi)粘9ぷ髦胁豢煞指畹囊徊糠?但是由于云計(jì)算的普及,云安全[2]問(wèn)題日益凸顯,尤其是云賬戶安全面臨著嚴(yán)峻的挑戰(zhàn),以網(wǎng)絡(luò)詐騙和數(shù)據(jù)竊取為目的的惡意登錄攻擊因其手段隱蔽、安全隱患大等特點(diǎn)對(duì)個(gè)人和企業(yè),甚至國(guó)家安全都造成了巨大的危害.
在當(dāng)今大數(shù)據(jù)時(shí)代的環(huán)境下,惡意登錄攻擊數(shù)據(jù)急劇增加,惡意登錄攻擊也成為不法分子竊取用戶信息或控制用戶設(shè)備的主要途徑.而暴力破解是使用大量認(rèn)證信息在認(rèn)證接口進(jìn)行嘗試登錄操作,登錄成功后獲取設(shè)備的所有權(quán)限,從而造成進(jìn)一步的破壞行為.如竊取相關(guān)機(jī)密數(shù)據(jù)、控制用戶主機(jī)、加密數(shù)據(jù)并用于勒索或發(fā)動(dòng)其他攻擊.
國(guó)內(nèi)外學(xué)者對(duì)惡意登錄行為流量的檢測(cè)進(jìn)行了許多研究.在早期,Spitzner[3]通過(guò)尋找異常點(diǎn)作為異常檢測(cè)的核心,將惡意登錄行為看作異常檢測(cè)問(wèn)題的子問(wèn)題,使用蜜罐技術(shù)對(duì)惡意登錄行為進(jìn)行識(shí)別.Legg等人[4]基于日志審計(jì)識(shí)別惡意登錄,根據(jù)系統(tǒng)行為日志對(duì)用戶進(jìn)行分析,通過(guò)考慮其角色屬性提高檢測(cè)算法的準(zhǔn)確率.迄今為止,惡意登錄行為檢測(cè)算法分為以下幾種:基于逆向的日志分析方法、基于機(jī)器學(xué)習(xí)方法、基于深度學(xué)習(xí)的暴力破解檢測(cè)方法[5-11]等,這些研究成果在不同層面闡述了提高惡意登錄檢測(cè)準(zhǔn)確率的方法.
如今,用戶對(duì)個(gè)人上網(wǎng)流量的隱私安全越來(lái)越重視,傳統(tǒng)的基于日志分析的檢測(cè)方法已不能滿足當(dāng)前對(duì)用戶隱私保護(hù)的需求.目前,一些常用的基于機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的惡意登錄檢測(cè)方法都采用監(jiān)督學(xué)習(xí)方式對(duì)流量數(shù)據(jù)進(jìn)行人工標(biāo)記處理[12].由于網(wǎng)絡(luò)流量增長(zhǎng)迅速,這種人工打標(biāo)的方式需要耗費(fèi)大量的成本,而且面對(duì)海量數(shù)據(jù)進(jìn)行數(shù)據(jù)標(biāo)記既難以實(shí)現(xiàn),又難以保證準(zhǔn)確率.常用的深度學(xué)習(xí)檢測(cè)算法所訓(xùn)練得出的參數(shù)較多,難以部署在用戶計(jì)算機(jī)上進(jìn)行在線惡意登錄行為識(shí)別.
本文針對(duì)現(xiàn)有惡意登錄檢測(cè)方法的不足,從流量特征的角度分析攻擊行為,提出一種基于EM算法的暴力破解流量檢測(cè)模型,提高了對(duì)網(wǎng)絡(luò)流量的監(jiān)管能力.實(shí)驗(yàn)結(jié)果表明本文提出新模型的算法新穎,算法計(jì)算代價(jià)低,暴力破解流量檢測(cè)效果好,可實(shí)現(xiàn)在線的惡意登錄行為檢測(cè).
惡意登錄指的是攻擊者通過(guò)某種手段自動(dòng)將密碼輸入到被攻擊的主機(jī)或網(wǎng)站中直到成功登錄,然后攻擊者通過(guò)劫持相關(guān)數(shù)據(jù)來(lái)達(dá)到目的.惡意登錄的攻擊方式包括暴力破解、字典攻擊、憑證攻擊等,本文僅研究基于暴力破解攻擊方式的惡意登錄行為.
EM算法最初由Dempster等人[13]提出用來(lái)求解含有隱變量數(shù)學(xué)模型的參數(shù)極大似然估計(jì)問(wèn)題.它是一種解決問(wèn)題的思想,可以在數(shù)據(jù)不完全和不知道待估算參數(shù)的情況下,對(duì)模型參數(shù)進(jìn)行極大似然估計(jì),其中概率模型依賴于無(wú)法觀測(cè)的隱性變量.
EM算法也是一種迭代算法,其每次迭代是由1個(gè)期望步和極大化步構(gòu)成,而每次迭代都能保證似然函數(shù)值增加[14],并收斂到1個(gè)局部極大值.該算法具有合理性與計(jì)算結(jié)構(gòu)穩(wěn)定等特點(diǎn),常被用于根據(jù)樣本數(shù)據(jù)估計(jì)其總體分布模型的關(guān)鍵參數(shù)[15],從而達(dá)到通過(guò)樣本進(jìn)行總體數(shù)據(jù)聚類的目的,因此本文選用EM算法作為惡意登錄行為的檢測(cè)算法,對(duì)進(jìn)行特征處理后的流量進(jìn)行聚類.
采用EM算法估算高斯分布的模型參數(shù),從而量化數(shù)據(jù)的分布達(dá)到分類的目的.假設(shè)數(shù)據(jù)集含有k個(gè)高斯分布,這些高斯分布分別代表不同的類,則每類可通過(guò)EM算法估算出的相應(yīng)模型參數(shù)進(jìn)行描述.
算法1.EM算法.
輸入:m個(gè)樣本觀察數(shù)據(jù),x=(x1,x2,…,xm),模型初始參數(shù)θj=0={μk(0),σk(0)},k=1,2,…,K,收斂閾值α,最大迭代次數(shù)J;
輸出:模型參數(shù)θ∈{μk,σk},k=1,2,…,K,其中μk和σk分別表示第k個(gè)小類均值和方差.
過(guò)程:
初始化模型參數(shù)初值θj=0,EM算法迭代.
E步:根據(jù)每個(gè)小類的高斯分布,估算每個(gè)樣本數(shù)據(jù)聯(lián)合分布的條件概率期望函數(shù).
Qi(zi)=P(zi|xi,θj).
(1)
M步:根據(jù)期望函數(shù)重新估計(jì)模型分布的參數(shù),使得模型樣本數(shù)據(jù)的概率逐步最大化,得到
(2)
當(dāng)滿足如下公式之一時(shí)迭代結(jié)束,當(dāng)不滿足時(shí)算法轉(zhuǎn)至E步,繼續(xù)迭代.
(3)
J≤j.
(4)
針對(duì)現(xiàn)有日志審計(jì)的惡意登錄行為檢測(cè)方法無(wú)法滿足用戶上網(wǎng)安全需求[16],本文從用戶流量的角度分析惡意登錄行為,提出一種基于隱變量的惡意登錄流量檢測(cè)方法,能有效提高檢測(cè)的效率以及準(zhǔn)確度.首先對(duì)數(shù)據(jù)集內(nèi)的流量進(jìn)行數(shù)據(jù)預(yù)處理;然后根據(jù)時(shí)間窗口滑動(dòng)提取數(shù)據(jù)流的進(jìn)程數(shù)、進(jìn)程的平均發(fā)包數(shù)等主要特征構(gòu)建特征向量.基于特征向量和EM算法訓(xùn)練模型參數(shù);最后使用測(cè)試集數(shù)據(jù)在基于模型參數(shù)的分類器上進(jìn)行標(biāo)簽預(yù)測(cè),實(shí)現(xiàn)對(duì)惡意登錄行為的判斷.方法的流程圖如圖1所示:
圖1 基于隱含量的惡意登錄流量在線識(shí)別框架
接下來(lái),本文將對(duì)暴力破解行為及特征分析、特征向量構(gòu)建、基于EM算法的暴力破解行為檢測(cè)、實(shí)驗(yàn)驗(yàn)證進(jìn)行介紹.
對(duì)于暴力破解的數(shù)據(jù)流量,源IP(sip)、目的IP(dip)、源端口等TCP字段是難以區(qū)分流量類型的.因此本文考慮2種選擇特征的方法:一是統(tǒng)計(jì)基于進(jìn)程的特征,如數(shù)據(jù)流內(nèi)源端口的總個(gè)數(shù);二是統(tǒng)計(jì)基于報(bào)文內(nèi)容的特征,如上行報(bào)文數(shù)據(jù)包數(shù)量等[17].
由于暴力破解的本質(zhì)上是利用N位數(shù)的密碼庫(kù)通過(guò)枚舉密碼的方式,不斷地發(fā)起遠(yuǎn)程連接從而達(dá)到破解用戶密碼的目的.在攻擊過(guò)程中,攻擊者為加快攻擊速度會(huì)同時(shí)開(kāi)多個(gè)進(jìn)程進(jìn)行攻擊,因此本文選擇進(jìn)程數(shù)作為流量識(shí)別的特征向量之一[18].
本文通過(guò)大量的實(shí)驗(yàn)分析發(fā)現(xiàn),正常流量的連接中主機(jī)間通信進(jìn)程數(shù)pi少且穩(wěn)定,其數(shù)學(xué)期望E(pi)近似為1;暴力破解行為存在的可能性和進(jìn)程數(shù)成正比,因此根據(jù)進(jìn)程數(shù)將通信分為2個(gè)等級(jí):當(dāng)1≤pi<50時(shí)不確定是否異常,需要作進(jìn)一步檢測(cè);當(dāng)pi≥50時(shí)為暴力破解攻擊,通過(guò)如此分級(jí)可以過(guò)濾大量明顯的攻擊數(shù)據(jù)包,減少計(jì)算量,加速檢測(cè)效率.
為了確認(rèn)1≤pi<50之間是否為真正的暴力破解行為,本文對(duì)每個(gè)端口的上行報(bào)文字節(jié)數(shù)進(jìn)行分析.發(fā)現(xiàn)暴力破解行為中,每次發(fā)起1個(gè)進(jìn)程向目的IP進(jìn)行遠(yuǎn)程連接的內(nèi)容具有規(guī)律性,其上行報(bào)文字節(jié)數(shù)不會(huì)發(fā)生很大變化.而正常用戶則不同,由于正常用戶通常會(huì)附帶傳輸數(shù)據(jù)或進(jìn)行其他操作,其上行報(bào)文字節(jié)數(shù)是隨機(jī)變化的,且波動(dòng)很大.
在TCP/IP協(xié)議體系中,運(yùn)輸層利用IP地址和端口號(hào)區(qū)分主機(jī)的不同進(jìn)程[19].因此本文利用1 min為1個(gè)時(shí)間窗格,窗格內(nèi)通過(guò)匹配源IP到目的IP聚合數(shù)據(jù)包為1條數(shù)據(jù)流,并用端口號(hào)統(tǒng)計(jì)每個(gè)分組的進(jìn)程數(shù),對(duì)流量數(shù)據(jù)進(jìn)行特征向量構(gòu)建,具體步驟如下:
Step1. 將數(shù)據(jù)以1 min為時(shí)間窗格進(jìn)行分組,得到數(shù)據(jù)包Ni(i=1,2,…);
Step2. 數(shù)據(jù)按照相同sip、相同dip以及相同傳輸協(xié)議數(shù)據(jù)為1個(gè)流進(jìn)行分流,得到Fj(j=1,2,…);
Step3. 根據(jù)端口號(hào)統(tǒng)計(jì)每個(gè)時(shí)間窗格內(nèi)sip向dip發(fā)起的遠(yuǎn)程登錄源端口總個(gè)數(shù)即進(jìn)程數(shù)pi;
上文通過(guò)進(jìn)程數(shù)這一特征對(duì)數(shù)據(jù)進(jìn)行粗篩,但是1≤pi<50之間是否為真正的暴力破解行為還不能確認(rèn).由3.1節(jié)分析可知,正常流量中進(jìn)程平均發(fā)包數(shù)波動(dòng)大,異常流量中波動(dòng)非常小.由此通過(guò)其標(biāo)準(zhǔn)差判斷數(shù)據(jù)波動(dòng)大小進(jìn)行統(tǒng)計(jì)分析.
因此以每分鐘內(nèi)每條流Fj內(nèi)的當(dāng)前樣本為基準(zhǔn)向前追溯前4個(gè)樣本,將前4個(gè)樣本和當(dāng)前樣本的5個(gè)值求其上行數(shù)據(jù)包個(gè)數(shù)標(biāo)準(zhǔn)差,并以四元組形式輸出,由此得到以四元組形式輸出的特征向量(sip→dip,ti,pi,pkts_std).具體含義如表1所示:
表1 特征向量構(gòu)建
本文假設(shè)正常流量和暴力破解流量的平均進(jìn)程包數(shù)標(biāo)準(zhǔn)差分別服從2個(gè)不同的高斯分布.將訓(xùn)練集內(nèi)的四元組特征向量中pkts_std作為EM算法的輸入,采用混合高斯分布模型對(duì)數(shù)據(jù)進(jìn)行聚類,使用EM算法求得模型參數(shù):2類均值μ和標(biāo)準(zhǔn)差σ.具體步驟如下:
Step1. 將小類的數(shù)量設(shè)置為2,即正常流量和異常流量,并初始化每個(gè)小類的高斯分布參數(shù);
Step2. 根據(jù)每個(gè)小類的高斯分布,并計(jì)算每個(gè)樣本數(shù)據(jù)屬于每個(gè)小類的概率;
Step3. 基于Step2中每個(gè)小類的概率,計(jì)算高斯分布參數(shù)使數(shù)據(jù)點(diǎn)的概率逐步最大化,使用數(shù)據(jù)點(diǎn)概率的加權(quán)計(jì)算新一輪模型參數(shù);
重復(fù)迭代Step2和Step3至達(dá)到收斂條件停止,輸出最終的模型參數(shù)θ.
最后根據(jù)2種高斯分布的模型參數(shù)結(jié)合EM算法(算法1)步驟中的E步計(jì)算樣本xi屬于第幾類高斯分布的概率Qi(zi),將其作為異常度判斷樣本標(biāo)簽,從而得到每個(gè)樣本點(diǎn)的標(biāo)簽.
本文采用Python語(yǔ)言實(shí)現(xiàn)暴力破解攻擊的檢測(cè)系統(tǒng),該系統(tǒng)可用于發(fā)現(xiàn)單機(jī)和分布式暴力破解行為.系統(tǒng)的輸入為pcap格式的數(shù)據(jù)包,輸出為包含暴力破解行為的流量,檢測(cè)流程如圖2所示:
圖2 在線暴力破解檢測(cè)流程圖
本文實(shí)驗(yàn)使用的數(shù)據(jù)集是CIC-IDS-2017,該數(shù)據(jù)集在網(wǎng)絡(luò)異常檢測(cè)研究中被廣泛應(yīng)用[20].數(shù)據(jù)集中星期一捕獲正常流量,星期二捕獲暴力破解FTP攻擊、SSH攻擊.統(tǒng)計(jì)標(biāo)簽分布發(fā)現(xiàn)數(shù)據(jù)集不均衡情況相當(dāng)嚴(yán)重,本文選取星期一的部分正常流量,以及星期二捕獲到的所有暴力破解流量作為本文實(shí)驗(yàn)的數(shù)據(jù)集,數(shù)據(jù)集攻擊類型如表2所示.由于數(shù)據(jù)集內(nèi)暴力破解的數(shù)據(jù)量比較小.本文使用7∶3分割訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)樣本數(shù)量.
表2 數(shù)據(jù)集攻擊類型
本文采用精確度Precision、召回率Recall、誤報(bào)率FPR、F1值作為檢測(cè)效果的評(píng)價(jià)指標(biāo)[21],其公式如下所示:
(5)
(6)
(7)
(8)
上述公式中:TP表示正常流量被正確分類為正常流量的數(shù)量;FP表示暴力破解流量被錯(cuò)誤分類為正常流量的數(shù)量;TN表示暴力破解流量被正確分類為暴力破解的數(shù)量;FN表示正常流量被錯(cuò)誤分類為暴力破解流量的數(shù)量.
4.3.1 實(shí)驗(yàn)過(guò)程
將本文提出的EM算法與累積分布函數(shù)(cumulative distribution function, CDF)閾值分割法和多層感知機(jī)(multilayer perceptron, MLP)算法[22]進(jìn)行對(duì)比實(shí)驗(yàn).
利用EM算法在進(jìn)行28輪迭代后得到2類高斯分布,其中:正常流量為μ1=16.520和σ1=15.585,暴力破解流量為μ2=0.209和σ2=0.147.最后根據(jù)訓(xùn)練出的模型參數(shù)計(jì)算每個(gè)樣本點(diǎn)的期望函數(shù),從而得到其樣本點(diǎn)的標(biāo)簽.
采用CDF閾值分割法時(shí),對(duì)訓(xùn)練集中前5個(gè)時(shí)間窗口的上行包數(shù)標(biāo)準(zhǔn)差進(jìn)行經(jīng)驗(yàn)累積分布函數(shù)計(jì)算,繪制其CDF曲線進(jìn)行對(duì)比分析,發(fā)現(xiàn)當(dāng)閾值在1.4時(shí)2類樣本區(qū)分度最大,最后根據(jù)該閾值對(duì)疑似暴力破解的流量進(jìn)行分類.基于多層感知機(jī)算法,采用輸入層、歸一化層、隱藏層和輸出層組成MLP架構(gòu),分別選擇ReLU和Softmax作為隱藏密集層和輸出層的激活函數(shù),使用Adagrad優(yōu)化器和分類交叉熵作為損失函數(shù),在CIC-IDS-2017數(shù)據(jù)集上對(duì)模型進(jìn)行了10個(gè)階段的訓(xùn)練.
通過(guò)精確度和召回率等指標(biāo)對(duì)3種算法進(jìn)行模型評(píng)估,實(shí)驗(yàn)結(jié)果如表3所示:
表3 各暴力破解流量檢測(cè)算法評(píng)估結(jié)果
4.3.2 實(shí)驗(yàn)分析
根據(jù)表3的實(shí)驗(yàn)結(jié)果可看出:
EM算法在P,R,F(xiàn)1值評(píng)價(jià)指標(biāo)上取得最佳結(jié)果,精確度為98.7%,誤報(bào)率為2.38%,說(shuō)明基于無(wú)監(jiān)督學(xué)習(xí)的EM算法可訓(xùn)練得到理想的惡意登錄行為二分類模型.
與CDF閾值分割算法相比,EM算法在數(shù)據(jù)集上的召回率提高12.8%,誤報(bào)率降低4.19%.EM算法是基于迭代的模型參數(shù)優(yōu)化策略,而CDF閾值分割法僅根據(jù)流量特征向量在其經(jīng)驗(yàn)累計(jì)分布函數(shù)上的閾值,通過(guò)人工分析對(duì)流量標(biāo)簽進(jìn)行判別,并沒(méi)有迭代收斂的訓(xùn)練過(guò)程.因此EM算法在各類評(píng)價(jià)指標(biāo)上要優(yōu)于CDF閾值分割法.
與多層感知機(jī)算法相比,EM算法在數(shù)據(jù)集上的精確率提高了23.7%,召回率提高了63.1%.原因在于多層感知機(jī)僅基于單一樣本維度進(jìn)行模型訓(xùn)練,未考慮到樣本之間連續(xù)時(shí)間序列的維度,更未考慮到進(jìn)程特征這一潛在信息.而EM算法檢測(cè)模型,在時(shí)間序列的基礎(chǔ)上,通過(guò)隱變量機(jī)制捕捉流量的整體統(tǒng)計(jì)特征,從而增強(qiáng)了模型對(duì)惡意登錄行為的表征能力.同時(shí)EM算法檢測(cè)模型也具備較低的時(shí)間開(kāi)銷及輕量化等特點(diǎn),可在線對(duì)暴力破解流量進(jìn)行實(shí)時(shí)檢測(cè).
本文提出了一種基于隱變量的暴力破解在線檢測(cè)方法,該方法通過(guò)深入解析暴力破解原理,提取流量特征匹配度較高的特征,進(jìn)行特征向量的構(gòu)建以實(shí)現(xiàn)特征增強(qiáng),并使用輕量級(jí)的EM算法代替?zhèn)鹘y(tǒng)復(fù)雜的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法實(shí)現(xiàn)暴力破解流量檢測(cè).實(shí)驗(yàn)結(jié)果表明該方法使用輕量級(jí)設(shè)計(jì)思路搭建模型能運(yùn)行在更多的低算力設(shè)備上,也可結(jié)合已有系統(tǒng)配合使用,能很好地解決當(dāng)下暴力破解檢測(cè)模型復(fù)雜、用戶隱私安全性不強(qiáng)等問(wèn)題.然而本文研究依舊存在局限性,如暴力破解數(shù)據(jù)過(guò)少.因此,如何解決數(shù)據(jù)不平衡問(wèn)題還需要深入研究.由于目前的方法只使用了網(wǎng)絡(luò)流量數(shù)據(jù),而沒(méi)有考慮進(jìn)程事件日志等信息.因此,如何從不同角度對(duì)惡意登錄行為進(jìn)行檢測(cè)還有待進(jìn)一步研究.