李彥峰 , 丁麗萍 , 吳敬征 , 崔 強 , 劉雪花 , 關(guān) 貝 , 王永吉
1(中國科學(xué)院 軟件研究所 并行軟件與計算科學(xué)實驗室,北京 100190)
2(中國科學(xué)院大學(xué),北京 100049)
3(廣州中國科學(xué)院 軟件應(yīng)用技術(shù)研究所 電子數(shù)據(jù)取證實驗室,廣東 廣州 511458)
4(計算機(jī)科學(xué)國家重點實驗室(中國科學(xué)院 軟件研究所),北京 100190)
5(中國科學(xué)院 軟件研究所 智能軟件研究中心,北京 100190)
6(中國科學(xué)院 軟件研究所 互聯(lián)網(wǎng)軟件技術(shù)實驗室,北京 100190)
7(中國科學(xué)院 軟件研究所 協(xié)同創(chuàng)新中心,北京 100190)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)信息傳輸安全越來越受到重視.一方面,需要檢測和阻斷通過網(wǎng)絡(luò)傳輸?shù)膼阂庑畔?例如網(wǎng)絡(luò)攻擊、病毒、木馬程序等);另一方面,需要保障通過網(wǎng)絡(luò)傳輸?shù)恼Mㄐ判畔?例如商業(yè)信息、個人隱私信息等)的安全性和隱私性.網(wǎng)絡(luò)隱蔽信道因其隱蔽通信的特性,越來越多地應(yīng)用在網(wǎng)絡(luò)信息傳輸安全的這兩個方面.
網(wǎng)絡(luò)隱蔽信道是網(wǎng)絡(luò)環(huán)境下違反通信限制規(guī)則進(jìn)行隱蔽信息傳輸?shù)耐ㄐ判诺?使用網(wǎng)絡(luò)信息載體(例如網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)數(shù)據(jù)包等)的載體特征(例如協(xié)議字段、時間特征等)的特征模式(例如值調(diào)制模式、時間間隔模式等)進(jìn)行隱蔽信息傳輸,防止信息被發(fā)現(xiàn).
在惡意信息傳輸方面,由于網(wǎng)絡(luò)通信的審查隨著網(wǎng)絡(luò)安全技術(shù)的發(fā)展越來越嚴(yán)格,傳統(tǒng)基于正常通信協(xié)議的傳輸方式的網(wǎng)絡(luò)惡意行為往往易于發(fā)現(xiàn)和控制,因此,攻擊者會利用網(wǎng)絡(luò)隱蔽信道繞過網(wǎng)絡(luò)審查機(jī)制隱蔽傳輸信息的特點實施網(wǎng)絡(luò)惡意行為,例如蠕蟲病毒傳播[1,2]、秘密構(gòu)建“僵尸網(wǎng)絡(luò)”[3,4]、發(fā)起分布式拒絕服務(wù)攻擊(distributed denial of service,簡稱DDoS)[5?7]、隱蔽地泄露數(shù)據(jù)或敏感信息[8,9]、被木馬程序利用進(jìn)行隱蔽通信[10,11]、破壞匿名網(wǎng)絡(luò)的匿名性[12?15]、被攻擊者用來發(fā)送認(rèn)證信息[12,16?18]等.
在保障網(wǎng)絡(luò)通信的安全性和隱私性[19,20]方面,由于計算能力的提升和新的計算架構(gòu)的發(fā)展(例如并行計算、分布式計算等),以及針對加密算法和應(yīng)用的攻擊[21?23],傳統(tǒng)的保護(hù)數(shù)據(jù)傳輸安全性和隱私性的加密技術(shù)面臨越來越大的挑戰(zhàn).加密技術(shù)的目的是通過使信息變得不可讀從而防止第三方讀取數(shù)據(jù),網(wǎng)絡(luò)隱蔽信道技術(shù)的目的是防止信息本身被發(fā)現(xiàn)[24],作為新的通信方式和通信策略,可以對傳統(tǒng)加密通信進(jìn)行有力的補充,例如進(jìn)行軍用通訊[24]、記者用網(wǎng)絡(luò)隱蔽信道繞過輿論審查發(fā)布自由言論[12]、安全身份認(rèn)證[25]等.由于網(wǎng)絡(luò)隱蔽信道在網(wǎng)絡(luò)信息傳輸安全性的兩方面應(yīng)用,對網(wǎng)絡(luò)隱蔽信道研究非常必要.
目前,對網(wǎng)絡(luò)隱蔽信道的研究和綜述大多成文較早,且關(guān)注于一項具體的技術(shù)方面[12,26?34],缺乏從全局把握整個網(wǎng)絡(luò)隱蔽信道領(lǐng)域的研究,對于網(wǎng)絡(luò)隱蔽信道構(gòu)建方法多關(guān)注技術(shù)細(xì)節(jié)而缺少體系架構(gòu),從而無法對網(wǎng)絡(luò)隱蔽信道技術(shù)向系統(tǒng)化、規(guī)?;l(fā)展提供支持.本文嘗試從構(gòu)建、評估、對抗這3 個方面對網(wǎng)絡(luò)隱蔽信道相關(guān)研究進(jìn)行全面的歸納和分析.第1 節(jié)介紹了網(wǎng)絡(luò)隱蔽信道的定義、分類、能力維度等基本概念.第2 節(jié)從碼元設(shè)計、信息編碼和信道優(yōu)化這3 個方面歸納分析了存儲型和時間型兩類網(wǎng)絡(luò)隱蔽信道構(gòu)建技術(shù).第3 節(jié)從隱蔽性、魯棒性和傳輸效率這3 個方面總結(jié)了網(wǎng)絡(luò)隱蔽信道評估方法.第4 節(jié)從消除、限制、檢測這3 個方面梳理了網(wǎng)絡(luò)隱蔽信道的對抗技術(shù).最后總結(jié)全文,并對未來研究方向進(jìn)行了展望.
網(wǎng)絡(luò)隱蔽信道是隱蔽信道的一個分支,屬于信息隱藏技術(shù)(information hiding)[35],以使數(shù)據(jù)難以被察覺和發(fā)現(xiàn)為主要目的[2].隱蔽信道的概念最初是由Lampson 等人于1973 年提出的,定義為本意不是被設(shè)計用來傳輸信息的、破壞通信安全策略的通信信道[26?28].國際標(biāo)準(zhǔn)化組織(ISO)發(fā)布的《信息技術(shù)安全評估通用準(zhǔn)則》(ISO/IEC 15408,簡稱CC 標(biāo)準(zhǔn))[36]對隱蔽信道的定義是,允許進(jìn)程以違背安全策略的方式傳輸信息的通信通道[28,37].Iglesias 等人[38]將隱蔽信道定義為寄生在正常通信通道中,繞過安全防護(hù)隱蔽傳輸信息的通信通道.使用非信息傳輸通道、違反安全策略、寄生于正常通信是隱蔽信道的主要特點.網(wǎng)絡(luò)隱蔽信道作為隱蔽信道的一個分支,同樣具有這些特點.
隨著計算機(jī)網(wǎng)絡(luò)的發(fā)展,隱蔽信道的研究也擴(kuò)展到了網(wǎng)絡(luò)環(huán)境中.網(wǎng)絡(luò)隱蔽信道定義為:在網(wǎng)絡(luò)環(huán)境下,違反通信限制規(guī)則進(jìn)行隱蔽信息傳輸?shù)耐ㄐ判诺繹24,27],使用網(wǎng)絡(luò)信息載體(例如網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)數(shù)據(jù)包等)的載體特征(例如協(xié)議字段、時間特征等)的特征模式(例如值調(diào)制模式、時間間隔模式等)進(jìn)行隱蔽信息傳輸[24].網(wǎng)絡(luò)隱寫術(shù)是與網(wǎng)絡(luò)隱蔽信道相近的技術(shù),網(wǎng)絡(luò)隱寫術(shù)指通過人能夠理解的數(shù)據(jù)載體進(jìn)行信息傳輸(例如文字、音頻、視頻等)[24],而網(wǎng)絡(luò)隱蔽信道通過機(jī)器“理解”的協(xié)議載體進(jìn)行信息傳輸(例如網(wǎng)絡(luò)協(xié)議頭字段),二者使用的網(wǎng)絡(luò)資源載體不同,因此使用網(wǎng)絡(luò)信息數(shù)據(jù)部分進(jìn)行隱藏信息傳輸?shù)姆椒ú辉诰W(wǎng)絡(luò)隱蔽信道研究范圍內(nèi).
囚徒模型是隱蔽信道的經(jīng)典對抗模型[39]:兩個囚徒Alice 和Bob 被關(guān)進(jìn)監(jiān)獄并且計劃逃跑,為了協(xié)商逃跑的計劃,他們需要進(jìn)行通信.但是看守Wendy 監(jiān)視著他們之間所有的通信信息,一旦發(fā)現(xiàn)任何可疑信息,就會斷絕他們與外界的通信.因此,Alice 和Bob 必須使隱藏信息包含在表面上看起來無害和正常的信息之中,使Wendy無法發(fā)現(xiàn).不同計算環(huán)境下的隱蔽信道都遵循囚徒模型[40?43].Handel 等人[34]將隱蔽信道的囚徒模型進(jìn)行了擴(kuò)展,將這個場景引入到了計算機(jī)網(wǎng)絡(luò)通信中:Alice 和Bob 使用兩臺聯(lián)網(wǎng)的計算機(jī)進(jìn)行通信,在看起來正常的公開信道(overt channel)中包含了隱蔽信道(covert channel),Alice 和Bob 共享一個秘密信息,用來編碼、解碼、解密或認(rèn)證這些隱藏信息.Wendy 對網(wǎng)絡(luò)進(jìn)行管理并監(jiān)視通過的流量,對隱蔽通信進(jìn)行消除或限制.
囚徒模型如圖1 所示.
Fig.1 Prisoner problem圖1 囚徒問題
不同的研究者從不同的角度對網(wǎng)絡(luò)隱蔽信道進(jìn)行了分類,從不同的角度歸納了隱蔽信道的特征和差異,包括存儲型/時間型網(wǎng)絡(luò)隱蔽信道分類、基于OSI 通信模型的分類、基于構(gòu)建技術(shù)模式的分類和基于信道特征的分類.
Llamas 等人[33]依據(jù)傳統(tǒng)隱蔽信道的分類方法將網(wǎng)絡(luò)隱蔽信道分為存儲型網(wǎng)絡(luò)隱蔽信道和時間型網(wǎng)絡(luò)隱蔽信道兩大類:存儲型網(wǎng)絡(luò)隱蔽信道使用協(xié)議數(shù)據(jù)單元內(nèi)部的信息傳輸隱蔽數(shù)據(jù)(例如網(wǎng)絡(luò)協(xié)議頭),而時間型網(wǎng)絡(luò)隱蔽信道使用協(xié)議數(shù)據(jù)單元的時間特性(例如數(shù)據(jù)包間隔)傳輸隱蔽數(shù)據(jù).存儲型/時間型是網(wǎng)絡(luò)隱蔽信道最基本的分類方法,區(qū)分了兩類構(gòu)建機(jī)制截然不同的隱蔽信道,大部分研究都接收了這個分類,并在這個分類的基礎(chǔ)上開展研究[44?47].
Handel 等人[34]基于開放系統(tǒng)互連參考模型(open system interconnect,簡稱OSI)對網(wǎng)絡(luò)隱蔽信道進(jìn)行了分類,對應(yīng)OSI 通信模型的7 層,將網(wǎng)絡(luò)隱蔽信道分為7 類,并對每一層可用來傳遞隱蔽數(shù)據(jù)的資源和方法做了分析.基于OSI 通信模型的分類對網(wǎng)絡(luò)隱蔽信道的載體進(jìn)行劃分,可以更加直觀地了解網(wǎng)絡(luò)隱蔽信道使用的網(wǎng)絡(luò)資源.
Wendzel 等人[45]使用模式語言標(biāo)記語言(pattern language markup language,簡稱PLML)方法將1987 年~2013 年的109 個隱蔽信道構(gòu)建技術(shù)分為11 個不同的模式,并且大部分(69.7%)隱蔽信道構(gòu)建技術(shù)都可以歸在4個類別中.基于模式的分類在存儲型/時間型網(wǎng)絡(luò)隱蔽信道分類方法基礎(chǔ)上進(jìn)行了細(xì)化,通過構(gòu)建技術(shù)將網(wǎng)絡(luò)隱蔽信道進(jìn)一步劃分,打破了使用網(wǎng)絡(luò)載體類型的限制,從形式上對網(wǎng)絡(luò)隱蔽信道隱藏信息的技術(shù)方法進(jìn)行了歸納和總結(jié),使網(wǎng)絡(luò)隱蔽信道的構(gòu)建可以更方便地從一種網(wǎng)絡(luò)載體遷移到另一種網(wǎng)絡(luò)載體中.
除了以上主要分類外,還有一些基于網(wǎng)絡(luò)隱蔽信道不同特征的分類方法.Iglesias 等人[38]以檢測視角對利用傳輸控制協(xié)議/互聯(lián)協(xié)議(transmission control protocol/internet protocol,簡稱TCP/IP)的網(wǎng)絡(luò)隱蔽信道的編碼特征分為了5 類,包括使用一個或多個協(xié)議頭字段的值與隱蔽信息符號進(jìn)行對應(yīng)[48?50]的值與符號對應(yīng)方式、使用協(xié)議字段值的范圍作為隱蔽信息符號[51,52]的值的范圍作為符號方式、使用一個數(shù)據(jù)包發(fā)送隱蔽信息并用特殊的標(biāo)識字段對隱蔽信道的數(shù)據(jù)包進(jìn)行標(biāo)識[53,54]的容器字段方式、利用網(wǎng)絡(luò)通信的時間屬性隱藏信息[55,56]的時間信道方式、把隱蔽信息隱藏在一系列數(shù)據(jù)包中的變化中[51,57]的派生方式.Cai 等人[30]提出了基于熵特征的網(wǎng)絡(luò)隱蔽信道分類,由于隱蔽信道受限于所使用的公開資源,而公開資源可使用熵進(jìn)行描述,因此可以使用熵對隱蔽信道進(jìn)行分類,并可以根據(jù)隱蔽信道,利用公開資源的方法進(jìn)行進(jìn)一步細(xì)分.Brodley 等人[58]基于噪聲特征將網(wǎng)絡(luò)隱蔽信道分為有噪聲信道和無噪聲信道,其中,有躁聲信道和無躁聲信道是通過信道是否包含正常噪聲和通信噪聲進(jìn)行區(qū)分的,有噪聲信道會包含網(wǎng)絡(luò)共享資源自身產(chǎn)生的噪聲,從而影響信息傳遞的準(zhǔn)確性和信道容量.這些機(jī)遇不同特征的分類方法是對以上3 個主要分類方法的補充,從不同側(cè)面描述了網(wǎng)絡(luò)隱蔽信道的特點.
網(wǎng)絡(luò)隱蔽信道的能力維度是網(wǎng)絡(luò)隱蔽信道所應(yīng)具備的能力方面.Archibald 等人[59]認(rèn)為,時間隱蔽信道應(yīng)具有4 個方面的特征:抗檢測性(non-detectability)、抗暴露性(non-disclosure)、抗干擾性(non-disruptability)、吞吐量(throughput).其中:抗檢測性指隱蔽信道無法被監(jiān)測者發(fā)現(xiàn);抗暴露性指即使信道被檢測到隱蔽信息也無法被解碼;抗干擾性指信道抵抗網(wǎng)絡(luò)環(huán)境變化的能力,例如網(wǎng)絡(luò)延遲、抖動、丟包等,在類似情境下能夠正確傳遞隱蔽信息的能力;吞吐量指單位時間內(nèi)傳輸?shù)淖畲髷?shù)據(jù)量.其他研究者大都以類似的能力維度為目標(biāo)設(shè)計和構(gòu)建網(wǎng)絡(luò)隱蔽信道[60?62].歸納和總結(jié)相關(guān)研究,隱蔽性、魯棒性和傳輸效率是網(wǎng)絡(luò)隱蔽信道最常用的3 個能力維度:隱蔽性指網(wǎng)絡(luò)隱蔽信道不被發(fā)現(xiàn)的能力,魯棒性指網(wǎng)絡(luò)隱蔽信道抗干擾和準(zhǔn)確傳輸數(shù)據(jù)的能力,傳輸效率用來指網(wǎng)絡(luò)隱蔽信道單位時間內(nèi)傳輸數(shù)據(jù)量的能力.網(wǎng)絡(luò)隱蔽信道的能力維度為網(wǎng)絡(luò)隱蔽信道的構(gòu)建、評估和對抗提供了目標(biāo)和方向.
網(wǎng)絡(luò)隱蔽信道的本質(zhì)是信息傳輸,從技術(shù)環(huán)節(jié)上可分為碼元設(shè)計、信息編碼和信道優(yōu)化3 個方面.
· 碼元是承載信息量的基本信號單位,網(wǎng)絡(luò)隱蔽信道碼元設(shè)計指選取具有隱蔽特性的網(wǎng)絡(luò)信息載體、載體特征及特征模式作為隱蔽信息的碼元攜帶隱蔽信息的方法,是網(wǎng)絡(luò)隱蔽信道構(gòu)建最核心的部分.其中,網(wǎng)絡(luò)隱蔽信道的信息載體包括網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)數(shù)據(jù)包等,載體特征包括協(xié)議字段、時間屬性等,特征模式包括值調(diào)制模式、時間間隔模式等.簡而言之,網(wǎng)絡(luò)隱蔽信道的碼元是網(wǎng)絡(luò)信息載體、載體特征、特征模式的組合.
· 信息編碼指信息從一種形式或格式轉(zhuǎn)換為另一種形式或格式的過程,網(wǎng)絡(luò)隱蔽信道信息編碼指使用網(wǎng)絡(luò)隱蔽信道碼元進(jìn)行編碼,從而生成隱蔽信息的過程,往往用來提升網(wǎng)絡(luò)隱蔽信道的魯棒性和傳輸效率.
· 信道優(yōu)化指在碼元設(shè)計和信息編碼生成隱蔽信息的基礎(chǔ)上,通過其他技術(shù)手段提升隱蔽信道的能力(隱蔽性、魯棒性或傳輸效率),例如為網(wǎng)絡(luò)隱蔽信道提供額外功能.
網(wǎng)絡(luò)隱蔽信道從構(gòu)建機(jī)制上可分為存儲型和時間型網(wǎng)絡(luò)隱蔽信道兩類,這兩種隱蔽信道有著各自的優(yōu)缺點.Wendzel 等人[45]和Swinnen 等人[63]認(rèn)為:存儲型網(wǎng)絡(luò)信道容量較大,可以利用載體信道的可靠性傳輸(如TCP/IP 協(xié)議)受網(wǎng)絡(luò)條件的影響較小,但是易于被基于內(nèi)容的檢測方法進(jìn)行針對性檢測[53];而時間型網(wǎng)絡(luò)隱蔽信道較難以檢測,但是信道容量小而且發(fā)送者和接受者往往需要同步,并且很容易受網(wǎng)絡(luò)條件的變化(如延遲、丟包、噪音)的影響.綜上所述,存儲型隱蔽信道的特點是隱蔽性較低、魯棒性較高、傳輸效率較高,時間型隱蔽信道的特點是隱蔽性較高、魯棒性較低、傳輸效率較低.因此在構(gòu)建網(wǎng)絡(luò)隱蔽信道時,應(yīng)根據(jù)網(wǎng)絡(luò)隱蔽信道類型特點進(jìn)行有針對性的設(shè)計.
· 碼元設(shè)計方面,存儲型網(wǎng)絡(luò)隱蔽信道使用的網(wǎng)絡(luò)載體一般為網(wǎng)絡(luò)協(xié)議,利用的載體屬性為協(xié)議字段,類型多樣的網(wǎng)絡(luò)協(xié)議為存儲型網(wǎng)絡(luò)隱蔽信道設(shè)計提供了充分的信息載體空間和設(shè)計素材,因此,網(wǎng)絡(luò)隱蔽信道的傳輸效率較高,種類也較多;但由于網(wǎng)絡(luò)協(xié)議的類型和和屬性有限,易于被針對,因此,存儲型網(wǎng)絡(luò)隱蔽信道需要其他手段對隱蔽性方面進(jìn)行補充.而時間隱蔽信道使用的信道載體一般為網(wǎng)絡(luò)數(shù)據(jù)包,利用的載體屬性為時間特性,可選擇的方法較少;另一方面,由于網(wǎng)絡(luò)數(shù)據(jù)包的時間特性不易檢測,為時間型網(wǎng)絡(luò)隱蔽信道提供了相對充分的隱蔽性.
· 信息編碼方面,存儲型網(wǎng)絡(luò)隱蔽信道和時間型網(wǎng)絡(luò)隱蔽信道都會利用編碼方式提高傳輸效率,而時間型網(wǎng)絡(luò)隱蔽信道在魯棒性方面更倚重信息編碼.Wendzel 等人[45]認(rèn)為:由于存儲型隱蔽信道可以利用公開信道的可靠性傳輸機(jī)制(例如TCP 協(xié)議),因此信息編碼主要用來提升網(wǎng)絡(luò)隱蔽信道的傳輸效率.時間型隱蔽信道的傳輸依賴于數(shù)據(jù)幀、數(shù)據(jù)包或信息的時間屬性,很容易受噪聲影響,而且傳輸效率不高,因此在編碼方面會著重提升信道的魯棒性和傳輸效率.
· 信道優(yōu)化方面,大量的網(wǎng)絡(luò)協(xié)議和屬性可以給存儲型網(wǎng)絡(luò)隱蔽信道優(yōu)化帶來充分的空間提供新的功能,從而彌補存儲型網(wǎng)絡(luò)隱蔽信道易被針對的特點.時間型網(wǎng)絡(luò)隱蔽信道并沒有充分的載體提供額外的優(yōu)化功能,但是可以通過改進(jìn)時間特性的使用進(jìn)一步提升隱蔽性.
存儲型/時間型網(wǎng)絡(luò)隱蔽信道構(gòu)建技術(shù)環(huán)節(jié)與網(wǎng)絡(luò)隱蔽信道能力維度的匹配見表1.
Table 1 Network storage/timing covert channel construction technical process and capability dimension表1 存儲型/時間型網(wǎng)絡(luò)隱蔽信道構(gòu)建技術(shù)環(huán)節(jié)與能力維度
2.3.1 碼元設(shè)計
豐富的網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)協(xié)議的特性,為存儲型網(wǎng)絡(luò)隱蔽信道的構(gòu)建提供了大量的素材.Wendzel 等人[63]按照網(wǎng)絡(luò)隱蔽信道構(gòu)建技術(shù)將存儲型隱蔽信道構(gòu)建技術(shù)分為7 個模式.
(1) 調(diào)制大小模式:使用協(xié)議頭元素或PDU 的大小進(jìn)行隱蔽信息編碼,例如調(diào)制LAN 幀的數(shù)據(jù)塊大小編碼[42]、調(diào)制IEEE 802.3 幀的填充字段大小填充編碼[64]、調(diào)制IP 分片的大小編碼[32,65]、使用網(wǎng)絡(luò)數(shù)據(jù)包的信息長度編碼[66]、使用IPsec 信息的長度編碼[67]、使用VPN 的MTU 的大小編碼[67]等.
(2) 序列模式:通過改變協(xié)議頭元素或PDU 元素的序列傳遞隱蔽信息,例如改變HTTP 協(xié)議頭字段序列[68]、改變DHCP 選項序列[69]、改變FTP 協(xié)議命令序列[70]等.序列模式包含兩個子類:第1 個子類被稱為位置模式,通過改變協(xié)議頭或PDU 元素的位置對隱藏信息進(jìn)行編碼,例如改變DHCP 選項列表中某一選項的位置[69]等;第2 個子類被稱為元素數(shù)量模式,例如改變DHCP 數(shù)據(jù)包中選項的數(shù)量[69]、改變IP 數(shù)據(jù)包分片的數(shù)量[65]等.
(3) 增加冗余模式:在協(xié)議頭或PDU 內(nèi)增加新的空間用于隱藏數(shù)據(jù),如構(gòu)建在選項中嵌入隱藏數(shù)據(jù)IPv4數(shù)據(jù)包[71]、增加新的IPv6 目的地址選項嵌入隱藏數(shù)據(jù)[72]、通過增加額外的字段擴(kuò)展HTTP 協(xié)議頭[68]、修改IPv4 協(xié)議頭的record route option 的指針和長度的值構(gòu)造新的空間隱藏數(shù)據(jù)[71]、增加隨機(jī)位加密SSH 信息[73]、SMTP 數(shù)據(jù)包頭增加額外的字段、在DHCP 的chaddr 字段的未使用位中隱藏數(shù)據(jù)[69]、在IP 數(shù)據(jù)包中封小于以太幀的空間[74]、XMPP 的leading/trailing 選項的空白空間[75]等.
(4) PDU 錯誤/丟失模式:構(gòu)建包含隱藏數(shù)據(jù)的錯誤的PDU,或主動利用數(shù)據(jù)包的丟失進(jìn)行信息隱藏,例如在broadcast erasure channels 中構(gòu)建錯誤信息[76]、在IEEE 802.11 中構(gòu)建錯誤幀[77]、利用VPN 丟包傳遞隱藏信息[65]等.
(5) 隨機(jī)值模式:通過在數(shù)據(jù)包頭元素中嵌入的隨機(jī)值傳遞隱藏數(shù)據(jù),例如利用IPv4 協(xié)議的Identifier 字段[78]、TCP 連接的ISN 序列號[78]、DHCP 的xid 字段[69]、SSH 協(xié)議的MAC 字段[73]等.
(6) 值調(diào)制模式:從n個值中挑選一個能夠用來編碼隱藏信息的頭元素值,例如在本地網(wǎng)絡(luò)中的n個地址中挑選一個發(fā)送數(shù)據(jù)幀[42]、利用n個可能的IP 頭的TTL 值進(jìn)行編碼[62]、通過n個IPv6 數(shù)據(jù)包頭的Hop Limit 值進(jìn)行編碼[51]、通過從n個應(yīng)用層協(xié)議中選擇一個協(xié)議發(fā)送數(shù)據(jù)包編碼[79]、通過向n個應(yīng)用層協(xié)議端口選擇一個端口發(fā)送數(shù)據(jù)包編碼在BACnet 協(xié)議中從n個信息類型中選擇一個信息類型編碼[80]、通過目標(biāo)IP 的ARP 信息編碼[81]、修改XMPP 協(xié)議的“type”或“xml:lang”屬性[75]等.值調(diào)制模式又包含兩個子類:一個子類被稱為CASE(common application service element)模式,利用頭元素中的CASE 隱藏信息,例如修改HTTP 頭文件中的CASE[68]、修改XMPP 協(xié)議中“type”或“id”屬性的CASE[75];另一個子類被稱為LSB(least significant bit,最低有效位)模式,使用頭文件中的LSB 編碼隱藏數(shù)據(jù),例如通過IPv4 時間戳選項的奇偶時間編碼[34]、修改TCP 數(shù)據(jù)包時間戳選項的低階位[82]、使用DHCP 協(xié)議頭secs 字段的LSB[69]、使用IPv6 數(shù)據(jù)包Limit 字段的LSB[51]、使用XMPP 協(xié)議“id”屬性的LSB[68]等.
(7) 保留/未使元素模式:使用協(xié)議頭或數(shù)據(jù)包的保留或未使用元素(例如保留字段、保留位等)進(jìn)行隱藏數(shù)據(jù)的編碼,例如利用IEEE 802.5 或數(shù)據(jù)鏈路層數(shù)據(jù)幀的保留字段[34]、使用IPv4 協(xié)議的未使用字段[34]、使用IPv6 協(xié)議頭的保留字或未用字段[51]、使用TCP 協(xié)議頭的未使用位[34]、使用ICMP 協(xié)議的echo payload[83]、使用IEEE802.3 的填充字段[84]、使用BACnet 協(xié)議頭的未用字段[80]、DHCP 協(xié)議的sname和file 字段的終止標(biāo)識位[69]、IPSec 協(xié)議的DS 字段[65]、IPSec 協(xié)議的ECN 字段[65]等.
存儲型網(wǎng)絡(luò)隱蔽信道選擇的信息載體、載體特征和特征模式會對魯棒性和通信效率產(chǎn)生影響.不同的載體協(xié)議的特性不同:有的通信協(xié)議可以提供可靠傳輸(例如TCP 協(xié)議),因此具有較高的魯棒性;如果選擇非可靠協(xié)議(例如UDP 協(xié)議),則無法保證魯棒性.另外,不同協(xié)議的載體特征和模式包含的信息量不同(例如保留/未使用元素模式選取不同字段的值范圍不同),這些因素會對通信效率產(chǎn)生影響.
2.3.2 信息編碼
如文獻(xiàn)[45,85]所述,存儲型網(wǎng)絡(luò)隱蔽信道依賴于信道載體的特性,有較大的傳輸空間,并且信道載體往往可以給網(wǎng)絡(luò)隱蔽信道提供大量的輔助功能(例如可靠性傳輸),因此,存儲型網(wǎng)絡(luò)隱蔽信道對信息編碼的依賴較小,專門研究存儲型網(wǎng)絡(luò)隱蔽信道編碼的文獻(xiàn)較少.Iglesias 等人[38]以檢測的視角對利用TCP/IP 協(xié)議的網(wǎng)絡(luò)隱蔽信道的編碼特征分為了5 類,其中包括值與符號對應(yīng)方法,使用1 個或多個協(xié)議頭字段的值與隱蔽信息符號進(jìn)行對應(yīng)編碼[48?50].
2.3.3 信道優(yōu)化
豐富的網(wǎng)絡(luò)協(xié)議和特性使得存儲型網(wǎng)絡(luò)隱蔽信道可以通過更豐富的手段進(jìn)行優(yōu)化,進(jìn)而提供新的功能或特性提升自身的隱蔽性、魯棒性和通信效率,包括微協(xié)議技術(shù)、動態(tài)路由技術(shù)、多協(xié)議傳輸技術(shù).
(1) 微協(xié)議技術(shù)
微協(xié)議是用來規(guī)范網(wǎng)絡(luò)隱蔽信道通信過程的一組壓縮編碼[86?88],微協(xié)議的協(xié)議頭往往嵌入在網(wǎng)絡(luò)隱蔽信道的隱藏信息中[45].Wendzel 等人[89]對存儲型網(wǎng)絡(luò)隱蔽信道的結(jié)構(gòu)進(jìn)行了劃分,把隱蔽信道利用的公開協(xié)議(例如TCP 協(xié)議、ICMP 協(xié)議等)稱為底層協(xié)議(underlying protocol),把隱蔽數(shù)據(jù)嵌入的部分稱作上層協(xié)議(cover protocol),在上層協(xié)議中放置微協(xié)議(micro-protocol)和隱蔽數(shù)據(jù)(payload).微協(xié)議能夠?qū)W(wǎng)絡(luò)隱蔽信道進(jìn)行增強,可以提供的功能包括可靠性、動態(tài)路由、代理功能、同步連接、段管理、自動適應(yīng)網(wǎng)絡(luò)配置等[24],從而提高網(wǎng)絡(luò)隱蔽信道在真實網(wǎng)絡(luò)環(huán)境下的適應(yīng)性和靈活性.
ping tunnel[83]利用ICMP 的“Echo Request”報文和“Echo Reply”報文構(gòu)建微協(xié)議,但是占用空間較大,因此易于檢測.Degraaf 等人[16]將UDP 協(xié)議目標(biāo)端口字段分為數(shù)據(jù)部分和序列號部分,保證隱蔽信道數(shù)據(jù)包的順序不被打亂.Ray 等人[90]在ICMP 協(xié)議“expected sequence number”字段插入2 比特的序列號字段實現(xiàn)了收發(fā)確認(rèn)功能,用“1”表示成功接收數(shù)據(jù),用“2”表示等待下一條數(shù)據(jù),從而提高了隱蔽信道的可靠性.Trabelsi 等人[71]實現(xiàn)了CFTP(隱藏數(shù)據(jù)傳輸協(xié)議),利用IP 協(xié)議的“record route”選項實現(xiàn)類似FTP 協(xié)議的文件隱蔽傳輸協(xié)議.Mazurczyk等人[17]將隱蔽信道與數(shù)字水印技術(shù)結(jié)合,將6 比特的控制信息協(xié)議頭嵌入到IP 協(xié)議、UDP 協(xié)議、RTP 協(xié)議的協(xié)議頭,實現(xiàn)對隱蔽傳輸?shù)目刂?
Wendzel 等人[89]提出了針對微協(xié)議的設(shè)計方法,將協(xié)議分為用來構(gòu)建隱蔽信道的公開協(xié)議、包含隱蔽信道數(shù)據(jù)部分和隱蔽信道控制部分的隱蔽協(xié)議、用來控制隱蔽信道的微協(xié)議這3 類;使用表層協(xié)議位到隱蔽協(xié)議位、隱蔽協(xié)議位到微協(xié)議位的映射,使隱蔽協(xié)議和微協(xié)議滿足公開協(xié)議的標(biāo)準(zhǔn)行為.制定了微協(xié)議構(gòu)建的6 個設(shè)計步驟,包括定義表層協(xié)議并確定隱蔽協(xié)議使用的區(qū)域、評估隱蔽協(xié)議的可用位數(shù)以確定可用來構(gòu)建隱蔽協(xié)議的值的范圍、設(shè)計微協(xié)議相關(guān)功能和規(guī)則、評估微協(xié)議的可用位數(shù)確定可用來構(gòu)建微協(xié)議的值的范圍、建立公開協(xié)議與微協(xié)議的映射、使用形式化方法驗證微協(xié)議是否滿足公開協(xié)議的標(biāo)準(zhǔn)行為.
微協(xié)議面臨的問題包括協(xié)議優(yōu)化問題,由于微協(xié)議的控制信息和隱蔽數(shù)據(jù)的數(shù)據(jù)信息往往都要使用公開協(xié)議的協(xié)議頭部分,如果微協(xié)議過大就會減少隱蔽數(shù)據(jù)攜帶的空間,降低傳輸效率,并且會更易容易被發(fā)現(xiàn)[23].Backs 等人[86]和Ray 等人[90]針對優(yōu)化協(xié)議頭問題提出了動態(tài)協(xié)議頭方法,由于微協(xié)議和隱蔽信道數(shù)據(jù)部分并不是要使用協(xié)議頭的所有部分,為了不重復(fù)傳遞不使用的這部分協(xié)議頭,通過串行線路接口協(xié)議壓縮(compress for serial line interface protocol,簡稱CSLIP)[91]方法優(yōu)化協(xié)議空間,新的數(shù)據(jù)包只傳輸協(xié)議頭發(fā)生改變的部分,從而節(jié)省了協(xié)議空間,使網(wǎng)絡(luò)隱蔽信道不易被檢測.
(2) 動態(tài)路由技術(shù)
動態(tài)路由可以使隱蔽信道在較大且動態(tài)的網(wǎng)絡(luò)環(huán)境下(例如互聯(lián)網(wǎng)環(huán)境)進(jìn)行通信,通信路徑不再是通信雙方直接通信,而是通過很多跳轉(zhuǎn)進(jìn)行間接通信;并且通信路徑也不再是靜態(tài)的,而是依據(jù)一定規(guī)則動態(tài)變化.從而使通信雙方不會直接暴露在監(jiān)控者的面前,提高了隱蔽數(shù)據(jù)傳輸?shù)碾[蔽性、魯棒性和傳輸效率[86].
Szczypiorski 等人[92]第一次提出了網(wǎng)絡(luò)隱蔽信道中的動態(tài)路由技術(shù).利用隨機(jī)游走算法隨機(jī)選擇下一跳的通信節(jié)點,從而構(gòu)建完全隨機(jī)的隱蔽傳輸網(wǎng)絡(luò)拓?fù)?每一次傳輸過程都是隨機(jī)的,無法監(jiān)控和預(yù)測隱蔽信道傳輸?shù)穆窂?從而提高了隱蔽信道的隱蔽性.
Backs 等人[86]實現(xiàn)了一種基于OLSR(optimized link-state routing)的動態(tài)路由協(xié)議.選擇隱蔽性和連接質(zhì)量最優(yōu)的信道,被稱為SCCT 架構(gòu).引入隱蔽性質(zhì)量(quality of covertness,簡稱QoC)的概念對通信節(jié)點間的隱蔽性進(jìn)行度量,與通信質(zhì)量(quality of service,簡稱QoS)一起構(gòu)成通信節(jié)點間通信的兩個度量指標(biāo),從而形成網(wǎng)絡(luò)隱蔽信道的節(jié)點表和網(wǎng)絡(luò)拓?fù)浔?使用狀態(tài)升級的方法對這兩張表進(jìn)行維護(hù),從而保障通信質(zhì)量.
(3) 多協(xié)議傳輸技術(shù)
與傳統(tǒng)的只通過某一特定通信協(xié)議構(gòu)建隱蔽信道的方法不同,多協(xié)議隱蔽信道提供多種通信協(xié)議進(jìn)行隱蔽數(shù)據(jù)傳輸,從而獲得更好的網(wǎng)絡(luò)環(huán)境適應(yīng)能力,提高了隱蔽信息傳輸成功的可能,同時也降低被檢測的可能.
Yarochkin 等人[93]提供了多種應(yīng)用層的通信協(xié)議作為構(gòu)建隱蔽信道的底層協(xié)議,將這些協(xié)議組成多協(xié)議的協(xié)議棧,每種協(xié)議會被專門的事件觸發(fā).協(xié)議的執(zhí)行分為網(wǎng)絡(luò)環(huán)境學(xué)習(xí)階段和數(shù)據(jù)傳輸兩個階段:在網(wǎng)絡(luò)環(huán)境學(xué)習(xí)階段,通信節(jié)點會被動監(jiān)聽網(wǎng)絡(luò)流量確定可用的網(wǎng)絡(luò)協(xié)議集合,使用成功率評分算法進(jìn)行協(xié)議選擇,使通信過程的數(shù)據(jù)包被過濾的數(shù)量達(dá)到最小;在數(shù)據(jù)傳輸階段,發(fā)送方會根據(jù)網(wǎng)絡(luò)環(huán)境學(xué)習(xí)階段的學(xué)習(xí)結(jié)果選擇底層網(wǎng)絡(luò)協(xié)議進(jìn)行數(shù)據(jù)傳輸,并監(jiān)控整個通信過程,如果傳輸中斷或是被過濾,會切換其他通信協(xié)議進(jìn)行傳輸,從而繞過針對特定協(xié)議的網(wǎng)絡(luò)審查機(jī)制.
Wendzel 等人[94]會在每個數(shù)據(jù)包發(fā)送前,從多個可用于構(gòu)建網(wǎng)絡(luò)隱蔽信道的協(xié)議中挑選一個,之后再發(fā)送數(shù)據(jù).隱蔽數(shù)據(jù)可以通過分片的方式分配到不同的傳輸協(xié)議構(gòu)建的隱蔽信道中,監(jiān)控者只有將各個傳輸協(xié)議傳輸?shù)碾[蔽數(shù)據(jù)收集齊,才能拼湊出一條完整的隱蔽數(shù)據(jù),降低了隱蔽信道被發(fā)現(xiàn)的可能性,提高了隱蔽信道的隱蔽性.
Xie 等人[10]基于跳頻通信(frequency hopping communication)的思路設(shè)計了多協(xié)議轉(zhuǎn)換的網(wǎng)絡(luò)隱蔽信道,使用偽隨機(jī)碼序列構(gòu)建跳轉(zhuǎn)指令,用來控制頻率同步,并使用移頻鍵控(frequency shift keying,簡稱FSK)在多個頻率中進(jìn)行選擇.由于通信雙方有相同的跳頻模式,因此可以使用預(yù)先定義的跳頻序列,在不同網(wǎng)絡(luò)協(xié)議構(gòu)成的網(wǎng)絡(luò)隱蔽信道間進(jìn)行切換,并通過發(fā)送方緩存計算的hash 值進(jìn)行差錯控制,保證網(wǎng)絡(luò)隱蔽信道的魯棒性.
2.4.1 碼元設(shè)計
時間型網(wǎng)絡(luò)隱蔽信道使用網(wǎng)絡(luò)通信載體的時間特性進(jìn)行隱蔽信息傳輸,Wendzel 等人[45]按照網(wǎng)絡(luò)隱蔽信道構(gòu)建方法將時間型隱蔽信道分為4 個模式.
(1) 時間間隔模式:利用PDU 不同的時間間隔進(jìn)行隱藏信息編碼,例如改變LAN 數(shù)據(jù)幀的發(fā)送間隔[42]、改變BACnet 協(xié)議數(shù)據(jù)包或IP 數(shù)據(jù)包的時間間隔[80]、針對鍵盤輸入對SSH 數(shù)據(jù)包進(jìn)行延遲[55]、接收IEEE 802.2 I 格式的數(shù)據(jù)幀后延遲確認(rèn)[64]、改變VPN 數(shù)據(jù)包的間隔時間[65]、記錄分割合法通信序列并依據(jù)間隔時間重放這些合法通信片段[58]等.
(2) 速率模式:改變通信數(shù)據(jù)流中的數(shù)據(jù)速率,例如通過Clear to Send 或Ready to Send 指令延遲一系列通信端口的吞吐量[34].
(3) PDU 順序模式:通過改變PDU 順序編碼隱藏數(shù)據(jù),例如改變IPSec AH 包的順序[48]、改變IPSec ESP包的順序[48]、改變TCP 包的順序[47,95]、改變VPN 數(shù)據(jù)包的順序[96]、改變IPSec 數(shù)據(jù)包的順序[65]、改變CSMA/CD 網(wǎng)絡(luò)中合法數(shù)據(jù)幀的順序[34]等.
(4) 重傳模式:重傳之前發(fā)送或接收的數(shù)據(jù)包,例如通過發(fā)送DNS 請求1 次或兩次進(jìn)行編碼、復(fù)制IEEE 802.11 數(shù)據(jù)包[77]、通過重傳選定的TCP 數(shù)據(jù)段編碼、接收方通過不發(fā)送確認(rèn)信息迫使發(fā)送方重發(fā)數(shù)據(jù)包[97]等.
目前,時間型網(wǎng)絡(luò)隱蔽信道使用最多的模式是時間間隔模式,大量研究都是基于網(wǎng)絡(luò)數(shù)據(jù)包間隔(interpacket-delay,簡稱IPD)進(jìn)行的[31,58,98,99].另外,Archibald 等人[59]對網(wǎng)絡(luò)數(shù)據(jù)包間隔方法進(jìn)行了改進(jìn),使用多個網(wǎng)絡(luò)數(shù)據(jù)包間隔(m-IPD)作為碼元,從而提高時間型網(wǎng)絡(luò)隱蔽信道的魯棒性.
2.4.2 信息編碼
由于網(wǎng)絡(luò)時間型隱蔽信道能夠用來傳輸信息的載體特性只有時間特性,可以利用的資源較少,因此編碼就成了時間型網(wǎng)絡(luò)隱蔽信道重要的環(huán)節(jié).由于時間型網(wǎng)絡(luò)隱蔽信道的魯棒性和通信效率相對較低,因此時間型網(wǎng)絡(luò)隱蔽信道的信息編碼主要目標(biāo)是提高信道傳輸效率和魯棒性.
較早的網(wǎng)絡(luò)時間型隱蔽信道利用網(wǎng)絡(luò)數(shù)據(jù)包間隔時間進(jìn)行簡單的二進(jìn)制編碼,例如數(shù)據(jù)包間沒有時間間隔編碼為0,數(shù)據(jù)包間有時間間隔編碼為1[31].這種編碼方式傳輸效率較低,且沒有任何可靠性保障機(jī)制,很容易受到網(wǎng)絡(luò)噪聲的干擾.Wu 等人[60]使用霍夫曼編碼對時間隱蔽信道的隱蔽信息進(jìn)行編碼.霍夫曼編碼可對隱藏信息進(jìn)行無損壓縮,可有效提高傳輸效率,但是在魯棒性方面并沒有考慮.Archibald 等人[56]、Liu 等人[100,101]使用擴(kuò)頻碼對時間隱蔽信道進(jìn)行編碼,提高信道的魯棒性,可以使用有效的擴(kuò)頻因子抵御信道噪聲.Sellke 等人[102]以幾何碼的方式,將不同的數(shù)據(jù)率L比特的隱藏數(shù)據(jù)映射到n個數(shù)據(jù)包中,以犧牲隱蔽信道數(shù)據(jù)率為代價,使得通信模式無法被辨別,以此提高信道的隱蔽性.Archibald 等人[103]使用噴泉碼對時間隱蔽信道進(jìn)行編碼,通過噴泉碼引入的大量冗余增加網(wǎng)絡(luò)隱蔽信道的魯棒性,用隨機(jī)生成的線性碼符號增加隱蔽信道的抗檢測性.Houmansadr 等人[44]使用多種線性編碼對網(wǎng)絡(luò)隱蔽信道進(jìn)行編碼,包括RS 碼、Golay 碼、兩個類型的Turbo 碼(分組Turbo 碼和卷積Turbo 碼)、低密度奇偶校驗碼(LDPC),并對每種類型編碼的網(wǎng)絡(luò)隱蔽信道做魯棒性評估和抗檢測性評估.
2.4.3 信道優(yōu)化
(1) 基于統(tǒng)計學(xué)的時間隱蔽信道
時間型網(wǎng)絡(luò)隱蔽信道又可分為基于統(tǒng)計學(xué)的時間型網(wǎng)絡(luò)隱蔽信道和非基于統(tǒng)計學(xué)的時間型網(wǎng)絡(luò)隱蔽信道,還可以利用一組碼元的統(tǒng)計學(xué)特征進(jìn)行隱蔽信息傳輸[104].基于統(tǒng)計學(xué)等時間型網(wǎng)絡(luò)隱蔽信道的主要目的是提升網(wǎng)絡(luò)隱蔽信道的隱蔽性[11,105].
早期的網(wǎng)絡(luò)時間型隱蔽信道是直接使用編碼元素(例如網(wǎng)絡(luò)數(shù)據(jù)包時間間隔)進(jìn)行編碼的.Cabuk 等人[31]提出了基于數(shù)據(jù)包時間間隔的網(wǎng)絡(luò)時間型隱蔽信道(inter-packet covert timing channel,簡稱IPCTC),利用時間窗口內(nèi)是否包含數(shù)據(jù)包進(jìn)行二進(jìn)制編碼,將時間分成連續(xù)相等不相交的時間窗口,在時間窗口內(nèi)發(fā)送數(shù)據(jù)包代表比特“1”,不發(fā)送數(shù)據(jù)包代表比特“0”.Sha 等人[55]提出了JitterBug 時間型網(wǎng)絡(luò)隱蔽信道,終端每次敲擊鍵盤的行為都會向服務(wù)器端發(fā)送一個小幅度延時的數(shù)據(jù)包,使網(wǎng)絡(luò)數(shù)據(jù)包間隔時間具有特殊的意義,從而泄露終端信息.
隨著時間的發(fā)展,出現(xiàn)了隱蔽性更強的基于統(tǒng)計學(xué)的時間型網(wǎng)絡(luò)隱蔽信道.Brodley 等人[58]提出了基于重傳的時間型隱蔽信道(time-replay covert timing channel,簡稱TRCTC),收集合法信道的網(wǎng)絡(luò)數(shù)據(jù)包間隔時間為編碼提供樣本,對收集的網(wǎng)絡(luò)數(shù)據(jù)包間隔時間排序,并將它們平均分為兩個部分,并與二進(jìn)制編碼的值對應(yīng),從網(wǎng)絡(luò)數(shù)據(jù)包間隔時間較大的部分隨機(jī)取出一個網(wǎng)絡(luò)數(shù)據(jù)包間隔時間代表比特“1”,從較小的部分取出隨機(jī)值發(fā)送代表比特“0”.
Gianvecchio 等人[98]提出了基于模型的時間型隱蔽信道(model-based covert timing channel,簡稱MBCTC),以網(wǎng)絡(luò)數(shù)據(jù)包間隔時間分布模型的形式模擬合法信道:首先,準(zhǔn)備幾種待選的分布模型(例如指數(shù)分布、正態(tài)分布等);之后,統(tǒng)計合法信道的網(wǎng)絡(luò)數(shù)據(jù)包間隔時間,根據(jù)最大似然估計出的待選分布模型的參數(shù),使用標(biāo)準(zhǔn)差最小的模型作為最佳擬合模型,利用該分布模型的分布逆函數(shù)進(jìn)行編碼[11,105].
Liu 等人[99]提出了基于分布匹配的時間型隱蔽信道(distribution-matching covert timing channel,簡稱DMCTC),對特定的分布模型進(jìn)行模擬,將統(tǒng)計的合法信道網(wǎng)絡(luò)數(shù)據(jù)包間隔時間按粒度非常小的區(qū)間統(tǒng)計成直方圖,然后將區(qū)間均分為兩個區(qū)間集,從較大部分的區(qū)間集中隨機(jī)取出一個區(qū)間,并從區(qū)間內(nèi)隨機(jī)取出一個網(wǎng)絡(luò)數(shù)據(jù)包間隔時間作為比特“1”,從較小部分區(qū)間內(nèi)的隨機(jī)區(qū)間的數(shù)據(jù)包間隔時間作為比特“0”.當(dāng)發(fā)送比特0 時,從較小部分的區(qū)間集中隨機(jī)取出一個區(qū)間,然后從該區(qū)間內(nèi)隨機(jī)取出一個網(wǎng)絡(luò)數(shù)據(jù)包間隔時間,當(dāng)區(qū)間內(nèi)所有網(wǎng)絡(luò)數(shù)據(jù)包使用完后進(jìn)行重新采樣.
(2) 降低統(tǒng)計性規(guī)律
網(wǎng)絡(luò)時間隱蔽信道的檢測往往針對網(wǎng)絡(luò)載體時間特性的統(tǒng)計性規(guī)律進(jìn)行,一些研究者針對這一特點采取了相應(yīng)的研究.Walls 等人[106]針對熵檢測的檢測方法提出了熵?fù)崞降姆椒?將隱蔽信息發(fā)送過程分為發(fā)送和撫平兩個階段:在發(fā)送階段,用來傳輸隱蔽信息的網(wǎng)絡(luò)數(shù)據(jù)包間隔時間會造成整個信道熵率的改變,使隱蔽信道容易被檢測出來;在撫平階段,向外發(fā)送用以撫平熵率的數(shù)據(jù)包,使得整體的網(wǎng)絡(luò)數(shù)據(jù)包間隔時間的熵值回歸于合法信道.
(3) 多鏈路傳輸
傳統(tǒng)的網(wǎng)絡(luò)隱蔽信道是通過一條通信鏈路進(jìn)行隱蔽信息傳輸?shù)?這種單鏈路的傳輸方式存在一些弊端,例如需要同步、信道容量較低、可以通過規(guī)律性檢測發(fā)現(xiàn)、較容易針對等[32].多鏈路傳輸使用多條傳輸鏈路進(jìn)行隱蔽信息傳輸,降低通信被發(fā)現(xiàn)的可能,傳輸效率也更為高效.
Murdoch 等人[32]提出了一種多連接隱蔽信道,信息發(fā)送者與信息接收者之間建立多個活動的連接,通過這些連接發(fā)送數(shù)據(jù)包的順序和特定的傳輸模式進(jìn)行編碼,從而使隱蔽信道不依賴于特定的信道條件,也不包含特征較強的統(tǒng)計規(guī)律.
Luo 等人[47]提出了一種多鏈路傳輸?shù)臅r間隱蔽信道構(gòu)建機(jī)制,使用TCP 包和TCP 流作為兩類編碼對象,每條信息使用N個TCP 包和X條TCP 流進(jìn)行編碼,通過TCP 包在TCP 流上分配的組合進(jìn)行編碼,并給予組合數(shù)學(xué)提供了10 類編碼方式.由于使用了TCP 作為傳輸協(xié)議,可以保證傳輸?shù)目煽啃?這種多鏈路的傳輸方式提高了信道的容量,也降低了單一鏈路信息過于密集導(dǎo)致隱蔽信道被發(fā)現(xiàn)的可能.
本節(jié)從碼元設(shè)計、信息編碼和信道優(yōu)化這3 個方面歸納分析了存儲型和時間型兩類網(wǎng)絡(luò)隱蔽信道構(gòu)建技術(shù).網(wǎng)絡(luò)隱蔽信道的構(gòu)建研究的重心從最初的以實現(xiàn)隱蔽傳輸基本功能、在網(wǎng)絡(luò)環(huán)境下尋找可用來作為隱蔽信息載體的存儲屬性和時間屬性并設(shè)計相應(yīng)的碼元模式,逐漸過渡到增強信道的功能和性能上.存儲型網(wǎng)絡(luò)隱蔽信道面對的主要挑戰(zhàn)是,如何彌補只使用單一存儲屬性作為隱蔽信息載體時隱蔽性較差的問題.目前采用的主要手段是增強信道的功能,例如微協(xié)議技術(shù)、動態(tài)路由技術(shù)、多協(xié)議傳輸技術(shù).時間型網(wǎng)絡(luò)隱蔽信道面臨的主要挑戰(zhàn)是,如何彌補信息攜帶能力低、只能串行通信的時間屬性帶來信道容量低、魯棒性差的問題.目前主要采用的是編碼手段.另外,由于時間間隔已經(jīng)作為時間型網(wǎng)絡(luò)隱蔽信道的最常見的傳輸載體,已經(jīng)出現(xiàn)了大量的基于統(tǒng)計學(xué)的檢測方法,因此需要進(jìn)一步提升時間型網(wǎng)絡(luò)隱蔽信道相對于統(tǒng)計學(xué)檢測方法的抗檢測性.
與網(wǎng)絡(luò)隱蔽信道能力維度相同,網(wǎng)絡(luò)隱蔽信道的評估指標(biāo)包含3 個方面:隱蔽性、魯棒性和傳輸效率.隱蔽性指網(wǎng)絡(luò)隱蔽信道不被發(fā)現(xiàn)的能力,魯棒性指網(wǎng)絡(luò)隱蔽信道抗干擾和準(zhǔn)確傳輸數(shù)據(jù)的能力,傳輸效率用來指網(wǎng)絡(luò)隱蔽信道單位時間內(nèi)傳輸數(shù)據(jù)量的能力.
3.2.1 隱蔽性
由于存儲型隱蔽信道具有一定的技術(shù)特異性,因此沒有統(tǒng)一的隱蔽性評估方法.使用針對特定存儲型網(wǎng)絡(luò)隱蔽信道檢測技術(shù)進(jìn)行隱蔽性評估的方法,詳見本文第4.3.1 節(jié).目前,大部分隱蔽性評估的研究都是針對時間型網(wǎng)絡(luò)隱蔽信道的.
Wu 等人[60]使用網(wǎng)絡(luò)隱蔽信道的特定屬性的離散程度對隱蔽性進(jìn)行評估,針對時間隱蔽信道可以使用標(biāo)準(zhǔn)差進(jìn)行評估,其中,Ct表示隱蔽性,將傳輸?shù)臅r間段平均分為sω個非交疊的窗口,xi表示第i個窗口內(nèi)的被測屬性(例如數(shù)據(jù)包時間間隔):
Houmansadr 等人[44]使用雙樣本K-S 檢測(kolmogorov-smirnov test)評估抗檢測性.K-S 檢測用來檢驗連續(xù)的一維概率分布是否相等,其中,F(x)和G(x)分別為合法通信數(shù)據(jù)和隱蔽信道的網(wǎng)絡(luò)數(shù)據(jù)包間隔時間分布:
Archibald 等人[103]使用K-S(kolmogorov-smirnov test)檢測和K-L 離散度檢測(kullback-leibler divergence measure)對隱蔽信道的隱蔽性進(jìn)行量化.其中,K-L 離散度檢測相對熵,是一種描述兩個概率密度函數(shù)分布差異的方法,用來度量兩個隨機(jī)變量的距離,表示為對兩個概率分布為P和G的非對稱性的度量:
3.2.2 魯棒性
王鵬等人[104]使用誤碼率(bit error rate,簡稱BER)對網(wǎng)絡(luò)隱蔽信道的魯棒性進(jìn)行測量:
Houmansadr 等人[44]也使用誤碼率作為魯棒性的測量指標(biāo),將誤碼率定義為將原始信息通過編碼傳輸后再解碼的最終信息比較得到的錯誤概率:
其中,k為解碼后的信息長度;m(i)為第i位原始信息;m′為第i位傳輸后獲得的信息;e為兩個信息的比較函數(shù),兩個信息相同值為0,不相同值為1.
Liu 等人[100]使用引入網(wǎng)絡(luò)噪聲的方法做魯棒性測試,網(wǎng)絡(luò)噪聲包括數(shù)據(jù)包丟失、延遲、抖動以及人為的干擾噪聲,然后測量信道的誤碼率,以此來表示網(wǎng)絡(luò)隱蔽信道的魯棒性.
綜上所述,對魯棒性的評估都是使用誤碼率作為評測指標(biāo)的.
3.2.3 傳輸效率Houmansadr 等人[44]將傳輸效率定義為每個隱蔽數(shù)據(jù)流包傳遞的隱蔽信息的比特數(shù),其中,K是使用N+1 個隱蔽信息數(shù)據(jù)流發(fā)送的隱蔽信息的比特數(shù):
王鵬等人[104]使用信道容量作為測量時間型隱蔽信道通信效率的方法.信道容量指單位時間通信信道傳輸數(shù)據(jù)信息量的上限,時間型網(wǎng)絡(luò)隱蔽信道容量取決于每個數(shù)據(jù)包間隔時間攜帶的信息量bit 和平均網(wǎng)絡(luò)數(shù)據(jù)包間隔時間
Wu 等人[60]考慮了用來對原始信息編碼的碼元數(shù)量和編碼優(yōu)化后的碼元數(shù)量之間的關(guān)系,將傳輸效率定義為最大可能的無錯信息速率,用比特/秒(bits/s,bps)表示.其中,N表示N元編碼在時間t內(nèi)傳輸?shù)男畔⒘?
綜上所述,網(wǎng)絡(luò)隱蔽信道的傳輸速率使用單位碼元內(nèi)包含的信息量或單位時間內(nèi)傳遞的信息量進(jìn)行評估.
本節(jié)從隱蔽性、魯棒性和傳輸效率這3 個方面總結(jié)了網(wǎng)絡(luò)隱蔽信道評估方法.目前,網(wǎng)絡(luò)隱蔽信道的魯棒性和傳輸效率已經(jīng)有了相對統(tǒng)一的評估方法,而隱蔽性則還沒有統(tǒng)一的評估方法.造成隱蔽性沒有統(tǒng)一評估方法的原因首先是因為各類網(wǎng)絡(luò)隱蔽信道的差異較大,特別是存儲型網(wǎng)絡(luò)隱蔽信道的隱蔽性來自于隱蔽信息載體的未知和不確定,因此很難用同一種方法對網(wǎng)絡(luò)隱蔽信道的隱蔽性進(jìn)行評估;另一方面,網(wǎng)絡(luò)隱蔽信道的評估方法來自于網(wǎng)絡(luò)隱蔽信道的檢測方法,由于網(wǎng)絡(luò)隱蔽信道的檢測方法還在發(fā)展和完善中,沒有形成統(tǒng)一的方法,因此,網(wǎng)絡(luò)隱蔽信道的隱蔽性評估方法也相應(yīng)地沒有統(tǒng)一.
網(wǎng)絡(luò)隱蔽信道對抗指破壞、削弱、發(fā)現(xiàn)網(wǎng)絡(luò)隱蔽信道的方法.Zander 等人[12]把網(wǎng)絡(luò)隱蔽信道對抗技術(shù)分為消除技術(shù)、限制技術(shù)、檢測技術(shù)這3 類:網(wǎng)絡(luò)隱蔽信道消除技術(shù)指從原理上消除網(wǎng)絡(luò)隱蔽信道的存在,對于一些早期的網(wǎng)絡(luò)隱蔽信道可以達(dá)到這個效果;網(wǎng)絡(luò)隱蔽信道限制技術(shù)指限制隱蔽信道的容量,這意味著會引入噪聲,同時也降低了系統(tǒng)的性能;網(wǎng)絡(luò)隱蔽信道檢測技術(shù)指發(fā)現(xiàn)隱蔽信道的存在.王鵬等人[104]認(rèn)為,針對時間型網(wǎng)絡(luò)隱蔽信道的對抗有兩種思路:一種是通過剝奪目標(biāo)信道中隱蔽信道所需的網(wǎng)絡(luò)共享資源,從而限制隱蔽信道的存在;一種是檢測出隱蔽信道的存在,進(jìn)而消除隱蔽信道的影響.
網(wǎng)絡(luò)隱蔽信道對抗的3 類技術(shù)分別對應(yīng)了網(wǎng)絡(luò)隱蔽信道需求和評估的3 項能力維度:消除技術(shù)針對網(wǎng)絡(luò)隱蔽信道的魯棒性,用以破壞隱蔽信道構(gòu)成的基礎(chǔ)條件;限制技術(shù)針對網(wǎng)絡(luò)隱蔽信道的傳輸效率,用來降低網(wǎng)絡(luò)隱蔽信道的帶寬和傳輸能力;檢測技術(shù)針對網(wǎng)絡(luò)隱蔽信道的隱蔽性,用來發(fā)現(xiàn)網(wǎng)絡(luò)隱蔽信道的存在.
通過對可疑的網(wǎng)絡(luò)協(xié)議或網(wǎng)絡(luò)端口阻塞的方式,可以消除基于這些網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)隱蔽信道(例如ICMP協(xié)議),但是對于一些基于重要網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)隱蔽信道(例如IP 協(xié)議、TCP 協(xié)議、DNS 協(xié)議),則無法采取這樣的方式[12]消除.
通信歸一化(traffic normalization)方法[107,108]是一種移除網(wǎng)絡(luò)通信中模糊和破壞通信原則元素的方法,網(wǎng)絡(luò)隱蔽信道往往利用網(wǎng)絡(luò)通信協(xié)議頭的保留字段或未用字段構(gòu)建的網(wǎng)絡(luò)隱蔽信道,通信歸一化方法將這些字段設(shè)置為0,并移除未知協(xié)議頭的擴(kuò)展部分.網(wǎng)絡(luò)歸一化方法可分為無狀態(tài)和有狀態(tài)兩類[51]:無狀態(tài)歸一化方法只考慮一個時間點的數(shù)據(jù)包,不考慮之前的數(shù)據(jù)包;有狀態(tài)歸一化方法會緩存之前收到的數(shù)據(jù)包,因此可對抗更多的隱蔽信道.通信歸一化方法可消除很多基于網(wǎng)絡(luò)層(例如將IP 的ID 設(shè)置為0、設(shè)置段的偏移量為0、保證校驗值的正確等)、通信層(例如重寫TCP 協(xié)議的ISN、源IP 地址、源端口、TTL 等)、應(yīng)用層(例如限制HTTP協(xié)議只能以特定的集合和順序應(yīng)答請求)協(xié)議的協(xié)議頭字段及特征構(gòu)造的網(wǎng)絡(luò)隱蔽信道,對于網(wǎng)絡(luò)存儲型隱蔽信道更為有效.網(wǎng)絡(luò)歸一化的缺陷是:有可能將PDU 頭字段設(shè)置成錯誤的值導(dǎo)致不可用;無法對使用合法協(xié)議頭字段值的隱蔽信道起作用(例如使用不同協(xié)議編碼);緩存有限,導(dǎo)致只能在計算資源沒有耗盡時起作用[107].
網(wǎng)絡(luò)隱蔽信道消除技術(shù)對存儲型網(wǎng)絡(luò)隱蔽信道更有效,受限于計算資源,如何在不破壞通信協(xié)議語義的基礎(chǔ)上高效處理海量網(wǎng)絡(luò)數(shù)據(jù),是個很大的挑戰(zhàn).
Proctor 等人[104,109]認(rèn)為:當(dāng)隱蔽信道的容量小于一定的程度時,即使出現(xiàn)網(wǎng)絡(luò)隱蔽信道也是可以容忍的.也就是說,隱蔽信道所處環(huán)境噪聲足夠大時,使得信噪比很低時,使得信息的準(zhǔn)確度低至無法容忍的地步,網(wǎng)絡(luò)隱蔽信道是不能造成威脅的.因此,可以通過在信道中添加延時的方式造成時間型網(wǎng)絡(luò)隱蔽信道的解碼錯誤.Giles等人[110]提出了網(wǎng)絡(luò)干擾(network jammer)的方法,利用隨機(jī)延遲網(wǎng)絡(luò)數(shù)據(jù)包的方式,限制網(wǎng)絡(luò)時間型隱蔽信道的容量.這種方法雖然可以干擾時間型隱蔽信道的通信,但也會影響合法通信的性能,特別會對實時通信網(wǎng)絡(luò)造成嚴(yán)重影響.Wendzel 等人[111]針對使用一系列不同協(xié)議進(jìn)行編碼的隱蔽信道進(jìn)行限制,可針對協(xié)議切換的行為加入延遲,從而降低這類網(wǎng)絡(luò)隱蔽信道的容量.Kang 等人[112,113]提出了網(wǎng)絡(luò)泵(network pump)技術(shù),可以使網(wǎng)絡(luò)數(shù)據(jù)包的間隔時間隨機(jī)化或均勻分布,從而干擾網(wǎng)絡(luò)時間隱蔽信道.這種方法雖然可以有效地干擾網(wǎng)絡(luò)時間隱蔽信道,但是也會影響對服務(wù)質(zhì)量有較高要求的服務(wù),例如VoIP、視頻流、SSH 協(xié)議等.
網(wǎng)絡(luò)隱蔽信道限制技術(shù)對時間型網(wǎng)絡(luò)隱蔽信道更有效,但這種方式同時也會影響合法網(wǎng)絡(luò)通信的質(zhì)量,存在一定的副作用.
網(wǎng)絡(luò)隱蔽信道檢測技術(shù)是網(wǎng)絡(luò)隱蔽信道對抗中研究最多的技術(shù),本文把網(wǎng)絡(luò)隱蔽信道檢測技術(shù)分為存儲型網(wǎng)絡(luò)隱蔽信道檢測和時間型網(wǎng)絡(luò)隱蔽信道檢測兩個部分進(jìn)行梳理.
4.3.1 存儲型網(wǎng)絡(luò)隱蔽信道檢測
Sohn 等人[114]使用支持向量機(jī)(support vector machine,簡稱SVM)方法對TCP/IP 協(xié)議中的存儲型隱蔽信道進(jìn)行檢測,將TCP/IP 數(shù)據(jù)包頭中的標(biāo)識字段(identification)和IP 數(shù)據(jù)包中的序列字段(sequence)的值作為特征,使用線性和多項式兩類核函數(shù)對對隱蔽信道進(jìn)行模式分類.之后,Sohn 等人[115,116]又使用支持向量機(jī)方法對ICMP 數(shù)據(jù)包中的存儲型隱蔽信道進(jìn)行檢測,將ICMP 數(shù)據(jù)包分為兩種情況進(jìn)行檢測:第1 種情況,根據(jù)ICMP 數(shù)據(jù)包負(fù)載部分(payload)的字段值分為13 個維度;第2 種情況,除了負(fù)載部分,還包含4 byte 的包頭字段共15 個維度,并使用支持向量機(jī)的線性和多項式兩類核函數(shù)對ICMP 數(shù)據(jù)包進(jìn)行訓(xùn)練和模式分類.Bethencourt 等人[15]使用神經(jīng)網(wǎng)絡(luò)對不同操作系統(tǒng)的ISN 序列進(jìn)行訓(xùn)練,針對基于TCP ISN 的存儲型網(wǎng)絡(luò)隱蔽信道進(jìn)行檢測,取得了很高的準(zhǔn)確率.Borders 等人[19]使用HTTP 協(xié)議的請求字段大小、請求時間間隔、發(fā)送時間、出站帶寬占用等特征進(jìn)行建模,對基于http 的網(wǎng)絡(luò)隱蔽信道進(jìn)行檢測.Guang 等人[117,118]為了解決同時兼顧檢測速度與計算復(fù)雜性的問題,對TCP 協(xié)議的字段數(shù)據(jù)進(jìn)行聯(lián)合分析,分析數(shù)據(jù)包和數(shù)據(jù)包之間每個字段相關(guān)屬性的規(guī)律,所有屬性通過核密度估計、變異系數(shù)、自相關(guān)系數(shù)轉(zhuǎn)換為特征向量矩陣,并使用SVM 分類器訓(xùn)練特征向量矩陣,獲得了較快的檢測速度,并降低了計算復(fù)雜度.Krzysztof 等人[119]使用數(shù)據(jù)挖掘方法尋找多個數(shù)據(jù)流中IPv4 TTL 字段的頻繁項集,以此作為隱藏信息模式檢測分布式隱蔽信道.
綜上所述,針對存儲型網(wǎng)絡(luò)隱蔽信道的檢測方法主要采用對某一通信載體的正常通信特征進(jìn)行訓(xùn)練建模的方式訓(xùn)練分類器,然后利用分類器對網(wǎng)絡(luò)隱蔽信道進(jìn)行檢測,可以獲得較好的效果.
4.3.2 時間型網(wǎng)絡(luò)隱蔽信道檢測
時間型網(wǎng)絡(luò)隱蔽信道檢測技術(shù)是近年來網(wǎng)絡(luò)隱蔽信道檢測研究最多的方向,時間型隱蔽信道檢測方法大致分為3 個大方向[105,120]:形態(tài)檢測(shape test)、規(guī)律性檢測(regularity test)和熵檢測(entropy test).所有的檢測方法都是圍繞提取網(wǎng)絡(luò)流量信息、鑒別網(wǎng)絡(luò)數(shù)據(jù)包間隔時間(IPD)分布的改變和統(tǒng)計異常進(jìn)行的,使用一階統(tǒng)計特性(例如平均值、方差和分布函數(shù)等)表示網(wǎng)絡(luò)數(shù)據(jù)流的形態(tài)特征(例如K-S 檢測),使用二階或者多階統(tǒng)計特性(例如自相關(guān)、互相關(guān)等)表示數(shù)據(jù)流的規(guī)律性(例如熵檢測)[28,121,122].近年來又出現(xiàn)了基于機(jī)器學(xué)習(xí)的時間型網(wǎng)絡(luò)隱蔽信道機(jī)器學(xué)習(xí)的檢測技術(shù).本文按照形態(tài)檢測、規(guī)律性檢測、熵檢測和基于機(jī)器學(xué)習(xí)的檢測對網(wǎng)絡(luò)隱蔽信道檢測技術(shù)進(jìn)行梳理.
(1) 形態(tài)檢測
形態(tài)檢測[31]指構(gòu)建一個指標(biāo)體系,將當(dāng)前信道通信流量的IPD 分布與已知合法的公開信道通信流量樣本的IPD 分布進(jìn)行對比,以驗證二者是否有顯著的差異.
常用的形狀測試是K-S 檢測(kolmogorove-smirnov tests)[100],K-S 檢測可用來檢驗連續(xù)的一維概率分布是否相等,可用來區(qū)分合法的公開信道和隱蔽信道.其中,F(x)和G(x)分別為合法通信數(shù)據(jù)和隱蔽信道的網(wǎng)絡(luò)數(shù)據(jù)包間隔時間分布:
Peng 等人[123]使用K-S 檢測可以檢測出水印IPD,從而證明K-S 檢測可有效檢測重放型時間隱蔽信道.
Archibald 等人[120]使用韋爾奇t 檢驗(Welch’s t-test)對時間隱蔽信道進(jìn)行檢測.一般的形狀檢測基于密度函數(shù)提取公開合法信道和隱蔽信道測量指標(biāo),這個方法存在兩個問題:經(jīng)驗密度函數(shù)生成成本很高,把樣本轉(zhuǎn)換為密度函數(shù)會帶來偏差.使用Welcht檢驗可以避免這兩個缺陷.t檢驗一般用于統(tǒng)計假設(shè)檢驗確定兩個數(shù)據(jù)集是否存在顯著差異,而韋爾奇t檢驗對于兩個樣本量大于30 的標(biāo)準(zhǔn)分布的標(biāo)準(zhǔn)差計算有很好的魯棒性,定義為
Fahimeh 等人[124]用威爾科克森符號秩檢驗(Wilcoxon signed rank test)、斯皮爾曼等級相關(guān)檢驗(Spearman Rho correlation test)、曼-惠特尼-威爾科克森秩和檢驗(Mann-Whitney-Wilcoxon rank sum test)這3 種統(tǒng)計方法分別對正常通信和隱蔽信道通信進(jìn)行檢驗并得到統(tǒng)計評分,并以此為檢測維度對時間型網(wǎng)絡(luò)隱蔽信道進(jìn)行實時檢測,具有很高的檢測效率.
(2) 規(guī)律性檢測
規(guī)律性檢測[31]指將數(shù)據(jù)流變化的統(tǒng)計學(xué)特征規(guī)律當(dāng)做檢測指標(biāo)對隱蔽信道進(jìn)行檢測,對網(wǎng)絡(luò)數(shù)據(jù)流的網(wǎng)絡(luò)數(shù)據(jù)包間隔時間的標(biāo)準(zhǔn)差的變化進(jìn)行了量化,定義為
在每個時間窗口內(nèi)都會計算網(wǎng)絡(luò)數(shù)據(jù)包間隔時間的標(biāo)準(zhǔn)差σi,并進(jìn)行規(guī)律性計算.規(guī)律性檢測適用于基于模型的網(wǎng)絡(luò)時間型隱蔽信道(MBCTC)和重放型網(wǎng)絡(luò)時間隱蔽信道(TRCTC)這些使用規(guī)律性方法生成的隱蔽信道,它們在長時間的通信特征是符合正常的公開信道的,但是在較小的窗口內(nèi)就會呈現(xiàn)出統(tǒng)計學(xué)規(guī)律.
(3) 熵檢測
熵檢測[125]指使用熵作為評測指標(biāo)對IPD 分布的隨機(jī)性進(jìn)行檢測的方法,包括修正條件熵檢測(corrected conditional entropy test,簡稱CCE)、K-L 離散檢測(Kullbacke-Leibler divergence test).
修正條件熵最早用來做生物學(xué)研究,Gianvecchio 等人[125]使用修正條件熵作為檢測指標(biāo)對MB-CTC 和TR-CTC 類型的隱蔽信道進(jìn)行檢測.這兩種隱蔽信道生成的流量中的IPD 符合獨立同分布(independent and identically distributed),而合法的公共信道中的數(shù)據(jù)流量符合條件分布,通過這種檢測方式對HTTP 和SSH 中的時間隱蔽信道進(jìn)行檢測.定義為
Archibald 等人[103]使用K-L 離散對時間隱蔽信道進(jìn)行檢測.K-L 離散又被稱為相對熵,是一種描述兩個概率密度函數(shù)分布差異的方法,用來度量兩個隨機(jī)變量的距離,表示為對兩個概率分布為P和G的非對稱性的度量:
(4) 基于機(jī)器學(xué)習(xí)的檢測
Shresth 等人[126]提出了一個基于機(jī)器學(xué)習(xí)檢測網(wǎng)絡(luò)時間隱蔽信道的框架,使用支持向量機(jī)方法對通信流量中的時間隱蔽信道進(jìn)行檢測,使用統(tǒng)計方法將通信流量的時間信息分為4 個統(tǒng)計指紋類型:K-S 統(tǒng)計評分、規(guī)律性評分、熵評分和修正條件熵評分,并使用支持向量機(jī)的方法,基于這4 類統(tǒng)計指紋對時間隱蔽信道進(jìn)行訓(xùn)練和檢測.
Zseby 等人[127]使用了3 種基于密度的計算K距離(k-distance)的非監(jiān)督學(xué)習(xí)方法:基于連通性的離群因子(connectivity-based outlier factor)、受影響的離群性(influenced outlierness)、基于直方圖的離群評分(histogrambased outlier score,簡稱HBOS)對7 種不同時間隱蔽信道生成技術(shù)生成的隱蔽信道進(jìn)行異常檢測,發(fā)現(xiàn)盡管能將正常信道和隱蔽信道區(qū)分出來,但是無法區(qū)分出使用了哪種時間隱蔽信道技術(shù)生成了隱蔽信道.
Iglesias 等人[38]通過流量描述分析(descriptive analytics of traffic,簡稱DAT)將網(wǎng)絡(luò)通信數(shù)據(jù)轉(zhuǎn)換為便于使用的特征向量,通過核密度估計和帕累托分析(Pareto analysis)挖掘基于描述性統(tǒng)計、聚合、自相關(guān)指數(shù)、多模態(tài)計算相結(jié)合的字段特征,為進(jìn)一步使用基于機(jī)器學(xué)習(xí)對隱蔽信道的分析奠定了基礎(chǔ).之后,Iglesias 等人在文獻(xiàn)[38]的基礎(chǔ)上,使用流量描述分析技術(shù)對8 個網(wǎng)絡(luò)時間隱蔽信道生成技術(shù)生成的隱蔽信道網(wǎng)絡(luò)流量進(jìn)行特征提取,并用決策樹(decision tree)方法對網(wǎng)絡(luò)隱蔽信道進(jìn)行檢測[46].進(jìn)一步按照最大化基于熵的增益比的原則選擇并排序特征,并使用C4.5 決策樹分類器對基于包間隔的時間隱蔽信道進(jìn)行檢測[128].
(5) 對檢測方法的評估
Archibald 等人[120]對3 大類統(tǒng)計性分析方法進(jìn)行了評估,通過對以SSH 和HTTP 兩種協(xié)議作為公開信道,構(gòu)建的JitterBug 時間型網(wǎng)絡(luò)隱蔽信道、重放時間型隱蔽信道和基于模型的時間型隱蔽信道這3 類時間隱蔽信道的檢測效率進(jìn)行評估,評估指標(biāo)包括適用性、計算復(fù)雜度、分類速度等方面.另外,Shrestha 等人[129]發(fā)現(xiàn):如果把數(shù)據(jù)塊變得過小(如100bits),基于熵的檢測方法的可靠性就會下降.
綜合相關(guān)研究,對于單一的時間型網(wǎng)絡(luò)隱蔽信道的檢測方法來說,沒有哪種檢測方法能夠?qū)λ蓄愋偷臅r間隱蔽信道都獲得理想的效果.形態(tài)檢測對JitterBug 時間型網(wǎng)絡(luò)隱蔽信道有較好的檢測效果,但無法檢測出基于重傳的時間型隱蔽信道,因為基于重傳的時間型隱蔽信道的時間間隔分布與合法的通信是一致的,對基于模型的時間型網(wǎng)絡(luò)隱蔽信道的檢測效果也不理想;規(guī)律性檢測可以對基于模型的時間型網(wǎng)絡(luò)隱蔽信道有較好的檢測效果,但是對JitterBug 時間型網(wǎng)絡(luò)隱蔽信道的檢測效果并不理想,因為JitterBug 時間型網(wǎng)絡(luò)隱蔽信道并不是根據(jù)某種統(tǒng)計模型生成的,對基于重傳的時間型隱蔽信道的檢測效果也不好;熵檢測對基于重傳的時間型隱蔽信道和基于模型的時間型網(wǎng)絡(luò)隱蔽信道有較好的效果,但是對JitterBug 時間型網(wǎng)絡(luò)隱蔽信道檢測效果不好,因為JitterBug 時間型網(wǎng)絡(luò)隱蔽信道是通過增加時間間隔的方式改變了時間間隔的分布而不改變熵.基于多特征的機(jī)器學(xué)習(xí)的時間型網(wǎng)絡(luò)隱蔽信道檢測方式,在準(zhǔn)確率和適用范圍上要優(yōu)于基于單一檢測技術(shù)的網(wǎng)絡(luò)隱蔽信道檢測方式.
本節(jié)從消除、限制、檢測這3 個方面分析了網(wǎng)絡(luò)隱蔽信道的對抗技術(shù).網(wǎng)絡(luò)隱蔽信道構(gòu)建研究的重心從最初的消除、限制技術(shù),逐漸過渡到對網(wǎng)絡(luò)隱蔽信道的檢測技術(shù).對于存儲型網(wǎng)絡(luò)隱蔽信道檢測技術(shù)來說,一般采用對某一特定網(wǎng)絡(luò)對象(例如網(wǎng)絡(luò)協(xié)議)的特征(例如協(xié)議字段)進(jìn)行訓(xùn)練建模,再通過機(jī)器學(xué)習(xí)的方式進(jìn)行檢測.對于時間型網(wǎng)絡(luò)隱蔽信道來說,最初采用一階統(tǒng)計技術(shù)和高階統(tǒng)計技術(shù)進(jìn)行單一技術(shù)檢測的方式,之后逐漸轉(zhuǎn)變?yōu)槎喾N檢測手段和特征進(jìn)行建模和聯(lián)合檢測的方式.針對時間型網(wǎng)絡(luò)隱蔽信道的基于統(tǒng)計學(xué)的檢測指標(biāo)也可以看作網(wǎng)絡(luò)信息特征,因此從本質(zhì)上來說,無論是存儲型網(wǎng)絡(luò)隱蔽信道檢測技術(shù)還是時間型網(wǎng)絡(luò)隱蔽信道檢測技術(shù),現(xiàn)階段研究的關(guān)鍵都是對特定網(wǎng)絡(luò)隱蔽信道載體的特征提取和建模,進(jìn)而提升檢測的準(zhǔn)確率和效率.
新的通信載體下的網(wǎng)絡(luò)隱蔽信道構(gòu)建是很重要的研究方向[56,59,130,131].現(xiàn)階段,大部分的網(wǎng)絡(luò)隱蔽信道都是基于TCP/IP 層的網(wǎng)絡(luò)協(xié)議,隨著新的計算環(huán)境的發(fā)展,新的通信環(huán)境可作為新的網(wǎng)絡(luò)隱蔽信道技術(shù)構(gòu)建的載體,發(fā)展出新的網(wǎng)絡(luò)隱蔽信道構(gòu)建技術(shù)及與之對應(yīng)的對抗技術(shù),例如工業(yè)控制系統(tǒng)(industrial control systems,簡稱ICS)網(wǎng)絡(luò)[131]、移動電話網(wǎng)絡(luò)[132?134]、車載無線網(wǎng)絡(luò)(vehicular ad hoc network,簡稱VANET)[135]、云環(huán)境下的虛擬網(wǎng)絡(luò)[136]等.
現(xiàn)階段,大部分網(wǎng)絡(luò)隱蔽信道都建立在單一不變的技術(shù)基礎(chǔ)上,這使得審查方很容易針對特定類型的網(wǎng)絡(luò)隱蔽信道采取相應(yīng)的措施.當(dāng)前的研究熱點已經(jīng)從網(wǎng)絡(luò)隱蔽信道的碼元設(shè)計逐漸轉(zhuǎn)換到信道優(yōu)化,特別是利用多樣性和動態(tài)性的功能保障網(wǎng)絡(luò)隱蔽信道傳輸[10,86,92,94].類型多樣是網(wǎng)絡(luò)隱蔽信道的一大特點,如何利用類型多樣這一特點進(jìn)行有針對性地動態(tài)調(diào)配通信手段,從而更好地保障隱蔽性,是網(wǎng)絡(luò)隱蔽信道研究面臨的挑戰(zhàn)[45].
目前,網(wǎng)絡(luò)隱蔽信道構(gòu)建方法的研究重點偏向于網(wǎng)絡(luò)隱蔽信道的隱蔽性,特別是在點對點的通信模式下,使用新的網(wǎng)絡(luò)載體和新的構(gòu)建技術(shù)構(gòu)建網(wǎng)絡(luò)隱蔽信道.然而真實網(wǎng)絡(luò)環(huán)境復(fù)雜多變,點對點通信易于被針對,也難以應(yīng)對真實網(wǎng)絡(luò)環(huán)境的變化;另一方面,網(wǎng)絡(luò)隱蔽信道的容量也是其發(fā)展的瓶頸之一,需要與信道載體(例如通信協(xié)議)爭搶有限的帶寬和計算資源.網(wǎng)絡(luò)隱蔽信道通信網(wǎng)絡(luò)針對點對點通信的弊端,以一組通信節(jié)點組成的網(wǎng)絡(luò)隱蔽信道通信網(wǎng)絡(luò)作為通信載體,實施多中轉(zhuǎn)節(jié)點通信,從而提升了網(wǎng)絡(luò)隱蔽信道的隱蔽性、魯棒性和傳輸效率[24,86,92].
網(wǎng)絡(luò)環(huán)境存在著大量的通信數(shù)據(jù),這些通信數(shù)據(jù)都有存在網(wǎng)絡(luò)隱蔽信道的潛在可能,而網(wǎng)絡(luò)隱蔽信道的類型又很多樣和復(fù)雜,這進(jìn)一步增加了網(wǎng)絡(luò)隱蔽信道檢測的難度.如何從海量網(wǎng)絡(luò)數(shù)據(jù)中快速、高效、準(zhǔn)確地找出網(wǎng)絡(luò)隱蔽信道,成為很有挑戰(zhàn)的問題[107].目前,機(jī)器學(xué)習(xí)方法被越來越多地在這個方面使用[38,46,126?128].
網(wǎng)絡(luò)隱蔽信道越來越多地應(yīng)用在網(wǎng)絡(luò)信息安全的攻擊方面和安全傳輸方面,因此受到越來越多的關(guān)注.本文首先介紹了網(wǎng)絡(luò)隱蔽信道的基本概念,將網(wǎng)絡(luò)隱蔽信道相關(guān)研究按照構(gòu)建、評估、對抗這3 個方面進(jìn)行了總結(jié).網(wǎng)絡(luò)隱蔽信道構(gòu)建方面,將網(wǎng)絡(luò)隱蔽信道構(gòu)建技術(shù)劃分為碼元設(shè)計、信息編碼、信道優(yōu)化這3 個技術(shù)環(huán)節(jié),圍繞3 個能力維度,對存儲型網(wǎng)絡(luò)隱蔽信道和時間型網(wǎng)絡(luò)隱蔽信道的構(gòu)建技術(shù)進(jìn)行了對比、整理、分析;網(wǎng)絡(luò)隱蔽信道評估方面,對網(wǎng)絡(luò)隱蔽信道隱蔽性、魯棒性、傳輸效率的評估方法進(jìn)行了匯總;網(wǎng)絡(luò)隱蔽信道對抗方面,將現(xiàn)有技術(shù)分為消除、限制、檢測這3 個方面進(jìn)行歸納分析.最后,對網(wǎng)絡(luò)隱蔽信道未來研究方向進(jìn)行了展望.試圖為網(wǎng)絡(luò)隱蔽信道研究方向勾勒出一個較為全面和清晰的概況,為相關(guān)領(lǐng)域的研究者提供參考.