張宇飛,沈 瑤,楊 威,肖?漢,黃劉生
1(中國(guó)科學(xué)技術(shù)大學(xué) 蘇州研究院,江蘇 蘇州 215123)
2(中國(guó)科學(xué)技術(shù)大學(xué) 軟件學(xué)院,江蘇 蘇州 215123)
3(中國(guó)科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230026)
通訊作者:張宇飛,E-mail:SA614137@mail.ustc.edu.cn
網(wǎng)絡(luò)隱蔽信道技術(shù)是指利用網(wǎng)絡(luò)中的合法通信信道構(gòu)建秘密信道,進(jìn)行隱秘信息的傳輸.隱蔽信道在加密傳輸信息內(nèi)容的同時(shí),對(duì)傳輸信息行為也進(jìn)行了加密.傳統(tǒng)的加密技術(shù)很容易引起注意,并被加以破解.隨著密碼學(xué)等相關(guān)理論的發(fā)展,密文的破譯技術(shù)得到了飛速發(fā)展,加密技術(shù)的可靠性將面臨挑戰(zhàn).隱蔽信道技術(shù)相比加密技術(shù)具有更強(qiáng)的隱蔽性.自1973 年Lampson 提出隱蔽信道的概念至今,對(duì)于隱蔽信道技術(shù)的研究成果層出不窮;與此同時(shí),隱蔽信道檢測(cè)技術(shù)也隨著隱蔽信道技術(shù)的發(fā)展而被研究.對(duì)于隱蔽信道領(lǐng)域的正向研究,主要目標(biāo)是提出具有更高信道容量、更高傳輸效率、更強(qiáng)隱蔽性的隱蔽信道實(shí)現(xiàn)方案,以保障重要信息傳輸過(guò)程的安全;反向研究則是探索更通用、更可靠、檢測(cè)率更高的隱蔽信道檢測(cè)算法,及時(shí)發(fā)現(xiàn)并阻止不法分子利用隱蔽信道竊取機(jī)密信息.
根據(jù)存儲(chǔ)載體的不同,現(xiàn)有的網(wǎng)絡(luò)隱蔽信道實(shí)現(xiàn)方式主要分為兩類:網(wǎng)絡(luò)存儲(chǔ)型隱蔽信道利用網(wǎng)絡(luò)數(shù)據(jù)包中的某些字段編碼隱秘信息進(jìn)行傳輸;網(wǎng)絡(luò)時(shí)序型隱蔽信道則將隱秘信息編碼到相鄰數(shù)據(jù)包的時(shí)間間隔中,利用網(wǎng)絡(luò)中數(shù)據(jù)包的傳輸速率、發(fā)送時(shí)間和到達(dá)時(shí)間進(jìn)行隱秘信息的傳輸.
時(shí)序型隱蔽信道利用數(shù)據(jù)包的時(shí)間間隔傳輸信息,而數(shù)據(jù)包的時(shí)間間隔容易受到網(wǎng)絡(luò)環(huán)境影響.當(dāng)網(wǎng)絡(luò)環(huán)境不穩(wěn)定時(shí),數(shù)據(jù)包的時(shí)間間隔也會(huì)發(fā)生較大的抖動(dòng),造成隱蔽信道傳輸信息的錯(cuò)誤.因此相比存儲(chǔ)型隱蔽信道,時(shí)序型隱蔽信道的可靠性較差.但是時(shí)序型隱蔽信道的優(yōu)點(diǎn)在于其隱蔽性很強(qiáng),實(shí)現(xiàn)機(jī)理和信息編碼過(guò)程的復(fù)雜多變,使得目前尚無(wú)方法有效檢測(cè)所有類型的網(wǎng)絡(luò)時(shí)序型隱蔽信道;并且隨著網(wǎng)絡(luò)和通信技術(shù)的發(fā)展,網(wǎng)絡(luò)環(huán)境也在逐步改善,這也使得時(shí)序型隱蔽信道的準(zhǔn)確率和可靠性在逐步提升.因此,時(shí)序型隱蔽信道檢測(cè)技術(shù)的研究成為了目前隱蔽信道檢測(cè)技術(shù)研究工作的重點(diǎn).
針對(duì)上述問(wèn)題,本文提出一種基于差分運(yùn)算和信息熵的網(wǎng)絡(luò)時(shí)序型隱蔽信道檢測(cè)算法,其主要貢獻(xiàn)如下:
(1)提出了差分信息熵(difference entropy)的概念,通過(guò)理論研究得到差分熵的特性,為檢測(cè)算法的有效性提供理論基礎(chǔ);
(2)提出了基于差分信息熵的時(shí)序型隱蔽信道檢測(cè)算法,并通過(guò)一系列實(shí)驗(yàn)確定算法的最優(yōu)參數(shù)設(shè)定;
(3)設(shè)計(jì)了對(duì)照實(shí)驗(yàn),比較了本文提出的差分熵算法和相似度算法、隨機(jī)性檢測(cè)算法、CCE 算法以及熵評(píng)估算法對(duì)于IPCTC,TRCTC,JitterBug 這3 種時(shí)序型隱蔽信道的檢測(cè)效果,著重研究了對(duì)于JitterBug隱蔽信道的檢測(cè)效果.
本文第1 節(jié)介紹研究背景,簡(jiǎn)要描述本文中涉及到的一些預(yù)備知識(shí).第2 節(jié)提出差分信息熵的概念并描述其特性.第3 節(jié)介紹基于差分信息熵的網(wǎng)絡(luò)時(shí)序型隱蔽信道檢測(cè)算法的原理.第4 節(jié)介紹算法的實(shí)現(xiàn)過(guò)程,包括數(shù)據(jù)的收集、處理方式以及算法在程序?qū)崿F(xiàn)過(guò)程中涉及到的參數(shù)設(shè)定.第5 節(jié)通過(guò)設(shè)計(jì)實(shí)驗(yàn)來(lái)檢驗(yàn)算法的性能和效果.最后,第6 節(jié)說(shuō)明目前研究過(guò)程中存在的問(wèn)題以及之后的研究方向,并且總結(jié)全文.
隱蔽信道的概念最初由Lampson 在1973 年提出,他將隱蔽信道定義為本意不是用來(lái)傳輸信息的通信信道[1].即:如果采用某種手段或方法,利用一個(gè)本不是用于通信的系統(tǒng)或過(guò)程來(lái)傳輸信息,那么這種手段或方法就構(gòu)建了一條隱蔽信道.文獻(xiàn)[1]中,作者將兩個(gè)具有調(diào)用關(guān)系的程序稱為 Customer 和 Service,并給出了在Customer 調(diào)用Service 時(shí),程序Service 可能將Customer 的信息泄露給第三方的6 種可能的情況,進(jìn)而表明:即使Customer 在調(diào)用Service 時(shí)為Service 規(guī)定了嚴(yán)格的數(shù)據(jù)訪問(wèn)權(quán)限,Customer 的數(shù)據(jù)依然有可能被泄漏.通過(guò)對(duì)6 種情況的闡述,作者認(rèn)為,Service 程序?qū)a(chǎn)生3 種類型的通信信道.
· 存儲(chǔ)信道:Service 可以將數(shù)據(jù)存儲(chǔ)在可以被第三方訪問(wèn)到的存儲(chǔ)空間中來(lái)實(shí)現(xiàn)數(shù)據(jù)的隱秘傳輸;
· 加密信道:Service 利用某種方式,在合法信道中嵌入機(jī)密信息進(jìn)行傳輸;
· 隱蔽信道:通過(guò)某種方式,利用本不是用來(lái)傳輸信息的過(guò)程或機(jī)制來(lái)傳輸信息.
Lampson 隱蔽信道的定義后來(lái)被Tsai 等人進(jìn)一步完善.Tsai 給出的隱蔽信道的定義是:給定一個(gè)強(qiáng)制安全策略模型M以及其在操作系統(tǒng)中的解釋I(M),I(M)中的兩個(gè)主體I(Sh)和I(Sl)之間的通信是隱蔽的,當(dāng)且僅當(dāng)模型M中的對(duì)應(yīng)主體Sh和Sl之間的任何通信都是非法的[2].該定義認(rèn)為:隱蔽信道只與系統(tǒng)的強(qiáng)制訪問(wèn)控制策略模型相關(guān),并且廣泛存在于部署了強(qiáng)制訪問(wèn)控制機(jī)制的安全操作系統(tǒng)、安全網(wǎng)絡(luò)和安全數(shù)據(jù)庫(kù)中[3].
從1973 年至今,對(duì)于隱蔽信道方面的研究成果層出不窮.Wang 等人、Zander 等人對(duì)于目前已有隱蔽信道方面的研究成果進(jìn)行了充分的總結(jié)和歸納[3,4].Wang 在其綜述中描述了4 種類型的隱蔽信道[3].
(1)數(shù)據(jù)庫(kù)信道:利用數(shù)據(jù)庫(kù)系統(tǒng)對(duì)外傳輸數(shù)據(jù),主要利用數(shù)據(jù)庫(kù)中的存儲(chǔ)資源、管理資源以及事務(wù)并發(fā)控制機(jī)制構(gòu)建隱蔽信道;
(2)閾下信道:基于公鑰密碼技術(shù)的數(shù)字簽名、認(rèn)證等應(yīng)用密碼體制的輸出密碼數(shù)據(jù)中建立起來(lái)的一種隱蔽信道;
(3)網(wǎng)絡(luò)信道:網(wǎng)絡(luò)信道可以分為兩種:第1 種存在于多級(jí)安全系統(tǒng)中,是一種用于從高安全級(jí)向低安全級(jí)傳輸信息的隱蔽信道;第2 種則不涉及多級(jí)安全的概念,在普通的通信信道中嵌入一層隱蔽的通信信道,這里普通信道是隱蔽信道的載體;
(4)推理信道:嚴(yán)格意義上講,推理信道并不是一種通信信道,它利用某種方式,通過(guò)對(duì)公開(kāi)數(shù)據(jù)的查看來(lái)推理出隱私數(shù)據(jù)的內(nèi)容.這種技術(shù)通常用于獲取數(shù)據(jù)庫(kù)中的私有信息,例如:利用數(shù)據(jù)庫(kù)中的某些聚集查詢和函數(shù)查詢來(lái)推斷某一條數(shù)據(jù)記錄的具體內(nèi)容.
從文獻(xiàn)[3]可以看出,對(duì)于隱蔽信道的研究已經(jīng)擴(kuò)展了Lampson 和Tsai 最初對(duì)于隱蔽信道的定義.Lampson提出的3 類信道,在現(xiàn)今的研究中都可以歸于隱蔽信道的范疇;Wang 所描述的4 類隱蔽信道中,數(shù)據(jù)庫(kù)信道對(duì)應(yīng)于 Lampson 描述的存儲(chǔ)信道,閾下信道和網(wǎng)絡(luò)信道則對(duì)應(yīng)于 Lampson 提出的加密信道,推理信道對(duì)應(yīng)于Lampson 的隱蔽信道.目前研究的隱蔽信道主要針對(duì)利用網(wǎng)絡(luò)協(xié)議規(guī)定的數(shù)據(jù)幀或數(shù)據(jù)報(bào)來(lái)構(gòu)建的隱蔽信道,對(duì)應(yīng)于Wang 在其綜述中提到的第2 類網(wǎng)絡(luò)信道.
網(wǎng)絡(luò)隱蔽信道是指利用計(jì)算機(jī)網(wǎng)絡(luò)中的各種協(xié)議,以合法通信信道作為載體,構(gòu)建用于傳輸隱秘信息的通信信道.這里關(guān)于術(shù)語(yǔ)隱蔽信道(covert channel)的意義和指代的范疇,Zander 在其綜述中做出了明確的界定[4]:利用網(wǎng)絡(luò)中的各種協(xié)議幀的格式來(lái)嵌入隱秘信息的技術(shù)稱為隱蔽信道;通過(guò)加密技術(shù)將隱秘信息嵌入到數(shù)據(jù)明文中的方式則稱為隱寫術(shù)(steganography);術(shù)語(yǔ)信息隱藏(information hiding)涵蓋了以上兩者.作為載體的合法信道則稱為公開(kāi)信道(overt channel).
對(duì)于網(wǎng)絡(luò)隱蔽信道技術(shù),我們可以從多個(gè)角度進(jìn)行分類.
(1)按照隱秘信息編碼原理劃分,網(wǎng)絡(luò)隱蔽信道可以劃分為網(wǎng)絡(luò)存儲(chǔ)型隱蔽信道和網(wǎng)絡(luò)時(shí)序型隱蔽信道:前者主要利用網(wǎng)絡(luò)協(xié)議中的一些控制字段編碼隱秘信息,實(shí)現(xiàn)隱秘傳輸;后者則利用了數(shù)據(jù)包的發(fā)送時(shí)間、接收時(shí)間、時(shí)間間隔來(lái)進(jìn)行隱秘信息的編碼;
(2)按照傳輸載體劃分,網(wǎng)絡(luò)隱蔽信道可以分為網(wǎng)絡(luò)協(xié)議隱蔽信道和網(wǎng)絡(luò)應(yīng)用隱蔽信道:前者利用的是涉及到網(wǎng)絡(luò)基礎(chǔ)建設(shè)的底層協(xié)議,諸如TCP,UDP,IP,ICMP 以及其他的鏈路層協(xié)議;后者利用的則是涉及到高級(jí)網(wǎng)絡(luò)應(yīng)用的應(yīng)用層協(xié)議,諸如HTTP,HTTPS,SMTP 以及SSH 等;
(3)按照與合法信道的關(guān)系劃分,網(wǎng)絡(luò)隱蔽信道可以分為主動(dòng)式隱蔽信道和被動(dòng)式隱蔽信道.主動(dòng)式隱蔽信道的發(fā)送方和接受方與合法信道的發(fā)送方和接收方是相同的,因此,主動(dòng)式隱蔽信道可以直接操縱信道的容量和傳輸速率;被動(dòng)式隱蔽信道的發(fā)送方、接受方與合法信道的發(fā)送方、接收方不同,而是介于合法信道發(fā)送方和接收方之間.被動(dòng)式隱蔽信道僅僅是借助于合法信道作為載體,對(duì)于信道的控制力較弱,隱蔽信道的傳輸能力和性能也主要取決于作為載體的合法信道的情況.被動(dòng)式隱蔽信道和主動(dòng)式隱蔽信道的區(qū)別可以用圖1、圖2 來(lái)描述.

