常婷婷,翟江濤,戴躍偉
(1.江蘇科技大學電子信息學院,江蘇鎮(zhèn)江212003;2.南京信息工程大學電子與信息工程學院,南京210044)
隨著互聯網技術的快速崛起,中國已發(fā)展為5G網絡大國,與相對封閉的傳統(tǒng)移動通信系統(tǒng)相比,“5G+移動互聯網”大數據背景下人和物的連接更緊密,但同時也造成網絡攻擊和惡意代碼出現的頻率大幅提高,給網絡用戶隱私數據保護、移動辦公和國家基礎網絡設施安全帶來重大影響。2019年,美國阿拉斯加拉文航空公司宣布其計算機網絡受到惡意攻擊,并在假日出行高峰期取消了至少6 班次航班,影響到近260 名乘客的正常出行。同年,美國路易斯安那州新奧爾良市遭到網絡攻擊,政府在當日宣布該市進入緊急狀態(tài)。隨著網絡攻擊出現頻率的上升,網絡安全維護成為研究人員關注的熱點。
網絡隱蔽通信是繼加密技術后一種新興的信息傳輸安全技術,其根據隱蔽信息隱藏方式的不同分為存儲式隱蔽通信和時間式隱蔽通信。存儲式隱蔽通信主要采用向網絡協議的冗余位中嵌入IP 頭的擴展與填充段[1-3]、IP 標志符[4-5]等隱蔽信息來構建存儲式隱信道,由于網絡數據包對上述字段內容的檢查不嚴格,因此在其中嵌入此類信息不易被發(fā)現。除了這種傳統(tǒng)的存儲式隱蔽通信外,近年來還出現基于多鏈路傳輸序列的隱信道[6]、基于DNS 協議的隱信道[7]等新型存儲式隱蔽通信。多鏈路傳輸序列的隱信道構建隱蔽通道的機制不再與網絡協議冗余位有關,僅與數據包的時間特性有關,這與時間式隱蔽通信類似,但因為其構建方法是基于數據包的到達序列編碼,與包間時延無關,所以其本質仍屬于存儲式隱信道,由于其兼具時間式隱蔽通信的隱蔽性與存儲式隱蔽通信的穩(wěn)定性,因此具有良好的實用價值。DNS 協議在網絡運行中占有重要地位,一般不會被防火墻等安全系統(tǒng)阻攔,因此DNS 協議是實現隱蔽通信的常用手段。2019年,云服務商巨頭亞馬遜公司AWSDNS 服務器遭到DDoS 攻擊,攻擊者利用垃圾網絡流量堵塞系統(tǒng),造成服務器無法訪問。此次攻擊持續(xù)15 小時,大量數據包阻塞了DNS 系統(tǒng),其中一些合法的域名請求被釋放以緩解問題,由于網站和應用軟件嘗試聯系S3 存儲桶等亞馬遜后端托管的系統(tǒng)可能失敗,從而導致用戶會看到出錯信息或空白頁面。
時間式隱信道通常利用數據包的包間時延特性來傳遞秘密信息,由于其不改變數據包內部信息,因此隱蔽性較存儲式隱信道更高[8-10]。2013年,美國將該方法應用于匿名網絡節(jié)點追蹤。時間式隱信道一般以on/off 和delay 模式來模擬真實網絡傳輸的包間間隔以進行隱蔽信息傳輸[11],在數據傳輸過程中IP報文被存儲轉發(fā)的情況下,目前常用的檢測算法會失效。此外,還有model-based 模式的隱蔽信道[12-13],其主要通過擬合現實通信時的數據模型來構建隱秘信道。model-based 模式下的隱蔽通信模型具有更好的隱蔽性,且由于網絡的時間特性較復雜,因此對該網絡隱信道的檢測更困難。其中,針對Skype 流量的隱寫較大的情況,研究人員提出一種隱蔽通道檢測算法[14],先對獲取的Skype 流量進行基于Erlang模型的擬合,再利用Walsh 編碼構建隱蔽通道,采用傳統(tǒng)數據隨機分組的方式,將80%的數據作為訓練數據,20%的數據作為測試數據,并采用BP 神經網絡方法進行檢測。該方法雖然檢測率較高,但也具有較高的虛警率。
針對上述隱信道,在處理訓練數據和測試數據時,可提取峰態(tài)、偏態(tài)以及標準偏差的差值等特征,其中偏態(tài)和峰態(tài)用于觀察包間時延的整體分布情況。由于在基于Erlang 模型構建隱信道的過程中,在對應區(qū)間隨機選取一個包間隔(IPD)會破壞正常通信時包間時延的分布,因此峰態(tài)和偏態(tài)作為特征能起到較好的篩選排查作用。標準偏差的差值可用于研究較小范圍內包間時延之間的關系,文獻[15]將其引入時間式隱信道的檢測算法并取得了較好的檢測效果,因此可選取標準偏差的差值作為訓練特征,然后采用五折交叉驗證法結合無重復抽樣技術,使得每次迭代過程中每個樣本點只有一次被劃入訓練集或測試集。同時,找到使得模型泛化性能最優(yōu)的超參值,并在全部訓練集上重新訓練模型,使用獨立測試集對模型性能做出最終評價,以保證分類精度的準確性并有效避免模型產生過擬合現象。
本文提出一種Skype 時間式隱信道檢測方法。在傳統(tǒng)方法的基礎上增加峰態(tài)、偏態(tài)以及標準偏差的差值3 種特征,并采用Xgboost 模型判決[16-17]和檢測待測數據,利用一階導數和二階導數將樹模型的復雜度作為目標函數的正則項考慮,已避免出現過擬合現象。
對正常數據的累積分布函數(CDF)進行擬合,可實現隱秘數據的嵌入且不易被檢測[13]。因此,本文以常用的Skype 通信流量為載體,擬合出CDF 模型?;赟kype 的時間式網絡隱寫算法流程如圖1所示。
圖1 基于Skype 的時間式網絡隱寫算法流程Fig.1 Procedure of timing network steganography algorithm based on Skype
該算法具體流程如下:
1)獲取正常環(huán)境下Skype 通信的流量數據,建立CDF 模型(與Erlang 模型類似),其累積分布函數P(x;m,λx)的計算公式如下:
其中:x為包間時延,m=1 為圖形參數,λ為速率參數,K為擴頻編碼時使用正交信道的數目。
2)采用N階Walsh 碼進行二進制擴頻編碼如下:
其中:ck為N階Walsh 碼。
3)將正常通信數據的CDF 劃分為F=3 個區(qū)間,每個區(qū)間再分為2m+1 個小區(qū)間,以保證每個區(qū)間之間保持最小的漢明距離。s中不同的值依次與CDF的F個小區(qū)間對應,并在相應區(qū)間內選擇一個IPD。
本文檢測對象是對正常Skype 數據的CDF 模型進行擬合實現的隱寫,因此較一般隱信道具有更強的抗檢測性。信息熵作為目前有效的時間式隱信道檢測手段,與上述隱寫方式相結合的檢測效果不佳,因此本文提取以下7 種特征組成特征矩陣進行分類器的訓練。
1)基于時間序列的馬爾可夫(Markov)轉移矩陣。設ti為第i個包間間隔,ti+1為第i+1 個包間間隔,如果ti+1<ti,則mi=0;否則mi=1,由此可得到1 條馬爾可夫鏈。由式(4)可得到馬爾可夫轉移矩陣的元素:
由于隱蔽信息的IPD 根據特定的規(guī)律隨機調制,使得馬爾可夫轉移矩陣中的4 個元素相對較穩(wěn)定,但是在現實網絡中,由于受到各方面因素的影響,馬爾可夫轉移矩陣中的元素可能會受到干擾,與含密數據的馬爾可夫移矩陣中元素有所不同,因此將其作為一種提取特征。
2)信息熵。熵可反映出一個整體的不確定性以及信息容量。由于時間式隱蔽通信會使IPD 整體分布發(fā)生變化,使其不同于正常通信的信息熵值,且對于傳統(tǒng)時間式隱信道而言,基于信息熵的檢測是一種常用的檢測手段,因此將信息熵作為一種提取特征,具體操作過程如下:
(1)分別從正常數據和含密數據中提取N個數據包,分為w=1 000 個窗口。
(2)將正常數據的IPD 分為大小相等的L塊,計算IPD 落在每塊中的概率。
(3)根據式(5)計算每個窗口的信息熵,設置檢驗閥值,比較測試數據的信息熵值和檢驗閥值來判斷數據是否含密,計算公式如下:
其中:Pni為時延信息落在每個塊中的概率。
3)均值與方差。包間時延的均值和方差與當前的網絡環(huán)境密切相關。當網絡質量較好時,正常數據的包間時延均值一般小于含密數據,此時方差較?。划斁W絡出現擁塞時,正常數據的包間時延均值會隨著包間時延的增大而增加,方差也較大。由此可知,正常數據包間時延均值與方差的波動一般比較大。含密數據的包間時延通常按照一定規(guī)律隨機選擇,其均值和方差較正常數據波動更小,因此將均值和方差作為一種提取特征,其計算公式分別如下:
其中:n為樣本時延總數。
4)DCT 系數。傳統(tǒng)隱信道的檢測僅注重數據之間的時域特性,忽視了頻域特性的重要性。目前較常用的時頻域轉換方法屬于DCT 變換,研究人員將DCT 系數應用于隱蔽通道檢測取得較好的效果,因此將DCT 系數作為一種提取特征,相關計算公式如下:
其中:0 ≤p≤M-1,0 ≤q≤N-1,M和N分別為A的行數和列數;B為變換后的矩陣。
5)ε-相似度。由式(11)可計算出相鄰兩個數據包之間的差異率dif,dif 小于ε的包間時延個數占總包間時延個數的比值稱為ε-相似度E,由式(12)計算得到。
其中:num(dif <ε)表示差異率小于ε的包間時延總數。
本文采用模型擬合方法構建隱蔽信道,對含密數據構建的CDF 模型與現實數據的CDF 模型相似,但是ε-相似度是基于鄰近的包間間隔特性進行分析,含密數據與真實數據之間可能會存在較明顯的差異,因此將ε-相似度作為一種提取特征。
6)峰態(tài)(K)和偏態(tài)(S)。偏態(tài)和峰態(tài)用于觀察包間時延的整體分布情況,在基于Erlang 模型進行隱寫的過程中,在對應區(qū)間隨機選取一個IPD,難免會破壞正常通信時包間時延的分布,因此將峰態(tài)和偏態(tài)作為一種提取特征,其計算公式如下:
其中:為樣本的平均值。
7)包間時延標準差的差值(C)。在研究較小范圍內包間時延之間的關系時,研究人員將包間時延標準差引入時間式隱信道檢測算法取得較好的檢測效果[15],本文取標準差的差值作為一種分類器的訓練特征。分別從正常數據和含密數據中提取N個數據包并分為w=1 000 個窗口,再將這w個窗口分為w/2 個窗口,分別求得各自的標準偏差σi和σj,再計算兩個窗口之間標準差的差值C,計算公式如下:
其中:為樣本的平均值。
2.2.1 梯度提升樹算法
梯度提升樹(GBDT)算法是2001年FRIEDMAN等提出的一種boosting 算法[18],其由多棵決策樹組合而成,是通過迭代產生的一種決策樹算法,并將所有決策樹的統(tǒng)計結果作為最終預測的結果,GBDT算法的基本原理如圖2所示。
圖2 GBDT 算法的基本原理Fig.2 Basic principle of GBDT algorithm
對于回歸樹的分裂結點,如果是在平方損失函數中,則是對殘差的擬合;如果是在一般損失函數中(梯度下降),則是對殘差近似值的擬合。當劃分分裂結點時,需列舉出所有的特征值,然后選取劃分點并統(tǒng)計每棵樹的預測結果,統(tǒng)計結果即為最終的預測結果。
2.2.2 Xgboost 算法原理
Xgboost 是2014年誕生的用于梯度提升樹算法的機器學習函數庫[19],該函數庫因學習效果好和訓練速度快獲得廣泛關注。在2015年KAGGLE 競賽中獲勝的29 個算法中,有17 個使用了Xgboost,相較梯度提升算法在另一個常用機器學習庫scikit-learn 中的實現情況,Xgboost的性能有10 倍以上的提升。此外,Xgboost將損失函數從平方損失推廣到二階可導的損失,加入了正則化項,支持列抽樣,能對連續(xù)型特征進行處理,同時可以利用數據的稀疏性,當數據量大時有效提高硬盤吞吐率。目前Xgboost 算法被廣泛用于企業(yè)破產風險評估、物聯網消費人群減少評估、網絡安全風險評估[20-21]等領域。
Xgboost 算法是在GBDT 算法的基礎上略加改進得到,其與GBDT 算法存在一些差異[22]。GBDT 算法只采用了一階導數進行優(yōu)化,而Xgboost算法在優(yōu)化時將一階導數和二階導數相結合,引入樹模型的復雜度,并將其作為目標函數里的正則項,可有效避免發(fā)生過擬合。Xgboost算法中boosting 樹模型結構如圖3所示(其中,f(□)=2.0+0.9=2.9,f(○)=-1.0+0.9=-0.1)。
圖3 Xgboost 算法中boosting 樹模型結構Fig.3 Structure of boosting tree model in Xgboost algorithm
Xgboost 算法的具體實現過程如下:
1)設Xgboost 模型第t輪的目標函數為:
其中:l為第t輪的損失項;Ω為模型中決策樹的正則項,其計算公式如下:
2)由泰勒展開公式得到:
設以下條件成立:
將式(18)~式(21)代入式(17)得到:
3)對式(22)進行求解可得最優(yōu)系數與目標函數最優(yōu)值分別如下:
4)根據式(23)和式(24)的最優(yōu)結果確定最優(yōu)決策樹結構,進而進行計算和預測。
為保證實驗數據的一般性和實驗結果的可靠性,本文實驗所用數據是在教育網-教育網、教育網-中國鎮(zhèn)江移動有線網、中國鎮(zhèn)江移動有線網-中國六安電信有線網3 種不同的網絡環(huán)境下抓取獲得。在教育網-教育網環(huán)境下登錄Skype 建立語音連接,分別抓取正常流量數據60 326 條和65 200 條并編號為M1 和M2;在教育網-中國鎮(zhèn)江移動有線網環(huán)境下登錄Skype 建立語音連接,分別抓取正常流量數據34 465 條和46 519 條并編號為N1 和N2;在中國鎮(zhèn)江移動有線網-中國六安電信有線網環(huán)境下登錄Skype建立語音連接,抓取正常流量數據65 178 條,編號為P。按照本文隱信道構建方法模擬生成含密流量數據Q1(40 000 條)以及Q2(4 000 條)。
本文實驗流程如圖4所示,具體如下:
圖4 本文實驗流程Fig.4 Procedure of the experiment in this paper
1)將正常數據與含密數據混合后按大小為w=1 000 的窗口進行分割,兩種數據用標識符標記,正常數據標記為0,含密數據標記為1。
2)在w個數據中提取7 種特征,形成1 個13 維數組,數組中包含馬爾可夫轉移矩陣的4 個元素、熵值、包間時延均值、峰態(tài)、偏態(tài)、包間時延方差、DCT系數最大值、DCT 系數最小值、ε-相似度(ε=0.5)以及標準偏差的差值。
3)針對上述數據集預處理得到的實驗數據,采用五折交叉驗證,同時為證明在本實驗背景下Xgboost 算法相較Logistic 回歸算法、決策樹算法、隨機森林算法等目前較流行的算法具有更好的適用性,使用上述算法分別進行訓練和建模預測。
五折交叉驗證步驟如圖5所示,具體如下:
圖5 五折交叉驗證原理圖Fig.5 Schematic diagram of five-fold cross validation
1)將實驗數據平均分為5 份,在分割過程中保證每份數據均含有兩種標簽樣本。
2)保留1 份單獨的數據樣本作為測試數據,其他4 份數據樣本用于對上述4 種分類器逐一進行訓練,交叉驗證重復5 次,每個樣本數據測試1 次,當輸出結果為1 時表示為含密數據,當輸出結果為0 時表示為正常數據。
3)計算5 次結果的平均值作為各個分類器的評價指標最終結果。
本文采用基于Xgboost 的方法(以下稱為本文方法)對待測數據進行分組實驗,并將所得結果與BP神經網絡方法(以下稱為BP 方法)結果[10]進行對比。
3.2.1 對比實驗結果
分別對單組數據、多組數據以及不同實驗環(huán)境數據進行檢測,以下為對比實驗的結果。
1)單組數據檢測。將M1 與Q1(單組數據1)、N1 與Q1(單組數據2)分別作為原始數據通過五折交叉驗證進行Xgboost 判決,得到實驗結果如表1 和表2所示。
表1 單組數據1 檢測結果對比Table 1 Comparison of detection results of single group data 1
表2 單組數據2 檢測結果對比Table 2 Comparison of detection results of single group data 2
2)多組數據檢測。將M1、M2、N1、N2、Q1、Q2作為原始數據通過五折交叉驗證進行Xgboost 判決,得到實驗結果如表3所示。
表3 多組數據檢測結果對比Table 3 Comparison of detection results of multi-group data
3)不同實驗環(huán)境數據檢測。將M1、N1、P、Q1、Q2 作為原始數據通過五折交叉驗證進行Xgboost 判決,得到實驗結果如表4所示。
表4 不同環(huán)境數據檢測結果對比Table 4 Comparison of detection results of different environmental data
本文添加了峰態(tài)、偏態(tài)以及標準偏差的差值3 種特征,再利用五折交叉驗證和Xgboost 算法,根據不同實驗得到了相應的檢測率和虛警率。在檢測率方面,雖然本文方法偶爾略低于BP 方法,但檢測率依然保持在0.999 0 以上,基本與BP 方法檢測率相同;在虛警率方面,本文方法較BP 方法最多降低約10 個百分點。總體而言,本文方法檢測率更高且虛警率更低。
3.2.2 適用性實驗結果
為進一步驗證Xgboost 算法在本文實驗研究背景下的適用性,另外選取精確率(P)、召回率(R)、精確率和召回率的調和均值(F1)、準確率(A)這4 個性能指標,加上檢測率和虛警率共采用6 個性能指標來比較Xgboost 分類器和邏輯回歸、決策樹、隨機森林等當前較流行分類器的分類效果。
對二分類問題而言,如果實例是正類且被預測為正類,則稱為真正類(True Positive,TP);如果實例是負類且被預測成正類,則稱為假正類(False Positive,FP);如果實例是負類且被預測成負類,則稱為真負類(True Negative,TN);如果實例是正類且被預測成負類,則稱為假負類(False Negative,FN)。準確率A用于描述分類器的分類效果,準確率越大,分類器分類效果越好。當A=1 時,該分類器是完美分類器;當0.5<A<1 時,該分類器的結果優(yōu)于隨機猜測結果;當A=0.5 時,該分類器的結果與隨機猜測結果接近;當A<0.5 時,該分類器的結果比隨機猜測結果要差。
相關計算公式如下:
其中:TP 為正類預測正確的個數,FP 為負類預測錯誤的個數,TN 為負類預測正確的個數,FN 為正類預測錯誤的個數。
各分類器的性能指標如表5所示。由表5 可見,Xgboost 分類器和隨機森林分類器均有較好的分類效果,決策樹分類器次之,邏輯回歸分類器效果最差。邏輯回歸分類器的準確率雖然達到0.987 51,但是另外5 項指標遠低于其他3 種分類器,其分類效果最差。決策樹分類器和隨機森林分類器的各項指標都較好,但Xgboost 分類器的檢測率相較決策樹分類器提升約0.5 個百分點,較隨機森林分類器提升0.1 個百分點。Xgboost 分類器的召回率略高于決策樹分類器,相較隨機森林分類器提升約0.1 個百分點。Xgboost分類器的調和均值相對決策樹分類器提升約2 個百分點,相較隨機森林分類器提升約1 個百分點。Xgboost 分類器的準確率為1.000 00,在本文中分類效果接近理想狀態(tài),較決策樹分類器提升約2 個百分點。Xgboost 分類器的虛警率在4 個分類器中最低。雖然Xgboost 分類器精確率略低于隨機森林分類器,但從總體來看,Xgboost分類器的分類效果最佳。
表5 不同分類器的性能指標Table 5 Performance indicators of different classifiers
本文提出一種利用Xgboost 算法的Skype 時間式隱信道檢測方法?;谡Mㄐ艛祿腃DF 模型建立網絡隱蔽通道提取數據特征并構建特征向量,采用五折交叉驗證法和Xgboost 算法進行判決。同時,找到使模型泛化性能最優(yōu)的超參值,利用獨立測試集對模型性能進行評價,以提高分類精度并避免產生過擬合現象。實驗結果表明,該方法較BP 神經網絡方法檢測率更高且虛警率更低。后續(xù)將在本文方法的基礎上對新型時間式隱信道檢測進行研究,進一步提高檢測率。