張 博
(北京理工大學計算機學院,北京 100081)
計算機的隱蔽信道是信息安全[1]的關(guān)鍵環(huán)節(jié),隨著互聯(lián)網(wǎng)的快速發(fā)展,相關(guān)領(lǐng)域設(shè)計出了多種隱蔽信道,進一步推動了隱蔽信道檢測算法的研究,使其成為通信領(lǐng)域的熱點問題,得到了眾多學者的廣泛關(guān)注。當前比較常用的網(wǎng)絡(luò)隱蔽信道檢測方法主要有基于壓縮感知算法的網(wǎng)絡(luò)隱蔽信道檢測法、基于弱能量并行算法的網(wǎng)絡(luò)隱蔽信道檢測法以及基于LS頻域算法的網(wǎng)絡(luò)隱蔽信道檢測法,雖然傳統(tǒng)檢測法可以使接收機獲取信道的相關(guān)信息,以滿足無線通信系統(tǒng)內(nèi)信道的應(yīng)用需求,但外界的強干擾條件導(dǎo)致其屬性特征出現(xiàn)變化,若信道屬性出現(xiàn)較大變化,缺乏融合約束會造成屬性特征融合偏差,嚴重影響信道檢測的精準度,同時,現(xiàn)有方法存在一定的局限性,不能對主動式和被動式隱蔽信道進行全面檢測[2]。
因此,本文以移動網(wǎng)絡(luò)時間隱蔽信道為檢測背景,提出一種優(yōu)化的檢測算法,依據(jù)隱蔽信息的傳輸原理,分析傳統(tǒng)網(wǎng)絡(luò)時間隱蔽信道檢測流程,用兩點之間的模表示兩子類間的相似度,聯(lián)立初始階段樣本及其聚類核之間的關(guān)聯(lián)性。隨后對全部屬性進行歸一化處理,并得出模長的線性投影特征值,通過各維空間的密度聚類算法計算,去除無聚類屬性,從而組建新的屬性集合,將數(shù)據(jù)包傳輸?shù)拈g隔時長序列作為檢測的目標進行建模,經(jīng)過對比分析所得模型與正常模型的相鄰子類余弦相似度均值、歐幾里得距離均值以及分化系數(shù)均值,判定待檢測模型的狀態(tài)屬性,依據(jù)正常模型特征,獲取隱蔽信道檢測結(jié)果。
由正常信道基本元素與基本特征構(gòu)成的移動網(wǎng)絡(luò)時間隱蔽信道,從本質(zhì)上說,就是一種用于隱藏信息傳輸?shù)耐ㄐ畔到y(tǒng)。
已知用戶A準備把隱蔽信息I發(fā)送給用戶B,并選取網(wǎng)絡(luò)時間隱蔽信道作為傳輸信道,則用戶之間除了要架構(gòu)一條TCP/IP協(xié)議[3]連接的網(wǎng)絡(luò)鏈路之外,還應(yīng)提前設(shè)置一個時間集合{t1,t2,…,tn}及各時間的關(guān)聯(lián)值。隱蔽信息I在傳輸階段,先進行二進制串編碼,若發(fā)送信息為0,則用戶A再次發(fā)送數(shù)據(jù)包的時間間隔為t1時長,若信息是1,則時間間隔是t2時長;用戶B在接收端口對鏈路實施監(jiān)視,將所有數(shù)據(jù)包的間隔時長t記錄下來,通過反復(fù)t、t1以及t2的對比過程,使用戶B獲取到隱蔽信道所傳輸?shù)目傮w二進制串,實現(xiàn)信息I的還原。下圖為移動網(wǎng)絡(luò)時間隱蔽信道結(jié)構(gòu)示意圖。
圖1所示的二進制信道,能夠采用下列表達式進行描述

圖1 移動網(wǎng)絡(luò)時間隱蔽信道結(jié)構(gòu)示意圖
I→(0|1)*→T={ti}
(1)
式中,i=1,2,…,n,二進制的任意一種組合表示為(0|1)*,現(xiàn)實情況下數(shù)據(jù)包的間隔時長序列為T。
通常情況下,網(wǎng)絡(luò)隱蔽信道檢測是通過數(shù)據(jù)聚類方法得以實現(xiàn)的。將數(shù)據(jù)集設(shè)定為X={x1,x2,…,xn},劃分成相似的子集[4]類C={C1,C2,…,Ck},其中,k表示類別中的子集個數(shù)。采用聚類算法對其進行運算,得到多個內(nèi)部元素相似的子類,各子類之間存在差異性,不同的相似度閾值會導(dǎo)致子類間生成不同的差異特點,其差異化一般采用子類的間距進行度量。在提升維度之后,用兩點之間的模表示兩子類間的相似度,假設(shè)模長為s,那么,其表達式如下所示
(2)
式中,m維空間中任意一維里任意一點的投影值是K。
通過在一個鄰域中尋找數(shù)據(jù)的聚類,把密度比較理想的區(qū)域聚合為一個子類,進而從中發(fā)現(xiàn)數(shù)據(jù)規(guī)律。與密度聚類算法存在關(guān)聯(lián)性的一組定義如下所示:
定義1:假定中心是數(shù)據(jù)R,對象的ε-鄰域就是ε圍成的范圍。
定義2:如果鄰域中至少存在p個對象,那么,中心對象則為R,其中,對象數(shù)量可任意設(shè)定。