Fig.2 Active covert channel圖2 主動(dòng)式隱蔽信道
以上的分類方式中,第1 種分類方式最能體現(xiàn)隱蔽信道的本質(zhì),下文中的討論都基于該分類方式.
1.2.1 網(wǎng)絡(luò)存儲(chǔ)型隱蔽信道
網(wǎng)絡(luò)存儲(chǔ)隱蔽信道主要利用網(wǎng)絡(luò)協(xié)議幀中的字段編碼隱秘信息,構(gòu)建隱蔽通信信道.常用的載體有IP 數(shù)據(jù)報(bào)中的服務(wù)類型(TOS)[5]、標(biāo)志位(flag)[6]、數(shù)據(jù)報(bào)編號(hào)(identification)[7,8]、生存時(shí)間(TTL)[9,10]、數(shù)據(jù)報(bào)長(zhǎng)度等字段以及TCP 報(bào)文中的緊急指針(URG)[11]、報(bào)文序號(hào)(sequence)[12,13]等字段.另外,以上協(xié)議中的選項(xiàng)部分和填充字節(jié)也可以作為隱秘信息的載體.
網(wǎng)絡(luò)存儲(chǔ)型隱蔽信道的構(gòu)建不僅可以利用底層的網(wǎng)絡(luò)協(xié)議,還可以利用一些應(yīng)用層的協(xié)議,如HTTP[14-16]和DNS[17]協(xié)議.一些TCP/IP 層之下的協(xié)議,諸如以太網(wǎng)、令牌環(huán)網(wǎng)絡(luò)中涉及的相關(guān)協(xié)議也可以作為網(wǎng)絡(luò)存儲(chǔ)型隱蔽信道的載體[18-20].
本文提出的檢測(cè)算法主要針對(duì)網(wǎng)絡(luò)時(shí)序型隱蔽信道,因此對(duì)于存儲(chǔ)型隱蔽信道,這里僅簡(jiǎn)要說(shuō)明.
1.2.2 網(wǎng)絡(luò)時(shí)序型隱蔽信道
網(wǎng)絡(luò)時(shí)序型隱蔽信道將隱秘信息編碼為數(shù)據(jù)包傳輸過(guò)程中的時(shí)間間隔,達(dá)到隱秘傳輸?shù)哪康?對(duì)于主動(dòng)式的網(wǎng)絡(luò)時(shí)序型隱蔽信道,發(fā)送端在發(fā)送數(shù)據(jù)包時(shí)就將隱秘信息編碼到了數(shù)據(jù)包的時(shí)間間隔中,發(fā)送端發(fā)送數(shù)據(jù)包時(shí),發(fā)送的時(shí)間間隔就根據(jù)要傳輸?shù)碾[秘信息進(jìn)行了調(diào)制;對(duì)于被動(dòng)式時(shí)序型隱蔽信道,則主要通過(guò)攔截、抓取正常網(wǎng)絡(luò)信道中正在傳輸?shù)臄?shù)據(jù)包,根據(jù)要傳送的隱秘信息,將數(shù)據(jù)包的時(shí)間間隔延長(zhǎng)或縮短,達(dá)到傳輸隱秘信息的目的.
以下是部分網(wǎng)絡(luò)時(shí)序型隱蔽信道類型的簡(jiǎn)要介紹.
· IPCTC (IP covert timing channel)
2004 年,Cabuk 提出了一種時(shí)序型隱蔽信道稱為IPCTC[21],在其實(shí)現(xiàn)中,發(fā)送方和接受方需要事先約定一個(gè)時(shí)間間隔t.發(fā)送開(kāi)始后,對(duì)于每一個(gè)時(shí)間間隔t,如果發(fā)送方需要發(fā)送比特1,就在該時(shí)間間隔內(nèi)發(fā)送一個(gè)數(shù)據(jù)包;否則,發(fā)送方保持靜默,接收方觀察數(shù)據(jù)包到達(dá)的時(shí)間間隔,就可以得到信道中包含的隱秘信息.如果在時(shí)間間隔t之內(nèi)收到了發(fā)送方發(fā)送的數(shù)據(jù)包,傳輸?shù)臄?shù)據(jù)被識(shí)別為比特1;否則,識(shí)別為比特0.IPCTC 的傳輸原理如圖3所示.
Cabuk 還在文中給出了發(fā)送方和接收方的同步機(jī)制,并指出了4 種可能影響IPCTC 隱蔽信道傳輸性能的因素.其中,時(shí)間間隔t直接決定了信道的容量和傳輸效率:t值越小,信道的傳輸速率越高;但是時(shí)間間隔的減小,會(huì)導(dǎo)致傳輸過(guò)程中的錯(cuò)誤率提高.理論上,該信道的極限傳輸速率等同于發(fā)送端處理數(shù)據(jù)的速率.
IPCTC 利用在約定的時(shí)間區(qū)間中是否發(fā)送數(shù)據(jù)包來(lái)表示傳輸比特0 或比特1.該信道并不是直接將信息編碼到數(shù)據(jù)包時(shí)間間隔的數(shù)值中,而是利用在時(shí)間區(qū)間內(nèi)的發(fā)送或不發(fā)送數(shù)據(jù)包的事件,在發(fā)送方和接收方之間建立了一個(gè)可以共享的布爾值,接收方通過(guò)觀察這個(gè)布爾值的結(jié)果來(lái)接收隱秘信息.在Zander 的綜述中,IPCTC又被稱為ON/OFF 隱蔽信道[4].

Fig.3 IP covert timing channel (IPCTC)圖3 IPCTC 網(wǎng)絡(luò)時(shí)序型隱蔽信道
· TRCTC (time replay covert timing channel)
2006 年,Cabuk 對(duì)其提出的IPCTC 隱蔽信道進(jìn)行了改進(jìn)[22],提出了一種新的時(shí)序型隱蔽信道——TRCTC.隨意確定的時(shí)間間隔t很有可能會(huì)改變包間隔數(shù)據(jù)的統(tǒng)計(jì)特征,從而使得IPCTC 的隱蔽性和抗檢測(cè)性降低.TRCTC 首先對(duì)正常網(wǎng)絡(luò)信道中的數(shù)據(jù)包時(shí)間間隔進(jìn)行采樣,然后將采樣得到的數(shù)據(jù)劃分為兩個(gè)集合S0和S1,傳輸數(shù)據(jù)時(shí),如果需要傳輸比特0,就從集合S0中選擇一個(gè)時(shí)間間隔,發(fā)送數(shù)據(jù)包;如果需要傳輸比特1,就從S1中選擇一個(gè)時(shí)間間隔,發(fā)送數(shù)據(jù)包.由于通信中用到的時(shí)間間隔采樣自合法通信中的時(shí)間間隔,TRCTC 和正常通信產(chǎn)生的包間隔具有相似的數(shù)值特性.相比IPCTC,TRCTC 的隱蔽性更好.
· JitterBug
2006 年,Shah 等人提出一種利用用戶敲擊鍵盤的時(shí)間間隔來(lái)編碼信息的時(shí)序型隱蔽信道——JitterBug[23].JitterBug 設(shè)定了一個(gè)時(shí)間參數(shù)ω,如果需要傳輸比特1,就增加用戶兩次敲擊鍵盤的時(shí)間間隔,使該間隔可以被參數(shù)ω整除;如果要傳輸比特0,就增加時(shí)間間隔使其可以被ω/2 整除,但不能被ω整除.顯然,參數(shù)ω的選擇直接決定了信道的容量和傳輸效率:ω的值越小,信道的傳輸速率越高;并且,ω的值越小,產(chǎn)生的時(shí)間間隔數(shù)據(jù)和合法信道的數(shù)據(jù)的相似度就會(huì)越高,信道的隱蔽性就越強(qiáng).Jitterbug 信道的缺點(diǎn)在于它是一個(gè)被動(dòng)式隱蔽信道,不論ω的取值為多少,信道的極限容量和傳輸效率本質(zhì)上取決于載體信道的容量和傳輸效率.
以上3 種方式為時(shí)序型隱蔽信道的主要實(shí)現(xiàn)方式,除此之外,時(shí)序型隱蔽信道的種類還有MBCTC[24],DM[25]等.下文中的研究主要涉及到了上面提到的3 種類型的隱蔽信道,因此對(duì)于其他的類型,這里不再贅述.
相比存儲(chǔ)型隱蔽信道,時(shí)序型隱蔽信道隱蔽性更強(qiáng),檢測(cè)時(shí)序型隱蔽信道的難度也更大.時(shí)序型隱蔽信道是一種即時(shí)通信,發(fā)送方發(fā)送數(shù)據(jù)后,接收方必須及時(shí)接收,否則,數(shù)據(jù)包傳輸完畢后,傳輸?shù)男畔⒁搽S之丟失.另外,時(shí)序型隱蔽信道利用數(shù)據(jù)包時(shí)間間隔進(jìn)行隱秘信息的編碼,所以對(duì)于網(wǎng)絡(luò)環(huán)境有一定的要求,當(dāng)前網(wǎng)絡(luò)環(huán)境的穩(wěn)定性直接影響到時(shí)序型隱蔽信道傳輸過(guò)程的可靠性和傳輸信息的正確性.
1.2.3 其他類型的網(wǎng)絡(luò)隱蔽信道
近幾年來(lái),對(duì)于網(wǎng)絡(luò)隱蔽信道技術(shù)的研究提出了更多的網(wǎng)絡(luò)隱蔽信道實(shí)現(xiàn)方案.存儲(chǔ)型和時(shí)序型的分類已經(jīng)無(wú)法完全涵蓋所有的隱蔽信道類型,例如:利用虛擬機(jī)之間共享的硬件資源在兩個(gè)虛擬機(jī)實(shí)例之間構(gòu)建隱蔽信道[26];利用數(shù)據(jù)包的排序方式來(lái)構(gòu)建隱蔽信道[27];利用多條通信流的構(gòu)建隱蔽信道[28]等.這些隱蔽信道無(wú)法從嚴(yán)格意義上講其屬于存儲(chǔ)型或時(shí)序型的類型,也不在本文的研究范圍.
時(shí)序型隱蔽信道將隱秘信息編碼到網(wǎng)絡(luò)數(shù)據(jù)包傳輸?shù)臅r(shí)間間隔中.對(duì)于合法信道,數(shù)據(jù)包的時(shí)間間隔僅取決于當(dāng)前的網(wǎng)絡(luò)環(huán)境;而對(duì)于時(shí)序型隱蔽信道,數(shù)據(jù)包的時(shí)間間隔則主要取決于要傳輸?shù)碾[秘信息.因此,時(shí)序型隱蔽信道的包時(shí)間間隔數(shù)據(jù)會(huì)在一些統(tǒng)計(jì)特征上呈現(xiàn)出和合法信道的差別.所以目前比較成熟的時(shí)序型隱蔽信道檢測(cè)技術(shù)主要通過(guò)評(píng)估待測(cè)數(shù)據(jù)的統(tǒng)計(jì)特征,包括均值、方差等統(tǒng)計(jì)量,來(lái)達(dá)到檢測(cè)和識(shí)別時(shí)序型隱蔽信道的目的.
Cabuk 認(rèn)為:由于正常數(shù)據(jù)包的傳輸時(shí)間間隔僅僅由網(wǎng)絡(luò)環(huán)境決定,因此時(shí)間間隔數(shù)據(jù)的隨機(jī)性較高;而時(shí)序隱蔽信道中的時(shí)間間隔用于傳輸隱秘信息而被刻意操縱,因此隨機(jī)性比較低[21].基于這樣的觀點(diǎn),Cabuk 提出了兩種時(shí)序型隱蔽信道檢測(cè)方式.

· 第1 種方式稱為隨機(jī)性檢測(cè)算法,該算法檢測(cè)數(shù)據(jù)包時(shí)間間隔的標(biāo)準(zhǔn)差.通過(guò)將待檢測(cè)數(shù)據(jù)劃分N個(gè)窗口,分別計(jì)算每個(gè)窗口的標(biāo)準(zhǔn)差,結(jié)果分別記為:σ1,σ2,...,σN.然后計(jì)算不同窗口標(biāo)準(zhǔn)差的差距的標(biāo)準(zhǔn)差,如下:其中,STDEV表示計(jì)算標(biāo)準(zhǔn)差.Cabuk 認(rèn)為:合法信道數(shù)據(jù)的隨機(jī)性高,因此數(shù)據(jù)的標(biāo)準(zhǔn)差不是恒定的,因此regularity的值也因標(biāo)準(zhǔn)差數(shù)據(jù)的波動(dòng)較大;而隱蔽信道數(shù)據(jù)的隨機(jī)性低,在傳輸數(shù)據(jù)的過(guò)程中,包時(shí)間間隔的標(biāo)準(zhǔn)差是恒定的,所以regularity的值會(huì)很小;
· Cabuk 提出的第2 種檢測(cè)方式稱為ε相似度(ε-similarity),基本思想是:合法通信中的各個(gè)數(shù)據(jù)包時(shí)間間隔是相互獨(dú)立的;而隱蔽信道的數(shù)據(jù)包間隔編碼了隱秘信息,因此數(shù)據(jù)包時(shí)間間隔之間是否獨(dú)立取決于要傳輸?shù)臄?shù)據(jù).ε相似度算法計(jì)算排序后的相鄰包間隔數(shù)據(jù)之間的相似度.對(duì)于排序后的包間隔數(shù)據(jù)序列P1,P2,...,PN,相鄰數(shù)據(jù)包間相似度的計(jì)算方式如下:

