国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

利用BP神經(jīng)網(wǎng)絡(luò)分析檢測網(wǎng)絡(luò)時序型隱信道

2018-07-04 13:12張宇飛肖漢黃劉生
關(guān)鍵詞:特征提取信道神經(jīng)元

張宇飛,沈 瑤,楊 威,肖漢,黃劉生

1(中國科學(xué)技術(shù)大學(xué) 蘇州研究院,江蘇 蘇州 215123)2(中國科學(xué)技術(shù)大學(xué) 軟件學(xué)院,江蘇 蘇州 215123)3(中國科學(xué)技術(shù)大學(xué) 計算機(jī)學(xué)院,合肥 230026)

1 引 言

隱信道技術(shù)是近年來發(fā)展起來的一種新型的隱秘通信技術(shù).它利用網(wǎng)絡(luò)通信機(jī)制中的漏洞,秘密地嵌入隱蔽信息,從而繞過網(wǎng)絡(luò)中的安全檢查機(jī)制,達(dá)到隱秘傳輸?shù)哪康?相比傳統(tǒng)的加密技術(shù),隱信道技術(shù)在隱藏傳輸信息的內(nèi)容的同時,還隱藏了傳輸信息的行為,因而具有更強(qiáng)的隱蔽性.隨著密碼學(xué)和密文破解技術(shù)的發(fā)展,加密技術(shù)的安全性正在受到挑戰(zhàn),而對于隱信道技術(shù)的防范措施的研究工作目前尚處于起步階段.一旦隱信道技術(shù)被不法分子掌握,隱信道技術(shù)結(jié)合木馬、病毒等傳統(tǒng)的攻擊手段將會對信息安全和個人隱私保護(hù)造成極大的威脅.因此對于隱信道檢測技術(shù)的研究是有意義的.

人工神經(jīng)網(wǎng)絡(luò)是通過模擬生物神經(jīng)系統(tǒng)工作原理而建立的一種計算模型.通過神經(jīng)網(wǎng)絡(luò)可以使計算機(jī)擁有思考和分析問題的能力.善于處理非線性分類問題是神經(jīng)網(wǎng)絡(luò)的主要特征之一.因此,筆者將嘗試把神經(jīng)網(wǎng)絡(luò)模型引入到隱信道檢測工作中,以克服已有檢測技術(shù)對于非線性分類問題的局限性,同時為檢測模型賦予自適應(yīng)、自學(xué)習(xí)正常信道數(shù)據(jù)特征的能力.

本文主要貢獻(xiàn)如下:

1)提出了基于BP神經(jīng)網(wǎng)絡(luò)的時序型隱信道檢測模型,詳細(xì)介紹了檢測模型的體系結(jié)構(gòu)設(shè)計.

2)解決了已有算法對于非線性分類情景的局限性和檢測窗口大小設(shè)定無確定標(biāo)準(zhǔn)的問題.

3)編碼實(shí)現(xiàn)檢測模型,并通過實(shí)驗(yàn)對檢測模型的性能和檢測效果進(jìn)行評估,實(shí)驗(yàn)證明,利用神經(jīng)網(wǎng)絡(luò)結(jié)合已有算法可以達(dá)到更好的檢測效果.

本文其余部分的組織結(jié)構(gòu)如下:第2部分主要對相關(guān)技術(shù)的已有的研究成果進(jìn)行簡要總結(jié);第3部分詳細(xì)說明基于BP神經(jīng)網(wǎng)絡(luò)的時序型隱信道檢測模型的體系結(jié)構(gòu);第4部分說明檢測模型在實(shí)現(xiàn)過程中的相關(guān)細(xì)節(jié),主要通過實(shí)驗(yàn)給出測模型中的相關(guān)參數(shù)設(shè)定;第5部分說明實(shí)驗(yàn)設(shè)計和對實(shí)驗(yàn)結(jié)果的分析;第6部分最后做出全文總結(jié).

2 相關(guān)工作

2.1 隱信道

網(wǎng)絡(luò)隱信道技術(shù)是指利用網(wǎng)絡(luò)中的正常通信信道構(gòu)建的用于隱秘傳輸?shù)男诺?隱信道的概念最初由Lampson于1973年提出[3,9].

按照隱秘信息的存儲載體,網(wǎng)絡(luò)隱信道可以被劃分為網(wǎng)絡(luò)存儲型隱信道和網(wǎng)絡(luò)時序型隱信道[13].其中存儲型隱信道利用網(wǎng)絡(luò)數(shù)據(jù)包中的冗余字段存儲隱秘信息;而時序型隱信道則將隱秘信息存儲在數(shù)據(jù)包的時間間隔中.時序型隱信道具有構(gòu)建簡單、隱蔽性強(qiáng)的特點(diǎn),不同類型的時序型隱信道的區(qū)別主要在于編碼規(guī)則,目前較為成熟的時序型隱信道構(gòu)建方法主要有:IPCTC[1,10]、TRCTC[4]、JitterBug[6]、MBCTC[5]等.

時序型隱信道的檢測主要基于對待測數(shù)據(jù)進(jìn)行統(tǒng)計特征分析,在時序型隱信道中,由于數(shù)據(jù)包時間間隔被人為地操縱,其數(shù)據(jù)包時間間隔一定會表現(xiàn)出不同于正常數(shù)據(jù)的統(tǒng)計特征.通??疾斓慕y(tǒng)計特征有:均值、方差、標(biāo)準(zhǔn)差、熵值.目前較為成熟的時序型隱信道檢測算法有:隨機(jī)性檢測算法[1]、ε相似度算法[1]以及CCE算法[2].以上三種算法均采用單一閾值作為算法最終結(jié)果的判定標(biāo)準(zhǔn),下文中可以看到該判定標(biāo)準(zhǔn)在非線性分類的問題中表現(xiàn)不佳,筆者將通過引入BP神經(jīng)網(wǎng)絡(luò)來改善這一缺陷.