采用密度聚類算法實施聚類處理,對所得的多個聚類核個數(shù)與坐標進行標記,并將聚類核集合用R={Rj}表示。
初始階段的聚類核集合R滿足R=Φ,且樣本Si及其所得的核Rj,符合下列關(guān)系表達式
F[Si]=Rj·s(i,j)
(3)
式中,核Rj的個數(shù)對應(yīng)kj樣本個數(shù)。
密度聚類網(wǎng)絡(luò)隱蔽信道檢測算法中的kj取值為0,具體操作流程描述如下:
1)在歸一化處理所有屬性的過程中,將存在隱蔽信道記錄里的屬性數(shù)量設(shè)定為m,樣本集合數(shù)量設(shè)定為n,采用下列公式展開屬性的歸一化處理
(4)
式中,第j個屬性的極值分別是xmin(j)、xmax(j),經(jīng)過歸一化處理的第i個與第j個屬性標值為x(i,j),歸一化之前的觀測值表示為x*(i,j)。
2)如果m維單位投影方向的矢量是a,a1,a2,…,am表示的是該矢量的各個分量,那么,利用式(2)來描述xij的線性投影特征值,并推導(dǎo)出如下所示的投影函數(shù)
(5)
將該投影函數(shù)作為高維數(shù)據(jù)向低維空間投影過程中的投影規(guī)則[6],其中,i=1,2,…,n,單位矩陣為A,經(jīng)過投影得到的數(shù)值為zi。

4)如果a1,a2,…,ak中的每個分量都有一個對應(yīng)的聚類,其中,1
綜上所述,經(jīng)過降維投影處理所得數(shù)據(jù),如果任一屬性內(nèi)的子類較多,則判定其中存在隱蔽信道;反之,若任一屬性內(nèi)無子類,那么不存在隱蔽信道。若僅存一個子類,則對其進行降維投影處理,完成多維空間的構(gòu)造,通過明確子類個數(shù),判斷隱蔽信道是否存在。
傳統(tǒng)算法多用于低維數(shù)據(jù)的處理計算,僅有少量高維數(shù)據(jù)的處理需求參與其中,所以,檢測效率優(yōu)勢比較明顯。但實際網(wǎng)絡(luò)的頻率一般較高,在沒有隱蔽信道存在的情況下,也會生成聚類,因此,為了獲得更準確的檢測結(jié)果,對傳統(tǒng)檢測算法進行優(yōu)化改進。
根據(jù)上述網(wǎng)絡(luò)隱蔽信道屬性聚類與屬性濾除結(jié)果,在移動網(wǎng)絡(luò)時間隱蔽信道的檢測過程中,將數(shù)據(jù)包傳輸?shù)拈g隔時長序列T作為所要檢測的目標,采用建模算法分別設(shè)計出基于正常信道的網(wǎng)絡(luò)間隔時長模型與基于隱蔽信道的網(wǎng)絡(luò)間隔時長模型,通過比較兩種模型達成檢測目標,如果間隔時長序列為正常狀態(tài),那么不存在隱蔽信道,反之,則含有隱蔽信道。
假設(shè)任意一條鏈路的數(shù)據(jù)包間隔時長序列為T={ti},其中,i=1,2,…,n,檢測窗口N不僅表示檢測頻率,即每N個數(shù)據(jù)包檢測一次,同時也指代建模窗口,即每N個數(shù)據(jù)包建模一次,對比得到的模型M與正常模型M0。
優(yōu)化后算法的具體操作流程描述如下:
1)創(chuàng)建數(shù)據(jù)包間隔時長序列T的模型,得到待檢測模型M1。對檢測模型M進行初始化,并滿足下列條件式
M.win_size=win_size
(6)
M.clusters=clusters
(7)
上式中,聚類與計算窗口的大小為win_size,也就是每有win_size個數(shù)據(jù)就聚類一次,并推算出分化系數(shù)polarization,聚類數(shù)量為clusters,clusters≥2。
采用下列公式對聚類次數(shù)進行求取

(8)
若次數(shù)不足2次,就無法實現(xiàn)多個子類間的差異計算,則建模操作終止。
依據(jù)窗口大小與聚類數(shù)量,聚類第i組數(shù)據(jù){t(i-1)×win_size+1,t(i-1)×win_size+2,…,ti×win_size},其中,i=1,2,…,x-1,基于取得的聚類結(jié)果Ci,獲取該組數(shù)據(jù)的分化系數(shù)polarizationi。
同理聚類第i+1組數(shù)據(jù),解得對應(yīng)的聚類結(jié)果Ci+1與分化系數(shù)polarizationi+1。
對聚類結(jié)果Ci與Ci+1間的余弦相似度[7,8]cos 與歐幾里得距離dist進行求解,設(shè)定計算結(jié)果分別為cosi和disti。
(9)
(10)
(11)
式中,聚類次數(shù)為x,所以,所得的余弦相似度與歐幾里得距離個數(shù)為x-1。
(12)
(13)
(14)