計(jì)算所有數(shù)據(jù)對(duì)的相似度后,統(tǒng)計(jì)相似度小于ε值的數(shù)據(jù)的比例.比例越大,待測(cè)信道中存在隱蔽信道的可能性就越高.
檢測(cè)時(shí)序型隱蔽信道的另一種較為成熟的技術(shù)是評(píng)估待測(cè)數(shù)據(jù)的熵率.熵(entropy)是隨機(jī)變量隨機(jī)程度的定量度量,它的定義來(lái)自于Shannon 提出的信息論[29],而熵率(entropy rate)則是隨機(jī)變量序列的平均信息熵,或者等價(jià)定義為無(wú)限個(gè)隨機(jī)變量序列的極限條件熵.熵(記作EN)和熵率(記作ER)的計(jì)算方式如下:

由于熵率是一個(gè)極限定義,對(duì)于有限的數(shù)據(jù)無(wú)法計(jì)算.Gianvecchio 提出一種帶修正值的條件信息熵(correct condition entropy),使得可以通過(guò)有限的數(shù)據(jù)來(lái)估計(jì)熵率[30].計(jì)算方式如下:

其中,Xn表示長(zhǎng)度為n的隨機(jī)變量的序列,CE(X1,X2,...,Xn)表示X1,X2,...,Xn的條件信息熵,perc(Xn)則表示測(cè)試數(shù)據(jù)中所有唯一的n長(zhǎng)度序列占所有n長(zhǎng)度序列的比例,EN(X1)就是隨機(jī)變量X的熵值.而熵率的估計(jì)值就是取不同的n值得到的CCE(Xn)的最小值.
Gianvecchio 的觀點(diǎn)和Cabuk 是相同的,同樣認(rèn)為隱蔽信道的數(shù)據(jù)的隨機(jī)性要比正常數(shù)據(jù)低,熵率值越小,信道中含有隱蔽信道的可能性就越高.
檢測(cè)時(shí)序型隱蔽信道還有其他的算法,諸如基于SVM 的隱蔽信道分類器[31-33]、基于神經(jīng)網(wǎng)絡(luò)[34-36]的檢測(cè)算法、基于熵率和標(biāo)準(zhǔn)差的檢測(cè)方法[37]等.本文提出的檢測(cè)算法主要基于ε相似度和熵,因此對(duì)于其他類型的檢測(cè)算法,這里不再詳述.
本節(jié)主要對(duì)差分信息熵理論進(jìn)行闡述.通過(guò)下文中的理論分析可以看到,差分信息熵可以同時(shí)對(duì)待檢測(cè)數(shù)據(jù)的分布特性和數(shù)值特性進(jìn)行評(píng)估.下文中為了便于分析,首先給出了一些定義和定理,然后對(duì)差分信息熵理論進(jìn)行說(shuō)明.
信息熵是一種對(duì)隨機(jī)變量隨機(jī)性程度的定量度量.熵的概念源于熱力學(xué),由Shannon 在1948 年提出信息論后引入計(jì)算機(jī)和通信領(lǐng)域[29].離散型隨機(jī)變量信息熵的計(jì)算方式前文中已經(jīng)給出.Gianvecchio 通過(guò)評(píng)估數(shù)據(jù)的熵率來(lái)檢測(cè)時(shí)序型隱蔽信道.文獻(xiàn)[30]作者用4 種隱蔽信道組織實(shí)驗(yàn)驗(yàn)證其提出的CCE 算法的有效性[30]:IPCTC,TRCTC,MBCTC,Jitterbug.根據(jù)作者提供的實(shí)驗(yàn)數(shù)據(jù),CCE 算法對(duì)于JitterBug 隱蔽信道的檢測(cè)效果很差,這主要是因?yàn)镴itterbug 隱蔽信道對(duì)于數(shù)據(jù)包間隔做出的修改很小,使得產(chǎn)生的包間隔數(shù)據(jù)和正常數(shù)據(jù)在統(tǒng)計(jì)特性上的差別很小.
我們認(rèn)為,利用熵率來(lái)對(duì)數(shù)據(jù)進(jìn)行評(píng)估僅僅考慮到了數(shù)據(jù)的統(tǒng)計(jì)特性,而沒(méi)有考慮數(shù)據(jù)的數(shù)值特性.例如,對(duì)于兩個(gè)離散型隨機(jī)變量X,Y,假設(shè)X可能的取值為1,3,5,7,取到每個(gè)值的概率為1/4;Y可能取值是1,5,6,11,取到每一個(gè)值的概率同樣為1/4.那么代入信息熵計(jì)算公式,X和Y得到的熵值是相同的:

但是很顯然,從數(shù)值上來(lái)看,變量X的規(guī)律性更強(qiáng).對(duì)于相互獨(dú)立的隨機(jī)變量序列,熵率的值跟熵值是相同的;對(duì)于非獨(dú)立的隨機(jī)變量序列,熵率的大小低于熵值,此時(shí),熵率和熵值的差距取決于序列中各個(gè)元素關(guān)聯(lián)度的大小.Gianvecchio 提出的CCE 算法之所以對(duì)于JitterBug 隱蔽信道的檢測(cè)效果不好,我們認(rèn)為,主要是因?yàn)殪芈蕛H僅評(píng)估了待測(cè)數(shù)據(jù)的分布特性,而沒(méi)有評(píng)估待測(cè)數(shù)據(jù)數(shù)值特性.根據(jù)構(gòu)建原理,JitterBug 中的時(shí)間序列的要么是參數(shù)ω的倍數(shù),要么是ω/2 的倍數(shù).因此,Jitterbug 中的任意兩個(gè)數(shù)據(jù)的差值一定是一個(gè)ω/2 的倍數(shù).就數(shù)值特性而言,JitterBug 隱蔽信道中的數(shù)據(jù)表現(xiàn)出了和正常數(shù)據(jù)不同的特性.
為了同時(shí)對(duì)數(shù)據(jù)的分布特性和數(shù)值特性進(jìn)行評(píng)估,我們結(jié)合Cabuk 提出的ε相似度算法和Gianvecchio 提出的CCE 算法,提出差分信息熵的概念,進(jìn)而提出差分信息熵的網(wǎng)絡(luò)時(shí)序型隱蔽信道檢測(cè)算法.
為了便于下文中對(duì)于差分信息熵的詳細(xì)說(shuō)明,首先需要說(shuō)明下面的定理:
定理1.對(duì)于任意的正數(shù)序列p1,p2,...,pn,可以得到:

證明:只要將不等式兩邊的式子求差即可:

由于序列中的每個(gè)pi都是正數(shù),因此,一定是大于1 的數(shù),所以結(jié)果和式中的每一項(xiàng)都是正數(shù),也就說(shuō)明上面的做差結(jié)果是大于0 的,原式成立.
對(duì)于一個(gè)可能的取值有v1,v2,...,vn、對(duì)應(yīng)的概率分別是p1,p2,...,pn的離散型隨機(jī)變量X,我們可以為其定義兩種操作:
定義1.通過(guò)隨機(jī)變量X定義隨機(jī)變量Y,Y的取值規(guī)則如下:

此時(shí),我們可以說(shuō)隨機(jī)變量Y由隨機(jī)變量X通過(guò)合并(merge)操作得到.
定義2.定義二值的隨機(jī)變量a,a以概率q取值為1,以概率(1-q)取值為0,然后通過(guò)隨機(jī)變量X和a定義一個(gè)隨機(jī)變量Z,Z的取值規(guī)則如下:

其中,?1≤i≤n,vn+1≠vi.此時(shí),我們可以說(shuō)隨機(jī)變量Z由隨機(jī)變量X通過(guò)拆分(split)操作得到.
現(xiàn)在考慮通過(guò)合并和拆分X得到的隨機(jī)變量Y和Z的熵值.隨機(jī)變量X具有n個(gè)可能取值,而隨機(jī)變量Y在X的值為vn-1或vn時(shí),取值都是vn,因此Y只有n-1 種可能的取值;而通過(guò)拆分操作得到隨機(jī)變量Z 在X的值為vn時(shí)根據(jù)隨機(jī)變量a的取值情況有兩種取值:vn和vn+1,因此,Z共有n+1 種可能的取值.通過(guò)代入熵計(jì)算公式,Y和Z的熵值分別為

然后,將其和X的熵值做差:

根據(jù)定理1,我們可以得到EN(Y)-EN(X)的結(jié)果小于0,EN(Z)-EN(X)的結(jié)果大于0,因此可以得到如下定理:
定理2.拆分一個(gè)隨機(jī)變量會(huì)使熵增大,合并一個(gè)隨機(jī)變量會(huì)使熵減小.
本節(jié)定義兩個(gè)輔助矩陣來(lái)幫助下文中對(duì)于差分信息熵的討論.
定義3.設(shè)離散型隨機(jī)變量X可能取值有v1,v2,...,vn,對(duì)應(yīng)的概率分別是p1,p2,...,pn,這里為了便于分析,將數(shù)值v1,v2,...,vn遞增排序.然后定義一個(gè)隨機(jī)變量Y=X1-X2,其中,X1和X2相互獨(dú)立并且和X具有完全相同的概率分布.此時(shí)可以定義一個(gè)n×n的矩陣Dv,矩陣中的元素vij表示X1取值vi并且X2取值vj時(shí)的Y值;同時(shí)還可以定義另一個(gè)n×n的矩陣Dp,矩陣中的第i行第j列元素pij表示表示X1取vi、X2取vj時(shí)的聯(lián)合概率.此時(shí)稱矩陣Dv為變量X的差分值矩陣(difference value matrix),矩陣Dp為變量X的差分概率矩陣(difference probability matrix).
由于X1,X2獨(dú)立,所以pij就是pi和pj的乘積.X的差分值矩陣和差分概率矩陣如下:

通過(guò)觀察可以發(fā)現(xiàn),差分值矩陣Dv具有如下的性質(zhì).
(1)主對(duì)角線上的值均為X1,X2取相同值的情況,因此主對(duì)角線上的元素v1,1,v2,2,...,vn,n的值均為0;
(2)關(guān)于主對(duì)角線互相對(duì)稱的兩個(gè)元素的結(jié)果互為相反數(shù).顯然,對(duì)于任意元素vi,j=vi-vj,它關(guān)于主對(duì)角線的對(duì)稱位置為vj,i=vj-vi,和vi,j互為相反數(shù);
(3)每一個(gè)元素一定都比它上方和右方的元素大.這個(gè)結(jié)果是顯而易見(jiàn)的.任意一個(gè)元素vi,j=vi-vj,它右邊的元素是vi,j+1=vi-vj+1,上邊的元素是vi-1,j=vi-1-vj,由于vj+1>vj,vi>vi-1,所以vi,j>vi-1,j;同時(shí),vi,j>vi,j+1;
(4)矩陣中數(shù)值最大的元素在左下角,最小的則在右上角;并且任意一行、任意一列中一定不存在相同的元素;
(5)整個(gè)矩陣中最多包含n2-n+1 個(gè)不同的值,最少包含2n-1 個(gè)不同的值.對(duì)于前者,由于整個(gè)矩陣包含n2個(gè)元素,而主對(duì)角線上的元素都是0,共有n個(gè)0,如果其余的元素任意兩個(gè)都不相同,那么此時(shí),矩陣包含的不同元素最多,這個(gè)最大值就是n2-n+1;對(duì)于后者,則基于這樣的事實(shí):不論X具有怎樣的數(shù)值特征,矩陣Dv中,總可以找到一條從左下角的最大元素到達(dá)右上角的最小元素的路徑,使得沿著該條路徑移動(dòng)時(shí),方向總是向上或向右,此時(shí)這條路徑一定包含2n-1 個(gè)元素.圖4 給出了對(duì)于X有4 個(gè)不同取值的情況,沿著路徑遍歷這些元素時(shí),得到的一定是嚴(yán)格遞減的序列.也就是說(shuō),不論X具有怎樣的數(shù)值特征,在矩陣中都可以找到2n-1 個(gè)不同的元素.

