谷洪彬 楊希 魏孔鵬
摘要: 網(wǎng)絡(luò)安全態(tài)勢感知技術(shù)是一種基于環(huán)境的、動態(tài)的、整體的數(shù)據(jù)融合方法,可以從宏觀角度把數(shù)據(jù)融合起來,是網(wǎng)絡(luò)安全強有力的監(jiān)控技術(shù)和保障技術(shù)。通過機(jī)器學(xué)習(xí)算法發(fā)現(xiàn)數(shù)據(jù)之間的相關(guān)性,可以發(fā)現(xiàn)數(shù)據(jù)之間潛在的聯(lián)系。高斯樸素貝葉斯是機(jī)器學(xué)習(xí)中較為通用的一種算法,通過對KDD CUP99數(shù)據(jù)集的訓(xùn)練和測試,得到的模型有效地對網(wǎng)絡(luò)安全測試數(shù)據(jù)進(jìn)行了預(yù)測。
關(guān)鍵詞: 高斯樸素貝葉斯; 網(wǎng)絡(luò)安全; 態(tài)勢感知; KDD CUP99數(shù)據(jù)集
中圖分類號:T9391.4? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ?文章編號:1006-8228(2021)10-64-04
Research and application of key technologies for network security situation
awareness based on Gaussian Naive Bayes
Gu Hongbin, Yang Xi, Wei Kongpeng
(Panjin Vocational & Technical College, Panjin, Liaoning 124000, China)
Abstract: Network security situation awareness technology is an environment-based, dynamic, overall data integration method, which can integrate data from a macro perspective, and is a powerful monitoring technology and guarantee technology of network security. Potential associations between data can be found by machine learning algorithms. Gaussian Naive Bayes is a general algorithm in machine learning, by training and testing on the KDD CUP99 dataset, the obtained model effectively predicts the testing data of network security.
Key words: Gaussian Naive Bayes; network security; situation awareness; KDD CUP99 dataset
0 引言
態(tài)勢感知技術(shù)是網(wǎng)絡(luò)安全強有力的監(jiān)控技術(shù)和保障技術(shù),面對傳統(tǒng)網(wǎng)絡(luò)安全技術(shù)無法較好地檢測網(wǎng)絡(luò)狀態(tài)和探究其變化規(guī)律等問題,本文結(jié)合機(jī)器學(xué)習(xí)和大數(shù)據(jù)在分析、預(yù)測方面的優(yōu)勢,通過數(shù)據(jù)融合的方式將入侵檢測系統(tǒng)、日志文件、防火墻、網(wǎng)絡(luò)設(shè)備等數(shù)據(jù)進(jìn)行歸一化操作,然后基于這些統(tǒng)一的數(shù)據(jù)進(jìn)行進(jìn)一步的態(tài)勢評估和預(yù)測。并對不同機(jī)器學(xué)習(xí)算法在網(wǎng)絡(luò)安全態(tài)勢感知評估與預(yù)測效果以及數(shù)據(jù)訓(xùn)練耗時方面進(jìn)行了對比。
1 網(wǎng)絡(luò)安全態(tài)勢感知的相關(guān)概念
狀態(tài)是指一個物質(zhì)系統(tǒng)中各個對象所處的狀況,由一組測度來表征,態(tài)勢是系統(tǒng)中各個對象狀態(tài)的綜合,是一個整體和全局的概念。任何單一的狀態(tài)均不能成為態(tài)勢,它強調(diào)系統(tǒng)及系統(tǒng)中對象之間的關(guān)系[1]。態(tài)勢感知是指獲取一個系統(tǒng)中各對象要素的數(shù)據(jù),以及對這些數(shù)據(jù)表征的系統(tǒng)的理解和預(yù)測。
文獻(xiàn)[2]探討了網(wǎng)絡(luò)安全態(tài)勢感知的概念,認(rèn)為它是“在大規(guī)模網(wǎng)絡(luò)環(huán)境中,對能夠引起網(wǎng)絡(luò)態(tài)勢發(fā)生變化的安全要素進(jìn)行獲取、理解、顯示以及預(yù)測未來的發(fā)展趨勢”。
國外對網(wǎng)絡(luò)安全態(tài)勢感知的研究開始得較早且相對系統(tǒng)化,最早是1988年Endsley定義網(wǎng)絡(luò)安全態(tài)勢感知分為三步,即“在網(wǎng)絡(luò)的特定時空環(huán)境下,對網(wǎng)絡(luò)要素的獲取、態(tài)勢理解、對未來的預(yù)測”,如圖1所示。
2 網(wǎng)絡(luò)安全態(tài)勢感知的關(guān)鍵技術(shù)
文獻(xiàn)[3]對網(wǎng)絡(luò)安全態(tài)勢評估的算法有較大篇幅的論述,該文把網(wǎng)絡(luò)安全態(tài)勢評估的算法分為以下幾類:基于邏輯關(guān)系的融合方法、基于數(shù)學(xué)模型的融合方法、基于概率統(tǒng)計的融合方法、基于規(guī)則推理的融合方法。在網(wǎng)絡(luò)安全態(tài)勢預(yù)測方面,一般采用神經(jīng)網(wǎng)絡(luò)、時間序列預(yù)測法和支持向量機(jī)等方法。
文獻(xiàn)[4]對網(wǎng)絡(luò)安全態(tài)勢評估的算法分為以下三類:知識推理方法、統(tǒng)計方法、灰度理論方法。
文獻(xiàn)[5]對網(wǎng)絡(luò)安全態(tài)勢感知的關(guān)鍵技術(shù)分為基于層次化分析、機(jī)器學(xué)習(xí)、免疫系統(tǒng)、博弈論的態(tài)勢感知方法。
從以上三篇綜述文章可以看出,在網(wǎng)絡(luò)安全態(tài)勢感知研究的早期,屬于機(jī)器學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)、時間序列預(yù)測法和支持向量機(jī)等方法,僅用于網(wǎng)絡(luò)安全態(tài)勢預(yù)測方面。如今,機(jī)器學(xué)習(xí)正逐漸成為網(wǎng)絡(luò)安全態(tài)勢感知技術(shù)中一個單獨的分類。以“機(jī)器學(xué)習(xí)”和“網(wǎng)絡(luò)安全態(tài)勢”為關(guān)鍵字檢索到七篇論文[6-12]均為2015年之后發(fā)表的碩士和博士論文,說明應(yīng)用機(jī)器學(xué)習(xí)技術(shù)進(jìn)行網(wǎng)絡(luò)安全態(tài)勢感知的研究,所涵蓋的知識深度和內(nèi)容足夠廣泛。
3 基于樸素貝葉斯的網(wǎng)絡(luò)安全態(tài)勢感知技術(shù)研究
3.1 樸素貝葉斯
樸素貝葉斯方法是基于貝葉斯定理的一組有監(jiān)督學(xué)習(xí)算法,即“樸素”地假設(shè):每對特征之間相互獨立。給定一個類別y和一個從x1到xn的相關(guān)的特征向量,貝葉斯定理闡述了以下關(guān)系:
[Py|x1,…,xn= PyP(x1,…,xn|y)P(x1,…,xn)]? ⑴
使用樸素(naive)的假設(shè)-每對特征之間都相互獨立:
[P(xi|y,x1,…,xi-1,xi+1,…xn) =P(xi|y)]? ? ⑵
對于所有的i都成立,這個關(guān)系式可以簡化為
[Py|x1,…,xn= P(y)i=1nP(xi|y)P(x1,…,xn)]? ⑶
由于在給定的輸入中P(x1,…,xn)是一個常量,我們使用下面的分類規(guī)則:
[Py|x1,…,xn∝P(y)inP(xi|y)]? ?⑷
[y= argmaxyP(y)i=1nP(xi|y)]? ⑸
我們可以使用最大后驗概率(Maximum A Posteriori, MAP) 來估計P (y) 和P (xi|y); 前者是訓(xùn)練集中類別y的相對頻率。
各種各樣的樸素貝葉斯分類器的差異,大部分來自于處理P (xi|y)分布時的所做的假設(shè)不同。
盡管其假設(shè)過于簡單,在很多實際情況下,樸素貝葉斯工作得很好,特別是文檔分類和垃圾郵件過濾。這些工作都要求一個小的訓(xùn)練集來估計必需參數(shù)。
相比于其他更復(fù)雜的方法,樸素貝葉斯學(xué)習(xí)器和分類器非??焖?。分類條件分布的解耦意味著可以獨立單獨地把每個特征視為一維分布來估計。這樣反過來有助于緩解維度災(zāi)難帶來的問題。
另一方面,盡管樸素貝葉斯被認(rèn)為是一種相當(dāng)不錯的分類器,但卻不是好的估計器(estimator),所以,不能太過于重視從predict_proba輸出的概率。
樸素貝葉斯是一類比較簡單的算法,scikit-learn中樸素貝葉斯類庫的使用也比較簡單。相對于決策樹,KNN之類的算法,樸素貝葉斯需要關(guān)注的參數(shù)是比較少的,這樣也比較容易掌握。在scikit-learn中,一共有四個樸素貝葉斯的分類算法類。分別是GaussianNB,ComplementNB,MultinomialNB和BernoulliNB。其中GaussianNB就是先驗為高斯分布的樸素貝葉斯,MultinomialNB就是先驗為多項式分布的樸素貝葉斯,而BernoulliNB就是先驗為伯努利分布的樸素貝葉斯。
這三個類適用的分類場景各不相同,一般來說,如果樣本特征的分布大部分是連續(xù)值,使用GaussianNB會比較好。如果樣本特征的分大部分是多元離散值,使用MultinomialNB比較合適。而如果樣本特征是二元離散值或者很稀疏的多元離散值,應(yīng)該使用BernoulliNB。ComplementNB實現(xiàn)了補充樸素貝葉斯(CNB)算法。CNB是標(biāo)準(zhǔn)多項式樸素貝葉斯(MNB)算法的一種改進(jìn),特別適用于不平衡數(shù)據(jù)集。具體來說,CNB使用來自每個類的補數(shù)的統(tǒng)計數(shù)據(jù)來計算模型的權(quán)重。CNB的發(fā)明者的研究表明,CNB的參數(shù)估計比MNB的參數(shù)估計更穩(wěn)定。此外,CNB在文本分類任務(wù)上通常比MNB表現(xiàn)得更好(通常有相當(dāng)大的優(yōu)勢)。
根據(jù)要處理的數(shù)據(jù)的特征,高斯樸素貝葉斯算法更適合要處理的數(shù)據(jù),其原理如下:
GaussianNB實現(xiàn)了運用于分類的高斯樸素貝葉斯算法。特征的可能性(即概率)假設(shè)為高斯分布:
[Pxi|y= 12πδ2exp (-(xi-μy)22σ2y)]? ?⑹
參數(shù)[σy]和[μy]使用最大似然法估計。
3.2 網(wǎng)絡(luò)安全態(tài)勢感知數(shù)據(jù)集
利用機(jī)器學(xué)習(xí)對網(wǎng)絡(luò)安全態(tài)勢感知進(jìn)行研究,需要足夠數(shù)據(jù)的數(shù)據(jù)集。數(shù)據(jù)集可以采用私有數(shù)據(jù)集,也可以采用公開的數(shù)據(jù)集。采用公開的數(shù)據(jù)集的好處是很多已公開發(fā)布的研究成果采用的是公開的數(shù)據(jù)集,不同研究成果算法之間可以在同一基礎(chǔ)上進(jìn)行比較和借鑒。公開的可以獲得的網(wǎng)絡(luò)安全數(shù)據(jù)集包括:KDD CUP99數(shù)據(jù)集、CICIDS2017數(shù)據(jù)集、HoneyNet-data數(shù)據(jù)集等。
本文采用的數(shù)據(jù)集是KDD CUP99數(shù)據(jù)集。該數(shù)據(jù)集是從一個模擬的美國空軍局域網(wǎng)上采集來的9個星期的網(wǎng)絡(luò)連接數(shù)據(jù),分成具有標(biāo)識的訓(xùn)練數(shù)據(jù)和未加標(biāo)識的測試數(shù)據(jù)。測試數(shù)據(jù)和訓(xùn)練數(shù)據(jù)有著不同的概率分布,測試數(shù)據(jù)包含了一些未出現(xiàn)在訓(xùn)練數(shù)據(jù)中的攻擊類型,這使得入侵檢測更具有現(xiàn)實性。在訓(xùn)練數(shù)據(jù)集中包含了一種正常的標(biāo)識類型normal和22種訓(xùn)練攻擊類型,如表1所示。
另外有14種攻擊僅出現(xiàn)在測試數(shù)據(jù)集中。KDDCUP99訓(xùn)練數(shù)據(jù)集中每個連接記錄包含了41個固定的特征屬性和1個類標(biāo)識,標(biāo)識用來表示該條連接記錄是正常的,或是某個具體的攻擊類型。在41個固定的特征屬性中,9個特征屬性為離散(symbolic)型,其他均為連續(xù)(continuous)型。KDD CUP99數(shù)據(jù)集由500萬條記錄構(gòu)成,特征屬性采用41個特征屬性中的duration、wrong_fragment、num_failed_logins、logged_in、root_shell、dst_host_same_src_port_rate、dst_host_
serror_rate、dst_host_rerror_rate這8個特征屬性。
3.3 數(shù)據(jù)預(yù)處理
數(shù)據(jù)的預(yù)處理包括數(shù)據(jù)的歸一化和數(shù)據(jù)的標(biāo)準(zhǔn)化、標(biāo)簽編碼。
數(shù)據(jù)的歸一化,是將訓(xùn)練集和測試集中某一列特征的值縮放到0和1之間。方法如下:
[Xnorm= X- XminXmax- Xmin]? ?⑺
數(shù)據(jù)的標(biāo)準(zhǔn)化,是將訓(xùn)練集和測試集中某一列特征的值縮成均值為0,方差為1的狀態(tài)。方法如下:
[z= x- μσ]? ?⑻
3.4 基于scikitlearn類庫的高斯樸素貝葉斯算法的實現(xiàn)和評估
機(jī)器學(xué)習(xí)類庫scikitlearn包含了高斯樸素貝葉斯算法的實現(xiàn),可以用以下幾行代碼實現(xiàn):
# 高斯樸素貝葉斯
fromsklearn.naive_bayes import GaussianNB
gnb=GaussianNB()
gnb.fit(X_train, y_train)
y_pred=gnb.predict(X_test)
evaluation(y_test,y_pred,index_name=['gnb'])
對KDD CUP99數(shù)據(jù)集應(yīng)用高斯樸素貝葉斯算法的效果如下:
平均絕對誤差:0.1373
均方差:0.2736
訓(xùn)練時間:0.02454毫秒
4 結(jié)束語
機(jī)器學(xué)習(xí)技術(shù)經(jīng)過幾年的飛速發(fā)展日趨成熟,在應(yīng)用機(jī)器學(xué)習(xí)算法到網(wǎng)絡(luò)安全態(tài)勢感知評估和預(yù)測方面,可以利用已有的第三方模塊中的模型便捷地進(jìn)行數(shù)據(jù)的訓(xùn)練和測試及預(yù)測。利用高斯樸素貝葉斯算法對所采用的數(shù)據(jù)集進(jìn)行訓(xùn)練,可以達(dá)到較為良好的效果。本文只對特定的數(shù)據(jù)集中數(shù)據(jù)的部分特征進(jìn)行了訓(xùn)練,需要進(jìn)一步研究的是對所選數(shù)據(jù)集的全部特征訓(xùn)練需要縮短訓(xùn)練時間。也需要對其他數(shù)據(jù)集進(jìn)行訓(xùn)練和模型構(gòu)建,驗證高斯樸素貝葉斯算法對其他數(shù)據(jù)集的有效性。
參考文獻(xiàn)(References):
[1] Wang HQ, Lai JB, Zhu L, Liang Y. Survey of network situation awareness system.Journal of Computer Science(in Chinese with English abstract),2006.33(10):5?10
[2] Trusted Computing Group. TCG Specification architecture overview specification revision 1. 2[EB/OL.[2011-04-15]. http://www.trustedcomputinggroup.org/
[3] 席榮榮,云曉春,金舒原,張永錚.網(wǎng)絡(luò)安全態(tài)勢感知研究綜述[J].計算機(jī)應(yīng)用,2012.32(1):1-4,59
[4] 龔儉,臧小東,蘇琪,胡曉艷,徐杰.網(wǎng)絡(luò)安全態(tài)勢感知綜述[J].軟件學(xué)報,2017.28(4):1010-1026
[5] 石樂義,劉佳,劉祎豪,朱紅強,段鵬飛.網(wǎng)絡(luò)安全態(tài)勢感知研究綜述[J].計算機(jī)工程與應(yīng)用,2019,55(24):1-9.
[6] 程家根.基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)安全態(tài)勢感知模型研究與實現(xiàn)[D].南京郵電大學(xué),2020.
[7] 李營.基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)安全態(tài)勢感知系統(tǒng)的研究與實現(xiàn)[D].北京郵電大學(xué),2020.
[8] 金磊.網(wǎng)絡(luò)認(rèn)知下基于機(jī)器學(xué)習(xí)的智能化安全態(tài)勢研究[D].北京郵電大學(xué),2020.
[9] 蔡元凱.基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)安全態(tài)勢評估方法研究[D].安徽理工大學(xué),2020.
[10] 李欣濤.基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)安全態(tài)勢感知系統(tǒng)設(shè)計與實現(xiàn)[D].北京郵電大學(xué),2020.
[11] 錢國慶.基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)安全態(tài)勢感知[D].電子科技大學(xué),2019.
[12] 許建華.基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)安全態(tài)勢預(yù)測方法的研究與實現(xiàn)[D].北京郵電大學(xué),2016.