依據(jù)正常模型M0的特征,采用下列公式完成待檢測模型M1的檢測
(15)
(16)
(17)
3)若模型之間的關(guān)系不符合上列條件式,表明模型M1存在異常,實施報警;相反,則說明待檢測模型M1正常,該次檢測流程結(jié)束,對鏈路[9,10]上的數(shù)據(jù)包間隔時長序列進行重新采集,開始下一檢測周期。
根據(jù)上述分析,得到檢測優(yōu)化算法流程圖如下所示。

圖2 檢測算法具體流程圖
為了體現(xiàn)本文算法的適用性與有效性,分別采用基于壓縮感知算法的網(wǎng)絡(luò)隱蔽信道檢測法(方法1)、基于弱能量并行算法的網(wǎng)絡(luò)隱蔽信道檢測法(方法2)以及基于LS頻域算法的網(wǎng)絡(luò)隱蔽信道檢測法(方法3)與本文算法進行對比,對MBCTC主動式隱蔽信道和Liquid被動式隱蔽信道實施檢測。
仿真環(huán)境為英特爾酷睿i5-2520M處理器,運行內(nèi)存4GB,Linux操作系統(tǒng),所有分析均通過MATLAB實現(xiàn)。實驗采用數(shù)據(jù)集為KDD CUP-99,該數(shù)據(jù)集是由不同網(wǎng)絡(luò)流量和攻擊手段生成的真實數(shù)據(jù)集。其中,共有500萬條數(shù)據(jù),數(shù)據(jù)異常類型被分為4大類。針對主動式隱蔽信道,1000個主動發(fā)送的數(shù)據(jù)包格式為正常HTTP,MBCTC的時間間隔擬合于正常HTTP數(shù)據(jù)包;對于被動式隱蔽信道,對數(shù)據(jù)包進行重放,通過編碼算法完成數(shù)據(jù)包延時。
1)主動式隱蔽信道檢測效果
圖3為不同方法針對主動式隱蔽信道檢測準確性的對比結(jié)果。

圖3 主動式隱蔽信道檢測準確率
通過圖3可以看出,雖然在實驗前期和中期不同方法對主動式隱蔽信道的檢測結(jié)果的準確率差距不明顯,但是到實驗后期,本文方法的檢測準確率一直處于較高水平,其最高值達到了90%,說明該方法能夠?qū)崿F(xiàn)對主動式隱蔽信道的準確檢測。
2)被動式隱蔽信道檢測效果
圖4為不同方法針對被動式隱蔽信道檢測準確性的對比結(jié)果。

圖4 被動式隱蔽信道檢測值
從圖4中能夠發(fā)現(xiàn),不同方法針對被動式隱蔽信道的檢測結(jié)果準確率均呈現(xiàn)明顯降低的趨勢,但隨著實驗次數(shù)的不斷增加,本文方法的檢測結(jié)果準確率仍然高于現(xiàn)有方法,說明本文方法不僅可以對主動式隱蔽信道進行有效檢測,還可以對被動式隱蔽信道進行準確檢測。這是由于該方法根據(jù)數(shù)據(jù)包傳輸?shù)拈g隔時長序列,設(shè)計了正常信道和隱蔽信道下的網(wǎng)絡(luò)間隔時長模型,通過比較兩種模型相鄰子類之間相關(guān)指標完成了對信道的有效檢測。
隨著網(wǎng)絡(luò)信息的應(yīng)用,信息安全需求日益提升,為此,本文提出一種移動網(wǎng)絡(luò)時間隱蔽信道檢測優(yōu)化算法,根據(jù)隱蔽信道傳輸?shù)目傮w二進制串,探索信道的架構(gòu)原理,劃分數(shù)據(jù)集為相似子集類,利用聚類算法實施計算,使內(nèi)部元素相似的各個子類存在差異性,采用兩點間的模長度量子類之間的差異化,從而推導(dǎo)出子類的相似度,通過在一個鄰域中尋找數(shù)據(jù)的聚類,對高密度數(shù)據(jù)進行聚合,基于得到的多個聚類核個數(shù)與坐標,完成樣本數(shù)據(jù)與聚類核的關(guān)系建立,依據(jù)聚類數(shù)量與計算窗口大小,分別創(chuàng)建正常信道與隱蔽信道的網(wǎng)絡(luò)間隔時長模型,對比兩個模型相鄰子類的各項指標參數(shù),令隱蔽信道檢測得以實現(xiàn)。實驗結(jié)果驗證,該方法的檢測準確性優(yōu)于現(xiàn)有方法,尤其是對主動式隱蔽信道的檢測準確率達到了90%,說明該方法具有廣闊的發(fā)展空間與較強的實踐價值,為今后相關(guān)領(lǐng)域研究提供了有效的數(shù)據(jù)資料與建設(shè)性的理論指導(dǎo)。