Fig.4 There are at least 2n-1 different elements in the matrix Dv (two paths are shown in this figure)圖4 Dv 矩陣中至少包含2n-1 個(gè)不同元素(圖中給出了其中的2 條路徑)
2.4.1 差分信息熵的定義
對(duì)于離散型的隨機(jī)變量X,我們用下面的方式定義其差分信息熵:
定義4.對(duì)于一個(gè)離散型隨機(jī)變量X,定義一個(gè)隨機(jī)變量Y=X1-X2,其中,X1和X2相互獨(dú)立并且和X具有完全相同的概率分布.此時(shí),隨機(jī)變量X的差分信息熵為隨機(jī)變量Y的信息熵,記作DEN(X),即:

下面說(shuō)明差分信息熵DEN(X)的特征.根據(jù)上文中差分矩陣的性質(zhì)(5),對(duì)于有n個(gè)可能取值的隨機(jī)變量X做差分運(yùn)算后,最多有n2-n+1 種不同的結(jié)果;最少有2n-1 種不同結(jié)果.而如果不考慮差值,僅僅考慮X1,X2不同的取值組合,則有n2種情況.我們可以將這些不同的取值組合按照差分值Y分組,得到的分組數(shù)目記為C,并將這C個(gè)分組分別為g1,g2,...,gC.圖5 是一個(gè)分組的樣例.

Fig.5 Example of classifying the combination of X1and X2according to the difference result (X1-X2)圖5 根據(jù)差分結(jié)果對(duì)隨機(jī)變量的取值組合分組的樣例
顯然,這里的分組數(shù)目C滿足下面的關(guān)系式:

分組完成后,可以得到計(jì)算差分熵DEN(X)的公式如下:

其中,

2.4.2 數(shù)值特性對(duì)差分熵的影響
本節(jié)說(shuō)明數(shù)值特性對(duì)于差分熵的影響,并給出差分熵的值域.下文將分3 種情況說(shuō)明:首先考慮兩種特殊情況,然后再說(shuō)明更一般的情況.
情況1.取值序列v1,v2,...,vn是等差數(shù)列,假設(shè)公差為d,此時(shí),差分值矩陣變成了如圖6 所示的形式.

Fig.6 Difference value matrix in the case 1圖6 情況1 的差分值矩陣
如圖6 所示,此時(shí)位于同一條斜線上的元素的值都相等,矩陣中不同的值的個(gè)數(shù)恰好為最小值2n-1,即C=2n-1,此時(shí)對(duì)應(yīng)的差分熵為

關(guān)于這個(gè)值和熵值EN(X)的大小關(guān)系,我們尚未找出完全的證明方式,這里僅僅給出一個(gè)不完全的分析.根據(jù)差分概率矩陣Dp,我們可以定義一個(gè)離散隨機(jī)變量X′,X′共有n個(gè)可能的取值,記作:r1,r2,...,rn,而對(duì)應(yīng)的概率,則由下面的規(guī)則給出:

X′的分布律可以用圖7 來(lái)描述.

Fig.7 Distribution law of random variable X′圖7 隨機(jī)變量X′的分布律
為了更直觀地表達(dá),我們列舉各個(gè)變量值對(duì)應(yīng)的概率如下:

可以看到,X′的每個(gè)概率值都是由X的概率值通過(guò)輪換相乘然后求和得到.這是一個(gè)平均化的運(yùn)算過(guò)程,這意味著X′的概率分布比X跟接近于均勻分布(此處尚未找到完全的證明方式,但多次實(shí)驗(yàn)結(jié)果表明該結(jié)論是正確的).由于均勻分布的隨機(jī)性最高,熵值最大,所以可以得到下面的結(jié)論:

下面通過(guò)拆分的方式,通過(guò)X′構(gòu)造Y,將上文中每個(gè)ri概率值拆分出來(lái),如圖8 所示.

Fig.8 Getting Y from X′ by splitting operation圖8 拆分X′得到Y(jié)
可以看到,此時(shí)Y的熵值就是DENmin(X).根據(jù)定理2,拆分使得熵值增大,因此:

表1 是通過(guò)程序模擬得到的實(shí)驗(yàn)數(shù)據(jù),對(duì)于每一個(gè)不同的分布律,表中只列出各個(gè)取值的概率,隨機(jī)變量具體可以取到哪些值并不影響實(shí)驗(yàn)結(jié)果,因此沒(méi)有列出.實(shí)驗(yàn)數(shù)據(jù)充分表明,前文中的結(jié)論在絕大多數(shù)情況下是正確的.

Table 1 Data from the experiment comparing values of entropy and minimum difference entropy表1 隨機(jī)變量熵值和最小差分熵值的比較實(shí)驗(yàn)數(shù)據(jù)
情況2.取值序列v1,v2,...,vn呈不規(guī)則分布,使得任意兩個(gè)不同的項(xiàng)作差值結(jié)果都不相同,此時(shí),差分結(jié)果Y可能的取值個(gè)數(shù)為最大值n2-n+1,因此C=n2-n+1.此時(shí),對(duì)應(yīng)的差分熵值是:

根據(jù)定理1,可得:

于是,

因此我們可以知道,隨機(jī)變量X的差分熵的最大值小于2 倍的X熵值,即:

情況3.對(duì)于更一般的情況,2n-1<C<n2-n+1.考慮情況2,Y的取值個(gè)數(shù)是n2-n+1,此時(shí)矩陣Dp中,除去主對(duì)角線的元素,其余的每一個(gè)元素都對(duì)應(yīng)Y的一個(gè)不同的取值的概率.而我們現(xiàn)在討論的一般情況中,C<n2-n+1,因此這種情況下,矩陣Dp中,除去主對(duì)角線的元素,一定存在2 個(gè)或多個(gè)元素表示同一個(gè)差分值的概率的情況.所以,對(duì)于一般情況的差分變量Y,可以通過(guò)情況2 對(duì)應(yīng)的Y通過(guò)合并操作得到.根據(jù)定理2,合并操作會(huì)使熵值減小,因此,對(duì)于更一般的情況:

然后我們考慮情況1.情況1 對(duì)應(yīng)的差分概率矩陣中,位于同一條斜線的元素表示同一個(gè)差分值的概率,而這里討論的一般情況,Y的取值個(gè)數(shù)是大于情況1 中Y的取值個(gè)數(shù).說(shuō)明這里對(duì)應(yīng)的差分值矩陣中位于同一條斜線上的元素值不再相等.因此,一般情況的Y變量可以看做是由情況1 中的Y變量通過(guò)拆分操作得到.根據(jù)定理2,拆分操作會(huì)使熵值增大,我們可以得到:

此時(shí),可以得到下面的定理.
定理3.對(duì)于離散型隨機(jī)變量X,不論其數(shù)值特性如何,其差分熵DEN(X)都滿足下面的式子:

2.4.3 分布特性對(duì)差分熵的影響
本節(jié)討論隨機(jī)變量分布特性對(duì)于差分熵的影響.對(duì)于更一般的情況分析還有待研究.這里僅考慮特殊情況——二值隨機(jī)變量,即X可能取的值只有兩種,對(duì)應(yīng)概率分別為p和1-p.此時(shí),可以寫出X的熵值與差分熵值:

此時(shí),EN(X)和DEN(X)均可以看做是概值p的函數(shù),因此,我們可以采用分析函數(shù)的方法分析上面兩個(gè)式子.
求得導(dǎo)函數(shù)如下:

當(dāng)p=1/2 時(shí),兩個(gè)導(dǎo)函數(shù)同時(shí)取0 值,說(shuō)明均勻分布時(shí),熵值和差分熵值都達(dá)到了最大值;同時(shí),當(dāng)p<1/2 時(shí),兩個(gè)導(dǎo)函數(shù)均為正值;p>1/2 時(shí),兩個(gè)導(dǎo)函數(shù)均為負(fù)數(shù),這說(shuō)明當(dāng)隨機(jī)變量的分布情況接近于均勻分布時(shí),熵與差分熵最大.
熵值和差分熵值的原函數(shù)和導(dǎo)函數(shù)圖像如圖9、圖10 所示.

Fig.9 Image of entropy (line I)and difference entropy (line II)for binary random variable圖9 二值隨機(jī)變量的熵值(曲線I)和差分熵值(曲線II)的函數(shù)圖像

Fig.10 Image of derivative function of entropy (line I)and difference entropy (line II)of the binary random variable圖10 二值隨機(jī)變量熵值(曲線I)和差分熵值(曲線II)導(dǎo)函數(shù)圖像
可以發(fā)現(xiàn):兩個(gè)導(dǎo)函數(shù)的圖像具有3 個(gè)交點(diǎn),3 個(gè)交點(diǎn)的橫坐標(biāo)大約是0.3,0.5,0.7(此處0.3 和0.7 為近似值),說(shuō)明在[0.3,0.7]的范圍內(nèi),熵值的變化速率比差分熵值要快;而[0,0.3]以及[0.7,1]的范圍內(nèi),則差分熵值的變化速率更快.
接下來(lái)討論熵值和差分熵值的差距,將它們的差分熵值和熵值做差如下:

做出以上差值函數(shù)圖像如圖11 所示.
從圖11 中可以看到,圖像的峰值大約處于p=0.3 和p=0.7 的位置,這兩個(gè)位置也恰好也是熵和差分熵導(dǎo)函數(shù)的交點(diǎn)位置.從總的趨勢(shì)上來(lái)看,中心部分的差值較大,兩邊則差值較小.這說(shuō)明隨機(jī)變量的分布情況越接近于均勻分布,差分熵和熵的差距就越大.
通過(guò)以上分析,我們可以得到下面的定理.
定理4.關(guān)于離散型隨機(jī)變量X,具有下面的結(jié)論.
(1)X的分布越接近均勻分布,熵值和差分熵值就越大;
(2)X的差分熵值永遠(yuǎn)大于X的熵值;同時(shí),X的隨機(jī)性增大時(shí),熵值和差分熵值的差距也在逐漸增大.在平均分布的附近會(huì)達(dá)到最大值;
(3)如果X的分布接近均勻分布,那么在改變X的概率分布時(shí),熵值比差分熵值對(duì)于分布情況變化更加敏感;如果X的分布是傾斜的,不同的取值對(duì)應(yīng)的概率差距很大,那么在改變X的概率分布時(shí),差分熵值比熵值對(duì)于分布情況的變化更加敏感.