2.2 神經(jīng)網(wǎng)絡(luò)

人工神經(jīng)網(wǎng)絡(luò)(Artifitest Neural Network,ANN)又稱為連接模型(Connection Model),或簡稱為神經(jīng)網(wǎng)絡(luò)(Neural Network),是一種模仿動物神經(jīng)網(wǎng)絡(luò)的行為特征,進(jìn)行信息處理的計算模型.利用神經(jīng)網(wǎng)絡(luò),可以為機(jī)器賦予感知和思考的能力.神經(jīng)網(wǎng)絡(luò)模型可以用一個帶邊權(quán)的有向圖來描述.圖中的點(diǎn)被稱為“神經(jīng)元”,邊上附有權(quán)值.神經(jīng)網(wǎng)絡(luò)是一個分層的結(jié)構(gòu),輸入層用于讀取數(shù)據(jù)的輸入,各個神經(jīng)元對輸入數(shù)據(jù)進(jìn)行相關(guān)處理后,將處理結(jié)果傳入到各個隱層的神經(jīng)元中,在具體實(shí)現(xiàn)中,隱層部分可以有多層,逐層神經(jīng)元對數(shù)據(jù)進(jìn)行處理后,將結(jié)果傳至相對于當(dāng)前層的下一層中,所有隱層的神經(jīng)元對收到的數(shù)據(jù)進(jìn)行處理后,將處理結(jié)果傳入輸出層的神經(jīng)元中,最后輸出層處理數(shù)據(jù)后,輸出處理的結(jié)果.在實(shí)際應(yīng)用中,根據(jù)神經(jīng)元之間的關(guān)聯(lián)關(guān)系和圖中邊權(quán)的設(shè)定方式的不同,可以得到不同的神經(jīng)網(wǎng)絡(luò)的組織方式,其中較為成熟的是反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network),簡稱BP網(wǎng)絡(luò).BP網(wǎng)絡(luò)中各層神經(jīng)元采用全互連接的方式進(jìn)行關(guān)聯(lián),同時采用梯度下降法在訓(xùn)練過程中對網(wǎng)絡(luò)進(jìn)行反饋調(diào)節(jié),通過反復(fù)訓(xùn)練和反饋調(diào)節(jié)的過程使網(wǎng)絡(luò)達(dá)到較為完美的分類效果.

神經(jīng)網(wǎng)絡(luò)模型中的每一個神經(jīng)元都被賦予了一個非線性的激活函數(shù),通常情況下,激活函數(shù)設(shè)定為sigmoid函數(shù),其表達(dá)式如下:

(1)

激活函數(shù)使得網(wǎng)絡(luò)分析處理數(shù)據(jù)的過程中可以引入非線性因素,因而神經(jīng)網(wǎng)絡(luò)具有善于處理非線性分類問題的優(yōu)勢[12].

3 檢測模型的設(shè)計

在隱信道檢測工作中引入BP神經(jīng)網(wǎng)絡(luò)的目的是通過BP神經(jīng)網(wǎng)絡(luò)來克服已有檢測算法在非線性劃分情況下的局限性.筆者通過實(shí)驗(yàn)發(fā)現(xiàn),前文中提到的3種時序型隱信道檢測算法對于正常信道和隱信道的區(qū)分能力已經(jīng)達(dá)到了較為可觀的水平,然而,三種算法均采用單一閾值比對的方式考察算法的輸出結(jié)果,進(jìn)而得到最終的檢測結(jié)果.單一閾值會將算法輸出值域劃分為2個子區(qū)間,分別對應(yīng)正常信道和隱信道.然而筆者通過實(shí)際實(shí)驗(yàn)發(fā)現(xiàn),對于某些實(shí)驗(yàn)數(shù)據(jù),正常數(shù)據(jù)和隱信道數(shù)據(jù)將會把算法輸出值域劃分為3個子區(qū)間,而正常數(shù)據(jù)對應(yīng)的是為于中間位置的子區(qū)間,此時,不論如何設(shè)定參考閾值,都無法達(dá)到較好的檢測效果.而這種實(shí)驗(yàn)情況就是非線性劃分的情況,因此單一閾值的判定標(biāo)準(zhǔn)有一定的局限性,基于以上因素,本文提出基于BP神經(jīng)網(wǎng)絡(luò)的時序型隱信道檢測模型,基本設(shè)計思路是:將已有的檢測算法的輸出結(jié)果看作數(shù)據(jù)的某種特征,然后將特征值作為BP神經(jīng)網(wǎng)絡(luò)的輸入,通過BP網(wǎng)絡(luò)對數(shù)據(jù)特征進(jìn)行分析,得到最終的檢測結(jié)果.另外,筆者還發(fā)現(xiàn),在利用3種已知算法進(jìn)行實(shí)驗(yàn)的過程中,檢測窗口大小的設(shè)定缺乏統(tǒng)一的標(biāo)準(zhǔn),因此,在我們的檢測模型中,將使用每一種算法在多個不同的檢測窗口下對待測數(shù)據(jù)提取特征,以得到更充分的數(shù)據(jù)特征信息.檢測模型的體系結(jié)構(gòu)可以用圖1來描述:

圖1 基于BP神經(jīng)網(wǎng)絡(luò)的時序型隱信道檢測模型Fig.1 Detecting model based on BP neural network

