• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于機器學(xué)習(xí)的網(wǎng)絡(luò)異常流量分析系統(tǒng)

    2020-04-14 04:54:29方洋李旗張瑞霞
    電腦知識與技術(shù) 2020年4期

    方洋 李旗 張瑞霞

    摘要:該系統(tǒng)使用機器學(xué)習(xí)方法對異常流量進(jìn)行判別,設(shè)計一個異常流量的檢測模型,通過對HTTP請求頭字段進(jìn)行特征提取,形成多維特征庫,應(yīng)用到機器學(xué)習(xí)的高斯混合模型中,進(jìn)行驗證和評估。經(jīng)過測試證明特征計算方法在高斯混合模型中有較好的準(zhǔn)確率和召回率。

    關(guān)鍵詞:異常流量;特征計算;高斯混合模型;sklearn

    中圖分類號:TP393

    文獻(xiàn)標(biāo)識碼:A

    文章編號:1009-3044(2020)04-0024-02

    1 背景

    惡意軟件的傳播數(shù)量越來越多。根據(jù)國家互聯(lián)網(wǎng)應(yīng)急響應(yīng)中心[1](CNCERT)發(fā)布的安全報告,2018年,CNCERT全年捕獲計算機惡意程序樣本數(shù)量超過1億個,涉及計算機惡意程序家族51萬余個,較2017年增加8132個;全年計算機惡意程序傳播次數(shù)日均達(dá)500萬余次。在這背景下可以看出,惡意軟件對當(dāng)前社會帶來了巨大的影響,在如此大的威脅下,惡意軟件不僅對用戶和企業(yè)帶來直接的經(jīng)濟損失,它的快速變種能力也對研究人員和查殺技術(shù)帶來很大的困擾。傳統(tǒng)的通過靜態(tài)規(guī)劃匹配的網(wǎng)絡(luò)異常檢測方法在動態(tài)、復(fù)雜的網(wǎng)絡(luò)環(huán)境中難以檢測出未知異常和攻擊類型,不能滿足網(wǎng)絡(luò)安全檢測的要求,機器學(xué)習(xí)具有自學(xué)習(xí)、自演化的特性,可以適應(yīng)復(fù)雜多變的網(wǎng)絡(luò)環(huán)境,能夠檢測出未知的異常,滿足實時準(zhǔn)確檢測的需求[2]。本課題可以通過使用機器學(xué)習(xí)的方法,利用其自學(xué)習(xí)的特性,對異常流量進(jìn)行學(xué)習(xí),通過使用合適的機器學(xué)習(xí)算法,可以發(fā)現(xiàn)未知的異常流量。

    2 高斯混合模型和EM算法

    高斯混合模型(Gaussian Mixed Model,簡稱GMM)是用高斯概率密度函數(shù)(正態(tài)分布曲線)精確地量化事物,將一個事物分解為若干的基于高斯概率密度函數(shù)形成的模型。通俗地講,無論觀測數(shù)據(jù)集如何分布以及呈何種規(guī)律,都可以通過多個單一高斯模型的混合進(jìn)行擬合。

    高斯混合模型(GMM)就是指對樣本的概率密度分布進(jìn)行估計,而估計釆用的模型(訓(xùn)練模型)是幾個高斯模型的加權(quán)和(具體是幾個要在模型訓(xùn)練前建立好),每個高斯模型就代表了一個類(Cluster),對樣本中的數(shù)據(jù)分別在幾個高斯模型上投影,就會分別得到在各個類上的概率,然后我們可以選取概率最大的類所為判決結(jié)果[3]。

    期望最大(Expectation Maximization,簡稱EM)算法,稱為機器學(xué)習(xí)的十大算法之一。它是一種從不完全數(shù)據(jù)或有數(shù)據(jù)丟失的數(shù)據(jù)集中求解概率模型參數(shù)的最大似然估計方法。高斯混合模型由均值、協(xié)方差和混合系數(shù)共同決定,所以在進(jìn)行迭代的過程之前,首先需要為均值、協(xié)方差以及混合系數(shù)選擇一個初值,然后交替進(jìn)行期望步驟和最大化步驟[4]。

    與K-means算法相比,EM算法在達(dá)到收斂之前經(jīng)歷了更多次的迭代,每次迭代都需要更多的計算量,因此,通常在進(jìn)行高斯混合模型訓(xùn)練時,用K-means算法找到高斯混合模型的一個合適的初始化值,接下來用EM算法進(jìn)行迭代求解,可以方便地將協(xié)方差矩陣初始化為通過K-means算法找到的聚類樣本協(xié)方差,混合系數(shù)可以被初始化為分配到相應(yīng)聚類中的數(shù)據(jù)點所占的比例。

    3 異常流量檢測

    3.1 數(shù)據(jù)預(yù)處理

    3.1.1 樣本收集

    本課題使用的數(shù)據(jù)集UNSW-NB15[5]來自新南威爾士大學(xué),數(shù)據(jù)集包含研究人員分析出的CSV標(biāo)記集和數(shù)據(jù)集的PCAP原始流量,該數(shù)據(jù)集是在linux下使用tcpdump分別在2015年1月22日和2015年2月17日進(jìn)行捕獲,其中包含了許多正常的上網(wǎng)流量和異常流量。同時我們需要單獨的惡意樣本對訓(xùn)練模型進(jìn)行驗證。惡意樣本主要來自MALWARE-TRAFFIC-ANALYSIS.NET,該網(wǎng)站上包含了自從2013年以來安全研究員分析的惡意軟件樣本,網(wǎng)絡(luò)流量樣本,以及惡意軟件行為。

    3.1.2 HTTP流量提取

    根據(jù)課題的研究背景,本系統(tǒng)主要分析流量中的HTTP協(xié)議,因此在對數(shù)據(jù)集的提取過程中,只需要提取HTTP流量作為數(shù)據(jù)集,并根據(jù)需要對HTTP請求頭部進(jìn)行字段的提取。

    目前需要的字段主要有:Method,URI,Version,Host,User-Agent,Accept,Connection,Content-type,共8個字段的信息以及一些標(biāo)識字段:時間,源端口,源IP,目的端口,目的IP共5個字段的信息,并將這些字段信息保存在CSV(逗號分隔符)文件中。

    3.1.3 數(shù)據(jù)集處理

    UNSW-NB15數(shù)據(jù)集中提供了惡意流量標(biāo)記集,該標(biāo)記集中包含對原始流量中發(fā)生的惡意事件進(jìn)行分析,包括HTTP的異常流量、惡意軟件的產(chǎn)生的流量和各種0day漏洞的利用過程中產(chǎn)生的流量,分析的結(jié)果包含流量的開始時間,結(jié)束時間,攻擊類別,協(xié)議,源IP,源端口,目的IP,目的端口,攻擊名稱,攻擊參考等信息。

    通過標(biāo)記集給定的信息,對原始中的HTTP異常流量進(jìn)行提取,按照所需字段存儲在CSV格式文件中,并在最后新增字段,以數(shù)字1表示異常流量,并對其他HTTP流量也進(jìn)行字段提取,以數(shù)字0表示正常流量,最終得到異常流量數(shù)據(jù)集25535條,正常流量數(shù)據(jù)集26215條。

    3.1.4 數(shù)據(jù)集劃分

    根據(jù)2.6.3中提取出的數(shù)據(jù)集,將數(shù)據(jù)集中異常流量和正常流量以1:1的比例混合而成,這里將使用25000條異常流量和25000條正常流量組成數(shù)據(jù)集并將其劃分為訓(xùn)練集和測試集,使用sklearn模塊中的train_test_split()方法,將數(shù)據(jù)集的70%劃分為訓(xùn)練集,30%劃分為測試集。

    3.2 機器學(xué)習(xí)算法應(yīng)用

    3.2.1 特征提取

    通常異常流量在Host,URI,User-Agent這三個字段特異性較高,為了減少模板數(shù)量,需要對這三個字段進(jìn)行泛化。對于URI字段,將字母部分用符號“#”代替,數(shù)字部分用符號“@”代替。

    對于HTTP流量頭部的每個字段,我們需要對出現(xiàn)的每個關(guān)鍵詞分配一個分?jǐn)?shù),要獲取關(guān)鍵詞,需要對字段進(jìn)行分詞處理,這里將通過空格,符號符號“,”,符號“二”對字段進(jìn)行分詞,并通過計算關(guān)鍵詞的條件概率作為分?jǐn)?shù),對于一個字段中包含多個關(guān)鍵詞的處理方法,使用加權(quán)平均的方法對整個字段進(jìn)行分?jǐn)?shù)計算,加權(quán)平均使用的權(quán)值為關(guān)鍵詞在字段值所處的位置。

    通過對HTTP流量所需字段的分?jǐn)?shù)計算,最終得到的是包含所有字段的分?jǐn)?shù)組成的矩陣,該分?jǐn)?shù)矩陣就是接下來高斯混合模型所需要的訓(xùn)練數(shù)據(jù)。

    使用高斯混合模型對訓(xùn)練數(shù)據(jù)進(jìn)行均值計算,發(fā)現(xiàn)該分?jǐn)?shù)矩陣的均值,在URI,Host,User-Agent這三個字段區(qū)別很明顯,因此初步認(rèn)為,這三個字段是判斷正常流量和異常流量的關(guān)鍵。

    3.2.2 模型訓(xùn)練

    使用sklearn中的GaussianMixture方法,對數(shù)據(jù)集進(jìn)行高斯混合模型的訓(xùn)練,同時,使用sklearn中的LogisticRegression方法,對URI數(shù)據(jù)集進(jìn)行訓(xùn)練,通過調(diào)整參數(shù),將得分最好的模型保存起來,用于對新的未知數(shù)據(jù)進(jìn)行測試。

    3.2.3 參數(shù)設(shè)置

    (1)對于GaussianMixture方法,將參數(shù)設(shè)置為以下:

    ① n_components=2,表示高斯模型個數(shù),相當(dāng)于分類中類別的數(shù)量

    ② init_paramS=,kmeans,,表示初始化參數(shù)的實現(xiàn)方法,這里使用默認(rèn)值

    ③ covariance_type=,fuir,表示協(xié)方差類型,使用full表示使用完全協(xié)方差矩陣

    ④ random_state=0,表示隨機數(shù)種子,使用默認(rèn)值

    ⑵對于LogisticRegression方法將參數(shù)設(shè)置為如下:

    ① class_weight:(1:2*validCount/badCount,0:1.0),表2K惡意樣本所占的權(quán)重為2*正常樣本/惡意樣本,而正常樣本所占的權(quán)重為1,這樣做是為了避免樣本不均衡的問題,在后面章節(jié)會介紹對于樣本不均衡問題時,可以通過設(shè)置權(quán)重來解決。

    ② 其他均使用默認(rèn)參數(shù)

    4 系統(tǒng)測試

    通過訓(xùn)練的結(jié)果可以看到,在訓(xùn)練集上通過機器學(xué)習(xí)的模型評估依據(jù)可以看到準(zhǔn)確率為86.62%,精確率為78.83%,召回率為87%,AUC的值為92.24%,說明該模型是可用的,通過對訓(xùn)練數(shù)據(jù)劃分比例進(jìn)行調(diào)整,發(fā)現(xiàn)即使訓(xùn)練數(shù)據(jù)劃分為90%,得到的結(jié)果并沒有明顯的提升,此時判斷模型為欠擬合,根據(jù)查閱相關(guān)資料得知,高斯混合模型為生成模型,對數(shù)據(jù)集要求比較大,數(shù)據(jù)集越大,越能很好的估計概率密度,而目前使用的數(shù)據(jù)集一共才5萬條,對于網(wǎng)絡(luò)流量來說,還遠(yuǎn)遠(yuǎn)不夠,相信在擁有更豐富數(shù)據(jù)集的情況下,訓(xùn)練的效果會更好,而且分類效果也會更好。

    5 總結(jié)

    本課題主要是根據(jù)使現(xiàn)有的技術(shù)和算法,實現(xiàn)一個能對網(wǎng)絡(luò)上數(shù)據(jù)包進(jìn)行實時檢測或?qū)?shù)據(jù)包文件進(jìn)行檢測的系統(tǒng),通過提取HTTP流量中請求頭的字段,經(jīng)過模板自動化生成算法,將數(shù)據(jù)轉(zhuǎn)換為高斯混合模型中使用的分?jǐn)?shù)矩陣,之后使用高斯混合模型進(jìn)行訓(xùn)練得到最終的評定模型,可以對異常流量做出判斷因為訓(xùn)練數(shù)據(jù)量不夠的問題導(dǎo)致對異常流量判斷準(zhǔn)確度不是很高的情況,只要擁有足夠多的數(shù)據(jù)量進(jìn)行訓(xùn)練,該系統(tǒng)的檢測效果會更加準(zhǔn)確。

    參考文獻(xiàn):

    [1] 國家計算機網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心.2018年我國互聯(lián)網(wǎng)網(wǎng)絡(luò)安全態(tài)勢綜述[J].國家互聯(lián)網(wǎng)應(yīng)急響應(yīng)中心,2019.04.

    [2] 陳勝侏國勝,祁小云,等.基于機器學(xué)習(xí)的網(wǎng)絡(luò)異常流量檢測研究[J].信息通信,2017,30(12):39-42.

    [3] 海沫,張游.Spark平臺下聚類算法的性能比較[J].計算機科學(xué),2017,44(81):414-418.

    [4] 于冰潔.基于高斯模型的異常檢測算法[D].徐州:中國礦業(yè)大學(xué),2017.

    [5] TheUNSW—NB15dataset.https://www.unsw.adfa.edu.au/un-sw—Canberra—cyber/cybersecurity/ADFA—NB15—Datasets/.

    [通聯(lián)編輯:代影]

    左云县| 库车县| 玉林市| 周口市| 双城市| 梅州市| 阜新市| 宜都市| 环江| 长顺县| 顺昌县| 双峰县| 专栏| 康乐县| 丹巴县| 荣昌县| 云浮市| 景洪市| 阳江市| 方正县| 阳山县| 铜陵市| 临猗县| 余庆县| 聂荣县| 永胜县| 临泉县| 乌鲁木齐市| 依安县| 庆城县| 将乐县| 英吉沙县| 资阳市| 稷山县| 友谊县| 峨眉山市| 安远县| 富民县| 甘孜| 尚志市| 隆昌县|