Fig.11 Image of the difference result entropy and difference entropy of binary random variable圖11 二值隨機(jī)變量熵值與信息熵值的差分函數(shù)圖像
本節(jié)描述了差分熵的定義以及相關(guān)的特性.通過(guò)上文的分析可知,差分熵會(huì)同時(shí)受到數(shù)據(jù)的數(shù)值特性和分布特性的影響,并在某些情況下,差分熵值對(duì)于數(shù)據(jù)特性變化表現(xiàn)出了更高的敏感度.
本節(jié)提出基于差分信息熵的網(wǎng)絡(luò)時(shí)序型隱蔽信道檢測(cè)算法.首先需要說(shuō)明的是:Cabuk 和Gianvecchio 提出的算法均假設(shè)正常數(shù)據(jù)的隨機(jī)性比隱蔽信道數(shù)據(jù)大[21,30],但是筆者認(rèn)為,正常信道的特征取決于實(shí)際的網(wǎng)絡(luò)環(huán)境,如果網(wǎng)絡(luò)通暢,數(shù)據(jù)包的間隔的抖動(dòng)可能會(huì)很小,此時(shí)包間隔數(shù)據(jù)的隨機(jī)性也就會(huì)很小.因此,我們不可以對(duì)正常網(wǎng)絡(luò)的數(shù)據(jù)特征進(jìn)行任何的假設(shè),而應(yīng)該通過(guò)實(shí)驗(yàn)對(duì)正常數(shù)據(jù)進(jìn)行特征提取,然后從待測(cè)數(shù)據(jù)中提取特征后,與正常數(shù)據(jù)的特征做比對(duì),決定其中是否包含隱蔽信道.
基于以上的思想,設(shè)計(jì)基于差分信息熵的網(wǎng)絡(luò)時(shí)序型隱蔽信道檢測(cè)算法的思路如下.
(1)收集網(wǎng)絡(luò)中包時(shí)間間隔數(shù)據(jù),構(gòu)造時(shí)間間隔序列:{s1,s2,...,sn};
(2)數(shù)據(jù)分類,根據(jù)一定的規(guī)則,將數(shù)據(jù)劃分為m類,記作c1,c2,...,cm,并對(duì)每一個(gè)類賦予一個(gè)代表該類數(shù)據(jù)的數(shù)值:v1,v2,...,vm.分類后,同一個(gè)類中的數(shù)據(jù)不加區(qū)別,統(tǒng)一用該類的代表數(shù)值來(lái)表示.分類后的序列表示為{t1,t2,...,tn},其中,si∈cj→ti=vj;
(3)將分類后的序列劃分成大小為w的多個(gè)子窗口,如果采集到的數(shù)據(jù)量為n,那么可以劃分的窗口個(gè)數(shù)為,并經(jīng)每個(gè)窗口中的序列記作:{ti,1,ti,2,…,ti,w};
(4)計(jì)算每個(gè)窗口的熵值ENi.統(tǒng)計(jì)窗口中每個(gè)數(shù)值出現(xiàn)的比率,計(jì)算熵值,其中,cnti,j表示檢測(cè)窗口i中屬于cj類的數(shù)據(jù)的個(gè)數(shù);
(5)計(jì)算每個(gè)窗口序列的差分序列,記作:{pi,1,pi,2,…,pi,w-1},其中,pi,j=ti,j-ti,j+1;
(6)計(jì)算每個(gè)窗口的差分熵值,記作DENi.根據(jù)上一節(jié)的分析,對(duì)原始數(shù)據(jù)劃分m類后,差分運(yùn)算后的數(shù)據(jù)最多有m2-m+1 類,最少則有2m-1 類.這里記差分運(yùn)算后的數(shù)據(jù)類簇個(gè)數(shù)為m′,并將差分值的各個(gè)類簇記作,然后計(jì)算差分熵值,其中,表示檢測(cè)窗口i中屬于dj類的差分值的個(gè)數(shù);
(7)將每個(gè)窗口的計(jì)算結(jié)果和正常信道的對(duì)應(yīng)結(jié)果EN0以及DEN0比較,根據(jù)給定的偏差值εE和εD,如果|ENi-EN0|≤εE并且|DENi-DEN0|≤εD,說(shuō)明當(dāng)前檢測(cè)窗口的數(shù)據(jù)中沒(méi)有隱蔽信道;否則,可以認(rèn)為當(dāng)前檢測(cè)窗口的數(shù)據(jù)可能包含隱蔽信道.
以上是算法的基本思路.
本節(jié)說(shuō)明算法在實(shí)現(xiàn)過(guò)程涉及到的一些參數(shù)確定,我們將通過(guò)實(shí)驗(yàn)來(lái)確定最優(yōu)的參數(shù)設(shè)定方案.通過(guò)前文對(duì)于算法原理的描述可知,待確定的參數(shù)值有:劃分類簇的個(gè)數(shù)m、每個(gè)類簇的代表值vi、窗口大小w以及正常信道的閾值EN0,DEN0和對(duì)應(yīng)的偏差值εE和εD.下文中,我們首先分析正常數(shù)據(jù)的特點(diǎn),然后確定這些參數(shù)值.
我們通過(guò)程序?qū)崟r(shí)抓取網(wǎng)絡(luò)數(shù)據(jù)包,統(tǒng)計(jì)包時(shí)間間隔的分布情況.實(shí)驗(yàn)結(jié)果表明:當(dāng)前的實(shí)驗(yàn)室環(huán)境下,網(wǎng)絡(luò)數(shù)據(jù)包的時(shí)間間隔主要分布在(75,1075]范圍內(nèi).這里,為了便于數(shù)據(jù)分析,我們將數(shù)據(jù)包間隔的范圍劃分為40個(gè)長(zhǎng)度為25 的子區(qū)間,記作R1,R2,...,Rn,并將每個(gè)區(qū)間內(nèi)數(shù)據(jù)的頻率記作pi.而落在(75,1075]范圍以外的數(shù)據(jù)被認(rèn)為是離群點(diǎn),不作為實(shí)驗(yàn)數(shù)據(jù).統(tǒng)計(jì)落在各個(gè)子區(qū)間內(nèi)的數(shù)據(jù)所占比例,如圖12 所示.

Fig.12 Bar-chart of the packet interval of legitimate channel圖12 正常網(wǎng)絡(luò)數(shù)據(jù)包時(shí)間間隔統(tǒng)計(jì)
接下來(lái),用指數(shù)分布(exponential distribution)來(lái)描述正常數(shù)據(jù)包的分布情況,指數(shù)分布的密度函數(shù)如下:

這里涉及到了參數(shù)λ,可以采用一階矩估計(jì)法對(duì)參數(shù)λ進(jìn)行估計(jì):

代入我們的實(shí)驗(yàn)數(shù)據(jù),可以得到:λ≈0.0029.
于是,正常數(shù)據(jù)包的時(shí)間間隔分布的密度函數(shù)如下:

至此,前文中所有的分析和說(shuō)明都是基于離散型的隨機(jī)變量,但是在實(shí)際網(wǎng)絡(luò)環(huán)境中,數(shù)據(jù)包的時(shí)間間隔可以看做是一個(gè)連續(xù)型的隨機(jī)變量.為了便于發(fā)現(xiàn)數(shù)據(jù)的特征,簡(jiǎn)化數(shù)據(jù)處理過(guò)程,我們首先需要對(duì)數(shù)據(jù)進(jìn)行離散化,具體方法就是對(duì)數(shù)據(jù)進(jìn)行分類,將連續(xù)型的隨機(jī)變量按照取值范圍劃分類簇.數(shù)據(jù)離散化的過(guò)程對(duì)應(yīng)于第3節(jié)算法執(zhí)行步驟中的步驟(2).
數(shù)據(jù)離散化過(guò)程中,劃分類簇的個(gè)數(shù)將會(huì)直接影響后續(xù)算法的處理效果.劃分類簇過(guò)少,使得數(shù)據(jù)中的某些特征丟失;而劃分類簇過(guò)多,則增加了算法處理的復(fù)雜度,影響檢測(cè)效率.顯然,我們知道這樣兩個(gè)事實(shí):劃分的類簇越多,就需要越多的測(cè)試數(shù)據(jù)才可以將數(shù)據(jù)中的特征表現(xiàn)出來(lái),對(duì)于差分熵而言,最壞情況下,差分結(jié)果的類簇個(gè)數(shù)會(huì)隨著原始數(shù)據(jù)的類簇個(gè)數(shù)的增長(zhǎng)而呈現(xiàn)平方式的增長(zhǎng),如果數(shù)據(jù)量不夠,則會(huì)使得計(jì)算得到的差分熵值不準(zhǔn)確.
圖13 給出了對(duì)于有5 個(gè)類簇均勻分布的情況下,熵值和差分熵值隨著樣本容量增大時(shí)的變化情況.可以看到:一開(kāi)始,隨著樣本容量的增大,熵值和差分熵值也在顯著增大;而當(dāng)樣本個(gè)數(shù)大于150 時(shí),熵值開(kāi)始趨向于穩(wěn)定;當(dāng)樣本個(gè)數(shù)大于950 時(shí),差分熵值也在開(kāi)始趨向穩(wěn)定.所以可以說(shuō):當(dāng)樣本個(gè)數(shù)大于950 時(shí),樣本大小基本不會(huì)影響實(shí)驗(yàn)結(jié)果,此時(shí)的結(jié)果主要取決于數(shù)據(jù)本身的特性.這里,我們稱可以包含全部數(shù)據(jù)特征的最小樣本容量為有效樣本容量(adequate sample size).

Fig.13 Influence of sample size on the entropy and difference entropy (5 bins)圖13 樣本個(gè)數(shù)對(duì)于熵值和差分熵值的影響(類簇個(gè)數(shù):5)
表2 記錄了我們通過(guò)實(shí)驗(yàn)測(cè)試得到的對(duì)于不同的類簇個(gè)數(shù)下的有效樣本容量的大小.

Table 2 Adequate sample size of different amount of bins表2 類簇個(gè)數(shù)與有效樣本容量大小
可以看到,劃分的類簇個(gè)數(shù)越多,有效樣本容量也就越大.兼顧檢測(cè)效果和檢測(cè)效率,我們決定將實(shí)驗(yàn)數(shù)據(jù)劃分為10 個(gè)類簇;同時(shí),窗口大小設(shè)置為1 500.即:m=10,w=1500.
Gianvecchio 在文獻(xiàn)[30]提出了一種數(shù)據(jù)離散化的方式,根據(jù)數(shù)據(jù)包時(shí)間間隔的概率分布劃分類簇,使得數(shù)據(jù)落入每一個(gè)類簇中的概率相等.作者認(rèn)為,這樣劃分類簇的好處是使得程序可以在常數(shù)時(shí)間內(nèi)決定采集到的每一個(gè)數(shù)據(jù)項(xiàng)屬于哪個(gè)類簇.如果將數(shù)據(jù)劃分m類,并用F(x)表示時(shí)間間隔數(shù)據(jù)的分布函數(shù),那么落入每個(gè)類簇的概率為1/m;同時(shí),對(duì)于某個(gè)特定的數(shù)值x,可以通過(guò)來(lái)計(jì)算數(shù)據(jù)落入的類簇.
這里,我們按照正常網(wǎng)絡(luò)中的數(shù)據(jù)分布情況來(lái)對(duì)數(shù)據(jù)進(jìn)行等概率劃分類簇,類簇個(gè)數(shù)為10,因此落入每個(gè)類簇的概率是10%.我們需要找到正常數(shù)據(jù)對(duì)應(yīng)指數(shù)分布的10%,20%,...,90%的分位點(diǎn),來(lái)確定每個(gè)類簇的邊界.這樣處理的好處是不管正常信道中的包間隔數(shù)據(jù)的分布情況是怎樣的,數(shù)據(jù)離散化處理后,正常的數(shù)據(jù)分布情況一定是均勻分布,可以統(tǒng)一處理正常數(shù)據(jù)的分布特性.這里確定10 個(gè)類簇的范圍見(jiàn)表3.

Table 3 Binning strategy for data discretization表3 數(shù)據(jù)離散化劃分類簇方案
數(shù)據(jù)離散化后,落入每個(gè)區(qū)間的數(shù)據(jù)均由該區(qū)間的代表數(shù)值來(lái)表示.代表數(shù)值通過(guò)計(jì)算每個(gè)區(qū)間的平均值得到,對(duì)于類簇ci,給定其區(qū)間的左右邊界ai,bi,可以利用下面的式子計(jì)算代表數(shù)值vi:

根據(jù)上文中的參數(shù)設(shè)定,我們可以將算法編程實(shí)現(xiàn),提取正常信道的數(shù)據(jù)特征.這里,我們通過(guò)程序?qū)崟r(shí)抓包得到了24 610 個(gè)IP 數(shù)據(jù)包時(shí)間間隔數(shù)據(jù),共可以劃分成16 個(gè)大小為1 500 的檢測(cè)窗口.對(duì)于每個(gè)窗口的數(shù)據(jù)離散化后,計(jì)算熵值和差分熵值,得到的結(jié)果見(jiàn)表4.