整個檢測模型可以分為2個子模塊,特征提取模塊提取數(shù)據(jù)的特征;特征分析模塊則利用BP神經(jīng)網(wǎng)絡(luò)對提取的特征進(jìn)行分析,得到最終的檢測結(jié)果.

特征提取模塊采用已有檢測算法對待測數(shù)據(jù)進(jìn)行特征提取,這里設(shè)計為樹形結(jié)構(gòu),圖中的每個節(jié)點(diǎn)稱為“特征提取單元”,每個特征提取單元都具有自己的檢測窗口大小,位于樹形結(jié)構(gòu)較高層的特征提取單元的檢測窗口值是與其相關(guān)聯(lián)的低層特征提取單元檢測窗口大小的總和.這樣的設(shè)計的好處是高層提取單元在計算輸出結(jié)果時可以利用低層特征提取單元的輸出結(jié)果,從而提高模塊的計算效率.在設(shè)計階段,該模塊部署了ε相似度算法和CCE算法兩種已知特征.

特征提取工作完成后,特征分析模塊分析提取到的特征,得到最終的檢測結(jié)果.該模塊采用BP神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn).其中輸入層接收的就是特征提取模塊得到的特征數(shù)據(jù).這里需要說明的是,雖然特征提取模塊以樹形結(jié)構(gòu)呈現(xiàn),并不是位于頂層的特征提取單元的輸出結(jié)果才會輸入到特征分析模塊,各個層次的特征提取單元的計算結(jié)果均有可能作為該模塊的輸入,這樣就保證了提成分析模塊可以對待測數(shù)據(jù)多個不同的檢測窗口值下的特征進(jìn)行全面分析.特征分析模塊的輸出層將直接給出最終的檢測結(jié)果.

4 檢測模型的實(shí)現(xiàn)

為了測試檢測模型的性能和檢測效果,這里利用Java和C語言編程實(shí)現(xiàn)檢測模型,其中特征提取模塊利用C語言編程實(shí)現(xiàn),主要實(shí)現(xiàn)檢測算法;特征分析模塊則利用Java編程完成,二者的數(shù)據(jù)利用利用文本文件I/O進(jìn)行傳送.

4.1 對照算法原理和參數(shù)設(shè)定

下文中筆者將采用對照實(shí)驗(yàn)的方式對檢測模型的性能和效果進(jìn)行評估.作為對照組的算法,筆者設(shè)定為部署在特征提取模塊中的兩個已知算法,這里的參數(shù)設(shè)定會同時應(yīng)用于對照組和特征提取單元.這樣,對照組的數(shù)據(jù)處理方式和特征提取單元基本相同,進(jìn)而便于分析BP神經(jīng)網(wǎng)絡(luò)在隱信道檢測工作中的影響力和作用.

4.1.1ε相似度算法原理和參數(shù)設(shè)定

首先介紹ε相似度算法的基本原理:

1)對待測數(shù)據(jù)以遞增的順序排列,記排序后的序列為{p1,p2,…,pwinSize}.

其中winSize為檢測窗口的大小.

2)計算相鄰數(shù)據(jù)之間的相似度,得到相似度序列為{s1,s1,…,swinSize-1},其中:

(2)

3)統(tǒng)計{s1,s1,…,swinSize-1}中小于參數(shù)ε的數(shù)值所占的比例,得到算法輸出結(jié)果similarity:

(3)

4)比較similarity和給定的閾值similarity0,如果similarity>similarity0,表明待測數(shù)據(jù)包含隱信道,否則,待測數(shù)據(jù)為正常數(shù)據(jù).

算法部署至特征提取單元中后,算法中的步驟(4)將會略去,得到的結(jié)果similarity將輸入值特征分析模塊進(jìn)行分析.

通過上述步驟可知,這里需要確定參數(shù)有篩選參數(shù)ε和閾值參數(shù)similarity0.Cabuk對相似度算法的測試中將參數(shù)ε設(shè)定為0.005、0.008、0.01、0.02、0.03和≥0.1共6種不同的值,并將算法檢測的閾值設(shè)定為μ+σ、μ+1.5σ、μ+2σ、Max共4種不同的值,其中μ、σ、Max分別表示相似度算法檢測合法數(shù)據(jù)所得結(jié)果的均值、標(biāo)準(zhǔn)差以及最大值.Cabuk對于上面每一種和閾值的組合進(jìn)行了測試.根據(jù)作者給出的實(shí)驗(yàn)結(jié)果,當(dāng)檢測閾值設(shè)定為μ+σ和μ+1.5σ時,對于每一種參數(shù)的設(shè)定,檢測效果都比較好.此時,對于隱信道的檢測可以達(dá)到10%以下的漏檢率,對于正常信道的檢測則可以達(dá)到30%以下的誤檢率.我們的實(shí)驗(yàn)設(shè)定參考Cabuk的實(shí)驗(yàn)過程,將參數(shù)設(shè)定為0.02,閾值則設(shè)定為μ+1.5σ.通過對正常數(shù)據(jù)的測試,我們相似度算法的對照實(shí)驗(yàn)中的測試閾值設(shè)定為0.973.測試結(jié)果高于此閾值時被認(rèn)為可能包含隱信道.因此,這里的參數(shù)設(shè)定結(jié)果為

ε=0.02

(4)

similarity0=0.973

(5)

4.1.2 CCE算法原理和參數(shù)設(shè)定

CCE算法通過評估待測數(shù)據(jù)的熵率來判定其中是否包含隱信道.信息熵(Entropy)是一種對隨機(jī)變量隨機(jī)程度的度量,最初由Shannon于1948年提出[7].而熵率(Entropy Rate)則是一組隨機(jī)變量熵值的變化率,它反映了多個隨機(jī)變量之間的關(guān)聯(lián)程度.對于某個隨機(jī)變量X,其熵值記作EN(X),對于一組隨機(jī)變量構(gòu)成的一維向量X,其熵率記作:ER(X),其計算公式分別是:

