徐雅斌,王振超,莊唯
(1.北京信息科技大學(xué) 計(jì)算機(jī)學(xué)院 北京市 100101;2.北京信息科技大學(xué) 大數(shù)據(jù)安全技術(shù)研究所,北京市 100101;3.蘇州市公安局網(wǎng)絡(luò)安全保衛(wèi)支隊(duì),蘇州市 215000)
互聯(lián)網(wǎng)的飛速發(fā)展給我們帶來諸多便利,同時(shí)也導(dǎo)致網(wǎng)絡(luò)安全問題日益嚴(yán)重,威脅著國(guó)家的安全[1]。多種形式的入侵檢測(cè)系統(tǒng)(intrusion detection system,IDS)能夠有效檢測(cè)出用戶的異常行為或異常網(wǎng)絡(luò)流量數(shù)據(jù)[2]。文獻(xiàn)[3] 以Linux shell命令作為研究數(shù)據(jù),設(shè)計(jì)并實(shí)現(xiàn)了基于規(guī)則庫(kù)的異常操作檢測(cè)方法;文獻(xiàn)[4]通過序列模式挖掘原理挖掘角色正常行為,使用Knuth-Morris-Prcatt (KMP)算法進(jìn)行模式匹配,判斷角色當(dāng)前行為是否存在異常;文獻(xiàn)[5]提出改進(jìn)的BV-Apriori算法與模糊集合技術(shù)結(jié)合的方法生成規(guī)則庫(kù)來判斷數(shù)據(jù)是否異常。通過構(gòu)建規(guī)則庫(kù)和正常行為模式進(jìn)行匹配的方法無法檢測(cè)出新型的攻擊手段,并且其識(shí)別準(zhǔn)確率非常依賴于規(guī)則庫(kù)構(gòu)建的準(zhǔn)確性與完備性,如果規(guī)則庫(kù)沒有事先建立某異常規(guī)則,那么此種攻擊完全無法檢測(cè)出來,識(shí)別效率低下。
文獻(xiàn)[6]將用戶的命令序列以登錄開始,以注銷為結(jié)束,對(duì)這段時(shí)間內(nèi)的命令序列分別進(jìn)行基于活動(dòng)的特征提取與基于用戶角色的特征提取,然后使用長(zhǎng)短期記憶(long short-term memory,LSTM)神經(jīng)網(wǎng)絡(luò)與自編碼器模型進(jìn)行訓(xùn)練和異常檢測(cè)。文獻(xiàn)[7]提取用戶的行為特征、序列特征、角色特征和心理特征,提出一種異常檢測(cè)模型,提高了識(shí)別準(zhǔn)確率。文獻(xiàn)[8]從每個(gè)用戶的活動(dòng)日志中提取計(jì)數(shù)特征和統(tǒng)計(jì)特征,在多自動(dòng)編碼器中加入門控循環(huán)單元(gated recurrent unit,GRU)與多頭自注意力機(jī)制進(jìn)行異常檢測(cè)。文獻(xiàn)[9]將每個(gè)序列中不同命令的個(gè)數(shù)作為分類特征,使用不同的分類算法進(jìn)行異常識(shí)別。文獻(xiàn)[10]使用欠采樣方法一定程度上解決了數(shù)據(jù)不平衡問題,提高了識(shí)別準(zhǔn)確率。
僅對(duì)命令序列進(jìn)行數(shù)字特征提取無法表達(dá)出序列中各命令間的關(guān)聯(lián)性,語言模型能夠有效解決這一問題。文獻(xiàn)[11]針對(duì)內(nèi)部威脅的特征工程無法準(zhǔn)確描述命令間的內(nèi)部關(guān)系的問題,將命令數(shù)據(jù)視為文本,將日志數(shù)據(jù)轉(zhuǎn)換為語料數(shù)據(jù)對(duì)原始數(shù)據(jù)進(jìn)行處理,并使用此數(shù)據(jù)訓(xùn)練Word2Vec模型,計(jì)算單詞之間的余弦相似度來確定某行為是否為可疑行為。文獻(xiàn)[12-13]均采用獨(dú)熱編碼來構(gòu)建命令序列的詞向量,然后使用不同的深度學(xué)習(xí)方法進(jìn)行異常識(shí)別。文獻(xiàn)[14]使用3種不同的語言模型進(jìn)行特征提取,使用k-近鄰(k-nearest neighbor,KNN)算法進(jìn)行異常識(shí)別。文獻(xiàn)[15]分別使用Doc2Vec、循環(huán)神經(jīng)網(wǎng)絡(luò)自編碼器和循環(huán)神經(jīng)網(wǎng)絡(luò)降噪自編碼器3種方法將日志數(shù)據(jù)轉(zhuǎn)化為詞向量。然后,使用隨機(jī)森林、局部異常因子與支持向量機(jī)(support sector machine,SVM)分類器這3種不同的分類方法進(jìn)行訓(xùn)練來識(shí)別異常,結(jié)果表明:使用循環(huán)神經(jīng)網(wǎng)絡(luò)降噪自編碼器提取特征,采用隨機(jī)森林訓(xùn)練的模型識(shí)別效果最好。
但是僅僅識(shí)別出異常,無法得出黑客的真實(shí)身份。因此,除了準(zhǔn)確識(shí)別出黑客攻擊行為外,還需對(duì)黑客進(jìn)行詳細(xì)、完備的描述,然后快速地對(duì)進(jìn)入內(nèi)網(wǎng)中的異常用戶進(jìn)行匹配,識(shí)別黑客身份。這是后續(xù)進(jìn)行黑客溯源,找出黑客在現(xiàn)實(shí)中的身份的關(guān)鍵。
用戶畫像技術(shù)通過提取目標(biāo)用戶的某些特征,將真實(shí)用戶用數(shù)字特征進(jìn)行表示。目前用戶畫像技術(shù)在推薦系統(tǒng)[16]、搜索系統(tǒng)[17]等領(lǐng)域應(yīng)用廣泛。此外,還有研究將用戶畫像技術(shù)應(yīng)用于大數(shù)據(jù)刑事偵察中[18],提出了基于用戶畫像技術(shù)的大數(shù)據(jù)偵察框架。文獻(xiàn)[19]將用戶畫像技術(shù)應(yīng)用于內(nèi)部威脅檢測(cè),提出一種行為特征自動(dòng)提取和局部全細(xì)節(jié)行為畫像方法。文獻(xiàn)[20]為正常用戶建立用戶畫像,通過數(shù)據(jù)挖掘與數(shù)理統(tǒng)計(jì)等方法獲取用戶行為特征,與用戶畫像進(jìn)行匹配,發(fā)現(xiàn)用戶的異常行為。上述文獻(xiàn)通過對(duì)正常用戶或者對(duì)所有用戶進(jìn)行用戶畫像構(gòu)建,然后識(shí)別異常的方法能夠較為有效地發(fā)現(xiàn)異常行為,但是無法區(qū)分不同的攻擊類型,也無法找出進(jìn)行攻擊行為的黑客。
針對(duì)以上問題,本文提出一種基于命令的黑客畫像構(gòu)建與攻擊者識(shí)別方法。首先根據(jù)黑客用戶的歷史命令序列數(shù)據(jù),提取能夠有效區(qū)分不同黑客身份的黑客屬性標(biāo)簽、命令序列統(tǒng)計(jì)標(biāo)簽、行為特征標(biāo)簽,形成初始黑客畫像庫(kù);然后通過基于雙向長(zhǎng)短期記憶(bi-directional LSTM,BiLSTM)神經(jīng)網(wǎng)絡(luò)與注意力機(jī)制(attention mechanisms)的異常分類模型對(duì)用戶的命令序列進(jìn)行分類,得到異常用戶;使用基于二次匹配的黑客識(shí)別算法對(duì)異常用戶進(jìn)行黑客識(shí)別。
為了能夠識(shí)別出不同攻擊類型的命令序列,本文構(gòu)建了一種異常命令序列識(shí)別模型BiLSTM-Attention,模型結(jié)構(gòu)及識(shí)別過程如圖1所示。
圖1 BiLSTM-Attention異常命令序列識(shí)別模型
BiLSTM-Attention異常序列識(shí)別模型主要分為4個(gè)部分。
1)詞嵌入(word embedding)層。將用戶的命令序列視為文本序列。首先利用Word2Vec模型對(duì)命令序列進(jìn)行詞嵌入,把輸入命令序列中的每個(gè)詞W轉(zhuǎn)換為詞向量V,將輸入數(shù)據(jù)向量化,解決數(shù)字特征提取過程中存在的無法準(zhǔn)確表示命令序列信息的問題。
2)BiLSTM層。LSTM通過門控狀態(tài)能夠記住重要的信息,忘記不重要的信息,可以捕捉到序列中的依賴關(guān)系。但是,如果序列較長(zhǎng),LSTM可能會(huì)遺忘掉先出現(xiàn)的信息,導(dǎo)致信息丟失。BiLSTM結(jié)合前向LSTM與后向LSTM,雙向提取命令序列語義信息,將提取后的結(jié)果進(jìn)行拼接得到包含雙向信息的特征,可以對(duì)序列進(jìn)行更加準(zhǔn)確的特征提取。
此部分將word embedding層輸出的詞向量作為前向與后向LSTM的輸入,將前向LSTM與后向LSTM的輸出進(jìn)行拼接,雙向提取命令序列中的語義信息,如圖2所示。前向LSTM每個(gè)單詞得到對(duì)應(yīng)的向量為{hL0,hL1,…,hLn},后向的LSTM每個(gè)詞對(duì)應(yīng)得到的向量為{hRn,…,hR1,hR0},拼接后得到的結(jié)果為{[hL0,hRn],[hL1,hRn-1],…,[hLn,hR0]}合并成為可從前后兩個(gè)方向表達(dá)語義信息的向量Hc。每個(gè)單詞位置的特征向量包含前后兩個(gè)方向的信息,由此能夠更加準(zhǔn)確地提取序列中的信息,進(jìn)行更加準(zhǔn)確、細(xì)致的分類。
圖2 BiLSTM結(jié)構(gòu)圖示
3)Attention層。使用注意力機(jī)制計(jì)算查詢向量與各個(gè)輸入單詞的相似性來得到權(quán)重系數(shù)。權(quán)重越大,證明該詞的重要性越強(qiáng),能夠使分類器更加關(guān)注命令序列中的對(duì)分類影響結(jié)果大的部分,從而提高識(shí)別準(zhǔn)確率。注意力機(jī)制如圖3所示。
圖3 注意力機(jī)制圖示
上層BiLSTM層的輸出作為Attention層的輸入,首先引入查詢向量Query,通過點(diǎn)積模型打分函數(shù)計(jì)算Query和本層輸入(即上層輸出){H1,H2,…,Hn}之間的相關(guān)系數(shù);然后使用Softmax函數(shù)進(jìn)行歸一化,得到在各個(gè)輸入位置上的注意力分布{A1,A2,…,An},即為各個(gè)位置上的權(quán)重。權(quán)重越大,證明該部分越重要;最后,將所有位置的上層輸入H與各位置的權(quán)重A進(jìn)行加權(quán)求和作為句子的表示向量Context,如式(1)所示:
(1)
Context中包含序列中每個(gè)單詞的信息。但是,對(duì)分類結(jié)果影響大的部分會(huì)分配更多的權(quán)重,其他部分則分配較少的權(quán)重,從而提高分類結(jié)果的準(zhǔn)確性。
4)Softmax層。使用Softmax激活函數(shù)對(duì)經(jīng)過Attention機(jī)制進(jìn)行權(quán)重分配后的向量計(jì)算屬于每個(gè)類別的概率分布,概率最大的為該命令序列所屬的類別,即為正常序列或?yàn)槟撤N類型的攻擊序列。
用戶畫像是指提取用戶的各種特征,抽象出來標(biāo)簽化的用戶模型,對(duì)用戶進(jìn)行完備的描述。本文提取黑客用戶命令序列中的攻擊類型標(biāo)簽、統(tǒng)計(jì)特征標(biāo)簽與行為特征標(biāo)簽,對(duì)黑客進(jìn)行刻畫并形成黑客畫像,以區(qū)分不同類型的黑客,并用來識(shí)別黑客身份。
1)攻擊類型標(biāo)簽。構(gòu)建初始畫像庫(kù)時(shí),攻擊類型在原數(shù)據(jù)集中已被標(biāo)注,因此可直接獲取;待識(shí)別黑客進(jìn)行檢測(cè)時(shí),通過本文構(gòu)建的BiLSTM-Attention分類模型獲得待識(shí)別黑客的攻擊類型標(biāo)簽。
2)統(tǒng)計(jì)特征標(biāo)簽。對(duì)黑客用戶的命令序列進(jìn)行數(shù)理統(tǒng)計(jì),得到包括以下特征的統(tǒng)計(jì)特征標(biāo)簽:
①行為頻率。統(tǒng)計(jì)黑客的命令序列中,各個(gè)行為出現(xiàn)的次數(shù),除以該黑客用戶命令序列的總長(zhǎng)度,得到該黑客用戶的行為頻率,并以字典形式進(jìn)行表示。例如,某黑客用戶的行為頻率可表示為{行為1:P1,行為2:P2,…,行為n:Pn}。
②序列豐富度。通過式(2)計(jì)算得到黑客用戶命令序列的序列豐富度:
(2)
式中:S為每條黑客命令序列中包含的不同的命令個(gè)數(shù);N為數(shù)據(jù)集中所有的不同命令個(gè)數(shù)。根據(jù)黑客用戶進(jìn)行的攻擊方式不同,序列豐富度存在較大差異性。例如,密碼暴力破解攻擊會(huì)頻繁重復(fù)進(jìn)行用戶名和密碼的提交操作,直到密碼破解完成。因此,序列豐富度的值會(huì)較低。如果利用Meterpreter進(jìn)行滲透攻擊,命令會(huì)更加復(fù)雜,序列豐富度值會(huì)較大。該標(biāo)簽?zāi)軌蛴行^(qū)分不同攻擊類型的黑客。
③序列信息熵。通過式(3)計(jì)算得到黑客用戶命令序列的序列信息熵:
(3)
式中p(xi)為黑客命令序列中某個(gè)命令的出現(xiàn)概率。熵越大,不確定性越大,其命令序列的隨機(jī)性越大,證明該序列進(jìn)行的攻擊行為較為復(fù)雜;反之則證明攻擊手段簡(jiǎn)單單一。因此可通過序列信息熵衡量不同黑客用戶的攻擊特點(diǎn),區(qū)分不同攻擊類型的黑客。
④關(guān)鍵命令。利用詞頻-逆文檔頻率(term frequency-inverse document frequency,TF-IDF)算法得到黑客命令序列中的每個(gè)命令的TF-IDF值,該值大于閾值的命令即為黑客進(jìn)行攻擊活動(dòng)中發(fā)送惡意命令時(shí)的關(guān)鍵命令。TF-IDF值按式(4)計(jì)算:
(4)
式中:T為TF-IDF值;ni為命令在該條序列中出現(xiàn)的次數(shù);k為此命令序列中的命令個(gè)數(shù);D為命令序列總數(shù);Di為包含該命令的命令序列數(shù)。當(dāng)同一個(gè)黑客對(duì)不同對(duì)象進(jìn)行攻擊時(shí),由于黑客的攻擊手段是相同的,因此攻擊命令序列中的關(guān)鍵命令也是相同或相似的。
3)行為特征標(biāo)簽。
①頻繁序列:黑客用戶在執(zhí)行攻擊行為時(shí),其中某些具體的攻擊步驟是重復(fù)的。因此,通過PrefixSpan算法對(duì)黑客的命令序列進(jìn)行頻繁序列挖掘。將每條黑客的命令序列以100個(gè)命令為單位進(jìn)行切分,并對(duì)每一個(gè)切分后的命令序列塊進(jìn)行頻繁序列挖掘,得到頻繁命令個(gè)數(shù)大于等于5的前5個(gè)頻繁序列作為該黑客的頻繁序列集。不同的黑客由于攻擊方式、攻擊手段不同,其頻繁序列也存在較大的差異。
②頻繁序列個(gè)數(shù):統(tǒng)計(jì)黑客在整條命令序列中,存在多少個(gè)頻繁序列。頻繁序列標(biāo)簽個(gè)數(shù)越多,證明黑客所進(jìn)行的攻擊手段越簡(jiǎn)單;反之,進(jìn)行的攻擊手段就越復(fù)雜。由此能夠區(qū)分不同類型、不同身份的黑客。
黑客畫像的構(gòu)建方式如圖4所示。
圖4 黑客畫像構(gòu)建過程
黑客畫像的構(gòu)建過程如下。
1)通過本文構(gòu)建的BiLSTM-Attention命令序列識(shí)別模型識(shí)別出異常序列,得到異常序列的異常種類,作為攻擊類型標(biāo)簽。
2)對(duì)識(shí)別為異常的命令序列,統(tǒng)計(jì)該序列中每個(gè)行為的出現(xiàn)頻率,得到行為頻率特征;利用式(7)與式(8)分別得到序列豐富度與序列信息熵;通過TF-IDF算法得到命令序列中的各命令的TF-IDF值,選TF-IDF值大于等于0.2的命令為關(guān)鍵命令。綜合以上4項(xiàng)特征構(gòu)成統(tǒng)計(jì)特征標(biāo)簽。
3)對(duì)命令序列使用PrefixSpan算法進(jìn)行頻繁模式挖掘,得到命令序列中的頻繁序列。再統(tǒng)計(jì)整個(gè)命令序列中,包含多少個(gè)頻繁序列,頻繁序列與頻繁序列個(gè)數(shù)構(gòu)成行為特征標(biāo)簽。
將上述3項(xiàng)標(biāo)簽結(jié)合,構(gòu)成能夠描述不同黑客身份特點(diǎn)的黑客畫像。
如果將異常命令與畫像庫(kù)中所有的黑客畫像一一對(duì)比,識(shí)別效率將會(huì)降低,因此本文設(shè)計(jì)了基于二次匹配的黑客識(shí)別算法。該算法的實(shí)現(xiàn)原理如下:首先通過BiLSTM-Attention異常命令序列識(shí)別模型識(shí)別用戶命令序列的攻擊種類,然后按照2.2節(jié)中黑客畫像的構(gòu)建方式對(duì)識(shí)別出的異常用戶提取統(tǒng)計(jì)特征與行為特征,并與黑客畫像庫(kù)中的黑客進(jìn)行匹配,若匹配成功則能夠確認(rèn)黑客的身份,否則將提取的特征形成黑客畫像,對(duì)畫像庫(kù)進(jìn)行更新。
具體的算法步驟如下。
1)將待識(shí)別黑客按照攻擊類型與黑客畫像庫(kù)中的黑客畫像對(duì)應(yīng)起來。
2)初步匹配。首先統(tǒng)計(jì)黑客畫像庫(kù)中相應(yīng)攻擊類型的黑客畫像與待識(shí)別黑客相同關(guān)鍵命令的個(gè)數(shù),然后通過頻繁模式挖掘得到待檢測(cè)用戶的5個(gè)頻繁序列,通過jaccard系數(shù)計(jì)算待檢測(cè)黑客每條頻繁序列與黑客畫像每條頻繁序列的相似度,相似度值最大的為待檢測(cè)黑客與畫像庫(kù)中黑客的頻繁序列相似度。相似度按式(5)計(jì)算:
(5)
把相同關(guān)鍵命令個(gè)數(shù)和頻繁序列相似度相乘,如果該值大于1則跳轉(zhuǎn)步驟3,繼續(xù)進(jìn)行二次匹配,否則初步匹配失敗。
3)二次匹配。分別將待識(shí)別黑客與黑客畫像庫(kù)中黑客的相同行為頻率值與序列豐富度、序列信息熵和頻繁序列個(gè)數(shù)進(jìn)行組合,得到待識(shí)別黑客與畫像庫(kù)中黑客的標(biāo)簽元組,通過計(jì)算兩組數(shù)據(jù)的余弦相似度,得到待識(shí)別黑客與畫像庫(kù)中黑客的匹配度。
4)如果匹配度大于0.8則認(rèn)為能夠從畫像庫(kù)中找到與待識(shí)別黑客相同的用戶,并由此得出待識(shí)別黑客的身份,否則回到步驟2。如果畫像庫(kù)中所有的黑客均不能與待識(shí)別黑客成功匹配,則待識(shí)別黑客為新型黑客添加到相應(yīng)攻擊類型的黑客畫像庫(kù)中。
本實(shí)驗(yàn)選用ADFA-LD公開數(shù)據(jù)集。該數(shù)據(jù)集是澳大利亞國(guó)防學(xué)院對(duì)外發(fā)布的一套主機(jī)級(jí)入侵檢測(cè)數(shù)據(jù)集合,包含了一種正常命令序列數(shù)據(jù)與6種不同攻擊類型的異常命令序列數(shù)據(jù),如表1所示。
表1 ADFA-LD數(shù)據(jù)集
本實(shí)驗(yàn)采用準(zhǔn)確率、精度、召回率、F1值和誤報(bào)率作為評(píng)估模型識(shí)別效果的評(píng)價(jià)指標(biāo)。
準(zhǔn)確率代表所有正負(fù)例分類正確的比例,通過式(6)計(jì)算得到:
(6)
式中:A為準(zhǔn)確率;nTP為實(shí)際值為正,預(yù)測(cè)同樣為正的樣例個(gè)數(shù);nTN為實(shí)際值負(fù),預(yù)測(cè)值為負(fù)的樣例個(gè)數(shù);nFP為實(shí)際值為負(fù),預(yù)測(cè)值為正的樣例個(gè)數(shù);nFN為實(shí)際值為正,預(yù)測(cè)值為負(fù)的樣本個(gè)數(shù)。
精度表示預(yù)測(cè)為正例的樣本中實(shí)際為正例的比例。該值越大,證明在檢測(cè)過程中誤檢的情況越少,可通過式(7)計(jì)算得到:
(7)
召回率表示真實(shí)值為正例的樣本中預(yù)測(cè)正確的比例。該值越大,證明在檢測(cè)過程中出現(xiàn)漏檢的情況越少,可通過式(8)計(jì)算得到:
(8)
F1值綜合了精度與召回率兩個(gè)評(píng)價(jià)指標(biāo),可通過式(9)計(jì)算得到:
(9)
誤報(bào)率是把本來是異常數(shù)據(jù)誤認(rèn)為正常的比例。在真實(shí)場(chǎng)景中,如果將黑客用戶判斷為正常用戶會(huì)帶來嚴(yán)重的損失,因此該值越小越好。誤報(bào)率可通過式(10)計(jì)算得到:
(10)
3.3.1 不同特征提取方式的對(duì)比實(shí)驗(yàn)
為了驗(yàn)證本文提出的使用語言模型對(duì)異常命令識(shí)別的效果是否優(yōu)于使用數(shù)字特征提取方法進(jìn)行特征提取并分類的效果。我們將本文方法與文獻(xiàn)[9]和文獻(xiàn)[10]的方法進(jìn)行了對(duì)比。文獻(xiàn)[9]與文獻(xiàn)[10]采用不同的特征提取方法對(duì)命令序列進(jìn)行特征提取。其中,文獻(xiàn)[9]考慮到了命令序列間的順序影響,將序列中不同命令個(gè)數(shù)作為特征,提高數(shù)字特征的有效性;文獻(xiàn)[10]考慮到了數(shù)據(jù)的不平衡問題并使用欠采樣方法加以解決。本文方法與這兩種方法的對(duì)比實(shí)驗(yàn)結(jié)果如表2所示。
文獻(xiàn)[9]無法有效提取出命令序列中不同子序列之間的相互關(guān)系;文獻(xiàn)[10]使用的欠采樣方法會(huì)使正例數(shù)據(jù)中的部分信息丟失;而本文通過利用語言模型將命令序列轉(zhuǎn)化為詞向量的形式,并利用BiLSTM進(jìn)行語義特征提取,能夠雙向提取命令序列中的語義特征,并且使用注意力機(jī)制給序列中對(duì)分類結(jié)果影響大的部分分配更多的權(quán)重,因此能夠顯著提高識(shí)別效果。
3.3.2 多分類識(shí)別效果的對(duì)比實(shí)驗(yàn)
識(shí)別出命令序列中屬于不同攻擊類型的異常命令序列能夠有效提高黑客識(shí)別準(zhǔn)確率。為了驗(yàn)證本文提出的模型是否能夠?qū)⒉煌漠惓C钚蛄袦?zhǔn)確識(shí)別,與文獻(xiàn)[14]和文獻(xiàn)[15]的方法進(jìn)行了對(duì)比。文獻(xiàn)[14-15]中的方法僅使用不同機(jī)器學(xué)習(xí)分類算法,對(duì)經(jīng)過語言模型提取后的特征進(jìn)行分類,其中文獻(xiàn)[14]分別使用詞袋(bag of words,BOW)模型、TF-IDF方法和N-Grams模型進(jìn)行特征提取,然后使用k-近鄰進(jìn)行異常命令識(shí)別。對(duì)比實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 多分類準(zhǔn)確率對(duì)比結(jié)果
從圖5可以看出,本文提出的BiLSTM-Attention異常命令序列識(shí)別模型對(duì)不同攻擊類型的異常命令識(shí)別準(zhǔn)確率均為最高。這是由于本文使用了注意力機(jī)制對(duì)BiLSTM提取的時(shí)序特征進(jìn)行進(jìn)一步的優(yōu)化,能夠關(guān)注到序列中對(duì)不同攻擊類型的分類結(jié)果影響大的部分,并增大這部分的權(quán)重,因而本文提出的模型能夠更加準(zhǔn)確地對(duì)每個(gè)類別進(jìn)行識(shí)別。
3.3.3 識(shí)別效率對(duì)比實(shí)驗(yàn)
與黑客畫像一一比配的常規(guī)方法與本文提出的基于二次匹配黑客的識(shí)別方法進(jìn)行時(shí)間耗費(fèi)上的對(duì)比實(shí)驗(yàn),結(jié)果如圖6所示。
圖6 黑客識(shí)別時(shí)間耗費(fèi)
從圖6中可以看出,在對(duì)不同攻擊類型的黑客進(jìn)行識(shí)別時(shí),本文提出的基于二次匹配的識(shí)別方法在時(shí)間耗費(fèi)上均遠(yuǎn)小于常規(guī)方法。原因在于本文提出的方法在匹配時(shí),待識(shí)別黑客是與相同攻擊類型比較,而不是與全部黑客畫像進(jìn)行比較,由此極大地提升了匹配速度;而且考慮到同種攻擊類型的黑客仍會(huì)存在不同攻擊手段,于是依據(jù)相同關(guān)鍵命令與頻繁模式進(jìn)行初步匹配,又縮小了匹配的范圍。最后再進(jìn)行相似度匹配,所以結(jié)果呈現(xiàn)出本文方法的匹配效率要遠(yuǎn)優(yōu)于常規(guī)匹配方法,由此證明本文提出的匹配方法能夠顯著提高黑客識(shí)別效率。
3.3.4 黑客畫像識(shí)別方法穩(wěn)定性實(shí)驗(yàn)
隨著畫像庫(kù)的不斷更新,黑客畫像數(shù)量會(huì)逐漸增多,影響黑客的識(shí)別效率。因此,本文分別設(shè)置30%,60%與100%總數(shù)據(jù)量的黑客畫像數(shù)據(jù),觀察隨著畫像庫(kù)中黑客畫像數(shù)量的增多,使用不同的識(shí)別方法,時(shí)間耗費(fèi)變化情況與不同數(shù)據(jù)量下的時(shí)間耗費(fèi)增長(zhǎng)率的情況,實(shí)驗(yàn)數(shù)據(jù)如表3與表4所示。
表3 常規(guī)方法在不同數(shù)據(jù)量下的時(shí)間耗費(fèi) s
表4 本文方法在不同數(shù)據(jù)量下的時(shí)間耗費(fèi) s
從表3~4能夠看出,在不同畫像庫(kù)數(shù)據(jù)量下,本文所提算法的時(shí)間耗費(fèi)均小于常規(guī)算法。為了更直觀地觀察不同匹配方法隨著畫像庫(kù)數(shù)據(jù)量的增大,匹配時(shí)間增長(zhǎng)率的變化情況,對(duì)不同攻擊類型繪制出匹配時(shí)間增長(zhǎng)率柱狀圖,如圖7所示。
圖7 不同數(shù)據(jù)量下時(shí)間耗費(fèi)增長(zhǎng)率
從圖7可以看出,除了Webshell攻擊外,本文提出的黑客識(shí)別算法在其余攻擊類型中隨著畫像庫(kù)數(shù)據(jù)量的成倍增長(zhǎng),時(shí)間耗費(fèi)的增長(zhǎng)率均小于常規(guī)方法。該實(shí)驗(yàn)結(jié)果證明,本文提出的基于二次匹配的黑客識(shí)別算法相較于常規(guī)算法更加穩(wěn)定,能夠有效緩解隨著畫像庫(kù)中黑客畫像的增多,匹配效率降低的問題。
為了準(zhǔn)確、快速識(shí)別網(wǎng)絡(luò)中的黑客,本文提出了基于命令的黑客畫像與攻擊者識(shí)別方法。首先構(gòu)建BiLSTM-Attention網(wǎng)絡(luò)模型識(shí)別不同攻擊類型的命令序列,作為待識(shí)別黑客用戶,然后提取待識(shí)別黑客用戶的攻擊類型標(biāo)簽、統(tǒng)計(jì)特征標(biāo)簽與行為特征標(biāo)簽構(gòu)成黑客畫像,與事先構(gòu)建的黑客畫像庫(kù)通過本文提出的基于二次匹配的黑客識(shí)別算法進(jìn)行匹配,識(shí)別黑客身份。在ADFA-LD公開數(shù)據(jù)集上進(jìn)行的仿真實(shí)驗(yàn)表明,本文提出的BiLSTM-Attention網(wǎng)絡(luò)模型能夠非常準(zhǔn)確地識(shí)別出黑客命令序列的不同異常類型。此外,基于二次匹配的黑客識(shí)別算法在匹配速度與穩(wěn)定性方面,均要優(yōu)于常規(guī)的匹配方法,大幅提高了黑客識(shí)別的效率。在后續(xù)的工作中,我們將繼續(xù)深挖不同黑客的特征,構(gòu)建更多區(qū)分度更高的黑客特征標(biāo)簽,完善黑客畫像。此外,由于本文使用的數(shù)據(jù)集的樣本量不夠多,以后工作中將使用更多的數(shù)據(jù)來訓(xùn)練模型,提高模型泛化能力。