Table 4 Testing result of data from legitimate channel表4 正常信道數(shù)據(jù)的檢測(cè)結(jié)果
求得各個(gè)檢測(cè)窗口的熵值和差分熵值數(shù)據(jù)后,可以通過(guò)計(jì)算這些數(shù)據(jù)的平均值提取正常信道數(shù)據(jù)的特征,確定算法中的參數(shù)EN0和DEN0的值,得到的結(jié)果為:EN0=1.407,DEN0=1.762.
最后確定εE和εD的值.這里,根據(jù)3 倍標(biāo)準(zhǔn)差的準(zhǔn)則,確定它們的值如下:εE=0.831,εD=1.062.
以上是算法實(shí)現(xiàn)過(guò)程中的一些參數(shù)設(shè)定.
本節(jié)通過(guò)實(shí)驗(yàn)檢驗(yàn)算法的性能和效果.我們通過(guò)程序模擬構(gòu)建包含隱蔽信道的異常數(shù)據(jù),然后用我們提出的算法進(jìn)行檢測(cè),統(tǒng)計(jì)檢測(cè)隱蔽信道的準(zhǔn)確率.
對(duì)于對(duì)照實(shí)驗(yàn)參數(shù)的設(shè)定,我們將采用4 種檢測(cè)算法作為對(duì)照組,分別是Cabuk 提出的ε相似度算法和隨機(jī)性檢測(cè)算法、Gianvecchio 提出的CCE 算法以及熵評(píng)估算法.這里需要說(shuō)明的是,熵評(píng)估算法是指直接考察待測(cè)數(shù)據(jù)的熵值大小來(lái)判定待測(cè)數(shù)據(jù)中是否包含隱蔽信道(即:計(jì)算待測(cè)數(shù)據(jù)的熵值低于指定閾值,則認(rèn)為待測(cè)數(shù)據(jù)包含隱蔽信道).Gianvecchio 在其實(shí)驗(yàn)中將熵評(píng)估算法作為CCE 算法實(shí)驗(yàn)的對(duì)照實(shí)驗(yàn),進(jìn)而說(shuō)明CCE 算法的先進(jìn)性.在這里,熵評(píng)估算法也是我們提出的差分熵算法的一部分,因此,這里也效仿Gianvecchio 的做法,將熵評(píng)估算法作為實(shí)驗(yàn)的對(duì)照組,驗(yàn)證差分信息熵算法的效果.通過(guò)對(duì)照實(shí)驗(yàn),評(píng)估差分熵在檢測(cè)隱蔽信道過(guò)程中的作用.利用本文提出的差分熵檢測(cè)算法與以上4 種檢測(cè)算法對(duì)同樣的數(shù)據(jù)進(jìn)行檢測(cè),通過(guò)對(duì)比檢測(cè)結(jié)果,評(píng)估本文提出的算法的性能和效果.以上4 種算法的實(shí)現(xiàn)原理前文中已有說(shuō)明,這里主要說(shuō)明算法中相關(guān)參數(shù)的設(shè)定.
· 隨機(jī)性檢測(cè)
隨機(jī)性檢測(cè)算法通過(guò)考察待測(cè)數(shù)據(jù)標(biāo)準(zhǔn)差變化情況,來(lái)判定待測(cè)數(shù)據(jù)中是否包含隱蔽信道.Cabuk 在提出該算法時(shí),在2 000 的檢測(cè)窗口下,設(shè)定子窗口大小為250 和100 進(jìn)行了實(shí)驗(yàn).而Gianvecchio 在文獻(xiàn)[30]中介紹CCE 算法時(shí),也將隨機(jī)性檢測(cè)算法作為對(duì)照組,在其實(shí)驗(yàn)中,作者同樣選擇2 000 大小的檢測(cè)窗口,以100 為子窗口進(jìn)行了隨機(jī)性檢測(cè)算法的對(duì)照實(shí)驗(yàn).根據(jù)作者給出的實(shí)驗(yàn)結(jié)果數(shù)據(jù),在當(dāng)前參數(shù)設(shè)定下,隨機(jī)性檢測(cè)算法可以對(duì)正常數(shù)據(jù)和隱蔽信道數(shù)據(jù)達(dá)到很好的區(qū)分.基于以上因素,我們選擇100 為子窗口大小進(jìn)行隨機(jī)性檢測(cè)算法的對(duì)照實(shí)驗(yàn).此時(shí),對(duì)于正常數(shù)據(jù)的16 個(gè)檢測(cè)窗口,每個(gè)檢測(cè)窗口數(shù)據(jù)均可以通過(guò)算法得到15 個(gè)不同的標(biāo)準(zhǔn)差值,通過(guò)計(jì)算任意兩個(gè)標(biāo)準(zhǔn)差值的相似度值,進(jìn)而得到105 個(gè)數(shù)據(jù),計(jì)算這些數(shù)據(jù)的標(biāo)準(zhǔn)差,就是該算法的輸出結(jié)果.通過(guò)計(jì)算16 個(gè)檢測(cè)窗口結(jié)果的平均值,就可以得到我們實(shí)驗(yàn)中用到的對(duì)照閾值.我們通過(guò)計(jì)算,得到該閾值大小為0.07,檢測(cè)結(jié)果低于該閾值的數(shù)據(jù)均被認(rèn)為包含隱蔽信道.
·ε相似度
Cabuk 在文獻(xiàn)[21]中對(duì)于ε相似度算法的測(cè)試中,將參數(shù)ε設(shè)定為0.005,0.008,0.01,0.02,0.03 和≥0.1 共6 種不同的值,并將算法檢測(cè)的閾值設(shè)定為μ+σ,μ+1.5σ,μ+2σ,Max 共4 種不同的值,其中μ,σ,Max 分別表示ε相似度算法檢測(cè)合法數(shù)據(jù)所得結(jié)果的均值、標(biāo)準(zhǔn)差以及最大值.Cabuk 對(duì)于上面每一種ε和閾值的組合進(jìn)行了測(cè)試.根據(jù)作者給出的實(shí)驗(yàn)結(jié)果,當(dāng)檢測(cè)閾值設(shè)定為μ+σ和μ+1.5σ時(shí),對(duì)于每一種ε參數(shù)的設(shè)定,檢測(cè)效果都比較好.此時(shí),對(duì)于隱蔽信道的檢測(cè)可以達(dá)到10%以下的漏檢率,對(duì)于正常信道的檢測(cè)則可以達(dá)到30%以下的誤檢率.我們的實(shí)驗(yàn)設(shè)定參考Cabuk 的實(shí)驗(yàn)過(guò)程,將ε參數(shù)設(shè)定為0.02,閾值則設(shè)定為μ+1.5σ.通過(guò)對(duì)正常數(shù)據(jù)的測(cè)試,我們?chǔ)畔嗨贫人惴ǖ膶?duì)照實(shí)驗(yàn)中的測(cè)試閾值設(shè)定為0.973.測(cè)試結(jié)果高于此閾值時(shí),被認(rèn)為可能包含隱蔽信道.
· CCE
對(duì)于CCE 算法,Gianvecchio 提出了一種基于樹(shù)形結(jié)構(gòu)的程序?qū)崿F(xiàn)方式,使得程序時(shí)間復(fù)雜度可以保持在O(n·m·log(Q))水平,同時(shí),空間復(fù)雜度為O(n·m)[30],其中,n,m,Q分別表示測(cè)試的數(shù)據(jù)總量、考察的最長(zhǎng)序列長(zhǎng)度以及數(shù)據(jù)離散化過(guò)程中劃分類簇的個(gè)數(shù).我們?cè)谇拔闹幸呀?jīng)對(duì)于數(shù)據(jù)離散化作出說(shuō)明,這里我們同樣設(shè)定Q值為10;同時(shí),為了兼顧檢測(cè)效果和檢測(cè)效率,我們?cè)O(shè)定考察的最長(zhǎng)序列為10.通過(guò)對(duì)正常數(shù)據(jù)的測(cè)試,我們可以得到測(cè)試結(jié)果閾值為0.439.檢測(cè)結(jié)果低于該閾值的數(shù)據(jù),均被認(rèn)為可能存在隱蔽信道.
· 熵評(píng)估算法
熵評(píng)估算法直接考察待測(cè)數(shù)據(jù)的信息熵值來(lái)判定待測(cè)數(shù)據(jù)是否包含隱蔽信道.前文中已經(jīng)說(shuō)明,引入熵評(píng)估算法作為當(dāng)前實(shí)驗(yàn)的對(duì)照組的目的,是對(duì)差分熵在隱蔽信道檢測(cè)中所起到的作用進(jìn)行更深入地評(píng)估,熵評(píng)估算法過(guò)程是本文提出的差分熵算法過(guò)程的子過(guò)程.這里的閾值前文中已經(jīng)給出,大小為1.407,低于該閾值的數(shù)據(jù)均認(rèn)為其中包含隱蔽信道.另外,熵評(píng)估算法在檢測(cè)過(guò)程中同樣需要數(shù)據(jù)離散化的步驟,離散化的過(guò)程與差分熵算法使用的離散化過(guò)程是相同的,具體步驟前文中已有說(shuō)明,這里不再贅述.
可見(jiàn),我們當(dāng)前實(shí)驗(yàn)的網(wǎng)絡(luò)環(huán)境中的數(shù)據(jù)包時(shí)間間隔的隨機(jī)性非常小.這一點(diǎn),和Cabuk 以及Gianvecchio提出的“正常數(shù)據(jù)隨機(jī)性比隱蔽信道數(shù)據(jù)高”的假設(shè)是不一致的.正如前文所述,正常信道數(shù)據(jù)的特征由網(wǎng)絡(luò)環(huán)境決定,我們不可以在沒(méi)有進(jìn)行實(shí)際測(cè)試的情況下,對(duì)正常信道數(shù)據(jù)的特征給出任何的假設(shè).
實(shí)驗(yàn)中,我們主要對(duì)IPCTC,TRCTC,JitterBug 這3 種類型的時(shí)序型隱蔽信道的數(shù)據(jù)進(jìn)行了檢測(cè),這3 種類型的隱蔽信道的實(shí)現(xiàn)原理前文已有說(shuō)明.測(cè)試數(shù)據(jù)通過(guò)編程模擬得到.
· IPCTC
Cabuk 在其IPCTC 隱蔽信道的實(shí)現(xiàn)中,模擬了IPCTC 隱蔽信道的3 種形式:單一時(shí)間間隔、多種時(shí)間間隔、含噪聲.單一時(shí)間間隔的IPCTC 隱蔽信道僅采用了1 個(gè)固定的時(shí)間間隔值,如要發(fā)送比特1,則在該時(shí)間間隔內(nèi)發(fā)送一個(gè)數(shù)據(jù)包,否則,發(fā)送端保持沉默;多種時(shí)間間隔的IPCTC 則采用了多個(gè)不同的時(shí)間間隔的值,發(fā)送端每隔t個(gè)數(shù)據(jù)包就調(diào)整一次發(fā)送的時(shí)間間隔,這里的時(shí)間間隔之間的切換方式可以是輪換也可以是隨機(jī)選擇;第3類隱蔽信道則是在信道中引入了噪聲.在我們的實(shí)驗(yàn)中,共實(shí)現(xiàn)了4 種不同的IPCTC 隱蔽信道,其中:單一時(shí)間間隔的類型實(shí)現(xiàn)了兩種,時(shí)間間隔分別為20ms 和80ms;多個(gè)時(shí)間間隔的類型實(shí)現(xiàn)了2 種,時(shí)間間隔采用{20ms,40ms,60ms}這3 種,時(shí)間間隔的切換方式有輪換切換和隨機(jī)切換兩種方式,切換的頻率為50,即:每隔50 個(gè)數(shù)據(jù)包,就切換一次時(shí)間間隔.對(duì)于每一種IPCTC 信道,我們通過(guò)程序生成了200 000 條數(shù)據(jù).具體情況見(jiàn)表5.

Table 5 Testing data of IPCTC for experiment表5 IPCTC 隱蔽信道實(shí)驗(yàn)數(shù)據(jù)
· TRCTC
TRCTC 隱蔽信道是IPCTC 的改進(jìn),其發(fā)送數(shù)據(jù)的時(shí)間間隔不再是隨意確定,而是通過(guò)對(duì)合法數(shù)據(jù)采樣得到.用于發(fā)送比特0 的時(shí)間間隔的集合記作S0,用于發(fā)送比特1 的時(shí)間間隔的集合記作S1.集合S0和S1互不相交,二者的總和就是合法信道中所有出現(xiàn)過(guò)的時(shí)間間隔值.這里主要研究了基于不同的比例劃分下指定S0和S1集合構(gòu)成的TRCTC 隱蔽信道.根據(jù)S0在全集中所占的比例,我們構(gòu)建了3 條不同的TRCTC 隱蔽信道,同樣對(duì)于每一條信道,通過(guò)程序生成200 000 條數(shù)據(jù).具體情況見(jiàn)表6.

Table 6 Testing data of TRCTC for experiment表6 TRCTC 隱蔽信道實(shí)驗(yàn)數(shù)據(jù)
表中,S0和S1集合中的時(shí)間間隔數(shù)據(jù)通過(guò)這樣的方式得到:首先統(tǒng)計(jì)正常信道中出現(xiàn)的時(shí)間間隔值以及每個(gè)值出現(xiàn)的頻率,然后根據(jù)規(guī)定的比例,選擇適當(dāng)?shù)臄?shù)值構(gòu)成集合S0,剩余的數(shù)值構(gòu)成S1.
· JitterBug
JitterBug 隱蔽信道的數(shù)據(jù)通過(guò)修改正常信道的數(shù)據(jù)得到.其中,時(shí)間參數(shù)ω的選擇直接決定了信道的效果.本文提出差分信息熵檢測(cè)算法的一個(gè)目的就是彌補(bǔ)CCE 算法在檢測(cè)JitterBug 隱蔽信道時(shí)的不足.JitterBug 隱蔽信道的檢測(cè)是我們實(shí)驗(yàn)研究的主要內(nèi)容.下文中,我們?nèi)ˇ刂禐?0,20,30,...,1000 共100 個(gè)不同的值,構(gòu)建了100條不同的JitterBug 隱蔽信道.同樣地,對(duì)于每一條隱蔽信道,我們會(huì)通過(guò)程序生成200 000 條數(shù)據(jù).
與差分熵算法的參數(shù)設(shè)定相同,實(shí)驗(yàn)中作為對(duì)照實(shí)驗(yàn)的4 種算法在檢測(cè)時(shí)也將檢測(cè)窗口確定為1 500,因此,200 000 條數(shù)據(jù)就可以構(gòu)成133 個(gè)檢測(cè)窗口.
5.3.1 IPCTC 隱蔽信道檢測(cè)實(shí)驗(yàn)結(jié)果
表7~表11 分別顯示了ε-相似度算法、CCE 算法、隨機(jī)性檢測(cè)算法、熵評(píng)估算法以及差分熵算法對(duì)于IPCTC隱蔽信道的檢測(cè)效果.表中給出了算法檢測(cè)133 個(gè)檢測(cè)窗口數(shù)據(jù)所得結(jié)果的平均值和標(biāo)準(zhǔn)差以及每個(gè)算法判斷規(guī)則下的檢測(cè)率.表7 給出了各個(gè)窗口中小于ε參數(shù)的相似度值比例的均值和標(biāo)準(zhǔn)差;表8 給出了CCE 算法檢測(cè)得到的每個(gè)窗口的熵率值的均值和標(biāo)準(zhǔn)差;表9 給出了每個(gè)窗口的隨機(jī)性檢測(cè)結(jié)果的均值和標(biāo)準(zhǔn)差;表10 給出了各個(gè)窗口熵值的均值和標(biāo)準(zhǔn)差;最后,表11 給出了差分熵檢測(cè)算法檢測(cè)得到的熵值和差分熵值的均值和標(biāo)準(zhǔn)差.