(6)

(7)

可以看到熵率是一個極限定義,為了能通過有限的測試數(shù)據(jù)得到熵率的估計值,Gianvecchio[2,11]提出了CCE算法,利用修正條件熵(Corrected Conditional Entropy)來對熵率進(jìn)行估計,Gianvecchio提出的修正條件熵的計算公式如下:

CCE(Xn)=CE(X1,X2,…,Xn)+perc(Xn)·EN(X1)

(8)

其中,其中Xn表示長度為n的隨機(jī)變量的序列,CE(X1,X2,…,Xn)表示X1,X2,…,Xn的條件信息熵,perc(Xn)則表示測試數(shù)據(jù)中所有唯一的n長度序列占所有n長度序列的比例,EN(X1)就是隨機(jī)變量X的熵值.此時,對熵率的估計值,就是選擇不同的n值得到的CCE(Xn)的最小值.得到待測數(shù)據(jù)的熵率估計值后,和給定的閾值CCE0進(jìn)行比較,測試結(jié)果低于CCE0表明待測數(shù)據(jù)中包含隱信道.

以上為CCE算法的基本原理.在算法實(shí)現(xiàn)過程中,我們僅僅選擇少數(shù)具有代表性的n值進(jìn)行計算,進(jìn)而對熵率進(jìn)行粗略的估計.因此,對于CCE算法,需要確定的參數(shù)為檢測序列的長度n以及檢測閾值CCE0.筆者通過實(shí)驗(yàn)發(fā)現(xiàn),正常數(shù)據(jù)的CCE計算結(jié)果大約為0.439,同時,基于算法效率考慮,我們確定最長檢測序列的長度為10,即:

CCE0=0.439

(9)

n=10

(10)

4.2 特征提取模塊的實(shí)現(xiàn)

特征提取模塊讀取原始的待測數(shù)據(jù),通過特征提取單元按照已有部署的檢測算法的計算規(guī)則提取不同檢測窗口下的特征數(shù)據(jù).因此特征提取模塊的實(shí)現(xiàn)中涉及到了整個模塊檢測窗口大小(記作:winSize)和各個特征提取單元檢測窗口的大小以及多個特征提取單元的關(guān)聯(lián)關(guān)系的確定問題.筆者將通過相關(guān)實(shí)驗(yàn)來得到特征提取模塊的最優(yōu)實(shí)現(xiàn)方案.

首先,整個模塊的檢測窗口大小決定了整個檢測模型的計算開銷和結(jié)構(gòu)的復(fù)雜程度,顯然,輸入數(shù)據(jù)的規(guī)模越大,特征提取模塊需要的特征提取單元的數(shù)目就越多,特征分析模塊中的神經(jīng)元的數(shù)目也就越多;然而,檢測窗口如果過小則會有更大的特征丟失的可能性,影響檢測模型對于數(shù)據(jù)的特征學(xué)習(xí).筆者參照隱信道檢測方面已有的相關(guān)文獻(xiàn),并結(jié)合以上因素考慮,確定整個模型的檢測窗口大小為2000,即:

winSize=2000

(11)

對于特征提取單元的設(shè)定,涉及到了多個不同的檢測窗口的特征提取,首先,我們?yōu)樘卣魈崛卧_定檢測窗口,這里記作win={w1,w2,…,wcnt},其中cnt為擁有不同檢測窗口大小的特征提取單元的數(shù)目,顯然,對于任意的窗口值wi,滿足:

wi≤winSize

(12)

筆者認(rèn)為,為了避免冗余數(shù)據(jù),這里對win的設(shè)定標(biāo)準(zhǔn)為:盡可能使的檢測算法對每個wi產(chǎn)生差別較大的結(jié)果,從而提取到更為完備的數(shù)據(jù)特征.

接下來通過實(shí)驗(yàn)來確定特征提取單元的檢測窗口大小,這里筆者通過抓包程序抓取了10000條正常信道中的數(shù)據(jù)包間隔數(shù)據(jù).設(shè)定窗口值為50,100,150,…,2000,統(tǒng)計這些窗口之下ε相似度算法和CCE算法的計算結(jié)果.實(shí)驗(yàn)結(jié)果如圖2、圖3所示.

圖2 不同檢測窗口下的ε 相似度算法輸出結(jié)果 圖3 不同檢測窗口下的CCE算法輸出結(jié)果

觀察圖2可以發(fā)現(xiàn),由于筆者所處的網(wǎng)絡(luò)環(huán)境較為穩(wěn)定,網(wǎng)絡(luò)傳輸過程中的傳輸速率較為均勻,因此,數(shù)據(jù)包間隔數(shù)據(jù)的波動性很小.當(dāng)檢測窗口大于600時,相似度小于參數(shù)ε的數(shù)據(jù)的比例已達(dá)到95%,此時再增加窗口大小,算法結(jié)果變化很小.

觀察圖3可以發(fā)現(xiàn),檢測窗口小于1200時,改變檢測窗口大小將對CCE算法的計算結(jié)果產(chǎn)生較大的影響.相比圖2的結(jié)果,可以看出,CCE算法對于數(shù)據(jù)特征的變化更為敏感,相比之下,ε相似度算法在處理數(shù)據(jù)過程中對數(shù)據(jù)進(jìn)行了排序處理,排序過程丟失了原有數(shù)據(jù)中相鄰數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,這也是造成圖2實(shí)驗(yàn)結(jié)果的主要因素.

