陶 軍 朱珍超 王昭悅 李文強(qiáng),2 孫煒策,2
1(東南大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 南京 211189) 2(計(jì)算機(jī)網(wǎng)絡(luò)和信息集成教育部重點(diǎn)實(shí)驗(yàn)室(東南大學(xué)) 南京 211189) 3(網(wǎng)絡(luò)通信與安全紫金山實(shí)驗(yàn)室 南京 100084) (wqli@seu.edu.cn)
隨著信息化的快速發(fā)展,網(wǎng)絡(luò)早已融入了人們的日常生活之中.但是,網(wǎng)絡(luò)是把雙刃劍,在人們享受其所帶來的便利時(shí),個(gè)人利益也可能會(huì)受到損害.《2020年上半年我國互聯(lián)網(wǎng)網(wǎng)絡(luò)安全監(jiān)測(cè)數(shù)據(jù)分析報(bào)告》顯示,半年時(shí)間內(nèi),惡意計(jì)算機(jī)程序的檢測(cè)數(shù)量大約有1 815萬個(gè),涉及到約11 000個(gè)惡意程序家族,日均約483萬次傳播[1].僅僅在中國境內(nèi),被惡意程序攻擊的主機(jī)數(shù)量就超過了304萬臺(tái),同比增長25.7%.其中DDoS攻擊作為攻擊者最常選擇的攻擊手段之一,在我國每天大約發(fā)生220起,其峰值流量超過10 Gbps.在目前IPv4地址資源日趨耗盡的背景下,擁有更大地址空間范圍的IPv6協(xié)議勢(shì)必會(huì)逐漸取而代之,成為未來的主流網(wǎng)絡(luò)層通信協(xié)議[2].在這種背景下,IPv6環(huán)境下的安全問題也成為了新的挑戰(zhàn)[3].
網(wǎng)絡(luò)安全事故頻繁發(fā)生,對(duì)金融、醫(yī)療、政府、教育、制造業(yè)等各個(gè)行業(yè)都造成了一定程度的威脅.早期對(duì)打擊網(wǎng)絡(luò)犯罪技術(shù)的研究更多著重于被動(dòng)網(wǎng)絡(luò)流分析,通過對(duì)網(wǎng)絡(luò)流的特征分析獲取到有效的信息.比如,使用統(tǒng)計(jì)方法或機(jī)器學(xué)習(xí)方法,定義應(yīng)用協(xié)議類型,預(yù)測(cè)用戶位置[4],區(qū)分正常流量和異常流量[5]以及識(shí)別惡意攻擊[6].但被動(dòng)網(wǎng)絡(luò)流分析技術(shù)需要大量的樣本來確保機(jī)器學(xué)習(xí)模型的有效性,在時(shí)間和空間的資源需求上非常嚴(yán)格,很難在可擴(kuò)展性和準(zhǔn)確性之間達(dá)到完美的平衡.另外,網(wǎng)絡(luò)在傳輸過程中非常容易受到各種因素的干擾,特別是不法分子對(duì)網(wǎng)絡(luò)流量惡意操縱后,原有的特征可能會(huì)發(fā)生改變.
為了解決這些問題,研究人員通過網(wǎng)絡(luò)隱蔽通道來傳輸水印信息.隱蔽通道利用通信雙方共用或已知的合法交互方式,經(jīng)過再次約定形成隱蔽性強(qiáng)的額外通信渠道,進(jìn)而實(shí)現(xiàn)在合法通道上傳輸額外信息的目的[7].對(duì)于普通的使用者而言,主動(dòng)流水印技術(shù)是透明的,使用者很難察覺到水印的存在.主動(dòng)流水印技術(shù)對(duì)時(shí)間和空間的需求遠(yuǎn)遠(yuǎn)小于被動(dòng)網(wǎng)絡(luò)流分析技術(shù),因此基于主動(dòng)流水印技術(shù)的流量追蹤可以更好地實(shí)現(xiàn)有限資源條件下的精準(zhǔn)定位.
目前,水印技術(shù)的研究主要集中在水印的嵌入方法、載體選擇及識(shí)別等方面,并取得了一些研究成果.然而由于網(wǎng)絡(luò)環(huán)境的瞬變性與網(wǎng)絡(luò)業(yè)務(wù)的多樣性,流水印技術(shù)依然面臨著諸多挑戰(zhàn),例如,網(wǎng)絡(luò)攻擊者可以通過統(tǒng)計(jì)方法或人工智能方法來推斷目標(biāo)流中存在的非公開的水印,從而破壞或篡改水印信息.因此,水印本身的抗干擾性和可恢復(fù)性至關(guān)重要.目前的流水印方法中,水印信息通常是隨機(jī)生成的二值序列,內(nèi)容和位置的相對(duì)固定會(huì)造成追蹤的流量呈現(xiàn)出自相似性.另外,目前大多數(shù)網(wǎng)絡(luò)側(cè)寫工作都集中在IPv4協(xié)議上,與IPv4協(xié)議相比, IPv6協(xié)議內(nèi)嵌了標(biāo)準(zhǔn)化的IPsec協(xié)議,報(bào)文內(nèi)容的不可見性使得基于傳輸層和應(yīng)用層的水印嵌入方案難以實(shí)施.因此,針對(duì)IPv6網(wǎng)絡(luò)空間的治理需求以及有限的時(shí)空資源條件限制,特征水印生成方案的研究具有一定的意義.
以網(wǎng)絡(luò)協(xié)議為基礎(chǔ)構(gòu)建的隱蔽通道稱為網(wǎng)絡(luò)隱蔽通道[8].據(jù)通信過程中隱蔽信息嵌入的方式可以將隱蔽通道分為兩大類:隱蔽存儲(chǔ)通道,即通過修改協(xié)議中的內(nèi)容來實(shí)現(xiàn)隱蔽信息的傳輸;隱蔽定時(shí)通道,即通過改變數(shù)據(jù)包的發(fā)送時(shí)延、發(fā)送順序來實(shí)現(xiàn)隱蔽信息的傳輸[9].雖然在IPv6協(xié)議標(biāo)準(zhǔn)制定之初,就已經(jīng)充分地考慮到了數(shù)據(jù)傳輸?shù)陌踩?,但由于部分字段的定義不夠明確或嚴(yán)格,某些字段中仍存在保留位,以及對(duì)字段未定義的值采取忽視做法等問題,使得IPv6協(xié)議中的隱蔽通道構(gòu)建成為了可能.
楊智丹等人分析了IPv6協(xié)議標(biāo)準(zhǔn)中存有漏洞的部分,提出了5類共19種隱蔽通道的構(gòu)建方式,包括定義不完整字段、保留字段、轉(zhuǎn)發(fā)時(shí)被中間節(jié)點(diǎn)忽視的字段及非關(guān)鍵字段等[10].在文獻(xiàn)[11]中,以IPv6報(bào)文固定頭部中的跳限制字段為載體,實(shí)現(xiàn)了基于數(shù)據(jù)包操作和位變換2種水印嵌入方式,并詳細(xì)闡述了基于位變換的隱蔽通道構(gòu)建方式.Lucena等人分析了IPv6協(xié)議報(bào)文標(biāo)準(zhǔn),基于IPv6協(xié)議的固定頭部和6種擴(kuò)展頭部字段中的保留位,提出了22種隱蔽通道的構(gòu)建方式[12].此外,IPv6報(bào)文擴(kuò)展頭部中的目標(biāo)選項(xiàng)頭部也被用于構(gòu)建隱蔽通道,Mavani提出了針對(duì)該隱蔽通道的識(shí)別檢測(cè)方法[13].在文獻(xiàn)[14]中,研究人員沒有提出新的隱蔽信息傳輸方法,而是關(guān)注于阻斷隱蔽通道或限制其傳輸能力的方式.Wojciech等人根據(jù)實(shí)際網(wǎng)絡(luò)中的流量,通過對(duì)IPv6報(bào)文中可以用來構(gòu)建隱蔽通道的字段取值分布的統(tǒng)計(jì),以及安全設(shè)備對(duì)隱蔽信道的檢測(cè)情況,分析在實(shí)際的應(yīng)用場景中,尋找更加實(shí)用與有效的通道構(gòu)建方法[15].
主動(dòng)網(wǎng)絡(luò)流水印技術(shù)是一種基于隱蔽定時(shí)通道的網(wǎng)絡(luò)流量追蹤技術(shù),相較于隱蔽儲(chǔ)存通道能夠更好地適應(yīng)IPv6的加密環(huán)境.根據(jù)水印嵌入的載體可將主動(dòng)網(wǎng)絡(luò)流水印方法分為基于流速、分組和間隔[16]3種.例如,在2003年一種基于分組延遲的水印方法(WBIPD)被提出,該方案利用了時(shí)間上的擾動(dòng)來傳遞水印信息[17].但是,基于分組延遲的水印方案魯棒性不高,非常容易因?yàn)榫W(wǎng)絡(luò)干擾和惡意攻擊失去效用.
Houmansadr等人提出了RAINBOW方案,該方案需要一個(gè)通信雙方共享的IPD數(shù)據(jù)庫,數(shù)據(jù)庫中存放著目標(biāo)流的原始IPD信息[18].為了減少通信過程中丟包、包重組和垃圾包注入對(duì)水印信息的影響,RAINBOW方法使用了比其他基于分組延遲水印技術(shù)更低的延遲量來增加水印的不可見性,減少被攻擊者檢測(cè)與破壞的可能性.但是,為了進(jìn)行包含IPD逐一匹配的流關(guān)聯(lián)判斷等操作,該方法需要更多的時(shí)間資源.為了解決水印嵌入過于復(fù)雜的問題,部分研究人員不再使用簡單的二進(jìn)制序列作為水印信息,而是使用PN碼對(duì)原始的水印信息進(jìn)行擴(kuò)頻,再通過調(diào)整分組延遲進(jìn)行水印信息的嵌入,檢測(cè)端可以通過解擴(kuò)操作提取水印信息[19].
2018年Lacovazzi等人提出了一種新的網(wǎng)絡(luò)流水印方法Drop Wat,它通過模擬實(shí)際網(wǎng)絡(luò)中的丟包行為,即刪除流的幾個(gè)選定的數(shù)據(jù)包,改變數(shù)據(jù)包之間的延遲來實(shí)現(xiàn)水印信息的嵌入[20].雖然該方法的隱蔽性較高,有效地減少了通信過程中的水印泄露幾率,但是嚴(yán)重依賴于數(shù)據(jù)包的正常傳輸,如果傳輸過程中自然丟包率過高、網(wǎng)絡(luò)抖動(dòng)較大,將會(huì)出現(xiàn)比較嚴(yán)重的檢測(cè)誤差.
在網(wǎng)絡(luò)干擾有限的情況下,基于分組延遲的水印技術(shù)能夠?qū)α髁窟M(jìn)行有效地追蹤,具有比較高的魯棒性.在此基礎(chǔ)上,一種基于間隔的水印方法(interval based watermarking, IBW)被提出,該方法不再使用單個(gè)包間隔(inter-packet delag, IPD)作為載體,而是將目標(biāo)流劃分成固定長度的時(shí)間間隔,通過更改時(shí)間間隔內(nèi)的數(shù)據(jù)包延遲,調(diào)整時(shí)間間隔內(nèi)的數(shù)據(jù)包數(shù)量來嵌入水印信息[21].
2011年Houmansadr等人為了解決多流追蹤問題,提出了SWIRL方法,該方法將時(shí)間間隔重心分為基本間隔重心和標(biāo)記間隔重心,水印的嵌入方式由基本間隔重心決定[22].2015年Lin等人為了增強(qiáng)水印的抗干擾性以及抵御多流攻擊的能力,提出了基于時(shí)間間隔重心匹配的水印模型,通過密鑰動(dòng)態(tài)選擇水印的嵌入位置,改變時(shí)間間隔的重心來傳遞水印信息[23].2016年一種更為均衡的基于時(shí)間間隔重心的水印方法被提出,該方法試圖用更小的質(zhì)心調(diào)制范圍來達(dá)到較高的識(shí)別精度,從而提高跟蹤簡短流的有效性[24].2018年Zhai等人使用近似正交的序列集來計(jì)算最小的質(zhì)心移動(dòng)距離,有效地減少了基于時(shí)間間隔質(zhì)心的水印方案需要添加的人為延遲[25].
Yu等人將無線通信中的DSSS機(jī)制融入到主動(dòng)網(wǎng)絡(luò)流水印技術(shù)中,提出了基于流速的新型水印方法[26].2015年Liu等人針對(duì)不同虛擬機(jī)的出口網(wǎng)絡(luò)流,在原型框架OBSERVER的基礎(chǔ)上,提出了一種差異分析方法[27].該方法能夠?qū)DN的狀態(tài)進(jìn)行動(dòng)態(tài)配置,通過離散小波的多分辨率變換,對(duì)固定時(shí)間段的網(wǎng)絡(luò)流進(jìn)行分解,并使用K-L距離來衡量原始流和水印流之間的差異性.
水印的生成包括3個(gè)步驟:1)初始化原始水印信息的二進(jìn)制向量.2)利用預(yù)設(shè)的編碼方式進(jìn)行編碼,并將水印嵌入到目標(biāo)流中.3)在水印檢測(cè)處獲取目標(biāo)網(wǎng)絡(luò)流,并根據(jù)網(wǎng)絡(luò)流水印的解碼規(guī)則恢復(fù)原始水印信號(hào).本文針對(duì)水印隱蔽性的優(yōu)化目標(biāo),提出特征水印序列的生成方法,實(shí)現(xiàn)基于混合隱蔽通道和混合時(shí)隙的水印生成方案,降低水印對(duì)原始流量的影響.
內(nèi)容和位置相對(duì)固定的水印會(huì)造成追蹤的流量出現(xiàn)自相似性,造成水印信息的隱蔽性大大下降.因此,本文結(jié)合目標(biāo)流的本身特性,提出具有意義的特征水印序列生成方案,降低水印信息的自相似性,減少水印被識(shí)別攻擊的概率.
2.1.1 基于荷載的水印序列生成
面向間斷性傳輸?shù)奶卣魈崛鼍?,包依賴的特征具有更?qiáng)的適應(yīng)性.IPv4協(xié)議中的IP分片是一個(gè)非常重要的特性,當(dāng)數(shù)據(jù)包大小超過鏈路最大傳輸單元(maximum transmission unit, MTU)時(shí),中間節(jié)點(diǎn)路由器可以將該數(shù)據(jù)包重新分片為滿足當(dāng)前MTU的多個(gè)數(shù)據(jù)包,因此IPv4流量的數(shù)據(jù)包荷載分布具有隨機(jī)性.與IPv4協(xié)議不同的是IPv6協(xié)議只允許數(shù)據(jù)包在源節(jié)點(diǎn)分片,在目的節(jié)點(diǎn)重組,中間節(jié)點(diǎn)路由器只承擔(dān)轉(zhuǎn)發(fā)的任務(wù),不允許對(duì)IPv6數(shù)據(jù)包進(jìn)行分片重組.如果收到的數(shù)據(jù)包荷載超過了當(dāng)前節(jié)點(diǎn)的最大傳輸單元,中間節(jié)點(diǎn)會(huì)丟棄該數(shù)據(jù)包,并給源節(jié)點(diǎn)發(fā)送ICMPv6消息,消息中攜帶了可以通過該中間節(jié)點(diǎn)的最大數(shù)據(jù)包荷載.因此,在IPv6環(huán)境下,數(shù)據(jù)包荷載和數(shù)量都是較為穩(wěn)定的,尤其是在TCP連接中,數(shù)據(jù)包荷載值具有高度集中性,荷載序列呈現(xiàn)出了階段的穩(wěn)定性,所以可以通過荷載序列實(shí)現(xiàn)流特征的表示.圖1展示了2次不同TCP通信中的荷載序列.
Fig.1 Load sequence of TCP圖1 TCP荷載序列
數(shù)據(jù)包荷載無法直接作為水印信息進(jìn)行傳輸,需要對(duì)荷載序列進(jìn)行二值處理.如果直接使用定長的二進(jìn)制編碼,為了滿足最大荷載的表示需求,單個(gè)數(shù)據(jù)包荷載的二進(jìn)制碼長度最少設(shè)置為11 b,這樣會(huì)造成有限長度的特征水印序列包含的有效信息過少.如果簡單地使用中位數(shù)或均值進(jìn)行二分類編碼,雖然節(jié)約了編碼長度,但是嚴(yán)重壓縮了荷載信息,模糊了流本身的特性以及流與流之間的相異性.為了更好地通過荷載水印序列體現(xiàn)流特征,需要對(duì)荷載信息進(jìn)行合理地分類,在沒有標(biāo)簽的情況下,無監(jiān)督聚類方法具有更好的適用性.
基于水印的追蹤方案優(yōu)勢(shì)在于較低的時(shí)空開銷,所以對(duì)水印信息長度有著較為嚴(yán)格的要求.數(shù)據(jù)包荷載序列能夠反映出通信過程中的部分特征,為了區(qū)分不同的網(wǎng)絡(luò)流,挖掘出最能夠反映出當(dāng)前通信特征的有限長度的荷載序列,需要盡量保證規(guī)定荷載序列中包含較多的數(shù)據(jù)包.因此,結(jié)合哈夫曼編碼(Huffman Coding)的思想,針對(duì)出現(xiàn)概率較高的荷載類別,給予較短的二值編碼,針對(duì)出現(xiàn)概率較低的荷載類別,給予較長的二值編碼.
由于隱蔽通道帶寬的限制,在經(jīng)過哈夫曼編碼后的數(shù)據(jù)包荷載序列仍然無法全部發(fā)送給接收方.所以,需要從完整的荷載序列中提取最能夠代表通信特征的有限長度序列,即局部最優(yōu)的子序列.通常情況下,使用出現(xiàn)頻率最高的子序列來代表原序列,但是由于原序列中可能存在多個(gè)出現(xiàn)次數(shù)相近的頻繁子序列,當(dāng)網(wǎng)絡(luò)環(huán)境出現(xiàn)波動(dòng)時(shí),子序列的提取會(huì)受到影響.并且基于哈夫曼樹的二值編碼使得不同的數(shù)據(jù)包荷載對(duì)應(yīng)的碼長不同,則子序列中的容量即序列中實(shí)際包含的數(shù)據(jù)包數(shù)量不同.將子序列的特征表現(xiàn)能力記為特征強(qiáng)度CPi,
(1)
其中,api表示第i個(gè)序列出現(xiàn)的次數(shù),vl表示序列實(shí)際包含的數(shù)據(jù)包個(gè)數(shù),所求特征強(qiáng)度最強(qiáng)的子序列即為局部最優(yōu)子序列.
就TCP協(xié)議而言,可以將數(shù)據(jù)包分為2種類型:1)用來傳輸數(shù)據(jù),實(shí)際荷載與上層的應(yīng)用協(xié)議以及傳輸路徑有關(guān),呈現(xiàn)出流的相異性;2)應(yīng)答包,包括SYN包、ACK包等,根據(jù)應(yīng)答包的不同功能,實(shí)際荷載也會(huì)有所不同,大多為20,24,32等.針對(duì)不同的通信狀態(tài),提取出的荷載特征序列也會(huì)有所不同.
圖2是設(shè)備V1與設(shè)備V2通信過程中較為常見的3種荷載序列狀態(tài)圖.a型荷載序列表現(xiàn)出的通信特征是,設(shè)備V1持續(xù)穩(wěn)定地給設(shè)備V2傳輸數(shù)據(jù);b型荷載序列表現(xiàn)出的通信特征是,設(shè)備V1持續(xù)地接收到設(shè)備V2發(fā)送的信息,并給予回應(yīng);c型荷載序列表現(xiàn)出的通信特征是,設(shè)備V1和設(shè)備V2互相之間都在進(jìn)行數(shù)據(jù)傳輸.傳輸數(shù)據(jù)的大小、傳輸數(shù)據(jù)的速率以及網(wǎng)絡(luò)干擾,例如超時(shí)導(dǎo)致的頻繁重傳等因素都會(huì)影響到荷載序列的提取,使得不同的通信狀態(tài)之間具有相異性,從而有利于更好地進(jìn)行流區(qū)分.另外,TCP的傳輸具有穩(wěn)定性,在一定時(shí)間段內(nèi)的荷載序列有著較強(qiáng)的自相似性,在網(wǎng)絡(luò)狀態(tài)沒有發(fā)生突變的情況下,能夠在一定范圍內(nèi)抵抗丟包、垃圾包注入等因素的影響,有比較好的魯棒性.
在間斷性傳輸?shù)奶卣魈崛鼍爸校蕾嚨奶卣骶哂懈鼜?qiáng)的適應(yīng)性,同時(shí)利用IPv6協(xié)議以及TCP傳輸?shù)姆€(wěn)定性,基于載荷的水印序列生成方式能夠在很大程度上表現(xiàn)出較好的環(huán)境適應(yīng)能力.
Fig.2 State of load sequence圖2 荷載序列狀態(tài)
2.1.2 基于時(shí)隙質(zhì)心的特征水印序列生成
面對(duì)流速較慢的特征提取場景,發(fā)送端需要緩存更長時(shí)間的特征流,才能夠捕獲到一定數(shù)量的數(shù)據(jù)包,而基于時(shí)隙質(zhì)心的特征對(duì)數(shù)據(jù)包密度的依賴性遠(yuǎn)遠(yuǎn)低于荷載特征.在IPv6環(huán)境中,數(shù)據(jù)包的數(shù)量相對(duì)于流同樣是獨(dú)立同分布的,所以其時(shí)隙質(zhì)心仍然符合泊松分布,圖3展示了一段時(shí)間內(nèi)的時(shí)隙質(zhì)心分布情況.
Fig.3 Distribution of time-slot centroid圖3 時(shí)隙質(zhì)心分布
時(shí)隙質(zhì)心符合泊松分布,即數(shù)據(jù)包到達(dá)時(shí)間偏移均勻分布在單個(gè)時(shí)隙內(nèi),所以可以估算出組內(nèi)數(shù)據(jù)包到達(dá)間隔的時(shí)間偏移重心在時(shí)隙中心附近,進(jìn)行水印信息的初步提取.但是在實(shí)際的網(wǎng)絡(luò)流中,受到丟包重傳、網(wǎng)絡(luò)延時(shí)等不良因素的影響,時(shí)隙質(zhì)心的分布不夠穩(wěn)定,容易因?yàn)榫W(wǎng)絡(luò)的波動(dòng)發(fā)生偏移.為了降低這些不良因素對(duì)質(zhì)心分布的影響,本文提出了序列映射區(qū)的概念.
如圖4所示,序列映射區(qū)以時(shí)隙中心為軸,并在單位映射區(qū)內(nèi)向右偏移,偏移時(shí)長根據(jù)網(wǎng)絡(luò)的實(shí)際情況進(jìn)行相應(yīng)調(diào)整.如果初始時(shí)隙質(zhì)心的位置不在序列映射區(qū)內(nèi),則需要通過人為添加延遲,使時(shí)隙質(zhì)心落在映射區(qū)之內(nèi).
Fig.4 Mapping zone of sequence圖4 序列映射區(qū)
如圖5所示,當(dāng)前時(shí)隙的質(zhì)心Ci可以表示為
(2)
其中,dj表示第j-1個(gè)數(shù)據(jù)包和第j個(gè)數(shù)據(jù)包的到達(dá)時(shí)間差值,t是人為添加的延遲,Δt表示偏移時(shí)長.在單時(shí)隙中,人為添加延遲的數(shù)據(jù)包越靠近時(shí)隙的起點(diǎn),時(shí)隙質(zhì)心的增量越大.為了降低時(shí)隙質(zhì)心移動(dòng)對(duì)原始流量的影響,盡量減少時(shí)隙內(nèi)數(shù)據(jù)包達(dá)到時(shí)間差的變化數(shù)量,最理想的狀態(tài)是為當(dāng)前時(shí)隙中的所有數(shù)據(jù)包人為地添加延遲s,這樣除了d1以外,其他的di都能夠保持不變.假設(shè)質(zhì)心的移動(dòng)距離為
(3)
由式(3)可知,s最小值即為質(zhì)心移動(dòng)的最小距離.
Fig.5 Illustration of a complete time slot圖5 完整單時(shí)隙
相較于包依賴水印序列生成,基于時(shí)隙質(zhì)心提取的特征序列大小同樣對(duì)數(shù)據(jù)包密度具有更小的依賴性,實(shí)際表現(xiàn)取決于數(shù)據(jù)包到達(dá)延遲.
因此,在網(wǎng)絡(luò)流速較慢的特征提取場景中,相比于載荷特征,基于時(shí)隙質(zhì)心的特征提取對(duì)數(shù)據(jù)包密度具有更低的依賴性.本文通過序列映射,減輕了網(wǎng)絡(luò)波動(dòng)對(duì)時(shí)隙質(zhì)心分布的干擾,大大降低了水印對(duì)原始流量的影響,有效減少了特征水印被識(shí)別攻擊的概率.
面向間斷性傳輸?shù)木W(wǎng)絡(luò)傳輸場景,包依賴的水印載體能夠更有效地保證水印連貫性.由于IPv6協(xié)議內(nèi)嵌了IPsec協(xié)議,報(bào)文內(nèi)容的不可見性限制了載體的選擇范圍,基于單一載體的水印嵌入方案的隱蔽性受到了威脅.此外,抵抗重組分片干擾能力較弱的IPD水印,在IPv6環(huán)境下有更強(qiáng)的可用性.
2.2.1 隱蔽通道庫構(gòu)建
根據(jù)使用場景的差異性及實(shí)時(shí)網(wǎng)絡(luò)狀態(tài)的隨機(jī)性,可以更換不同的隱蔽通道來嵌入水印信息,通過不同的排列組合,增強(qiáng)水印的隱蔽性,本文選擇了IPv6協(xié)議中的4條包依賴的隱蔽通道構(gòu)建混合通道.另外,使用單個(gè)數(shù)據(jù)包作為水印載體對(duì)網(wǎng)絡(luò)環(huán)境的穩(wěn)定性有著極高的要求,為了提高水印信息的傳輸可靠性,本文將m個(gè)連續(xù)的數(shù)據(jù)包看作一個(gè)數(shù)據(jù)組Mi.
1) 跳限制字段.由于網(wǎng)絡(luò)的狀況以及路由信息的變化是高頻率觸發(fā)事件,該字段的值在實(shí)際的傳輸過程中會(huì)發(fā)生改變,所以水印嵌入端可以根據(jù)預(yù)先約定的內(nèi)容自行設(shè)定或更改跳限制字段值.但是,跳限制字段值在經(jīng)過若干個(gè)路由器之后,其變化不受控制,可能會(huì)影響到水印信息的提取.如果使用固定的解碼規(guī)則,就意味著將發(fā)送方和接收方固定在一個(gè)本地鏈路內(nèi)或者固定了雙方通信鏈路中的路由器的跳數(shù),這顯然是不符合實(shí)際網(wǎng)絡(luò)環(huán)境的.為了能夠識(shí)別跳限制字段中的水印信息,本文選擇了基于組差的水印嵌入方式.將每個(gè)數(shù)據(jù)組按數(shù)據(jù)包個(gè)數(shù)平均分為前后2部分,分別記為M(i,1)和M(i,2),將水印信息編碼為M(i,1)和M(i,2)的跳限制字段平均值差值.當(dāng)要嵌入的水印位為0時(shí),增加M(i,1)的跳限制字段值,減少M(fèi)(i,2)的跳限制字段值,當(dāng)要嵌入的水印位為1時(shí),減少M(fèi)(i,1)的跳限制字段值,增加M(i,2)的跳限制字段值.
2) 通信流字段.根據(jù)對(duì)實(shí)際環(huán)境中網(wǎng)絡(luò)流量的分析,使用該字段的前3位來傳遞水印信息,但是由于該字段可以被中間的節(jié)點(diǎn)改變,所以如果使用單個(gè)數(shù)據(jù)包隱藏水印信息可能會(huì)造成信息的丟失,所以在使用該字段傳遞水印信息的時(shí)候,隨機(jī)對(duì)整個(gè)數(shù)據(jù)組中一半的數(shù)據(jù)包進(jìn)行重復(fù)性水印嵌入來提升水印信息傳輸?shù)目煽啃?
3) 流標(biāo)簽字段.由于流標(biāo)簽為0的數(shù)據(jù)包占據(jù)總數(shù)的大部分,為了減少對(duì)整體統(tǒng)計(jì)特性的影響,在每個(gè)數(shù)據(jù)組中只選擇2個(gè)數(shù)據(jù)包進(jìn)行水印信息的嵌入,每次嵌入4 b的水印信息.同時(shí)為了兼顧流標(biāo)簽的偽隨機(jī)性,在不同的數(shù)據(jù)包中插入水印信息的位置不同.本文采用輪詢插入法,假設(shè)當(dāng)前數(shù)據(jù)組是第i個(gè)使用流標(biāo)簽字段隱蔽通道進(jìn)行傳輸?shù)乃⌒畔?,則其水印的嵌入起始位置為i%16.
4) 時(shí)間間隔IPD.雖然IPD水印抵抗重組分片干擾的能力非常弱,但由于IPv6協(xié)議不允許中間節(jié)點(diǎn)對(duì)數(shù)據(jù)包分片重組,所以基于IPD的隱蔽通道在IPv6環(huán)境下可用性大大增加.將每個(gè)數(shù)據(jù)組按數(shù)據(jù)包個(gè)數(shù)平均分為前后2部分,分別記為M(i,1)和M(i,2),將水印信息編碼為M(i,1)和M(i,2)的IPD差值.當(dāng)要嵌入的水印為0時(shí),給數(shù)據(jù)組M(i,1)中的數(shù)據(jù)包添加額外的延遲,當(dāng)要嵌入的水印為1時(shí),給數(shù)據(jù)組M(i,2)中的數(shù)據(jù)包添加額外的延遲.
如圖6所示,水印使用復(fù)合窗口的方式進(jìn)行嵌入,每個(gè)復(fù)合窗口包含2個(gè)連續(xù)的數(shù)據(jù)組,由于短時(shí)間內(nèi)的流量具有一定的穩(wěn)定性,所以設(shè)定第1個(gè)數(shù)據(jù)組為觀察組,用來決定使用的隱蔽通道;第2個(gè)數(shù)據(jù)組為嵌入組,用來嵌入水印信息.
Fig.6 Watermarking embedded in the composite window圖6 水印嵌入復(fù)合窗口
2.2.2 隱蔽通道選擇
1) 熵值差異
信息熵是香農(nóng)從熱力學(xué)借用的概念,可以體現(xiàn)出數(shù)據(jù)在某個(gè)特征上的集中程度,對(duì)于網(wǎng)絡(luò)流量而言,當(dāng)數(shù)據(jù)的特征值越分散,它的特征熵就越大,數(shù)據(jù)的特征越集中,特征熵就越小.
(4)
(5)
其中,H(S(k,p))代表第k個(gè)復(fù)合窗口的觀察組中序號(hào)為p的隱蔽通道的特征值信息熵,H′(S(k,p))代表加入水印信息后該隱蔽通道的特征值信息熵,Hdrk,p代表第k個(gè)復(fù)合窗口的觀察組中序號(hào)為p的隱蔽通道的信息熵差異值.差異值越大,則表示該隱蔽通道對(duì)原始流量的影響越大.
2) 均值偏差
通過比較原始流量和加入水印信息后的調(diào)制流量的均值偏差,選擇隱蔽通道.
(6)
其中,Avek,p代表第k個(gè)復(fù)合窗口的觀察組中序號(hào)為p的隱蔽通道的特征平均值,Adrk,p代表第k個(gè)復(fù)合窗口的觀察組中序號(hào)為p的隱蔽通道的均值偏差.均值偏差越大,則表示該隱蔽通道對(duì)原始流量的影響越大.
通過對(duì)信息熵差異值和均值偏差2個(gè)維度的計(jì)算,量化當(dāng)前復(fù)合窗口的各個(gè)隱蔽性.
Ck,p=z×Hdrk,p+(1-z)×Adrk,p,
(7)
其中,z為自定義的偏重參數(shù),取值范圍為[0,1],用來衡量隱蔽性計(jì)算中對(duì)不同維度的偏重程度,Ck,p代表第k個(gè)復(fù)合窗口的觀察組中序號(hào)為p的隱蔽通道的隱蔽性值,Ck,p的值越小,則表明該類型的隱蔽通道的隱蔽性越好.
隱蔽性的量化面向的是局部的復(fù)合窗口,在嵌入水印信息的時(shí)候,全局的統(tǒng)計(jì)特性也要納入考慮范圍之內(nèi).因?yàn)閱蝹€(gè)復(fù)合窗口攜帶的水印信息越多,對(duì)原始流量的影響越大,而在大部分情況下,并不需要最大限度地使用隱蔽通道的傳輸帶寬.所以本文在單個(gè)復(fù)合窗口中只使用一種隱蔽通道,進(jìn)一步降低水印信息的嵌入對(duì)原始流量的影響.
設(shè)WL表示水印信息的長度,同時(shí)也代表了單冗余度下需要選取的復(fù)合窗口的數(shù)量.因?yàn)橥ㄐ帕髯侄魏土鳂?biāo)簽字段在實(shí)際網(wǎng)絡(luò)流量中有明顯的全局統(tǒng)計(jì)特征,需要優(yōu)先考慮.剩余的部分則采用跳限制字段及IPD的隱蔽通道進(jìn)行傳輸.因此,第k個(gè)復(fù)合窗口中序號(hào)為p的隱蔽通道Chk,p可以用3個(gè)維度的特征值來描述:
Chk,p={wlp,ck,p,np},
(8)
其中,wlp表示使用序號(hào)為p的隱蔽通道可以攜帶的水印信息長度,np表示序號(hào)為p的隱蔽通道的剩余可用次數(shù).在順序嵌入水印信息的過程中,載體選擇當(dāng)前復(fù)合窗口隱蔽性最好的通道,該過程如算法1所描述.
算法1.隱蔽通道選擇算法.
輸入:數(shù)據(jù)包序列P、通道使用次數(shù)np、水印信息長度L;
輸出:水印通道序列S.
① WHILEL>0 DO
② FORj=1:4 DO
③ calculate 窗口隱蔽性值集合Cj;
④ END FOR
⑤ choose ministCj;
⑥ IFnp>0 THEN
⑦ add 通道m(xù)toS;
⑧ updatenpandL;
⑨ ELSE
⑩ removeCmout ofCj;
面向流速較慢的網(wǎng)絡(luò)傳輸場景,時(shí)間依賴的水印載體能夠更好地節(jié)約水印嵌入時(shí)長,降低對(duì)原始流量的影響,并且時(shí)間依賴的水印載體有更強(qiáng)的抗丟包干擾能力.由于混合水印載體擁有更好的隱蔽性和傳輸帶寬,本文設(shè)計(jì)了一種基于混合時(shí)隙的水印(mixed interval based watermarking, MIBW)生成方法,結(jié)合時(shí)間間隔重心和時(shí)間間隔2種載體實(shí)現(xiàn)地基水印和內(nèi)部水印的嵌入.
2.3.1 基于時(shí)間間隔重心的地基水印嵌入方法
給目標(biāo)流f設(shè)定一個(gè)隨機(jī)時(shí)間偏移o,經(jīng)過時(shí)間o后對(duì)持續(xù)時(shí)長為Tin的目標(biāo)流嵌入地基水印,設(shè)地基水印開始點(diǎn)的時(shí)間戳為t0.
對(duì)于長度為WLp的地基水印信息Wp,將Tin分成2n個(gè)長度為T的間隔Ii,每個(gè)Ii含有Xi個(gè)連續(xù)的數(shù)據(jù)包.數(shù)據(jù)包Pi,j(1≤i≤2n,1≤j≤Xi)的發(fā)送時(shí)間戳為ti,j,它相對(duì)于其所在間隔Ii開始點(diǎn)的時(shí)間偏移為Δti,j.
在2n個(gè)間隔Ii中隨機(jī)選擇n個(gè)間隔組成A組間隔I(A)k(1≤k≤n),剩下n個(gè)間隔組成B組間隔I(B)k.分別將組A和組B的間隔隨機(jī)分配,使得每2rp個(gè)間隔用來編碼一位水印位,其中rp表示地基水印信息的冗余度.
I(A)i,j和I(B),i,j分別為組A和組B中用作編碼第i位地基水印的第j個(gè)間隔.X(A)i,j和X(B)i,j分別為間隔I(A)i,j和I(B)i,j中的數(shù)據(jù)包數(shù)量,X(A)i和X(B)i表示編碼第i位地基水印的數(shù)據(jù)包的總數(shù)量,計(jì)算方法為
(9)
(10)
間隔I(A)i,j和I(B),i,j中第k個(gè)數(shù)據(jù)包Pi,j,k的時(shí)間偏移為Δt(A)i,j,k和Δt(B)i,j,k,分別聚合組A和組B中rp個(gè)間隔的時(shí)間戳,計(jì)算組A和組B的數(shù)據(jù)包的整體時(shí)間間隔偏移重心為
(11)
(12)
將每個(gè)地基水印編碼為Ai和Bi的時(shí)間偏移重心差Yi.當(dāng)要編碼的地基水印信息是1時(shí),通過增加Ai使Yi的分布向右平移,即在rp個(gè)間隔I(A)i,j中的數(shù)據(jù)包Pi,j,k發(fā)送前人為添加額外延遲,且間隔I(A)i,j即為內(nèi)部水印的嵌入位置;當(dāng)要編碼的地基水印信息是0時(shí),通過增加Bi使Yi的分布向左平移,即在rp個(gè)間隔I(B)i,j中的數(shù)據(jù)包Pi,j,k發(fā)送前人為添加額外延遲.且間隔I(B)i,j即為內(nèi)部水印的嵌入位置.
2.3.2 基于時(shí)間間隔的內(nèi)部水印嵌入方法
地基水印信息嵌入時(shí),需要在間隔中的數(shù)據(jù)包發(fā)送前人為添加額外延遲來改變重心的分布.在重心移動(dòng)的同時(shí),數(shù)據(jù)包數(shù)量的分布也發(fā)生了改變,為了更好地利用時(shí)間隱蔽通道,提升水印信息的傳輸帶寬,本文利用了重心移動(dòng)的間隔實(shí)現(xiàn)基于時(shí)間間隔的內(nèi)部水印嵌入.
內(nèi)部水印的嵌入位置和嵌入長度都由地基水印確定.每一位地基水印信息確定一位內(nèi)部水印信息的嵌入位置.內(nèi)部水印的冗余度rin由內(nèi)部水印信息長度WLin和地基水印決定.
在傳統(tǒng)的基于時(shí)隙的水印方法(例如IBW)中,往往需要借助下一個(gè)時(shí)隙來改變數(shù)據(jù)包數(shù)量差,但本文的地基水印使用的是連續(xù)的時(shí)間間隔,如果將數(shù)據(jù)包推入下一個(gè)時(shí)間間隔,可能會(huì)影響到地基水印的嵌入.為了保證內(nèi)部水印信息的嵌入能夠在一個(gè)單獨(dú)的時(shí)間間隔中完成,將長度為T的間隔Ii平均分為3個(gè)小間隔,記為Subi(1≤i≤3),在〈Subi,j,1,Subi,j,2,Subi,j,3〉(1≤i≤WLin,1≤j≤rin)中,〈Subi,j,1,Subi,j,2〉用作編碼第i位內(nèi)部水印的第j組嵌入的小間隔對(duì),Subi,j,3為輔助小間隔,用于對(duì)內(nèi)部水印進(jìn)行輔助判斷.每個(gè)小間隔中含有X(Sub)i,j,k個(gè)連續(xù)數(shù)據(jù)包.
在不添加人為干擾的情況下,數(shù)據(jù)包的到達(dá)時(shí)間在每個(gè)小間隔中是均勻分布的,因此每個(gè)小間隔中所含有的包數(shù)量的期望u是相同的.將每個(gè)內(nèi)部水印編碼為Subi,j,1和Subi,j,2的數(shù)據(jù)包數(shù)量差Y(Sub)i,j為
Y(Sub)i,j=X(Sub)i,j,2-X(Sub)i,j,1,
(13)
即可計(jì)算出用來編碼第i位水印信息的rin個(gè)Y(Sub)i,j的平均值為
(14)
Fig.7 Embedding with internal watermarking information 0圖7 嵌入內(nèi)部水印信息為0
由于中間節(jié)點(diǎn)不允許對(duì)IPv6報(bào)文進(jìn)行分片重組,因此在IPv6通信環(huán)境中,數(shù)據(jù)包數(shù)量是較為穩(wěn)定的特征,內(nèi)部水印更多地遭受到了丟包以及網(wǎng)絡(luò)延遲的威脅.為了增強(qiáng)內(nèi)部水印的魯棒性,將小間隔劃分為安全區(qū)和危險(xiǎn)區(qū).如圖7所示,當(dāng)要嵌入的內(nèi)部水印信息為0時(shí),給Subi,j,2中所有的數(shù)據(jù)包添加延遲,使其落入Subi,j,3中的安全區(qū),Subi,j,1為時(shí)間間隔重心輔助調(diào)整區(qū);如圖8所示,當(dāng)要嵌入的內(nèi)部水印信息為1時(shí),給Subi,j,1中所有的數(shù)據(jù)包添加延遲,使其落入Subi,j,2中的安全區(qū),Subi,j,3為時(shí)間間隔重心輔助調(diào)整區(qū).
2.3.3 水印檢測(cè)
針對(duì)地基水印信息,通過記錄每一間隔內(nèi)的所有數(shù)據(jù)包的到達(dá)時(shí)間偏移,由式(11)和式(12)計(jì)算組Ai和組Bi的數(shù)據(jù)包到達(dá)時(shí)間偏移重心,得到時(shí)間偏移重心差Yi.當(dāng)Yi>0時(shí),判定地基水印信息為1;否則,判定地基水印信息為0.
基于混合時(shí)隙的水印信息在增強(qiáng)了隱蔽性的同時(shí)也導(dǎo)致了更高的誤差概率.因此,如何控制水印的差錯(cuò)就顯得十分重要,糾錯(cuò)碼的核心設(shè)計(jì)思想是增加冗余信息.低密度奇偶校驗(yàn)碼(low-density parity-check codes, LDPC)是一種線性分組碼,可以將長度為L的特征序列,通過編碼器添加WL-L位校驗(yàn)碼元,變成長度為WL的水印信息,L位特征序列與WL-L位校驗(yàn)碼元呈線性關(guān)系.則水印信息可以用(WL,L)來表示.
LDPC碼的編碼方法可以簡單地表示為特征序列與生成矩陣G相乘的結(jié)果,但是由于通過生成矩陣G直接編碼,運(yùn)算的復(fù)雜度比較高,所以本文選擇對(duì)校驗(yàn)矩陣H高斯消元進(jìn)行編碼,如果在高斯消元的過程中進(jìn)行了列交換,則需要對(duì)水印信息進(jìn)行相應(yīng)位交換得到水印傳輸信息再進(jìn)行嵌入工作.
收到經(jīng)過LDPC編碼的水印傳輸信息后,將水印傳輸信息與校驗(yàn)矩陣H相乘,如果結(jié)果是0矩陣,則表明收到的水印傳輸信息是正確的.反之,則表示收到的水印傳輸信息有誤,需要根據(jù)相乘的結(jié)果進(jìn)一步糾錯(cuò)解碼.因?yàn)樗鬏斝畔儆诙檀a,所以本文使用了實(shí)現(xiàn)相對(duì)簡單的硬判決譯碼算法比特翻轉(zhuǎn)(bit flipping, BF)譯碼算法.在使用BF譯碼算法時(shí),需要設(shè)置一個(gè)閾值,當(dāng)水印傳輸信息位不滿足校驗(yàn)關(guān)系式的方程個(gè)數(shù)超過這個(gè)閾值時(shí),則表示該水印傳輸信息位譯碼出現(xiàn)了錯(cuò)誤,需要將該水印傳輸信息位翻轉(zhuǎn)后再次進(jìn)行譯碼工作,直到譯碼正確或者譯碼的迭代次數(shù)超過了預(yù)設(shè)的值.最后,根據(jù)校驗(yàn)矩陣H高斯消元過程中的列交換情況,將水印傳輸信息還原成水印信息,并提取出特征水印序列.
本文在如圖9的實(shí)驗(yàn)環(huán)境中進(jìn)行水印信息傳輸測(cè)試,其中,發(fā)送端的IP地址為2001:da8:1002:6004:1:45fa,接收端的IP地址為2001:da8:1002:315:91de:3992:c2a2:6170,發(fā)送端與接收端都位于江蘇省南京市教育網(wǎng)內(nèi),操作系統(tǒng)均為64位Ubuntu20.10.本實(shí)驗(yàn)使用了WIDE Project項(xiàng)目的IPv6數(shù)據(jù)集進(jìn)行測(cè)試,數(shù)據(jù)采集自日本到美國的某條骨干網(wǎng)絡(luò)的網(wǎng)絡(luò)流量.從數(shù)據(jù)集中選取10條不同的流作為測(cè)試集進(jìn)行測(cè)試,每條流的數(shù)據(jù)包數(shù)量不少于8 000個(gè).在發(fā)送端對(duì)測(cè)試集進(jìn)行流量重放,并通過水印嵌入機(jī)進(jìn)行水印信息的嵌入.
Fig.9 The architecture of concealed channel system圖9 隱蔽通道系統(tǒng)結(jié)構(gòu)
3.2.1 基于混合隱蔽通道的水印方法
在實(shí)際的通信過程中,攜帶水印信息的網(wǎng)絡(luò)流可能會(huì)受到時(shí)延、丟包等因素的干擾.在干擾環(huán)境下正確傳輸水印信息的能力可稱作隱蔽通道的魯棒性.從理論上分析,基于字段修改的3種隱蔽通道對(duì)數(shù)據(jù)包本身有更強(qiáng)的依賴性,而基于IPD的隱蔽通道則會(huì)對(duì)時(shí)間更加敏感.由于發(fā)送端和接收端在沒有經(jīng)過中間跳板主機(jī)的情況下直接進(jìn)行通信,網(wǎng)絡(luò)環(huán)境較好,所以需要人為地添加一些干擾來進(jìn)行測(cè)試.本次實(shí)驗(yàn)中,選擇時(shí)隙特征序列作為水印信息,隱蔽性偏重參數(shù)為0.5,4種隱蔽通道的使用比例為4∶1∶1∶4,水印信息長度為16 b,冗余度為2,誤差閾值為3.
Fig.10 Effect of delay on the detection rate of Mixed Channels圖10 延遲對(duì)混合通道檢測(cè)率的影響
圖10描述了不同延遲對(duì)混合隱蔽通道檢測(cè)率的影響.隨著最大抖動(dòng)延遲的增加,混合通道的檢測(cè)率在不斷地下降,但是可以通過增加數(shù)據(jù)組的容量來提升檢測(cè)率.這是由于基于頭部字段修改的隱蔽通道和基于IPD的隱蔽通道都非常依賴分組的到達(dá)順序,隨著數(shù)據(jù)組容量的增加,發(fā)生錯(cuò)位的數(shù)據(jù)包對(duì)于整個(gè)數(shù)據(jù)組而言只是非常小的一部分,不會(huì)影響到數(shù)據(jù)組的整體特征.當(dāng)數(shù)據(jù)組容量達(dá)到8個(gè)數(shù)據(jù)包時(shí),在300 ms最大抖動(dòng)延遲條件下已經(jīng)可以達(dá)到90%的檢測(cè)率.
圖11描述了不同丟包率對(duì)混合隱蔽通道檢測(cè)率的影響.由圖11可知,丟包對(duì)混合隱蔽通道的檢測(cè)率有著較大的干擾性,在丟包率較小的情況下,增大數(shù)據(jù)組能夠提升檢測(cè)率,但是隨著丟包率的增加,過大的數(shù)據(jù)組反而成了拖累,小容量的數(shù)據(jù)組表現(xiàn)出更好的檢測(cè)率.造成這種現(xiàn)象主要有2個(gè)原因:1)本文使用的4種隱蔽通道對(duì)于丟包的抗干擾性都很弱,基于字段修改的隱蔽通道依賴字段值提取水印信息,如果數(shù)據(jù)包大量丟失,就很難從中恢復(fù)出正確的信息.基于IPD的隱蔽通道依賴相鄰數(shù)據(jù)包的到達(dá)時(shí)間差,數(shù)據(jù)包的丟失使得原本不相鄰的數(shù)據(jù)包變成了相鄰數(shù)據(jù)包,提取出的IPD值可能為原來多個(gè)IPD值的和.2)雖然通過數(shù)據(jù)組的方式增加了單個(gè)水印位的容錯(cuò)率,隨著丟失的數(shù)據(jù)包數(shù)量的積累,復(fù)合窗口的選取誤差越來越大,讀取水印信息的窗口與嵌入水印信息的窗口發(fā)生了位移,導(dǎo)致水印信息無法提取恢復(fù).
Fig.11 Effect of packet loss on the detection rate of mixed channels圖11 丟包對(duì)混合通道檢測(cè)率的影響
3.2.2 基于混合時(shí)隙的水印方法
單個(gè)時(shí)間間隔內(nèi)的數(shù)據(jù)包數(shù)量對(duì)檢測(cè)率有很大的影響.設(shè)地基水印和內(nèi)部水印的長度都為48 b,其中特征水印序列32 b,校驗(yàn)位16 b,時(shí)間偏移o=20 000 ms,地基水印冗余度為3,地基水印和內(nèi)部水印的誤差閾值都為3.本文通過調(diào)整單個(gè)時(shí)間間隔內(nèi)的數(shù)據(jù)包數(shù)量,對(duì)網(wǎng)絡(luò)流進(jìn)行多次實(shí)驗(yàn),測(cè)試單個(gè)時(shí)間間隔內(nèi)的數(shù)據(jù)包數(shù)量對(duì)水印檢測(cè)率的影響.
由圖12可知,隨著單個(gè)時(shí)間間隔內(nèi)的數(shù)據(jù)包數(shù)量增加,2種水印的檢測(cè)率都在不斷提高.在時(shí)間間隔內(nèi)數(shù)據(jù)包數(shù)量較少時(shí),由于內(nèi)部水印需要對(duì)當(dāng)前間隔再次分割,使得小間隔中的數(shù)據(jù)包數(shù)量極其不穩(wěn)定,影響到內(nèi)部水印的嵌入.例如當(dāng)數(shù)據(jù)包數(shù)量為3時(shí),小間隔中可能會(huì)存在沒有數(shù)據(jù)包的情況,致使無法正確地嵌入內(nèi)部水印,因此相較于地基水印檢測(cè)率更低.但是隨著時(shí)間間隔內(nèi)數(shù)據(jù)包數(shù)量的增加,內(nèi)部水印的檢測(cè)率提升幅度比地基水印更快.當(dāng)單個(gè)時(shí)間間隔內(nèi)的數(shù)據(jù)包數(shù)量為12時(shí),在設(shè)定的誤差閾值下,內(nèi)部水印和地基水印都能夠達(dá)到95%的檢測(cè)率.
Fig.12 Effect of packet numbers in a time interval on the detection rate圖12 時(shí)間間隔數(shù)據(jù)包數(shù)量對(duì)檢測(cè)率的影響
為了驗(yàn)證延遲抖動(dòng)對(duì)檢測(cè)率的影響,使用了Linux操作系統(tǒng)中的流量控制器TC對(duì)發(fā)送的數(shù)據(jù)添加延遲.本次實(shí)驗(yàn),對(duì)比了不同的最大網(wǎng)絡(luò)延遲下ICBW方案及本文提出的MIBW方案針對(duì)原始特征水印序列和LDPC碼水印信息的檢測(cè)率.其中,特征水印序列都為16 b,水印信息都為24 b. ICBW方案的水印為地基水印和內(nèi)部水印的集合.時(shí)間偏移o=12 000 ms,冗余度r=6,時(shí)間間隔長度T=800 ms,時(shí)間間隔內(nèi)的平均數(shù)據(jù)包數(shù)量為12.7. ICBW方案的誤差閾值為6,地基水印和內(nèi)部水印的誤差閾值為3.
由圖13可知,隨著網(wǎng)絡(luò)延遲的增加,2種方案的檢測(cè)率都在不斷下降.通過比較圖13(a)和圖13(b)可得,使用LDPC碼水印能夠提升不同網(wǎng)絡(luò)延遲下的水印檢測(cè)率,尤其是對(duì)于低冗余度下的MIBW方案提升較大.其中,低延遲場景下的地基水印收益最為明顯,這是由于地基水印受到了內(nèi)部水印的限制,時(shí)間間隔重心的移動(dòng)范圍變小,導(dǎo)致地基水印在嵌入時(shí)就產(chǎn)生了錯(cuò)誤.實(shí)驗(yàn)表明通過增加冗余或使用LDPC碼水印,可以有效降低嵌入錯(cuò)誤的影響.當(dāng)延遲過高時(shí),水印的誤碼率也隨之提升,受到LDPC碼糾錯(cuò)能力的限制,檢測(cè)率的提升十分有限.在使用LDPC碼水印時(shí),內(nèi)部水印由于間隔長度遠(yuǎn)小于ICBW和地基水印,所以在低延遲下,檢測(cè)率相對(duì)較低.但在延遲較高的情況下,地基水印的表現(xiàn)反而不如內(nèi)部水印,除了因?yàn)榈鼗〉馁|(zhì)心移動(dòng)距離有限以外,時(shí)隙質(zhì)心特征序列受到網(wǎng)絡(luò)延遲的影響更大.所以,MIBW方案可以在損失有限檢測(cè)精度的條件下,實(shí)現(xiàn)更高帶寬的水印信息傳輸;在同樣的水印傳輸帶寬下,MIBW方案表現(xiàn)出了更好的檢測(cè)率.
Fig.13 Effect of delay on the detection rate圖13 網(wǎng)絡(luò)延遲對(duì)檢測(cè)率的影響
Fig.14 Effect of packet loss on the detection rate圖14 丟包率對(duì)檢測(cè)率的影響
為了測(cè)試丟包對(duì)檢測(cè)率的影響,使用了Linux操作系統(tǒng)中的流量控制器TC對(duì)發(fā)送的數(shù)據(jù)隨機(jī)丟包.由圖14可知,隨著丟包率的增加,2種方案的檢測(cè)率都在不斷下降.通過比較圖14(a)和圖14(b)可得,由于整體的檢測(cè)率較高,使用LDPC碼水印對(duì)于不同丟包率下的水印檢測(cè)率的提升幅度較為平均,但仍然對(duì)低冗余度下的地基水印提升較大.在相同的冗余度下,MIBW方案的檢測(cè)率略低于ICBW方案,但其嵌入水印的時(shí)間間隔數(shù)只有ICBW方案的一半,這表明MIBW方案能夠在較高的水印傳輸帶寬下保持穩(wěn)定的檢測(cè)率.在水印信息帶寬相同時(shí),MIBW方案由于冗余度的增加,表現(xiàn)出了更優(yōu)秀的檢測(cè)率.在低丟包率場景下,內(nèi)部水印相較于地基水印有更強(qiáng)的抗丟包干擾能力,這是由于內(nèi)部水印可以通過輔助間隔進(jìn)行二次判斷.當(dāng)丟包率較高時(shí),部分荷載水印序列的提取出現(xiàn)了誤差,致使內(nèi)部水印的檢測(cè)率有所下降.
3.3.1 基于混合隱蔽通道的水印方法
本節(jié)使用了基于孤立森林的水印信息檢測(cè)方法.孤立森林算法是一種常見的無監(jiān)督異常檢測(cè)算法,由于帶有水印信息的流量滿足2個(gè)異常數(shù)據(jù)所具有的特性:1)嵌入了水印信息的流量與原始流量不完全一致;2)該部分流量在整體流量中占比較小.所以本文將原始流量看作正常數(shù)據(jù),將帶有水印信息的流量看作異常數(shù)據(jù).與傳統(tǒng)的單一統(tǒng)計(jì)學(xué)檢測(cè)方法相比,孤立森林的準(zhǔn)確度更高.實(shí)驗(yàn)對(duì)比了使用混合隱蔽通道和使用單一通道的異常檢測(cè)情況.異常識(shí)別率表示被正確劃分為異常數(shù)據(jù)的樣本個(gè)數(shù)占隱蔽流量樣本總個(gè)數(shù)的比例,異常識(shí)別率越低,說明帶有水印信息的隱蔽流量越接近原始的流量,通道的隱蔽性越高.
由圖15可知,使用單一隱蔽通道傳輸水印信息時(shí),通信流類別字段和流標(biāo)簽字段可以被準(zhǔn)確識(shí)別,而對(duì)跳限制字段及IPD隱蔽通道的識(shí)別率則相對(duì)較低,證明后者的隱蔽性略強(qiáng)一些.在使用混合隱蔽通道傳輸水印信息后,不同隱蔽通道的異常識(shí)別率都有所下降,但通信流類別字段的異常識(shí)別率仍然居高不下,這是由于該字段的值存在高度集中性,少量水印信息的嵌入也會(huì)對(duì)通道造成較大的影響.同時(shí),高度集中的分布特性也造成了該字段的誤檢率非常高,即原始流量被錯(cuò)誤地識(shí)別為異常流量,這從另一方面彌補(bǔ)了一部分通道的隱蔽性缺失,因?yàn)楣粽吆茈y分辨這些異常數(shù)據(jù)中哪些是帶有水印信息的,哪些是原始流量,這也增加了對(duì)水印信息的識(shí)別及攻擊難度.
Fig.15 Accuracy of anomaly detection in the covert channel圖15 隱蔽通道異常檢測(cè)識(shí)別率
基于混合隱蔽通道的水印生成方法是基于IPv6流量特征的全局統(tǒng)計(jì)特性來設(shè)計(jì)的,所以進(jìn)行水印嵌入的數(shù)據(jù)包數(shù)量對(duì)實(shí)驗(yàn)結(jié)果有很大的影響.根據(jù)使用混合隱蔽通道和使用單一通道的異常檢測(cè)情況,動(dòng)態(tài)地調(diào)整不同隱蔽通道的使用比例,更多地使用異常識(shí)別率較低的跳限制字段和IPD來進(jìn)行水印信息的嵌入.雖然復(fù)合窗口的大小也會(huì)對(duì)實(shí)驗(yàn)結(jié)果產(chǎn)生影響,但異常檢測(cè)更關(guān)注的是比例而非具體的數(shù)值,所以本實(shí)驗(yàn)以水印嵌入度,即嵌入水印信息的數(shù)據(jù)包占總的數(shù)據(jù)包數(shù)量的比例為變量,測(cè)試不同情況下使用混合隱蔽通道的異常識(shí)別率.
由圖16可知,隨著水印嵌入度的降低,異常識(shí)別率也隨著降低,當(dāng)水印嵌入度降至0.1左右時(shí),異常識(shí)別率趨于穩(wěn)定.所以,可以將0.1作為水印嵌入度的閾值.同時(shí),實(shí)驗(yàn)也比較了不同數(shù)據(jù)組容量下的異常識(shí)別率,當(dāng)數(shù)據(jù)組容量增加時(shí),異常識(shí)別率有所下降,但其降幅不大,相較于嵌入水印所需的數(shù)據(jù)包數(shù)量的增量而言,收益不高,并且在保證較低異常識(shí)別率的前提下,隨著數(shù)據(jù)組容量的增加,水印信息的容量不斷被壓縮,水印傳輸?shù)聂敯粜砸矔?huì)受到影響.
Fig.16 Effect of watermarking embedding degree on abnormal recognition rate圖16 水印嵌入度對(duì)異常識(shí)別率的影響
3.3.2 基于混合時(shí)隙的水印方法
網(wǎng)絡(luò)流水印的隱蔽性主要是為了給水印信息提供安全保障,避免信息在網(wǎng)絡(luò)傳輸?shù)倪^程中被第三方識(shí)別或破壞.嵌入水印信息的網(wǎng)絡(luò)流與原始目標(biāo)流的相似程度決定了水印的隱蔽性.目前針對(duì)水印的檢測(cè)方法主要包括基于特征的測(cè)試和基于規(guī)律的測(cè)試.基于特征的測(cè)試主要使用如方差、均值、分布等一階的統(tǒng)計(jì)量.基于規(guī)律的測(cè)試通常使用多維的統(tǒng)計(jì)數(shù)據(jù),機(jī)器學(xué)習(xí)算法也開始被用于水印的發(fā)現(xiàn)和檢測(cè).本部分將通過2種基于特征的測(cè)試方法來檢驗(yàn)網(wǎng)絡(luò)流水印的隱蔽性:1)K-L測(cè)試,從相對(duì)熵的角度評(píng)判水印流和原始流之間的差異性;2)K-S測(cè)試,通過計(jì)算水印流和原始流之間的IPD的經(jīng)驗(yàn)累積分布函數(shù)的最大值,判斷水印的隱蔽性.
如圖17所示,當(dāng)觀察的時(shí)間間隔數(shù)量增多后,K-L散度值和K-S值都趨于穩(wěn)定,MIBW方案的K-L散度值穩(wěn)定在0.18左右,K-S值穩(wěn)定在0.1左右.雖然MIBW方案與IBW方案、ICBW方案都是基于時(shí)間間隔的方案,但是比起這2種方案,其隱蔽性會(huì)更優(yōu)一些.1)因?yàn)閮?nèi)部水印的嵌入對(duì)原有的間隔進(jìn)行了二次劃分,細(xì)化了時(shí)間間隔,這就意味著在水印嵌入時(shí)減少了人為添加的數(shù)據(jù)包延遲,K-L散度值會(huì)變??;2)由于地基水印間隔對(duì)的使用以及內(nèi)部水印位置的隨機(jī)性,降低了短時(shí)間內(nèi)無數(shù)據(jù)包到達(dá)間隔的出現(xiàn)幾率,使得K-S值有所下降;另外MIBW方案提高了水印信息傳輸?shù)膸?,這也意味著傳輸同樣長度的水印信息,需要依賴的時(shí)間間隔減少,對(duì)原始流量的影響也會(huì)減少.
Fig.17 Test on K-L and K-S圖17 K-L及K-S測(cè)試
針對(duì)基于時(shí)間間隔的水印方法,多流攻擊(MFA)能夠發(fā)現(xiàn)水印信息的存在,甚至能夠通過分析得到水印中的部分參數(shù),給水印的隱蔽性和安全性帶來極大的隱患.MFA測(cè)試依賴于收集多條帶有水印標(biāo)記的流,并將這些標(biāo)記流合并成一個(gè)單獨(dú)的流,通過檢查數(shù)據(jù)包之間的時(shí)間間隔來判斷水印是否存在.為了驗(yàn)證MIBW方案可以比較好地抵御多流攻擊,本文將其與另外2種基于時(shí)間間隔的方法進(jìn)行比較.在本次測(cè)試中,每條混合流包含5條單流,測(cè)試時(shí)長為10 s,其中IBW方案和ICBW方案嵌入的水印信息都為固定水印信息,其他的參數(shù)都保持一致.
如圖18所示,MIBW方案相較于IBW方案和ICBW方案并沒有出現(xiàn)明顯的數(shù)據(jù)包空窗區(qū),即沒有出現(xiàn)一定時(shí)間內(nèi)無數(shù)據(jù)包到達(dá)的情況,這證明了MIBW方案能夠有效地抵御多流攻擊.1)由于MIBW方案嵌入的水印信息并不是固定的二進(jìn)制序列,而是根據(jù)目標(biāo)流生成的特征水印序列,這樣可以保證在多條流中嵌入的水印信息不同.2)基于地基水印進(jìn)行內(nèi)部水印的二次嵌入,隨機(jī)化了內(nèi)部水印的嵌入位置,降低了水印的規(guī)律性.此外,時(shí)間間隔的二次劃分減少了人為添加的延遲量,能夠降低出現(xiàn)數(shù)據(jù)包空窗區(qū)的概率.
Fig.18 Packet distribution in the multi-stream attack圖18 多流攻擊數(shù)據(jù)包分布
IPv6協(xié)議作為未來的主流網(wǎng)絡(luò)層通信協(xié)議,近年來得到了廣泛地關(guān)注.本文對(duì)面向IPv6環(huán)境的水印生成技術(shù)進(jìn)行了重點(diǎn)研究,結(jié)合IPv6協(xié)議的報(bào)文標(biāo)準(zhǔn)及中間節(jié)點(diǎn)不分片的機(jī)制,基于目標(biāo)流關(guān)聯(lián)的特征水印序列,針對(duì)不同的網(wǎng)絡(luò)傳輸場景,制定了包依賴和時(shí)間依賴的水印嵌入方式,在保證一定準(zhǔn)確率的前提下,降低水印嵌入對(duì)原始流量的整體影響,提高水印的隱蔽性,為追蹤IPv6網(wǎng)絡(luò)空間威脅提供手段.
致謝本文由國家網(wǎng)絡(luò)空間國際治理研究基地(東南大學(xué))以及CERNET華東(北)地區(qū)網(wǎng)絡(luò)中心提供實(shí)驗(yàn)環(huán)境支撐.