Table 7 Testing result of ε-similarity algorithm in IPCTC data表7 IPCTC 隱蔽信道檢測(cè)實(shí)驗(yàn)ε相似度算法檢測(cè)結(jié)果

Table 8 Testing result of CCE algorithm in IPCTC data表8 IPCTC 隱蔽信道檢測(cè)實(shí)驗(yàn)CCE 算法檢測(cè)結(jié)果

Table 9 Testing result of randomness testing algorithm in IPCTC data表9 IPCTC 隱蔽信道檢測(cè)實(shí)驗(yàn)隨機(jī)性檢測(cè)算法檢測(cè)結(jié)果

Table 10 Testing result of entropy testing algorithm in IPCTC data表10 IPCTC 隱蔽信道檢測(cè)實(shí)驗(yàn)熵評(píng)估算法檢測(cè)結(jié)果

Table 11 Testing result of difference entropy algorithm in IPCTC data表11 IPCTC 隱蔽信道檢測(cè)實(shí)驗(yàn)差分熵算法檢測(cè)結(jié)果
可以看到,差分熵算法的檢測(cè)效果明顯好于ε相似度算法、隨機(jī)性檢測(cè)算法以及CCE 算法.主要原因在于其他兩種算法都是假設(shè)正常數(shù)據(jù)的隨機(jī)性比隱蔽信道數(shù)據(jù)高,因此兩種算法的策略都是檢測(cè)結(jié)果低于閾值時(shí)判定待測(cè)數(shù)據(jù)中包含隱蔽信道.我們通過(guò)實(shí)驗(yàn)證明事實(shí)并非如此,在較為流暢的網(wǎng)絡(luò)環(huán)境下,信道中的數(shù)據(jù)流動(dòng)相對(duì)穩(wěn)定,此時(shí)信道中的數(shù)據(jù)包傳輸速率也比較均勻,數(shù)據(jù)包的時(shí)間間隔也基本上為恒定值,隨機(jī)性較小.本文提出的算法不再對(duì)正常信道的特征做出假設(shè),將算法處理的結(jié)果作為信道的一種特征,通過(guò)待測(cè)數(shù)據(jù)和正常數(shù)據(jù)特征的差異程度來(lái)判定待測(cè)數(shù)據(jù)是否異常,而并非通過(guò)量化的大小關(guān)系來(lái)確定是否包含隱蔽信道,因此檢測(cè)的準(zhǔn)確率較高.
另外,從表中數(shù)據(jù)還可以看到:盡管熵評(píng)估算法是本文提出的差分熵算法的子過(guò)程,但是熵評(píng)估算法的檢測(cè)效果和差分熵算法有很大的差別.我們通過(guò)實(shí)驗(yàn)發(fā)現(xiàn):僅僅通過(guò)評(píng)估信息熵值,對(duì)于正常數(shù)據(jù)和隱蔽信道數(shù)據(jù)已經(jīng)可以達(dá)到很好的區(qū)分能力.然而,Gianvecchio 在文獻(xiàn)[30]中描述的熵評(píng)估算法依然采用比較閾值的方式來(lái)決定檢測(cè)結(jié)果,基于作者“低于閾值的數(shù)據(jù)包含隱蔽信道”的思路,導(dǎo)致熵評(píng)估算法的檢測(cè)準(zhǔn)確率很低.實(shí)驗(yàn)中,我們還將熵評(píng)估算法進(jìn)行了改進(jìn),將判定數(shù)據(jù)是否包含隱蔽信道的標(biāo)準(zhǔn)修改為|ENi-EN0|≤εE,即采用差分熵算法的部分判定標(biāo)準(zhǔn),此時(shí),熵評(píng)估算法對(duì)于4 組IPCTC 隱蔽信道的檢測(cè)率分貝為5.03%,95.72%,92.30%以及93.43%.該結(jié)果同樣低于差分熵算法,主要原因是信息熵對(duì)于待檢測(cè)數(shù)據(jù)的分布特性的評(píng)估比較充分,而對(duì)于待測(cè)數(shù)據(jù)的數(shù)值特性的評(píng)估能力比較欠缺.則也說(shuō)明了采用差分信息熵在隱蔽信道檢測(cè)過(guò)程中作為評(píng)估標(biāo)準(zhǔn)的必要性.
從實(shí)驗(yàn)數(shù)據(jù)可以看出,當(dāng)選擇單一的時(shí)間間隔,并且時(shí)間間隔較小時(shí),產(chǎn)生的隱蔽信道的數(shù)據(jù)特征會(huì)和正常信道的數(shù)據(jù)特征很相似,檢測(cè)的難度就會(huì)加大.對(duì)于IPCTC-1 這組數(shù)據(jù),3 種檢測(cè)算法的效果都不太理想.當(dāng)增加IPCTC 信道中的傳輸時(shí)間間隔,或者引入多個(gè)可選的時(shí)間間隔時(shí),數(shù)據(jù)的隨機(jī)性會(huì)顯著提高.Cabuk 認(rèn)為,引入多個(gè)時(shí)間間隔可使IPCTC 隱蔽信道的隱蔽性增強(qiáng)[21],這個(gè)結(jié)論的依據(jù)是假定正常數(shù)據(jù)隨機(jī)性較高.通過(guò)上文的實(shí)驗(yàn)結(jié)果可以看出:3 個(gè)算法對(duì)于IPCTC-3 和IPCTC-4 這兩組數(shù)據(jù)的檢測(cè)準(zhǔn)確率反而比前面兩組數(shù)據(jù)更高一些.
5.3.2 TRCTC 隱蔽信道檢測(cè)實(shí)驗(yàn)結(jié)果
表12~表16 總結(jié)了TRCTC 隱蔽信道檢測(cè)實(shí)驗(yàn)的結(jié)果.

Table 12 Testing result of ε-similarity algorithm in TRCTC data表12 TRCTC 隱蔽信道檢測(cè)實(shí)驗(yàn)ε相似度算法檢測(cè)結(jié)果

Table 13 Testing result of CCE algorithm in TRCTC data表13 TRCTC 隱蔽信道檢測(cè)實(shí)驗(yàn)CCE 算法檢測(cè)結(jié)果

Table 14 Testing result of randomness testing algorithm in TRCTC data表14 TRCTC 隱蔽信道檢測(cè)實(shí)驗(yàn)隨機(jī)性檢測(cè)算法檢測(cè)結(jié)果

Table 15 Testing result of entropy testing algorithm in TRCTC data表15 TRCTC 隱蔽信道檢測(cè)實(shí)驗(yàn)熵評(píng)估算法檢測(cè)結(jié)果

Table 16 Testing result of difference entropy algorithm in TRCTC data表16 TRCTC 隱蔽信道檢測(cè)實(shí)驗(yàn)差分熵算法檢測(cè)結(jié)果
TRCTC 采用的數(shù)據(jù)包時(shí)間間隔來(lái)自正常數(shù)據(jù)的采樣結(jié)果,因此在數(shù)值特征上,TRCTC 數(shù)據(jù)和正常信道數(shù)據(jù)有類似之處.但是TRCTC 的主要問(wèn)題在于沒(méi)有考慮到每個(gè)時(shí)間間隔數(shù)值在正常信道中的分布情況.實(shí)驗(yàn)中,我們根據(jù)集合S0和S1中的數(shù)據(jù)在正常信道中的比例構(gòu)建了3 組TRCTC 隱蔽信道數(shù)據(jù),從實(shí)驗(yàn)結(jié)果中可以看出:構(gòu)建集合S0和S1使得正常信道中的數(shù)據(jù)落入兩個(gè)集合的概率相等時(shí),數(shù)據(jù)的特征和正常信道的數(shù)據(jù)最相似,所以相比另外兩組數(shù)據(jù),5 個(gè)算法對(duì)于TRCTC-3 這組數(shù)據(jù)的檢測(cè)結(jié)果都更接近于正常信道.但是其結(jié)果依然和正常數(shù)據(jù)有較大的差異,原因在于S0和S1的二類劃分僅僅是一種粗粒度的劃分,同在S0集合中的數(shù)據(jù)在正常數(shù)據(jù)中出現(xiàn)的概率也可能是不同的,但TRCTC 沒(méi)有在構(gòu)建信道時(shí)沒(méi)有考慮到這一點(diǎn),因此在統(tǒng)計(jì)特性上依然會(huì)表現(xiàn)出和正常數(shù)據(jù)較大的差異.
同樣可以很明顯地看出,差分熵檢測(cè)算法在TRCTC 隱蔽信道的檢測(cè)上有非常好的效果.對(duì)于ε相似度算法和CCE 算法,TRCTC 隱蔽信道的數(shù)據(jù)也表現(xiàn)出了和正常數(shù)據(jù)不同的特征,檢測(cè)結(jié)果表明,TRCTC 數(shù)據(jù)的隨機(jī)性要比正常數(shù)據(jù)高.這和兩個(gè)算法中“隱蔽信道數(shù)據(jù)的隨機(jī)性低于正常信道數(shù)據(jù)”的思想是相悖的,因此檢測(cè)的效果不理想.
觀察表14 還可以發(fā)現(xiàn),隨機(jī)性檢測(cè)算法對(duì)于3 種TRCTC 隱蔽信道的檢測(cè)結(jié)果和正常信道非常接近.這說(shuō)明隨機(jī)性檢測(cè)算法對(duì)正常信道和TRCTC 隱蔽信道的區(qū)分能力很低,而檢測(cè)結(jié)果卻好于該算法在IPCTC 隱蔽信道的實(shí)驗(yàn)效果,我們通過(guò)實(shí)驗(yàn)發(fā)現(xiàn):就區(qū)分能力而言,隨機(jī)性檢測(cè)算法對(duì)于IPCTC 隱蔽信道的識(shí)別能力更高,然而,基于正常信道隨機(jī)性高的假設(shè)使得該算法在IPCTC 數(shù)據(jù)中表現(xiàn)較差.這也再一次說(shuō)明了在沒(méi)有進(jìn)行實(shí)驗(yàn)驗(yàn)證的情況下,對(duì)于正常信道數(shù)據(jù)情況進(jìn)行假設(shè)的做法是不可取的.
對(duì)于熵評(píng)估算法,這里可以得到和IPCTC 實(shí)驗(yàn)類似的結(jié)論.由于我們的實(shí)驗(yàn)環(huán)境中正常信道的隨機(jī)性很低,我們的實(shí)驗(yàn)結(jié)果中,正常信道的熵值低于隱蔽信道數(shù)據(jù),因此熵評(píng)估算法的檢測(cè)率很低.通過(guò)我們改進(jìn)后的熵評(píng)估算法得到的檢測(cè)率為92.43%,95.25%,97.32,同樣低于差分信息熵算法.
5.3.3 JitterBug 隱蔽信道檢測(cè)實(shí)驗(yàn)結(jié)果
IPCTC 將要傳輸?shù)碾[秘信息轉(zhuǎn)換為指定的時(shí)間區(qū)間內(nèi)是否發(fā)送數(shù)據(jù)包的事件,IPCTC 產(chǎn)生的數(shù)據(jù)包間隔完全沒(méi)有參照正常數(shù)據(jù),因此得到數(shù)據(jù)的可能會(huì)呈現(xiàn)出和正常數(shù)據(jù)完全不同的特征;TRCTC 數(shù)據(jù)中的數(shù)值通過(guò)正常數(shù)據(jù)采樣得到,因此TRCTC 的數(shù)據(jù)和正常數(shù)據(jù)具有相似的數(shù)值特性,但是TRCTC 在構(gòu)建信道過(guò)程中忽視了通過(guò)采樣得到的每個(gè)數(shù)值的出現(xiàn)概率,這將導(dǎo)致TRCTC 的數(shù)據(jù)呈現(xiàn)出不同于正常數(shù)據(jù)的統(tǒng)計(jì)特性.所以,IPCTC 和TRCTC 的抗檢測(cè)能力都比較差.
JitterBug 隱蔽信道通過(guò)對(duì)正常數(shù)據(jù)包的時(shí)間間隔做出細(xì)微的修改來(lái)編碼隱秘信息.選擇合適的參數(shù)ω的值,就可以盡可能小地減少構(gòu)建隱蔽信道過(guò)程中對(duì)于正常數(shù)據(jù)統(tǒng)計(jì)特性的影響.因此,JitterBug 隱蔽信道具有比IPCTC 和TRCTC 更強(qiáng)的抗檢測(cè)性.但是由于JitterBug 的數(shù)據(jù)包間隔均為ω/2 的倍數(shù),因此JitterBug 產(chǎn)生的包間隔數(shù)據(jù)具有較為明顯數(shù)值特性,因此就可以利用這樣的特征來(lái)檢測(cè)JitterBug 隱蔽信道.
對(duì)JitterBug 隱蔽信道的檢測(cè)是我們重點(diǎn)要研究的內(nèi)容.實(shí)驗(yàn)中,我們?yōu)閰?shù)ω賦予不同的值,得到了100 組不同的JitterBug 隱蔽信道數(shù)據(jù),然后比較3 個(gè)算法對(duì)這100 組數(shù)據(jù)的檢測(cè)效果.
ε相似度算法的檢測(cè)結(jié)果如圖14 所示.
從圖中可以看出,隨著參數(shù)ω值的增大,小于ε參數(shù)值的相似度值比例也在逐漸增加;并且在ω處于[10,340]范圍內(nèi)時(shí),ω的變化會(huì)顯著影響ε相似度算法的檢測(cè)結(jié)果.產(chǎn)生該現(xiàn)象的主要原因是:當(dāng)ω的取值較小時(shí),得到的JitterBug 數(shù)據(jù)的特征主要依賴于構(gòu)建該隱蔽信道的原數(shù)據(jù)的特征;隨著ω值的增大,JitterBug 的數(shù)據(jù)特征將同時(shí)受到ω值和原數(shù)據(jù)特征的影響;而當(dāng)ω值繼續(xù)增大時(shí),原數(shù)據(jù)特征對(duì)于產(chǎn)生的JitterBug 數(shù)據(jù)的影響在逐漸減弱,因?yàn)楦蟮摩刂狄馕吨紨?shù)據(jù)中更多的不同的值在構(gòu)建JitterBug 過(guò)程中映射到了同一個(gè)值,因此,數(shù)據(jù)的隨機(jī)性在下降,數(shù)據(jù)之間的相似度也就逐漸在下降,于是就有更多的相似度值小于參數(shù)ε.