圖4 特征提取模塊體系結(jié)構(gòu)設(shè)計Fig.4 Architecture of module of Feature collecting

綜合以上實(shí)驗(yàn)結(jié)果,筆者認(rèn)為,在設(shè)定特征提取單元的檢測窗口大小時,應(yīng)該主要在[50,1200]范圍內(nèi)選取,小于50的檢測窗口筆者也不建議選取,因?yàn)檫^小的窗口值將會使特征提取過程對于數(shù)據(jù)中的噪聲數(shù)據(jù)過于敏感.

最后,筆者決定,選擇的窗口大小有100、200、500、700、1000以及1200,其中,窗口值200部署在8個特征提取單元中,窗口值500部署在4個特征提取單元中,窗口值700部署在2個特征提取單元中,窗口值1000和1200也各部署在2個特征提取單元中,將窗口值100部署在4個特征提取單元中.其中窗口值為200的6個特征提取單元以及窗口值為500、700、1000、1200的所有特征提取單元作為當(dāng)前模塊輸出結(jié)果的特征提取單元,共有16個.即:

win={100,200,500,700,1000,1200}

(13)

決定窗口值后,就可以決定特征提取單元之間的關(guān)聯(lián)關(guān)系,可以用圖4來描述.其中灰色的特征提取單元作為當(dāng)前模塊的輸出結(jié)果.圖中的箭頭標(biāo)明了各個特征提取單元之間的關(guān)聯(lián)關(guān)系,高層特征提取單元將調(diào)用低層特征提取單元的輸出結(jié)果進(jìn)行計算.

4.3 特征分析模塊的實(shí)現(xiàn)

特征分析模塊利用BP神經(jīng)網(wǎng)絡(luò)對提取到的特征進(jìn)行分析,得到最終的檢測結(jié)果.該模塊在實(shí)現(xiàn)過程中涉及到的參數(shù)值有:輸入輸出數(shù)據(jù)規(guī)模、隱層數(shù)、各隱層節(jié)點(diǎn)數(shù)、以及各個邊權(quán)的初始權(quán)值.本節(jié)將詳細(xì)介紹以上參數(shù)的設(shè)定方案.

4.3.1 輸入與輸出

記輸入層和輸出層數(shù)據(jù)規(guī)模分別為cin和cout,這里輸入輸出數(shù)據(jù)規(guī)模即為輸入層和輸出層包含神經(jīng)元的數(shù)目.特征分析模塊的輸入數(shù)據(jù)是特征提取模塊的輸出數(shù)據(jù),前文中已經(jīng)說明,特征提取模塊對原始數(shù)據(jù)的處理后,將得到數(shù)據(jù)規(guī)模為16的特征數(shù)據(jù),因此,當(dāng)前模塊輸入數(shù)據(jù)規(guī)模為16,即:

cin=16

(14)

輸出層得到的是檢測模型的最終輸出結(jié)果.前文中筆者已經(jīng)提到,目前已有的檢測算法得到的檢測結(jié)果均為一個表示待測數(shù)據(jù)中是否包含隱信道的一個布爾值,而實(shí)際應(yīng)用中,待檢測的數(shù)據(jù)往往是正常數(shù)據(jù)和隱信道數(shù)據(jù)的混合數(shù)據(jù).因此,僅僅用單一的布爾值來表示檢測結(jié)果還不夠準(zhǔn)確.這里將輸出結(jié)果設(shè)定為多維數(shù)據(jù),表示當(dāng)前檢測數(shù)據(jù)中包含隱信道的概率,筆者將輸出規(guī)模設(shè)定為10,即:

cout=10

(15)

此時,對于某次檢測,如果輸出數(shù)據(jù)中有k維數(shù)據(jù)表示當(dāng)前數(shù)據(jù)包含隱信道,則當(dāng)前待測數(shù)據(jù)包含隱信道的概率就是k/10,檢測結(jié)果可以精確到0.1.

4.3.2 隱層設(shè)定

隱層設(shè)定包括隱層層數(shù)的設(shè)定和各隱層包含的神經(jīng)元數(shù)目的設(shè)定.這里記隱層數(shù)目為h,各隱層包含的神經(jīng)元的數(shù)目為c={c1,c2,…,ch}.

從某種程度上,BP神經(jīng)網(wǎng)絡(luò)包含的隱層層數(shù)決定了網(wǎng)絡(luò)對數(shù)據(jù)分類的精度.網(wǎng)絡(luò)層數(shù)越多,網(wǎng)絡(luò)模擬復(fù)雜分類情況的能力就越強(qiáng),但網(wǎng)絡(luò)層數(shù)的增多還意味著網(wǎng)絡(luò)包含更多的神經(jīng)元以及網(wǎng)絡(luò)計算中更多的時間開銷.已有研究表明,包含單隱層的三層BP神經(jīng)網(wǎng)絡(luò)已經(jīng)具備擬合任何一個閉區(qū)間內(nèi)的連續(xù)函數(shù)的能力,包含兩個隱層的BP網(wǎng)絡(luò)可以適用于任何形式的分類問題[8].

這里筆者通過實(shí)驗(yàn)來決定隱層數(shù)目,通過程序生成10000條包含IPCTC隱信道的數(shù)據(jù)包時間間隔數(shù)據(jù),結(jié)合上文中抓取的正常信道數(shù)據(jù),通過特征提取模塊得到對應(yīng)的特征數(shù)據(jù)后,在給定隱層層數(shù)的情況下,對特征分析模塊訓(xùn)練5000次,考察網(wǎng)絡(luò)在訓(xùn)練后的準(zhǔn)確率.從理論上講,增加隱層數(shù)目可以提高網(wǎng)絡(luò)分類的準(zhǔn)確率.

