一種基于黑客畫像的網絡攻擊者識別方法及系統與流程
1.本發明涉及網絡安全技術領域,尤其涉及一種基于黑客畫像的網絡攻擊者識別方法以及一種基于黑客畫像的網絡攻擊者識別系統。
背景技術:
2.網絡空間已成為繼海、陸、空、天后的“第五維空間”,成為各國爭奪的新戰場,網絡空間安全已經成為安全布局的不可或缺的一部分。構建安全的網絡空間環境,不僅需要對已發生的網絡攻擊行為進行告警和采取補救措施,更需要對實施攻擊行為的攻擊者進行身份確認,出隱藏在背后的攻擊者,從根源上解決問題。
3.通過發送惡意流量進行的網絡攻擊是常見的一種攻擊形式。據netscout的atlas安全工程和響應團隊的研究,僅在2021年第一季度就發生了290萬起分布式拒絕服務攻擊(distributed denial of service,ddos)攻擊事件,比2020年同期增長了31%,被攻擊的行業包括醫療、教育、在線服務等多個領域。并且該團隊預測,在今后ddos攻擊將繼續增加,達到破紀錄的數量,而且在范圍上越來越復雜。
4.因此,如何準確地在海量的流量數據中識別出惡意流量,并出發送惡意流量、實施攻擊行為背后的黑客,是維持網絡空間安全的重要工作。
5.目前,針對網絡流量識別的入侵檢測研究中,主要通過深度學習方法對網絡流量數據進行訓練,得到分類器來分辨正常與異常。
6.文獻[1](馬明艷,陳偉,吳禮發.基于cnn_bilstm網絡的入侵檢測方法[j].計算機工程與應用: 2022, 58(10):116-124.)使用隨機森林的方法首先對unsw0nb15數據集中方的特征進行篩選,然后使用cnn(convolutional neural networks,cnn)和bilstm(bi-directional long short-term memory)并行對特征進行提取,然后將用上述兩種模型提取的特征進行拼接,再使用自注意力機制進行特征二次提取,將二次提取后的特征使用門控循環單元(gated recurrent unit, gru)進行分類。文獻[2](顏亮,姬少培,劉棟,謝建武.基于gru與特征嵌入的網絡入侵檢測[j].應用科學學報,2021,39(04):559-568.)提出了基于gru與特征嵌入的網絡入侵檢測模型,經過詞嵌入層映射的向量被構建成連續特征,能夠有效提取數據中的時序信息,然后將特征傳入gru層,經過兩層的全連接層將結果進行輸出。文獻[3](yang h, wang f. wireless network intrusion detection based on improved convolutional neural network [j]. ieee access, 2019, 7: 64366-64374.)令cnn在二次卷積是保存卷積結果,然后再分別并行執行卷積、池化和全連接,合并特征后使用softmax進行分類。
[0007]
訓練過程中,如果特征維度過多會增加計算開銷,并且其中的冗余特征對分類結果五明顯提升,因此有學者提出特征選擇方法來對重要特征進行篩選。文獻[4](吳鋒. 基于改進鴿優化算法的入侵檢測系統特征選擇方法[j].西南師范大學學報(自然科學版). 2021, 46(05):140-146.)利用改進的鴿優化算法來對kddcup99和unsw-nb15兩個數據集中的特征進行選擇,去掉冗余特征,然后使用決策樹模型進行分類,在保證分類準確率的前
提下加快了模型的收斂速度。文獻[5](selvakumar b, muneeswaran k. firefly algorithm based feature selection for network intrusion detection [j]. computers amp; security, 2019, 81:148-155.)利用螢火蟲算法對流量特征進行降維操作,利用c4.5決策樹和貝葉斯網絡模型對降維后的數據進行訓練,得到了更高的檢測精度。文獻[6](alzubi q m, anbar m, algattan z, et al. intrusion detection system based on a modified binary grey wolf optimization [j]. neural computing and applications, 2020, 32:6125-6137.)提出了一種修正二元灰狼優化算法的特征選擇算法,減少了冗余特征,只保留部分關鍵特征,仿真結果表明經過特征選擇后的檢測模型在時間和精度上均由于未進行特征選擇的模型。
[0008]
上述特征選擇方法僅僅是篩選出了不同的特征,無法進一步對特征的隱含關系進行提取,不能形成更加能夠對標簽進行有效表達的高級重構特征。
[0009]
無論是基于機器學習的方法還是基于深度學習的方法,都只能識別出正常的行為或攻擊行為,但是無法出實施攻擊行為背后的攻擊者。于是有研究者將用戶畫像技術應用于網絡攻擊者的識別中。文獻[7](洪飛,廖光忠. 基于k-medoide聚類的黑客畫像預警模型[j].計算機工程與設計,2021,42(05):1244-1249.)根據安全日志數據提取黑客行為特征構建黑客畫像,使用k-medoide聚類方法對黑客畫像進行聚類,構建黑客體畫像,同時分析每個簇的特征,根據不同的攻擊手段給出相應的防御手段。文獻[8](趙剛,姚興仁. 基于用戶畫像的異常行為檢測模型[j]. 信息網絡安全, 2017(7):18-24.)從用戶的屬性和行為兩方面出發,構建用戶畫像,提出基于用戶畫像的入侵檢測模型。文獻[9](黃志宏,張波.基于大數據和圖社聚類算法的攻擊者畫像構建[j].計算機應用研究,2021,38(01):232-236.)提出一種基于大數據流式解析技術和louvain社發現算法(big data stream analysis and louvain, bdsal)的構建黑客畫像的方法,能夠從海量、多源、異構的數據快速范式化成為統一的攻擊事件,構建能夠準確刻畫黑客信息的黑客畫像,發現攻擊者。
[0010]
上述基于黑客畫像的研究中是通過構建黑客畫像來識別用戶是否是攻擊者即黑客,而不是通過黑客畫像來確定黑客的身份,并且缺少高效的黑客識別方法,無法快速進行識別。
[0011]
如果僅僅對流量進行入侵檢測,能夠識別流量中的正常流量與異常流量,但是無法將將發送惡意流量背后的黑客用戶出來;如果僅通過黑客畫像來識別黑客身份,其時間耗費是巨大的,因為在真實場景中,正常流量數據量要遠大于異常流量,而對于正常的流量我們不需要對其進行識別。因此需要將入侵檢測與黑客畫像技術相結合,首先利用入侵檢測技術篩選出網絡中的異常流量,然后針對異常流量進行分析、提取特征后,對其進行識別,出發送異常流量背后的黑客用戶。
[0012]
但是目前還沒有將這兩種方法進行結合的研究,無法高效準確地識別出發送異常流量的黑客身份。
技術實現要素:
[0013]
針對上述問題,本發明提供了一種基于黑客畫像的網絡攻擊者識別方法及系統,通過提取黑客的黑客屬性標簽、流量特征標簽、時間特征標簽與連接相似性標簽,共同構成黑客畫像,建立初始黑客畫像庫,然后對待識別的異常流量數據進行特征提取,通過分析相
同攻擊類型黑客間的相似度,提取連接相似性標簽,在此基礎上,對識別出的異常流量用戶構建用戶畫像,由此對黑客進行精準的刻畫,按照相應的異常類型與初始畫像庫中的黑客進行匹配,提高了黑客識別效率,基于sae-bnn網絡模型的異常流量分類器可有效提高模型的泛化能力與識別效果。
[0014]
為實現上述目的,本發明提供了一種基于黑客畫像的網絡攻擊者識別方法,包括:收集網絡流量數據,提取所述網絡流量數據的流量特征和時間特征作為流量特征數據;對所述流量特征數據進行預處理,并輸入基于sae-bnn網絡模型構建及訓練的異常流量分類器,經過添加有稀疏性限制的隱藏層神經元的稀疏自編碼器sae進行編碼,并將編碼重構后的特征數據作為貝葉斯神經網絡bnn的輸入,經過前向傳播計算以及一維全連接層得到分類結果預測得分,經過softmax函數分類得到正常或異常的分類結果;針對異常流量特征數據,確定所述異常流量特征數據對應的攻擊屬性特征,并計算所述異常流量特征數據對應的數據連接向量相對于符合當前攻擊屬性特征的黑客數據的數據連接向量的相似度,得到相似性特征;以所述異常流量特征數據對應的所述流量特征、所述時間特征、所述攻擊屬性特征和所述相似性特征作為黑客畫像,計算所述黑客畫像相對于預構建的黑客畫像庫中相同攻擊屬性特征畫像的相似度;若與某畫像的相似度高于預設門限閾值,則判定該畫像對應黑客為當前異常流量特征數據的攻擊黑客;若與所述黑客畫像庫中所有畫像的相似度均不高于所述預設門限閾值,則將所述黑客畫像添加至所述黑客畫像庫中。
[0015]
在上述技術方案中,優選地,對所述流量特征數據進行預處理的具體過程:將所述流量特征數據轉化為數值型特征數據;采用均值方差歸一化方法對所述流量特征數據進行標準化處理,使得所述流量特征數據的特征范圍處于預設的同一區間;采用borderline-smote過采樣算法對所述流量特征數據進行類不平衡數據處理。
[0016]
在上述技術方案中,優選地,所述異常流量分類器的構建及訓練方法為:所述異常流量分類器包括所述稀疏自編碼器sae和所述貝葉斯神經網絡bnn,數據由所述稀疏自編碼器sae輸入,所述稀疏自編碼器sae包括添加有稀疏性限制的隱藏層神經元,所述稀疏自編碼器sae編碼輸出的重構特征數據作為所述貝葉斯神經網絡bnn的輸入,所述貝葉斯神經網絡bnn包括前向傳播計算層、一維全連接層和softmax函數層;利用異常流量特征樣本數據及對應的正常或異常的分類結果分別作為所述異常流量分類器的輸入和輸出,對所述異常流量分類器進行訓練,直至所述異常流量分類器的分類結果損失值loss達到收斂閾值。
[0017]
在上述技術方案中,優選地,計算所述異常流量特征數據的數據連接向量相對于符合當前攻擊屬性特征的黑客數據的數據連接向量的相似度的具體過程包括:記錄所述異常流量特征數據對應的源ip、源端口、目的ip和目的端口形成該條異常流量特征數據對應的數據連接向量;獲取與該條異常流量特征數據相同攻擊屬性特征的所有異常網絡流量樣本數據
的數據連接向量;計算該條異常流量特征數據對應的數據連接向量與每條異常流量特征樣本數據的數據連接向量的余弦相似度,并將所有的余弦相似度求和取平均,計算得到總連接相似度,根據所述總連接相似度得到所述相似性特征。
[0018]
在上述技術方案中,優選地,所述黑客畫像庫的預構建過程包括:將異常流量特征樣本數據按照攻擊屬性特征進行分類,提取每條所述異常流量特征樣本數據的流量特征和時間特征,計算每條所述異常流量特征樣本數據對應的相似性特征;將每條所述異常流量特征樣本數據對應的所述流量特征、所述時間特征、所述攻擊屬性特征和所述相似性特征共同作為當前異常流量特征樣本數據對應攻擊黑客的黑客畫像,添加至所述黑客畫像庫中。
[0019]
本發明還提出一種基于黑客畫像的網絡攻擊者識別系統,應用于如上述技術方案中任一項公開的基于黑客畫像的網絡攻擊者識別方法,包括:數據特征提取模塊,用于收集網絡流量數據,提取所述網絡流量數據的流量特征和時間特征作為流量特征數據;異常數據分類模塊,用于對所述流量特征數據進行預處理,并輸入基于sae-bnn網絡模型構建及訓練的異常流量分類器,經過添加有稀疏性限制的隱藏層神經元的稀疏自編碼器sae進行編碼,并將編碼重構后的特征數據作為貝葉斯神經網絡bnn的輸入,經過前向傳播計算以及一維全連接層得到分類結果預測得分,經過softmax函數分類得到正常或異常的分類結果;數據特征計算模塊,用于針對異常流量特征數據,確定所述異常流量特征數據對應的攻擊屬性特征,并計算所述異常流量特征數據對應的數據連接向量相對于符合當前攻擊屬性特征的黑客數據的數據連接向量的相似度,得到相似性特征;異常數據匹配模塊,用于以所述異常流量特征數據對應的所述流量特征、所述時間特征、所述攻擊屬性特征和所述相似性特征作為黑客畫像,計算所述黑客畫像相對于預構建的黑客畫像庫中相同攻擊屬性特征畫像的相似度;攻擊黑客識別模塊,用于在與某畫像的相似度高于預設門限閾值時,判定該畫像對應黑客為當前異常流量特征數據的攻擊黑客;還用于在與所述黑客畫像庫中所有畫像的相似度均不高于所述預設門限閾值時,將所述黑客畫像添加至所述黑客畫像庫中。
[0020]
在上述技術方案中,優選地,所述異常數據分類模塊對所述流量特征數據進行預處理的具體過程:將所述流量特征數據轉化為數值型特征數據;采用均值方差歸一化方法對所述流量特征數據進行標準化處理,使得所述流量特征數據的特征范圍處于預設的同一區間;采用borderline-smote過采樣算法對所述流量特征數據進行類不平衡數據處理。
[0021]
在上述技術方案中,優選地,所述異常流量分類器的構建及訓練方法為:所述異常流量分類器包括所述稀疏自編碼器sae和所述貝葉斯神經網絡bnn,數據由所述稀疏自編碼器sae輸入,所述稀疏自編碼器sae包括添加有稀疏性限制的隱藏層神經元,所述稀疏自編碼器sae編碼輸出的重構特征數據作為所述貝葉斯神經網絡bnn的輸入,
所述貝葉斯神經網絡bnn包括前向傳播計算層、一維全連接層和softmax函數層;利用異常流量特征樣本數據及對應的正常或異常的分類結果分別作為所述異常流量分類器的輸入和輸出,對所述異常流量分類器進行訓練,直至所述異常流量分類器的分類結果損失值loss達到收斂閾值。
[0022]
在上述技術方案中,優選地,所述數據特征計算模塊計算所述異常流量特征數據的數據連接向量相對于符合當前攻擊屬性特征的黑客數據的數據連接向量的相似度的具體過程包括:記錄所述異常流量特征數據對應的源ip、源端口、目的ip和目的端口形成該條異常流量特征數據對應的數據連接向量;獲取與該條異常流量特征數據相同攻擊屬性特征的所有異常流量特征樣本數據的數據連接向量;計算該條異常流量特征數據的對應數據連接向量與每條異常流量特征樣本數據的數據連接向量的余弦相似度,并將所有的余弦相似度求和取平均,計算得到總連接相似度,根據所述總連接相似度得到所述相似性特征。
[0023]
在上述技術方案中,優選地,所述黑客畫像庫的預構建過程包括:將異常流量特征樣本數據按照攻擊屬性特征進行分類,提取每條所述異常流量特征樣本數據的流量特征和時間特征,計算每條所述異常流量特征樣本數據對應的相似性特征;將每條所述異常流量特征樣本數據對應的所述流量特征、所述時間特征、所述攻擊屬性特征和所述相似性特征共同作為當前異常流量特征樣本數據對應攻擊黑客的黑客畫像,添加至所述黑客畫像庫中。
[0024]
與現有技術相比,本發明的有益效果為:通過提取黑客的黑客屬性標簽、流量特征標簽、時間特征標簽與連接相似性標簽,共同構成黑客畫像,建立初始黑客畫像庫,然后對待識別的異常流量數據進行特征提取,通過分析相同攻擊類型黑客間的相似度,提取連接相似性標簽,在此基礎上,對識別出的異常流量用戶構建用戶畫像,由此對黑客進行精準的刻畫,按照相應的異常類型與初始畫像庫中的黑客進行匹配,提高了黑客識別效率,基于sae-bnn網絡模型的異常流量分類器可有效提高模型的泛化能力與識別效果。
附圖說明
[0025]
圖1為本發明一種實施例公開的基于黑客畫像的網絡攻擊者識別方法的流程示意圖;圖2為本發明一種實施例公開的基于sae-bnn網絡模型的異常流量分類器的模型結構示意圖;圖3為本發明一種實施例公開的黑客畫像的示例圖;圖4為本發明一種實施例公開的初始黑客畫像庫的構建過程示意圖;圖5為本發明一種實施例公開的基于黑客畫像的網絡攻擊者識別系統的模塊示意圖。
[0026]
圖中,各組件與附圖標記之間的對應關系為:1.數據特征提取模塊,2.異常數據分類模塊,3.數據特征計算模塊,4.異常數據匹
配模塊,5.攻擊黑客識別模塊。
具體實施方式
[0027]
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明的一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0028]
下面結合附圖對本發明做進一步的詳細描述:如圖1所示,根據本發明提供的一種基于黑客畫像的網絡攻擊者識別方法,包括:收集網絡流量數據,提取網絡流量數據的流量特征和時間特征作為流量特征數據;對流量特征數據進行預處理,并輸入基于sae-bnn網絡模型構建及訓練的異常流量分類器,經過添加有稀疏性限制的隱藏層神經元的稀疏自編碼器sae進行編碼,并將編碼重構后的特征數據作為貝葉斯神經網絡bnn的輸入,經過前向傳播計算以及一維全連接層得到分類結果預測得分,經過softmax函數分類得到正常或異常的分類結果;針對異常流量特征數據,確定異常流量特征數據對應的攻擊屬性特征,并計算異常流量特征數據對應的數據連接向量相對于符合當前攻擊屬性特征的黑客數據的數據連接向量的相似度,得到相似性特征;以異常流量特征數據對應的流量特征、時間特征、攻擊屬性特征和相似性特征作為黑客畫像,計算黑客畫像相對于預構建的黑客畫像庫中相同攻擊屬性特征畫像的相似度;若與某畫像的相似度高于預設門限閾值,則判定該畫像對應黑客為當前異常流量特征數據的攻擊黑客;若與黑客畫像庫中所有畫像的相似度均不高于預設門限閾值,則將黑客畫像添加至黑客畫像庫中。
[0029]
在該實施方式中,通過提取黑客的黑客屬性標簽、流量特征標簽、時間特征標簽與連接相似性標簽,共同構成黑客畫像,建立初始黑客畫像庫,然后對待識別的異常流量數據進行特征提取,通過分析相同攻擊類型黑客間的相似度,提取連接相似性標簽,在此基礎上,對識別出的異常流量用戶構建用戶畫像,由此對黑客進行精準的刻畫,按照相應的異常類型與初始畫像庫中的黑客進行匹配,提高了黑客識別效率,基于sae-bnn網絡模型的異常流量分類器可有效提高模型的泛化能力與識別效果。
[0030]
具體地,首先,進行網絡流量數據收集,對數據進行特征提取以及預處理后,屬于預先經過sae-bnn網絡模型訓練后的異常流量分類器,分類得到異常流量特征數據,然后對異常流量特征數據構建黑客畫像,并與初始黑客畫像庫中對應相同類型的黑客畫像進行匹配,根據匹配結果確定該未知黑客的身份,否則對此黑客構建新的黑客畫像,并對黑客畫像庫進行更新。
[0031]
其中,經過sae-bnn網絡模型進行訓練,能夠得到準確分類出不同異常類型的網絡流量數據的異常流量分類器,有效提高網絡流量數據的分類效果。
[0032]
在本發明的實施方式中,選用unsw-nb15數據集對網絡攻擊者識別方法進行實驗,
該數據集包含254萬條記錄,49個特征,9種攻擊類型,正常數據占比88%,攻擊數據占比12%,具體如下表所示:表1 unsw-nb15數據集通過對現有文獻進行總結以及對網絡黑客所發送的流量進行深入分析,提取網絡流量數據的流量特征與時間特征,具體方法如下:流量特征提取:流量特征具體包括目的端口、目的ip、字節數、協議類型這四項特征。
[0033]
正常用戶的目的端口和目的ip存在多樣性,而黑客在進行攻擊行為時,可能會針對某個ip或端口進行持續攻擊,因此目的端口和目的ip呈單一性,與正常用戶存在差異。目的ip與目的端口從流量接收者角度體現正常用戶與異常用戶的差異性。同一用戶的操作不同,字節數的大小也不同,而攻擊者有時會持續進行同種攻擊操作,導致字節數大小相差不大。不同的攻擊手段所依賴的協議類型也有所差異。字節數和協議類型能夠從流量發送者的角度體現正常用戶和異常用戶的差異性。
[0034]
時間特征提取:時間特征具體包括流量到達時間與流量持續時間,時間特征能夠在時間維度上體現出正常用戶和黑客以及不同黑客之間的差異性。
[0035]
來自正常用戶的流量一般無明顯的規律性,而且流量類型具有多樣性,總體符合網絡流量分布規律。而來自黑客的攻擊流量會集中在某一時間段,而且發送的通常都是同種類型的流量,不符合網絡流量分布規律。據此,可以區分是正常流量還是攻擊流量。
[0036]
在收集的網絡流量數據中,攻擊數據要遠少于正常數據,部分數據為非數值型數據,因此需要對數據進行預處理,優選地,對流量特征數據進行預處理的具體過程包括:將流量特征數據轉化為數值型特征數據;采用均值方差歸一化方法對流量特征數據進行標準化處理,使得流量特征數據的特征范圍處于預設的同一區間;采用borderline-smote過采樣算法對流量特征數據進行類不平衡數據處理。
[0037]
具體地,在實施過程中,處理方式如下:(1)數據類型轉化:由于提取的部分特征不是數值型特征,因此需要對這部分數據進行轉化。
[0038]
針對目的ip,將字符串類型的ip轉化為整形數據。ip地址包含四個字節,每個字節的取值范圍為0-225,對每個字節的數字用兩位16進制表示,若不足兩位則前面補0,得到4個16進制的數字,將其拼接為8位的16進制數字,轉換成10進制,即為ip地址的數值表示。例如一個ip地址為192.163.88.5,每個字節用16進制表示為c0,a3,58,05,拼接起來得到16進制數字c0a35805,將此數字轉換為10進制為3231930373,即為數值型ip地址。
[0039]
針對協議類型,將不同類型的協議按照出現順序進行排序,每個協議對應的順序數字即為此種協議的離散型數值特征。
[0040]
(2)數據標準化:經過轉化后的特征之間數值范圍相差過大,例如ip地址經轉化后數據可能是十萬或百萬級,但持續時間可能僅是毫秒級,當不同特征的范圍相差過大時,會明顯影響到分類結果和準確率,因此需要令不同的特征范圍處于同一區間。本發明通過均值方差歸一化來進行處理,使不同的特征符合均值為0,方差為1的正態分布,均值方差歸一化的公式如下所示:其中,x為需要被歸一化的值,x
scale
為歸一化后的值,μ為均值,s為標準差。
[0041]
(3)類不平衡數據處理:由于數據集中的攻擊數據遠少于正常數據,存在嚴重的類不平衡問題,使用不平衡數據訓練得到的分類器會使分類結果偏向類樣本多的標簽,導致分類的準確率虛高。常用的解決數據不平衡的方法有過采樣和欠采樣。欠采樣方法通過去除數據中的多數類樣本使正反例數目接近,但是去除的數據中可能包含一些對分類結果影響較大的數據,使分類器丟失一些對多數類樣本較為重要的信息。過采樣方法通過增加少數類樣本使正負例接近,達到平衡。為了避免由于信息缺失可能導致的分類準確率下降的問題,本發明使用過采樣方法來解決類不平衡問題。
[0042]
具體地,本發明通過borderline-smote過采樣算法對數據集進行類不平衡處理。boederline-smote方法是對smote方法的改進。smote算法的增加少數類樣本基本步驟如下:1)對少數類中的每個樣本,計算它到所有少數類樣本的歐式距離,得到k近鄰;2)根據采樣倍率n,對于每個少數類樣本x,從其k近鄰中隨機選擇若干個樣本y;3)對于每個樣本x和近鄰樣本y,通過下式合成新樣本。
[0043]
其中為合成的樣本點,rand(0,1)為0~1之間的隨機值,|x-y|為兩點間的距離。
[0044]
smote算法沒有考慮到周圍樣本的情況。如果周圍樣本大多為少數類樣本,那么合成的新樣本中有效信息不多;如果周圍樣本大多為多數類樣本,那么合成的樣本點可能是噪聲,影響分類結果。
[0045]
borderline-smote方法將少數類樣本分為三類,分別為safe類(樣本周圍一半以
上均為少數類),danger類(樣本周圍一半以上均為多數類,即邊界樣本點)和noise類(樣本周圍均為多數類),borderline-smote方法只會從danger類樣本中隨機選擇,用smote方法合成新樣本。與smote方法相比,borderline-smote方法只針對邊界樣本進行少數類的合成,使合成的少數樣本點的分布更加合理,增加的少數類樣本更加準確。
[0046]
通過borderline-smote過采樣方法增加網絡流量數據中的少量負類數據,使正負樣例達到平衡,提高模型的分類效果。
[0047]
如圖2所示,在上述實施方式中,優選地,異常流量分類器的構建及訓練方法為:異常流量分類器包括稀疏自編碼器sae和貝葉斯神經網絡bnn,經過預處理操作后的流量特征數據由稀疏自編碼器sae輸入,稀疏自編碼器sae包括添加有稀疏性限制的隱藏層神經元,優選為含有兩個隱藏層神經元的sae,經過sae的編碼得到降維后的對原始數據高效表達的重構特征。
[0048]
接著,稀疏自編碼器sae編碼輸出的重構特征數據轉化為分布形式的數據,作為貝葉斯神經網絡bnn的輸入,貝葉斯神經網絡bnn包括前向傳播計算層、一維全連接層和softmax函數層,對輸入的數據進行前向傳播計算,通過隱藏層將特征進行抽象,得到能更好劃分不同類型的數據,通過標準一維全連接層(dense層),得到分類結果預測得分,再通過softmax函數對異常流量數據分類,輸出分類結果(正常流量或攻擊流量)。
[0049]
在該異常流量分類器中,首先對網絡流量數據進行初步特征提取,然后通過sae對特征進行編碼,進一步優化特征的表達,最后利用bnn對sae提取的特征進行訓練,能夠有效提高模型的泛化能力與識別效果。其中,sae類似于人腦的工作方式,僅僅刺激某些神經元就可以完成指定的動作,通過對編碼器的隱藏層神經元添加稀疏性限制,對隱藏層神經元的大部分輸出進行抑制。因此,通過sae提取特征能夠壓縮輸入中的有效信息,提取重要特征。此外,由于貝葉斯神經網絡bnn的權重參數為隨機變量,并且與傳統的神經網絡通過損失函數擬合標簽的值不同,貝葉斯神經網絡擬合后驗分布,可以對預測分布進行學習,因而提高了網絡模型的魯棒性與泛化能力。兩者結合,能夠在提取較低維度特征的前提下,提高異常流量識別效果,并且對每種類型的異常流量均有不錯的識別效果。
[0050]
基于上述異常流量分類器的網絡模型結構,利用異常流量特征樣本數據及對應的正常或異常的分類結果分別作為異常流量分類器的輸入和輸出,對異常流量分類器進行訓練,直至異常流量分類器的分類結果損失值loss達到收斂閾值。將某一種攻擊流量的標簽標記為1,其余標記為0,視為正常數據,構建針對此種異常流量的分類器。對所有異常類型的流量分別訓練,得到能夠識別不同類型的異常流量分類器。
[0051]
基于上述訓練完成的異常流量分類器,將預處理后的流量特征數據輸入該分類器,得到正常或異常的分類結果。
[0052]
如圖3和圖4所示,針對異常流量特征數據,構建初始畫像庫時,可從訓練數據中直接獲取攻擊類型,作為攻擊屬性特征;對于待識別的異常流量特征數據,本發明通過為每個攻擊類型的數據分別構建分類器,依次對異常流量特征數據進行識別,得到異常流量特征數據的攻擊類型,作為攻擊屬性特征。
[0053]
進一步優選地,通過下式計算目的端口比:
s為相同攻擊類型下與此條攻擊數據相同的目的端口的個數,d為此攻擊類型的數據個數。
[0054]
不同的黑客,其目的端口比值差異通常較為明顯,例如黑客對單端口進行掃描攻擊時,相同端口數通較多,因而其目的端口比的值會較大。而對多端口進行掃描時,其“目的端口比”的值會較小。因此,“目的端口比”能夠有效的區分不同種類的黑客。
[0055]
進一步地,連接相似度的具體計算過程包括:記錄一條異常流量特征數據對應的源ip、源端口、目的ip和目的端口,可形成該條異常流量特征數據對應的數據連接向量,記為;獲取與該條異常流量特征數據相同攻擊屬性特征的所有異常網絡流量樣本數據的數據連接向量,記為;通過下式計算該條異常流量特征數據對應的數據連接向量與每條異常流量特征樣本數據的數據連接向量的余弦相似度,得到與的連接相似度simi:通過下式,將所有的(n個)余弦相似度求和取平均,計算得到總連接相似度sim,并根據總連接相似度得到相似性特征:。
[0056]
對惡意流量進行相似性分析,可以得到相似性特征,用來區分不同類型的黑客。而且同一黑客會在不同的時段進行攻擊,但是所實施的攻擊行為和手段是相同的,因此相似性特征會基本保持一致,所以此特征標簽還能夠識別出處于不同時段進行攻擊的同類型黑客。
[0057]
基于上述實施方式中計算得到的異常流量特征數據對應的流量特征、時間特征、攻擊屬性特征和相似性特征,共同作為該異常流量特征數據的攻擊黑客的黑客畫像,在黑客畫像庫中與相對應的攻擊屬性特征的黑客,通過計算余弦相似度,得到待檢測黑客與黑客畫像庫中黑客畫像的相似度。判斷黑客畫像相似度的最大值與門限閾值d。如果黑客用戶與黑客畫像庫中的黑客畫像相似度大于門限閾值d,則成功匹配,黑客畫像庫中存在與待識別黑客相同身份的黑客,確定該黑客的身份。
[0058]
如果與該攻擊類型中的所有黑客畫像都不能成功匹配,則證明此黑客是該攻擊類型中的新型黑客,將構建的黑客畫像添加到黑客畫像庫中,對初始黑客畫像庫進行更新。
[0059]
在上述實施方式中,優選地,黑客畫像庫的預構建過程包括:將異常流量特征樣本數據按照攻擊屬性特征進行分類,提取每條異常流量特征樣本數據的流量特征和時間特征,計算每條異常流量特征樣本數據對應的相似性特征;將每條異常流量特征樣本數據對應的流量特征、時間特征、攻擊屬性特征和相似性特征共同作為當前異常流量特征樣本數據對應攻擊黑客的黑客畫像,添加至黑客畫像庫
中。繼續為下一個黑客構建黑客畫像,直到每個攻擊種類的黑客畫像全部添加到黑客畫像庫中。
[0060]
如圖5所示,本發明還提出一種基于黑客畫像的網絡攻擊者識別系統,應用于如上述實施方式中任一項公開的基于黑客畫像的網絡攻擊者識別方法,包括:數據特征提取模塊1,用于收集網絡流量數據,提取網絡流量數據的流量特征和時間特征作為流量特征數據;異常數據分類模塊2,用于對流量特征數據進行預處理,并輸入基于sae-bnn網絡模型構建及訓練的異常流量分類器,經過添加有稀疏性限制的隱藏層神經元的稀疏自編碼器sae進行編碼,并將編碼重構后的特征數據作為貝葉斯神經網絡bnn的輸入,經過前向傳播計算以及一維全連接層得到分類結果預測得分,經過softmax函數分類得到正常或異常的分類結果;數據特征計算模塊3,用于針對異常流量特征數據,確定異常流量特征數據對應的攻擊屬性特征,并計算異常流量特征數據對應的數據連接向量相對于符合當前攻擊屬性特征的黑客數據的數據連接向量的相似度,得到相似性特征;異常數據匹配模塊4,用于以異常流量特征數據對應的流量特征、時間特征、攻擊屬性特征和相似性特征作為黑客畫像,計算黑客畫像相對于預構建的黑客畫像庫中相同攻擊屬性特征畫像的相似度;攻擊黑客識別模塊5,用于在與某畫像的相似度高于預設門限閾值時,判定該畫像對應黑客為當前異常流量特征數據的攻擊黑客;還用于在與黑客畫像庫中所有畫像的相似度均不高于預設門限閾值時,將黑客畫像添加至黑客畫像庫中。
[0061]
在上述實施方式中,優選地,異常數據分類模塊2對流量特征數據進行預處理的具體過程:將流量特征數據轉化為數值型特征數據;采用均值方差歸一化方法對流量特征數據進行標準化處理,使得流量特征數據的特征范圍處于預設的同一區間;采用borderline-smote過采樣算法對流量特征數據進行類不平衡數據處理。
[0062]
在上述實施方式中,優選地,異常流量分類器的構建及訓練方法為:異常流量分類器包括稀疏自編碼器sae和貝葉斯神經網絡bnn,數據由稀疏自編碼器sae輸入,稀疏自編碼器sae包括添加有稀疏性限制的隱藏層神經元,稀疏自編碼器sae編碼輸出的重構特征數據作為貝葉斯神經網絡bnn的輸入,貝葉斯神經網絡bnn包括前向傳播計算層、一維全連接層和softmax函數層;利用異常流量特征樣本數據及對應的正常或異常的分類結果分別作為異常流量分類器的輸入和輸出,對異常流量分類器進行訓練,直至異常流量分類器的分類結果損失值loss達到收斂閾值。
[0063]
在上述實施方式中,優選地,數據特征計算模塊3計算異常流量特征數據的數據連接向量相對于符合當前攻擊屬性特征的黑客數據的數據連接向量的相似度的具體過程包括:記錄異常流量特征數據對應的源ip、源端口、目的ip和目的端口形成該條異常流量特征數據對應的數據連接向量;
獲取與該條異常流量特征數據相同攻擊屬性特征的所有異常流量特征樣本數據的數據連接向量;計算該條異常流量特征數據的對應數據連接向量與每條異常流量特征樣本數據的數據連接向量的余弦相似度,并將所有的余弦相似度求和并取平均,計算得到總連接相似度,根據總連接相似度得到相似性特征。
[0064]
在上述實施方式中,優選地,黑客畫像庫的預構建過程包括:將異常流量特征樣本數據按照攻擊屬性特征進行分類,提取每條異常流量特征樣本數據的流量特征和時間特征,計算每條異常流量特征樣本數據對應的相似性特征;將每條異常流量特征樣本數據對應的流量特征、時間特征、攻擊屬性特征和相似性特征共同作為當前異常流量特征樣本數據對應攻擊黑客的黑客畫像,添加至黑客畫像庫中。
[0065]
根據上述實施方式公開的基于黑客畫像的網絡攻擊者識別系統,其應用如上述實施方式公開的基于黑客畫像的網絡攻擊者識別方法,在具體實施過程中,上述各模塊按照上述網絡攻擊者識別方法中的各步驟進行實施,在此不再贅述。
[0066]
以上僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