Fig.14 Results of ε-similarity algorithm in JitterBug圖14 JitterBug 隱蔽信道檢測(cè)實(shí)驗(yàn)ε相似度算法檢測(cè)結(jié)果
基于正常信道檢測(cè)得到的閾值為0.973、高于該閾值的檢測(cè)結(jié)果被認(rèn)為包含隱蔽信道的思路,我們可以看到:當(dāng)ω值大于50 時(shí),ε相似度算法可有效地檢測(cè)出JitterBug 隱蔽信道;ε值小于50 時(shí),算法對(duì)于JitterBug 隱蔽信道的識(shí)別能力很低.然而基于常理推斷,ω值很大時(shí),隱蔽信道數(shù)據(jù)的異常特征更加明顯.因此,過(guò)大的ω構(gòu)建的隱蔽信道實(shí)用性并不強(qiáng),我們更關(guān)注算法對(duì)于ω值較小時(shí)生成的JitterBug 隱信道的檢測(cè)效果.
隨機(jī)性檢測(cè)算法對(duì)于JitterBug 隱蔽信道的檢測(cè)結(jié)果如圖15 所示.

Fig.15 Results of randomness testing algorithm in JitterBug圖15 JitterBug 隱蔽信道檢測(cè)實(shí)驗(yàn)隨機(jī)性檢測(cè)結(jié)果
從實(shí)驗(yàn)結(jié)果中可以看出:隨著ω值的增大,隨機(jī)性檢測(cè)算法的檢測(cè)結(jié)果在逐漸減小.然而通過(guò)觀察實(shí)驗(yàn)結(jié)果,當(dāng)ω取值為1 000 時(shí),實(shí)驗(yàn)結(jié)果取到最小值,然而其值仍然大于檢測(cè)閾值0.07.這充分說(shuō)明隨機(jī)性檢測(cè)算法對(duì)于JitterBug 隱蔽信道的檢測(cè)能力不足.事實(shí)上,當(dāng)ω值很大時(shí),隨機(jī)性檢測(cè)算法對(duì)于正常數(shù)據(jù)和JitterBug 隱蔽信道數(shù)據(jù)的識(shí)別率很高.而在實(shí)際應(yīng)用中,過(guò)大的ω值會(huì)減慢JitterBug 隱蔽信道的傳輸速率,同時(shí)也更有可能暴露其異常數(shù)據(jù)的特征,因此,過(guò)大的ω參數(shù)設(shè)定下生成的JitterBug 隱蔽信道并不實(shí)用;較小的ω參數(shù)值生成的JitterBug隱蔽信道同時(shí)具備高傳輸速率和高隱蔽性的特征,隨機(jī)性檢測(cè)算法對(duì)于這樣的JitterBug 數(shù)據(jù)的識(shí)別能力是可觀的.然而,由于算法定義小于閾值的數(shù)據(jù)為隱蔽信道數(shù)據(jù),這就為算法識(shí)別隱蔽信道數(shù)據(jù)造成了誤導(dǎo),這里再一次證明了正常數(shù)據(jù)隨機(jī)性高的假設(shè)是不合理的.
圖16、圖17 分別描述了CCE 算法和差分熵算法對(duì)于JitterBug 隱蔽信道的檢測(cè)結(jié)果.

Fig.16 Results of CCE algorithm in JitterBug圖16 JitterBug 隱蔽信道檢測(cè)實(shí)驗(yàn)CCE 算法檢測(cè)結(jié)果

Fig.17 Results of difference entropy algorithm in JitterBug圖17 JitterBug 隱蔽信道檢測(cè)實(shí)驗(yàn)差分熵算法檢測(cè)結(jié)果
可以看到:對(duì)于CCE 算法得到的熵率值以及差分熵算法得到的熵值和差分熵值,三者圖像的形狀很相似.產(chǎn)生此結(jié)果的原因可能是JitterBug 的數(shù)據(jù)是通過(guò)修改正常數(shù)據(jù)得到的,因此其分布特征會(huì)依賴于正常數(shù)據(jù)的分布特征.而實(shí)驗(yàn)中我們發(fā)現(xiàn),正常數(shù)據(jù)的隨機(jī)性較低,根據(jù)前文的分析,數(shù)據(jù)的隨機(jī)性增大時(shí),差分熵和熵值的差別也在逐漸增大,因此數(shù)據(jù)的隨機(jī)性較小時(shí),差分熵值和熵值就會(huì)有較為相似的結(jié)果.
我們還可以從圖像中看出,當(dāng)參數(shù)ω大于100 時(shí),CCE 算法和差分熵算法得到的結(jié)果都在隨著ω的增加而逐漸下降;但相比差分熵值,當(dāng)ω參數(shù)的值增大時(shí),CCE 算法得到的熵率并未出現(xiàn)很明顯的下降趨勢(shì).這說(shuō)明差分熵值對(duì)于數(shù)據(jù)特征的變化更為敏感,這也意味著差分熵算法的靈敏度更高一些.
關(guān)于熵評(píng)估算法檢測(cè)JitterBug 隱蔽信道的實(shí)驗(yàn)情況,其結(jié)果在圖16 中已經(jīng)有所呈現(xiàn),圖中的曲線II 即為不同ω參數(shù)設(shè)定下的熵值.通過(guò)圖像可以看到:類似于前面隨機(jī)性檢測(cè)算法的實(shí)驗(yàn)結(jié)果,雖然隨著ω參數(shù)的增大,檢測(cè)結(jié)果在逐漸減小,當(dāng)ω參數(shù)大于300 后,熵值結(jié)果將低于我們的閾值1.40,此時(shí)熵評(píng)估算法對(duì)于JitterBug 隱蔽信道的檢測(cè)效果比較好.然而,前文中已經(jīng)說(shuō)明,過(guò)大的ω值構(gòu)建的JitterBug 隱蔽信道的實(shí)用性并不強(qiáng).因此,對(duì)于這些數(shù)據(jù)檢測(cè)效果好并沒(méi)有太大的意義.因此,Gianvecchio 提出的熵評(píng)估算法對(duì)于JitterBug 隱蔽信道的檢測(cè)能力比較弱.而改變熵評(píng)估算法的評(píng)定標(biāo)準(zhǔn)為|ENi-EN0|≤εE后,所有的實(shí)驗(yàn)結(jié)果均會(huì)落在EN0±εE的范圍內(nèi).根據(jù)算法的定義,這意味著所有的數(shù)據(jù)均會(huì)被判定為正常數(shù)據(jù),這說(shuō)明改進(jìn)判定規(guī)則后的熵評(píng)估算法依然無(wú)法有效地檢測(cè)JitterBug 隱蔽信道.
最后,根據(jù)每個(gè)算法判定是否包含隱蔽信道的準(zhǔn)則,統(tǒng)計(jì)每個(gè)算法的檢測(cè)準(zhǔn)確率,如圖18 所示.

Fig.18 Detecting rate of JitterBug covert channel圖18 JitterBug 隱蔽信道檢測(cè)率
從圖中可以看到:ω值大于50 時(shí),ε相似度算法檢測(cè)效果較好;ω值在60~190 的范圍內(nèi),差分熵檢測(cè)算法表現(xiàn)出了較好的檢測(cè)效果;ω值在0~60 范圍內(nèi),CCE 算法的檢測(cè)效果較好;而當(dāng)ω大于300 后,熵評(píng)估算法效果很好.
當(dāng)ω值大于200 時(shí),CCE 算法和差分熵算法的檢測(cè)率為0.產(chǎn)生該現(xiàn)象的主要原因是:當(dāng)ω值遠(yuǎn)遠(yuǎn)大于正常數(shù)據(jù)中的數(shù)值時(shí),得到的JitterBug 數(shù)據(jù)中的數(shù)值有很大的概率會(huì)落在原始數(shù)據(jù)的范圍之外,此時(shí)再進(jìn)行數(shù)據(jù)離散化時(shí),就有很大的概率將所有的數(shù)據(jù)劃分到同一個(gè)類簇中,于是得到的數(shù)據(jù)將會(huì)是常數(shù)序列.就這一點(diǎn)而言,數(shù)據(jù)離散化的過(guò)程會(huì)使得原始數(shù)據(jù)的主要特征丟失,因而導(dǎo)致檢測(cè)算法失效.這也說(shuō)明算法的的實(shí)現(xiàn)過(guò)程中還有一些問(wèn)題,有待改進(jìn).
以上實(shí)驗(yàn)證明,差分熵檢測(cè)算法在檢測(cè)IPCTC,TRCTC 以及JitterBug 隱蔽信道方面表現(xiàn)出了比ε相似度算法、隨機(jī)性檢測(cè)算法以及CCE 算法更好的效果.差分熵檢測(cè)技術(shù)同時(shí)考察了待測(cè)數(shù)據(jù)的數(shù)值特性和分布特性,檢測(cè)指標(biāo)更加嚴(yán)格,能更深入地挖掘數(shù)據(jù)中存在的特征.對(duì)于JitterBug 隱蔽信道,差分熵檢測(cè)技術(shù)可以找到其數(shù)據(jù)中不同于正常數(shù)據(jù)的數(shù)值特性,從而達(dá)到較好的檢測(cè)效果.相比之下,ε相似度算法和隨機(jī)性檢測(cè)算法考察了數(shù)據(jù)的數(shù)值特性,而數(shù)據(jù)的分布特性在算法對(duì)數(shù)據(jù)進(jìn)行排序時(shí)和計(jì)算標(biāo)準(zhǔn)查過(guò)程中已經(jīng)造成了部分丟失;CCE算法和熵評(píng)估算法則主要考察了數(shù)據(jù)的分布特性,忽視了數(shù)據(jù)的數(shù)值特性.因此,這4 種算法在檢測(cè)JitterBug 中效果不太理想.而熵評(píng)估算法那和ε相似度算法雖然在ω取較大值是表現(xiàn)出很好的效果,但是對(duì)于JitterBug 隱蔽信道的檢測(cè),我們更關(guān)注ω取較小值是的情況.
本文基于前人的研究成果,提出了一種基于差分信息熵的網(wǎng)絡(luò)時(shí)序型隱蔽信道檢測(cè)技術(shù).文中首先給出了差分信息熵的概念;然后,通過(guò)理論分析總結(jié)了一些差分信息熵所具備的性質(zhì);然后,提出基于差分信息熵的網(wǎng)絡(luò)時(shí)序型隱蔽信道檢測(cè)算法,并通過(guò)實(shí)驗(yàn)證明算法在IPCTC,TRCTC 和JitterBug 隱蔽信道的檢測(cè)上具有較好的效果.本文所涉及的研究工作還存在一些問(wèn)題,這也是今后研究工作的主要方向.
(1)對(duì)于差分信息熵的研究,目前主要基于離散型隨機(jī)變量.網(wǎng)絡(luò)數(shù)據(jù)包的時(shí)間間隔數(shù)據(jù)從某種程度上可以看作是連續(xù)型的隨機(jī)變量,文中涉及到的數(shù)據(jù)離散化處理將連續(xù)型隨機(jī)變量轉(zhuǎn)化為離散型,但從實(shí)驗(yàn)結(jié)果也可以看到,該處理步驟會(huì)使得原始數(shù)據(jù)中的部分?jǐn)?shù)值特性和分布特性丟失,使得檢測(cè)結(jié)果產(chǎn)生誤差;
(2)文中對(duì)于差分信息熵的部分理論僅僅給出了不完全的分析,更嚴(yán)密、更準(zhǔn)確的分析結(jié)果還有待研究;
(3)實(shí)驗(yàn)測(cè)試了新算法對(duì)于IPCTC,TRCTC 和JitterBug 這3 種隱蔽信道的檢測(cè)效果,而對(duì)于其他類型的隱蔽信道的效果還需要更多的研究工作.