實(shí)驗(yàn)中考慮到輸入數(shù)據(jù)規(guī)模和網(wǎng)絡(luò)效率,筆者設(shè)定隱層數(shù)為1~10進(jìn)行了實(shí)驗(yàn).在當(dāng)前實(shí)驗(yàn)中,各層神經(jīng)元數(shù)目暫時按照Kolmogorov原理的標(biāo)準(zhǔn):對于第i層隱層中包含的神經(jīng)元數(shù)目Ni,其大小滿足如下的關(guān)系:

Ni=2Ni-1+1

(16)

同時,各個神經(jīng)元關(guān)聯(lián)的初始權(quán)值暫定為0.

實(shí)驗(yàn)結(jié)果如圖5所示.

圖5 不同隱層數(shù)下的檢測準(zhǔn)確率Fig.5 Detecting rate in different hide layers number setting

觀察圖5可以看出,當(dāng)隱層數(shù)大于3時,檢測率可以達(dá)到80%的水平,同時繼續(xù)增加隱層數(shù)時,檢測率將會繼續(xù)提升,但提升幅度明顯減小.因此,這里筆者將當(dāng)前模塊中的隱層數(shù)設(shè)定為3,即

h=3

(17)

確定隱層數(shù)后,接下來確定各層包含的神經(jīng)元數(shù)目.在上面的實(shí)驗(yàn)中,我們已經(jīng)根據(jù)Kolmogorov原理確定了各層的神經(jīng)元數(shù)目,對于三隱層的網(wǎng)絡(luò),各隱層神經(jīng)元數(shù)目為33、67和135.然而,此結(jié)果未必是最優(yōu)的設(shè)定方案,在這里筆者以一種動態(tài)調(diào)整的方式確定各層的最優(yōu)神經(jīng)元數(shù)目.具體思路為:通過訓(xùn)練數(shù)據(jù)對網(wǎng)絡(luò)反復(fù)訓(xùn)練,并動態(tài)地記錄每一次訓(xùn)練后可以達(dá)到的檢測率,當(dāng)檢測率低于某個閾值r1時,說明網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)目還不足以完美擬合當(dāng)前的數(shù)據(jù),此時,向包含神經(jīng)元數(shù)目最少的隱層中添加一個神經(jīng)元;當(dāng)檢測率高于某個閾值r2時,說明當(dāng)前網(wǎng)絡(luò)對數(shù)據(jù)擬合的程度較高,可以適當(dāng)減少節(jié)點(diǎn)改善網(wǎng)絡(luò)計算效率,此時從包含神經(jīng)元數(shù)目最多的隱層中減少一個神經(jīng)元.對于閾值r1和r2的設(shè)定,由于上文實(shí)驗(yàn)結(jié)果中隱層數(shù)為3時,檢測率大約為80%,這里的閾值以(80±10)%來確定,即

r1=70%

(18)

r2=90%

(19)

通過實(shí)驗(yàn),我們得到的各隱層包含的神經(jīng)元數(shù)目為:64、72、98,即

c={64,72,98}

(20)

4.3.3 神經(jīng)元關(guān)聯(lián)與初始權(quán)值

BP神經(jīng)網(wǎng)絡(luò)以全互連接的方式進(jìn)行關(guān)聯(lián),即每一層中的每一個神經(jīng)元都和下一層中的所有神經(jīng)元進(jìn)行關(guān)聯(lián).而對于每條關(guān)聯(lián)的初始權(quán)值,已有研究表明,設(shè)定初始權(quán)值使得神經(jīng)元在計算過程中從激活函數(shù)變化速率最快的位置開始可以達(dá)到較好的訓(xùn)練效果,因?yàn)榇藭r對網(wǎng)絡(luò)進(jìn)行反饋調(diào)節(jié)時,神經(jīng)元的狀態(tài)變化最為明顯,網(wǎng)絡(luò)的收斂速度也最快.

我們的BP網(wǎng)絡(luò)中采用的激活函數(shù)為sigmoid函數(shù),該函數(shù)在坐標(biāo)原點(diǎn)位置的斜率是最大的,因此合適的初始權(quán)值為0,這一點(diǎn)筆者前前文所述的實(shí)驗(yàn)中已經(jīng)得到了證實(shí).另外,sigmoid函數(shù)的表達(dá)式前文中式(1)已經(jīng)給出.該函數(shù)的值域?yàn)?-1,1),特征數(shù)據(jù)輸入到當(dāng)前模塊中時,首先要進(jìn)行標(biāo)準(zhǔn)化處理,即基于以上值域范圍對數(shù)據(jù)進(jìn)行等比例縮放.

5 實(shí)驗(yàn)和結(jié)果分析

本節(jié)通過實(shí)驗(yàn)檢驗(yàn)本文提出的檢測模型的性能和檢測效果.我們首先將分析檢測模型在訓(xùn)練階段的性能,然后通過對照實(shí)驗(yàn)來評估檢測模型的檢測效果.

5.1 隱信道構(gòu)建原理和實(shí)驗(yàn)數(shù)據(jù)的收集

實(shí)驗(yàn)該數(shù)據(jù)包括訓(xùn)練數(shù)據(jù)和測數(shù)據(jù).這里將通過程序模擬生成3種隱信道類型的數(shù)據(jù):IPCTC、TRCTC、JitterBug同時通過抓包程序?qū)崟r抓包獲取正常數(shù)據(jù),結(jié)合參數(shù)設(shè)定的不同生成多組數(shù)據(jù)集,每種數(shù)據(jù)集包含20000條數(shù)據(jù)的訓(xùn)練數(shù)據(jù)和包含100000條數(shù)據(jù)的測試數(shù)據(jù).

