本發(fā)明涉及一種基于svm機器學習的暗網(wǎng)流量識別模型的建立方法。
背景技術(shù):
匿名網(wǎng)絡(暗網(wǎng))流量的分析與控制,特別是流量檢測當前正處于探索研究階段,目前并沒有一種方法能夠有效檢測所有的匿名網(wǎng)絡流量,有的方法可能僅對某種匿名網(wǎng)絡有效,甚至僅對于某個版本有效,因此匿名網(wǎng)絡流量的檢測是一個永恒的研究課題,需要不斷的跟進研究,以應對匿名網(wǎng)絡的不斷升級變化,而提高匿名網(wǎng)絡流量檢測的準確率,關(guān)鍵在于流量識別模型建立的準確性上。本方法采用機器學習的方法,盡量準確的建立一個匿名網(wǎng)絡流量識別的數(shù)學模型,試圖將由于匿名網(wǎng)絡的升級變化給檢測帶來的影響降到最低,可以較準確的檢測出匿名網(wǎng)絡的流量。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的上述缺點,本發(fā)明提供了一種基于svm機器學習的暗網(wǎng)流量識別模型的建立方法,旨在為匿名網(wǎng)絡的流量識別建立一個動態(tài)變化而準確的數(shù)學模型。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種基于svm機器學習的暗網(wǎng)流量識別模型的建立方法,包括如下步驟:
步驟一、構(gòu)建基于svm的機器學習的流量檢測模型;
步驟二、對流量檢測模型中的參數(shù)進行機器學習,得到純凈匿名流量和純凈非匿名流量的四個特征值;
步驟三、將純凈匿名流量和純凈非匿名流量的四個特征值帶入到流量檢測模型中進行運算,得到流量檢測模型的參數(shù)。
與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果是:
通過本發(fā)明方法,可以非常準確地刻畫出匿名網(wǎng)絡數(shù)據(jù)流量識別的數(shù)學模型,應用于匿名網(wǎng)絡數(shù)據(jù)流量檢測中,檢測準確率高,運算簡單高效,并且當匿名網(wǎng)絡升級之后,由于該方法采用的是基于機器學習的算法,因此只要針對升級后的匿名網(wǎng)絡重新進行學習,便可以檢測出新的匿名網(wǎng)絡數(shù)據(jù)流量。
附圖說明
本發(fā)明將通過例子并參照附圖的方式說明,其中:
圖1為基于svm的流量檢測模型原理圖。
具體實施方式
一種基于svm機器學習的暗網(wǎng)流量識別模型的建立方法,包括如下步驟:
步驟一、模型建立
匿名網(wǎng)絡流量的檢測均是在建立數(shù)學模型的基礎上實施的,但目前大多數(shù)的檢測模型可能僅對某種匿名網(wǎng)絡有效,甚至僅對于某個版本有效,為了解決這一難題,有效應對匿名網(wǎng)絡的不斷升級變化,提高匿名網(wǎng)絡流量檢測的準確率,需要建立一種新型的匿名網(wǎng)絡流量檢測模型。
本方法中,檢測模型采用基于svm的機器學習的流量檢測模型,匿名網(wǎng)絡流量檢測模型如圖1所示:圖中x為輸入的特征向量,特征的數(shù)量為d;xn為采集的樣本,是d維向量;yn為期望輸出的值(1,-1),對應是或不是相應的匿名流量。該模型用數(shù)學表達式可以等價表示為:
y=kx+b
其中,k、b為匿名網(wǎng)絡流量識別模型的參數(shù),k為d維的權(quán)值向量,b為偏置量,在機器學習階段需要通過大量的x和y的輸入計算出該k和b的值,一旦完成匿名網(wǎng)絡流量識別模型建立即可對待測流量進行檢測,當y>0時,可判斷待測流量為對應的匿名流量,當y<0時,可判斷待測流量不是匿名流量。
步驟二、參數(shù)確定
流量檢測模型選定后,需要對模型中的參數(shù)進行機器學習以確定其參數(shù)值。機器學習的全過程中將分別學習對應匿名網(wǎng)絡純凈的匿名網(wǎng)絡流量和純凈的非匿名網(wǎng)絡流量(背景流量)的四個特征,針對收集到的所有流量按hostprofile格式重新進行分類,一個主機一個pacp文件,并以下述四個特征值進行匿名網(wǎng)絡流量識別的數(shù)學模型參數(shù)的自學習,這四個特征分別是:udp連接數(shù)、翻墻權(quán)值、udp流信息熵、流量中ping-pong相似報文出現(xiàn)頻數(shù)。它們的定義和計算方法如下:
(一)udp連接數(shù):單位時間內(nèi)每個pcap文件不同udp連接數(shù):
計算每個hostprofie(pcap)文件中總共的不同ip地址數(shù)量k,然后使用k除以hostprofile時間t,得到該特征值;
(二)翻墻權(quán)值:對亞馬遜服務器、動態(tài)網(wǎng)等敏感域名解析的次數(shù)乘以權(quán)值:
維護一個敏感dns查詢列表,不同的域名分配不同的權(quán)值,如果hostprofile中存在訪問敏感dns的查詢,則增加相應的翻墻權(quán)值;
(三)udp流信息熵:平均每個hostprofile中udp流信息熵大?。?/p>
對hostprofile中的每個udp流進行信息熵計算并求和,然后除以udp流的總數(shù),信息熵的定義為
(四)相似報文出現(xiàn)頻數(shù):ping-pong相似報文出現(xiàn)次數(shù):
統(tǒng)計hostprofile中連續(xù)數(shù)據(jù)包相似個數(shù),如果相似則次數(shù)加1。
機器學習完畢,將學習到的純凈匿名流量和純凈非匿名流量的四個特征值反復帶入到匿名網(wǎng)絡流量識別模型中進行運算,最后得到匿名網(wǎng)絡流量識別模型中的參數(shù)k和b,模型建立完成。
步驟三、模型驗證
構(gòu)建一個freegate的匿名網(wǎng)絡,在該匿名網(wǎng)絡環(huán)境中分別抓取足夠多的freegate匿名流量和非freegate的背景流量,針對某一臺主機分別計算出每個流量的四個特征:udp連接數(shù)、翻墻權(quán)值、udp流信息熵、流量中ping-pong相似報文出現(xiàn)頻數(shù),然后帶入到流量檢測的數(shù)學模型中進行運算,計算出模型中的參數(shù)k和b,該匿名網(wǎng)絡環(huán)境的流量檢測模型即構(gòu)建完成。
利用已構(gòu)建的匿名網(wǎng)絡流量檢測模型在該freegate匿名網(wǎng)絡環(huán)境中即可實時檢測到匿名網(wǎng)絡的流量數(shù)據(jù)。在機器學習過程中,學習的時間越長,獲取的流量數(shù)據(jù)越多,構(gòu)建的流量檢測模型越精確,后續(xù)的流量檢測也就越準確。