5.1.1 IPCTC隱信道原理和實(shí)驗(yàn)數(shù)據(jù)生成

IPCTC的構(gòu)建原理是:發(fā)送方和接收方約定一個時間間隔t,信道建立后,發(fā)送發(fā)通過控制每一個大小為t的時間區(qū)間內(nèi)是否有數(shù)據(jù)包發(fā)送來決定發(fā)送比特0或比特1.接收方對信道進(jìn)行監(jiān)控,如果在某個時間區(qū)間中抓取到發(fā)送方發(fā)送的數(shù)據(jù)包,接收方就接收到了比特1,否則,接收到的數(shù)據(jù)為比特0.結(jié)合筆者的網(wǎng)絡(luò)環(huán)境,這里選擇t值為100ms和500ms,構(gòu)建2個IPCTC隱信道數(shù)據(jù)集如表1所示.

表1 IPCTC實(shí)驗(yàn)數(shù)據(jù)Table 1 IPCTC testing data

5.1.2 TRCTC隱信道實(shí)驗(yàn)數(shù)據(jù)生成

TRCTC通過模擬正常數(shù)據(jù)來構(gòu)建隱信道.其基本原理是:首先對正常數(shù)據(jù)進(jìn)行數(shù)值采樣,然后將采樣得到數(shù)據(jù)劃分為S0和S1兩個子集,通信過程中,如果需要發(fā)送比特0,就從S0中隨機(jī)選取一個時間間隔作為當(dāng)前數(shù)據(jù)包和前一個數(shù)據(jù)包的時間間隔,否則從集合S1中選擇時間間隔數(shù)據(jù).按照集合S0和S1線性劃分或非線性劃分的方式,可以生成不同的TRCTC隱信道數(shù)據(jù),顯然,非線性劃分得到的TRCTC數(shù)據(jù)具有更強(qiáng)的隱蔽性,但與此同時,信道傳輸?shù)臏?zhǔn)確率將會因集合S0和S1的差異變小而有所下降.結(jié)合筆者的實(shí)驗(yàn)環(huán)境,這里以線性劃分和非線性劃分的方式各生成1組TRCTC數(shù)據(jù)集.

5.1.3 JitterBug隱信道實(shí)驗(yàn)數(shù)據(jù)生成

JitterBug隱信道的構(gòu)建原理是:發(fā)送方和接收方約定參數(shù)w,通過對正常數(shù)據(jù)進(jìn)行微調(diào)來實(shí)現(xiàn)隱秘信息的編碼.具體來說,如果要發(fā)送比特1,就調(diào)整數(shù)據(jù)包間隔使其可以整除w,否則調(diào)整間隔使其不可以整除w,但可以整除w/2.這里筆者設(shè)定w值為2,10,50,生成三種JitterBug數(shù)據(jù)集:

5.2 檢測模型的訓(xùn)練性能

得到實(shí)驗(yàn)數(shù)據(jù)后,接下來利用生成的訓(xùn)練數(shù)據(jù)對檢測模型進(jìn)行訓(xùn)練,上文中在確定隱層層數(shù)時進(jìn)行過類似的實(shí)驗(yàn),而在這里,網(wǎng)絡(luò)結(jié)構(gòu)已經(jīng)通過前文所述過程調(diào)整至最優(yōu)狀態(tài)后,我們再次通過實(shí)驗(yàn)測試模型的訓(xùn)練性能.得到的結(jié)果見圖6.

表3 JitterBug實(shí)驗(yàn)數(shù)據(jù)Table 3 JitterBug testing data

圖6 檢測該模型訓(xùn)練實(shí)驗(yàn)結(jié)果Fig.6 Performance of detecting model in training

訓(xùn)練工作共耗時97小時32分59秒,訓(xùn)練次數(shù)為44325次.觀察圖6可以發(fā)現(xiàn)當(dāng)訓(xùn)練次數(shù)大于32500次后,網(wǎng)絡(luò)的檢測率開始趨于穩(wěn)定.這里由于多種隱信道數(shù)據(jù)的引入,從而增加了訓(xùn)練數(shù)據(jù)的復(fù)雜度,因而,這里實(shí)驗(yàn)需要的訓(xùn)練次數(shù)遠(yuǎn)遠(yuǎn)高于4.3.2節(jié)中的實(shí)驗(yàn).實(shí)驗(yàn)表明,基于目前的訓(xùn)練數(shù)據(jù),檢測模塊在訓(xùn)練30000次左右后可以基本達(dá)到80%的檢測率.

5.3 檢測模型的檢測能力

最后,我們通過對照實(shí)驗(yàn)評估檢測模型的檢測效果,得到的實(shí)驗(yàn)結(jié)果見表4.

表4 檢測率實(shí)驗(yàn)結(jié)果Table 4 Results of covert channel testing using ε-similarity,CCE and our detecting model

觀察表4的實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),本文提出的檢測模型在檢測率上明顯優(yōu)于兩種已有算法.查看文獻(xiàn)[1]和文獻(xiàn)[2]可以發(fā)現(xiàn),這兩種算法的原理均基于“正常信道數(shù)據(jù)隨機(jī)性高于隱信道”的假設(shè),同時在進(jìn)行判定時,均采用單閾值作為參照標(biāo)準(zhǔn).關(guān)于單閾值標(biāo)準(zhǔn)對于非線性分類具有局限性的問題前文已經(jīng)說明.筆者還在實(shí)驗(yàn)中發(fā)現(xiàn),ε相似度算法和CCE算法對于隱信道和正常信道的區(qū)分能力是可觀的,然而,得到的檢測結(jié)果卻和算法給定的判定標(biāo)準(zhǔn)完全相反,造成此現(xiàn)象的原因可能是筆者所處環(huán)境的網(wǎng)絡(luò)較為通暢,因此,這兩種算法所參照的假設(shè)也不完全成立,進(jìn)而再利用算法原有的判定標(biāo)準(zhǔn)進(jìn)行判定,檢測率就會降低.

本文提出的檢測模型利用神經(jīng)網(wǎng)絡(luò)對已有算法輸出結(jié)果進(jìn)行分析后得到檢測結(jié)果,省去了已有算法單閾值比對的過程,也就避免了已有算法對于非線性劃分情況的局限性.另外,本檢測模型中對于正常數(shù)據(jù)的特征通過網(wǎng)絡(luò)學(xué)習(xí)得到,而不基于任何假設(shè)條件,因此對于不同網(wǎng)絡(luò)環(huán)境具有更強(qiáng)的適應(yīng)能力.

6 總 結(jié)

本文提出了一種基于BP神經(jīng)網(wǎng)絡(luò)的時序型隱信道檢測方法.在檢測模型的設(shè)計過程中,結(jié)合了兩種已有的檢測算法,通過引入神經(jīng)網(wǎng)絡(luò)模型充分結(jié)合并發(fā)揮了已有算法對于隱信道的識別能力,同時還克服了已有算法對于非線性分類情況的局限性.實(shí)驗(yàn)表明,本文提出的檢測方法相比已有算法具有一定的優(yōu)勢.未來的研究工作將主要集中在檢測模型結(jié)構(gòu)改進(jìn)訓(xùn)練性能優(yōu)化方面.

[1] Cabuk S,Brodley C E,Shields C.IP covert timing channels:Design and detection[C].Proc.of the 11th ACM Conf.on Computer and Communications Security,2004:178-187.

[2] Gianvecchio S,Wang H.Detecting covert timing channels:an entropy-based approach[C].Proceedings of the 14th ACM Conference on Computer and Communications Security(CCS′07),ACM,New York,NY,USA,2007:307-316.

[3] Lampson B W.A note on the confinement problem[J].Communications of the ACM,1973,16(10):613-615.

[4] Cabuk S.Network covert channels:design,analysis,detection and elimination[D].Dissertation,Purdue University,West Lafayette,IN.,USA,December,2006.

[5] Gianvecchio S,Wang H,Wijesekera D,et al.Model-based covert timing channels:automated modeling and evasion[J].International Symposium on Recent Advances in Intrusion Detection,2008,(5230):211-230.

[6] Shah G,Molina A,Blaze M.Keyboards and covert channels[C].Conference on Usenix Security Symposium:Conference on Usenix Security Symposium,2006:59-75.

[7] Shannon C.A mathematical thoery of communication[J].Bell System Technical Journal,2014,27(3):379-423.

[8] Yan Hong,Guan Yan-ping.Method to determine the quantity of internal nodes of back propagation neural networks and Its demonstration[J].Control Engineering of China,2009,16(S1):100-102.

[9] Biswas A K,Ghosal D,Nagaraja S.A survey of timing channels and countermeasures[M].Acm Computing Surveys,2017,50(1):1-39.

[10] Wang C,Yuan Y,Huang L.Base communication model of covert timing channels[J].Frontiers of Computer Science,2016,10(6):1130-1141.

[11] Shrestha P L,Hempel M,F(xiàn)rezaei.A support vector machine-based framework for detection of covert timing channels[J].IEEE Transactions on Dependable and Secure Computing,2016,13(2):274-283.

[12] Zhang De-hui,Zhang De-yu,Liu Qing-yun,et al.BP neural network optimized by improved PSO[J].Computer Engineering and Design,2015,36(5):1321-1326.

[13] Wei San-qiang,Yang Wei,Shen Yao.A covert communication method based on reliable packet ordering[J].Journal of Chinese Computer Systems,2016,37(1):124-128.

附中文參考文獻(xiàn):

[8] 嚴(yán) 鴻,管燕萍.BP神經(jīng)網(wǎng)絡(luò)隱層單元數(shù)的確定方法及實(shí)例[J].控制工程,2009,16(S1):100-102.

[12] 張德慧,張德育,劉清云,等.基于粒子群算法的BP神經(jīng)網(wǎng)絡(luò)優(yōu)化技術(shù)[J].計算機(jī)工程與設(shè)計,2015,36(5):1321-1326.

[13] 魏三強(qiáng),楊 威,沈 瑤.一種基于可靠包排序的隱秘通信方法[J].小型微型計算機(jī)系統(tǒng),2016,37(1):124-128.

猜你喜歡
特征提取信道神經(jīng)元
信號/數(shù)據(jù)處理數(shù)字信道接收機(jī)中同時雙信道選擇與處理方法
AI講座:神經(jīng)網(wǎng)絡(luò)的空間對應(yīng)
空間目標(biāo)的ISAR成像及輪廓特征提取
基于Gazebo仿真環(huán)境的ORB特征提取與比對的研究
基于特征提取的繪本閱讀機(jī)器人設(shè)計方案
仿生芯片可再現(xiàn)生物神經(jīng)元行為
基于Daubechies(dbN)的飛行器音頻特征提取
一種高效多級信道化數(shù)字接收機(jī)的設(shè)計與實(shí)現(xiàn)
一種無人機(jī)數(shù)據(jù)鏈信道選擇和功率控制方法
這個神經(jīng)元負(fù)責(zé)改變我們的習(xí)慣