亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種動(dòng)態(tài)多路徑冗余的網(wǎng)絡(luò)傳輸架構(gòu)的研究

        2019-04-15 06:54:58吳承榮
        關(guān)鍵詞:重傳數(shù)據(jù)文件多路徑

        周 荃 吳承榮

        (復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院 上海 200082)

        0 引 言

        傳統(tǒng)網(wǎng)絡(luò)架構(gòu)具有靜態(tài)性、被動(dòng)性和同構(gòu)性,而網(wǎng)絡(luò)空間的攻防博弈目前仍然屬于“攻強(qiáng)守弱”的現(xiàn)狀,隨著網(wǎng)絡(luò)空間防御理論和技術(shù)的發(fā)展,若干力圖“改變游戲規(guī)則”的主動(dòng)防御機(jī)制和研究被提出,如移動(dòng)目標(biāo)防御和擬態(tài)空間防御。

        1 研究背景

        移動(dòng)目標(biāo)防御技術(shù)[1]旨在通關(guān)過增加信息系統(tǒng)或網(wǎng)絡(luò)設(shè)備中內(nèi)在的動(dòng)態(tài)性、隨機(jī)性和主動(dòng)性以應(yīng)對外部攻擊,通過改變系統(tǒng)和網(wǎng)絡(luò)的靜態(tài)性、確定性和同構(gòu)性,試圖使攻擊方對目標(biāo)系統(tǒng)或網(wǎng)絡(luò)的認(rèn)知優(yōu)勢或掌握的可利用資源在時(shí)間和空間上無法持續(xù)有效,從而顯著增加攻擊成本。

        移動(dòng)目標(biāo)防御技術(shù)可落在網(wǎng)絡(luò)、平臺、運(yùn)行環(huán)境、軟件和數(shù)據(jù)等多個(gè)層面,具體技術(shù)包括地址跳變、端口跳變、動(dòng)態(tài)路由和IP地址安全協(xié)議信道、網(wǎng)絡(luò)和主機(jī)身份隨機(jī)化、執(zhí)行代碼的隨機(jī)化、地址空間隨機(jī)化、指令集和隨機(jī)化、數(shù)據(jù)存儲形式的隨機(jī)化等。其中動(dòng)態(tài)網(wǎng)絡(luò)的基本思路也是通過動(dòng)態(tài)的修改網(wǎng)絡(luò)屬性來增加攻擊者的成本。在網(wǎng)絡(luò)中,攻擊者通過偵察獲得網(wǎng)絡(luò)的相關(guān)屬性,例如網(wǎng)絡(luò)地址、端口號、協(xié)議和邏輯拓?fù)涞?,進(jìn)而發(fā)動(dòng)網(wǎng)絡(luò)攻擊。增加目標(biāo)對象的認(rèn)知難度,不斷地改變網(wǎng)絡(luò)的屬性,阻止或干擾攻擊者的偵察和攻擊行為,防止其挖掘目標(biāo)對象漏洞。

        近年來,由中國學(xué)者提出的擬態(tài)空間防御[2]中,通過為系統(tǒng)添加動(dòng)態(tài)、異構(gòu)、冗余等特性來提升安全性和可靠性,利用系統(tǒng)的并聯(lián)模型,使用多個(gè)功能等價(jià)的異構(gòu)執(zhí)行體,并配套冗余邏輯協(xié)調(diào)多個(gè)執(zhí)行體同步運(yùn)行,最終利用多模裁決機(jī)制對所有輸出向量進(jìn)行驗(yàn)證。清洗、重啟或重構(gòu)異常執(zhí)行體,甚至重建并行執(zhí)行體組合。擬態(tài)空間防御試圖實(shí)現(xiàn)基于負(fù)反饋的網(wǎng)絡(luò)安全態(tài)勢感知和主動(dòng)防御機(jī)制,提升系統(tǒng)的容錯(cuò)和容侵能力,提高系統(tǒng)的可用性和魯棒性。

        在分布式存儲系統(tǒng)中,為應(yīng)對意外錯(cuò)誤和保障數(shù)據(jù)完整性,采用數(shù)據(jù)冗余編碼技術(shù)對數(shù)據(jù)文件進(jìn)行存儲。分布式存儲中通過引入糾刪碼[3]來實(shí)現(xiàn)最小化存儲開銷。糾刪碼是一種向前糾錯(cuò)技術(shù)[4],其基本思想是將k塊原始的數(shù)據(jù)塊經(jīng)過編碼處理,得到m塊冗余元素(校驗(yàn)塊)。對于這k+m塊的數(shù)據(jù)元素,當(dāng)其中任意的m塊元素出錯(cuò)時(shí),均可以通過重構(gòu)算法恢復(fù)出k塊原始數(shù)據(jù),這種特性的糾刪碼也被稱為最大距離可分碼[5]。糾刪碼主要應(yīng)用于存儲系統(tǒng)中用以提高存儲可靠性。

        2 國內(nèi)外研究現(xiàn)狀

        在網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)陌踩矫?,現(xiàn)有的研究工作主要集中在地址跳變、端口跳變、網(wǎng)絡(luò)資源標(biāo)識隨機(jī)化等領(lǐng)域。

        在網(wǎng)絡(luò)數(shù)據(jù)傳輸安全方面,現(xiàn)有的研究工作主要集中在地址跳變、端口跳變、資源標(biāo)識隨機(jī)化等方面。在文獻(xiàn)中已經(jīng)提出了一些動(dòng)態(tài)改變IP地址用于主動(dòng)網(wǎng)絡(luò)空間防御的研究。文獻(xiàn)[6]提出了APOD(Application That Participate in Their Own Defense)方案,使用基于地址和端口隨機(jī)化的跳躍隧道來對網(wǎng)絡(luò)嗅探者進(jìn)行身份偽裝。文獻(xiàn)[7]提出了一種網(wǎng)絡(luò)地址空間隨機(jī)化方案,稱為NASR(Network Address Space Randomization),提供了一種可以抵御蠕蟲的IP跳變方法。DyNAT[8]提出了一種透明的IP地址跳變方法,通過在分組進(jìn)入核心或公共網(wǎng)絡(luò)之前變化IP地址,以便隱藏IP地址從而免中間人嗅探攻擊。文獻(xiàn)[9]提出了一種在不可信網(wǎng)絡(luò)中增強(qiáng)通信數(shù)據(jù)保護(hù)的新機(jī)制。該方法基于網(wǎng)絡(luò)地址跳變的原理,從而在多個(gè)端到端連接上傳播數(shù)據(jù)流。

        其他論文提出了如何提供一定的安全能力的各種MTD研究。文獻(xiàn)[10]開發(fā)了OpenFlow隨機(jī)主機(jī)突變(OF-RHM)方案,該方案使用OpenFlow協(xié)議的SDN控制器向主機(jī)高效地分配不同的地址并防止掃描。文獻(xiàn)[11]在評估系統(tǒng)的安全狀態(tài)后,嘗試量化系統(tǒng)中MTD策略的有效性,并基于降低開銷和成本優(yōu)化MTD策略。這些策略包括內(nèi)存隨機(jī)化、IP地址隨機(jī)化,以及為協(xié)議應(yīng)用一種新的具有隨機(jī)的附加狀態(tài)的狀態(tài)機(jī),如DHCP協(xié)議。文獻(xiàn)[12]引入了隨機(jī)路由突變(RRM)的概念,定義了可以實(shí)現(xiàn)源和目標(biāo)之間的最優(yōu)路徑隨機(jī)化的算法。文獻(xiàn)[13]運(yùn)用博弈論對敵方行為進(jìn)行建模,并優(yōu)化MTD效果。然后應(yīng)用到應(yīng)對DoS攻擊和垃圾郵件中。最近,文獻(xiàn)[14]提出了一種P2P(Peer-to-Peer)匿名文件共享,通過隱藏用戶的真實(shí)身份,可以在用戶和外部世界之間路由信息。文獻(xiàn)[15]利用傳統(tǒng)的TCP協(xié)議提出了一種TCP流分割移動(dòng)目標(biāo)防御方案,并在應(yīng)用層設(shè)計(jì)了一個(gè)流分割移動(dòng)目標(biāo)防御機(jī)制,使網(wǎng)絡(luò)系統(tǒng)對攻擊者來說是變化的、不確定的。

        3 系統(tǒng)設(shè)計(jì)

        結(jié)合上述技術(shù)的思想,本文提出了一種動(dòng)態(tài)冗余多路徑的網(wǎng)絡(luò)傳輸架構(gòu),一種基于態(tài)勢感知的移動(dòng)目標(biāo)防御理念的網(wǎng)絡(luò)傳輸機(jī)制。將RS碼(Reed-solomon codes)的特點(diǎn)并應(yīng)用于傳輸數(shù)據(jù)文件,將原始文件劃分為k個(gè)數(shù)據(jù)塊,對其進(jìn)行編碼處理產(chǎn)生m個(gè)冗余編碼塊??傆?jì)k+m個(gè)文件塊由多個(gè)獨(dú)立的數(shù)據(jù)連接傳輸,在接收端對原始數(shù)據(jù)文件進(jìn)行解碼和恢復(fù)。若出現(xiàn)小于m個(gè)數(shù)據(jù)連接出現(xiàn)異常,接收端仍然可以根據(jù)剩余的文件塊還原原始數(shù)據(jù)文件,同時(shí)根據(jù)各數(shù)據(jù)流的傳輸狀態(tài)來評估當(dāng)前網(wǎng)絡(luò)安全狀況,并將結(jié)果發(fā)送給連接控制器,通過IP地址跳變和服務(wù)端口跳變等移動(dòng)目標(biāo)防御技術(shù),重構(gòu)異常的數(shù)據(jù)流。若出現(xiàn)大于m個(gè)數(shù)據(jù)流異常,導(dǎo)致數(shù)據(jù)文件傳輸失敗,傳輸架構(gòu)則根據(jù)網(wǎng)絡(luò)安全態(tài)勢重新選擇參數(shù),并發(fā)起重傳。

        動(dòng)態(tài)冗余多路徑傳輸架構(gòu)用于防止數(shù)據(jù)文件在傳輸過程中被惡意阻斷、干擾甚至被篡改,它具備基于哈希值驗(yàn)證內(nèi)容和數(shù)據(jù)流狀態(tài)監(jiān)測的反饋機(jī)制,能夠感知當(dāng)前的網(wǎng)絡(luò)安全態(tài)勢,在必要的時(shí)候,主動(dòng)地改變可能被攻擊者偵察到的數(shù)據(jù)流。該傳輸架構(gòu)的結(jié)構(gòu)如圖1所示。

        圖1 動(dòng)態(tài)冗余多路徑傳輸架構(gòu)

        3.1 威脅模型

        在我們的威脅模型中,假設(shè)攻擊者是架設(shè)在公共網(wǎng)絡(luò)中竊聽者,可以定位和截獲當(dāng)前網(wǎng)絡(luò)中的多個(gè)數(shù)據(jù)流,但是持有有限的攻擊和緩存資源。而通信雙方使用動(dòng)態(tài)多路徑冗余傳輸架構(gòu)傳輸數(shù)據(jù)文件D,所以攻擊者的主要目標(biāo)是最大限度地監(jiān)聽和收集信息,并且盡可能地識別來自本傳輸架構(gòu)的數(shù)據(jù)流,從而實(shí)施干擾和攻擊。攻擊者的最終目標(biāo)是精確性阻斷數(shù)據(jù)文件D的傳輸。由于傳輸架構(gòu)所使用的移動(dòng)目標(biāo)防御技術(shù)能夠很好地隱藏IP地址、端口號等服務(wù)入口信息,因此我們假定攻擊者只能使用隨機(jī)截獲-全部干擾的攻擊方法作為初始策略并發(fā)起攻擊。

        與之對應(yīng),本架構(gòu)的防御模型著重于避免足夠數(shù)量的數(shù)據(jù)流被截獲并被識別,保證文件的傳輸成功率和數(shù)據(jù)完整性。防御模型試圖使攻擊者僅能夠?qū)崿F(xiàn)對數(shù)據(jù)文件的概率性阻斷。此外,由于數(shù)據(jù)冗余機(jī)制的存在,盡管當(dāng)攻擊者阻塞或干擾了有限數(shù)量的數(shù)據(jù)流時(shí),接收方也可以完全恢復(fù)數(shù)據(jù)文件。它給網(wǎng)絡(luò)提供了一定的容錯(cuò)和容侵能力。我們還假設(shè)動(dòng)態(tài)多路徑冗余傳輸?shù)募夹g(shù)原理對于攻擊者是已知的,只是傳輸控制的具體參數(shù)對于攻擊者而言是未知的。

        在公共網(wǎng)絡(luò)中,我們考慮采用基于HTTP協(xié)議的應(yīng)用層來實(shí)現(xiàn)動(dòng)態(tài)多路徑冗余傳輸。如圖2所示,傳輸雙方通過瀏覽器代理和服務(wù)器代理來處理傳輸細(xì)節(jié),包括數(shù)據(jù)塊分割、冗余編碼塊的生成、多地址映射、多TCP鏈路的建立和管理、以及后續(xù)的傳輸控制等。因此,體系結(jié)構(gòu)在HTTP應(yīng)用層的實(shí)現(xiàn),能做到主機(jī)層面的透明化。此外,當(dāng)傳輸文件較大時(shí),服務(wù)器代理首先將文件分割成多個(gè)小文件,然后獨(dú)立地傳輸每個(gè)小文件。由于多個(gè)小文件的傳輸采用相同的方式,并且彼此獨(dú)立,因此在本文的工作中,我們只考慮一個(gè)小數(shù)據(jù)文件的傳輸。

        圖2 威脅模型

        3.2 系統(tǒng)結(jié)構(gòu)

        動(dòng)態(tài)多路徑冗余傳輸提供了實(shí)現(xiàn)多路徑冗余MTD技術(shù)方案的框架,同時(shí)確保所實(shí)現(xiàn)的解決方案與總體安全策略保持一致。它是一個(gè)面向HTTP應(yīng)用的數(shù)據(jù)文件安全可靠傳輸?shù)捏w系架構(gòu)。并且它遵循對主機(jī)和路由設(shè)備透明的設(shè)計(jì)原則,通過瀏覽器代理和服務(wù)器代理執(zhí)行一系列操作。

        如圖3所示,系統(tǒng)架構(gòu)主要由瀏覽器部分和服務(wù)器部分組成。該體系結(jié)構(gòu)中使用的通信代理在數(shù)據(jù)文件傳輸中增加了冗余性、動(dòng)態(tài)性、多樣性和隨機(jī)性,瀏覽器代理和服務(wù)器代理成對出現(xiàn),共同協(xié)作實(shí)現(xiàn)網(wǎng)絡(luò)傳輸?shù)闹鲃?dòng)防御功能。

        圖3 動(dòng)態(tài)多路徑冗余傳輸?shù)南到y(tǒng)架構(gòu)

        瀏覽器代理在瀏覽器的主機(jī)上運(yùn)行,包含響應(yīng)處理器、解碼控制器、連接控制器和瀏覽器端多數(shù)據(jù)流集。

        響應(yīng)處理器負(fù)責(zé)接收來自瀏覽器的HTTP請求,并在HTTP請求中變遷瀏覽器主機(jī)IP地址,然后將請求發(fā)送給服務(wù)器代理。此外,響應(yīng)處理器還負(fù)責(zé)從服務(wù)器代理中的請求處理器接收來自Web服務(wù)器的HTTP響應(yīng)。

        瀏覽器代理中的連接控制器負(fù)責(zé)從本次配置文件讀取傳輸參數(shù),包括冗余度參數(shù)ρ和數(shù)據(jù)流總數(shù)n,并與服務(wù)器代理中的連接控制器建立控制連接,用以進(jìn)行傳輸參數(shù)的協(xié)商和同步。通過控制連接可實(shí)現(xiàn)瀏覽器代理與服務(wù)器代理之間建立n個(gè)數(shù)據(jù)連接。連接控制器還負(fù)責(zé)傳輸結(jié)束后評估每個(gè)數(shù)據(jù)流的安全狀態(tài),在需要時(shí)使用控制連接與服務(wù)器代理協(xié)商重構(gòu)錯(cuò)誤的數(shù)據(jù)流或發(fā)起重傳請求。

        解碼控制器負(fù)責(zé)根據(jù)解碼規(guī)則還原數(shù)據(jù)文件,并進(jìn)行內(nèi)容哈希值驗(yàn)證以檢測數(shù)據(jù)完整性,統(tǒng)計(jì)數(shù)據(jù)流是否丟失并檢測數(shù)據(jù)是否被篡改。如果數(shù)據(jù)文件被正確還原,則將文件發(fā)送到瀏覽器,如果數(shù)據(jù)文件不能正確還原,則通知瀏覽器代理中的連接控制器。

        服務(wù)器代理作為傳輸?shù)牧硪欢?,由請求處理器、編碼控制器、連接控制器和服務(wù)器端多路徑數(shù)據(jù)流集組成。

        請求處理器負(fù)責(zé)將HTTP請求傳送至服務(wù)器,將數(shù)據(jù)文件發(fā)送給編碼控制器并將HTTP響應(yīng)發(fā)送給瀏覽器代理。

        編碼控制器從連接控制器獲得傳輸參數(shù)ρ和n,計(jì)算編碼所需參數(shù),將傳輸數(shù)據(jù)文件切分成數(shù)據(jù)塊,并使用RS冗余編碼技術(shù)生成編碼塊,將所有的數(shù)據(jù)塊和編碼塊分發(fā)給多個(gè)數(shù)據(jù)連接。

        服務(wù)器代理中的連接控制器從控制連接中獲得傳輸參數(shù)ρ和n,然后與瀏覽器代理建立多個(gè)數(shù)據(jù)連接。此外,連接控制器負(fù)責(zé)調(diào)度多個(gè)數(shù)據(jù)流并在需要時(shí)執(zhí)行MTD動(dòng)作,即重建連接、跳變IP地址或重新啟動(dòng)新的數(shù)據(jù)流。在數(shù)據(jù)文件傳輸失敗的情況下,與瀏覽器代理中的連接控制器協(xié)同進(jìn)行重傳。

        3.3 技術(shù)細(xì)節(jié)

        完成一次數(shù)據(jù)文件傳輸和控制的整個(gè)過程如下:

        1) 瀏覽器代理具有IP地址池P,Web服務(wù)器代理具有的IP地址池P′。IP地址池可以根據(jù)需要更新和清洗,所以我們不考慮在IP地址池的變化。

        2) HTTP請求并建立控制連接。瀏覽器通過DNS服務(wù)器獲取Web服務(wù)器的IP地址,并向Web服務(wù)器發(fā)送一個(gè)常規(guī)的HTTP請求。當(dāng)請求通過瀏覽器代理時(shí),響應(yīng)處理器將瀏覽器的IP地址進(jìn)行跳變以隱藏主機(jī)的身份,通過服務(wù)器代理中的請求處理器將HTTP請求發(fā)送到Web服務(wù)器,并使用虛擬IP與服務(wù)器代理及建立一個(gè)控制連接。

        3) 同步協(xié)商參數(shù)。服務(wù)器代理與瀏覽器代理使用控制連接傳遞傳輸所需的參數(shù),在服務(wù)器代理的編碼控制器中根據(jù)式(1)、式(2)計(jì)算k和m的值。

        (1)

        m=n-k

        (2)

        4) HTTP響應(yīng)與數(shù)據(jù)文件。Web服務(wù)器將HTTP響應(yīng)和數(shù)據(jù)文件發(fā)送給請求處理器。后續(xù)的所有操作將由服務(wù)器代理完成。請求處理器將數(shù)據(jù)文件發(fā)送到編碼控制器,并將HTTP響應(yīng)發(fā)送到瀏覽器代理中的響應(yīng)處理器。

        5) 建立多個(gè)數(shù)據(jù)連接。前面已經(jīng)提到,在本文中,動(dòng)態(tài)多路徑冗余傳輸采用了控制-傳輸分離的理念,即使用獨(dú)立的控制連接來協(xié)商參數(shù)和傳遞控制信息(如服務(wù)器代理的虛擬IP等),并以此建立多個(gè)數(shù)據(jù)連接用于傳輸。當(dāng)讀取到傳輸參數(shù)n后,瀏覽器代理的連接控制器從IP池申請n個(gè)新的IP:Port元組,分別與服務(wù)器代理的虛擬IP建立TCP連接,并以此基礎(chǔ)上進(jìn)行HTTP傳輸。

        6) 數(shù)據(jù)文件編碼。原數(shù)據(jù)文件被平均切分成k個(gè)數(shù)據(jù)塊,然后使用RS碼計(jì)算生成m個(gè)編碼塊。輸入數(shù)據(jù)被視為向量D=(D1,D2,…,Dk),編碼數(shù)據(jù)被視為向量(D1,D2,…,Dk,C1,C2,…,Cm),RS編碼如圖4所示,左側(cè)是編碼矩陣,上部分是k階單位矩陣,下部分是m行k行范德蒙德矩陣。

        圖4 RS編碼過程

        7) 在所有數(shù)據(jù)塊和編碼塊中插入哈希值。請求處理器會計(jì)算數(shù)據(jù)文件內(nèi)容的哈希值,并放置在每個(gè)數(shù)據(jù)塊和編碼塊的HTTP響應(yīng)頭的ETag字段中。

        8) 傳輸所有文件塊。

        9) 在瀏覽器代理上,我們在本地維護(hù)了一個(gè)映射表,用于存儲每個(gè)數(shù)據(jù)流的當(dāng)前IP地址和對應(yīng)于每個(gè)連接的文件塊的序列號。此外,我們?yōu)閿?shù)據(jù)流定義了三種傳輸狀態(tài),即安全的(Secure)、丟失的(Lost)和被篡改的(Tampered)。在傳輸結(jié)束后,每個(gè)連接的安全狀態(tài)在映射表中被標(biāo)記,如表1所示。同樣,在服務(wù)器代理上,我們也維護(hù)了一個(gè)映射表,用于存儲IP地址和文件塊編號,以及每條數(shù)據(jù)流是否需要重建(Rebuild),如表2所示。

        表1 瀏覽器代理映射表

        表2 服務(wù)器代理映射表

        10) 瀏覽器代理緩存n個(gè)連接中的所有文件塊,讀取HTTP頭部和內(nèi)容,根據(jù)接收到的塊數(shù),判斷是否有數(shù)據(jù)塊丟失。瀏覽器代理保存所有的頭部哈希值??紤]到可能的篡改攻擊,我們?nèi)萑滩灰恢鹿V档拇嬖凇?/p>

        11) 當(dāng)沒有文件塊丟失時(shí),瀏覽器代理直接基于向量D=(D1,D2,…,Dk)還原數(shù)據(jù)文件,并跳到步驟13。否則,當(dāng)傳輸過程中丟失數(shù)據(jù)塊或編碼塊時(shí),我們大概率出現(xiàn)數(shù)據(jù)流被惡意阻斷,此時(shí)瀏覽器代理中的連接控制器標(biāo)記數(shù)據(jù)流的狀態(tài)為丟失,并統(tǒng)計(jì)缺失文件塊的數(shù)量,標(biāo)記為參數(shù)m′。當(dāng)滿足關(guān)系m′≤m時(shí),跳到步驟12。否則跳轉(zhuǎn)到2.4節(jié),我們將在2.4節(jié)中討論重傳。

        12) 數(shù)據(jù)文件解碼。解碼處理器隨機(jī)選擇k個(gè)未丟失的文件塊,依次遍歷編碼矩陣的前n行,取出與選擇塊序號相對應(yīng)k行,生成k×k的矩陣B′,并計(jì)算矩陣B大的逆矩陣B′-1。使用矩陣B′-1與k個(gè)選擇塊進(jìn)行矩陣乘法運(yùn)算,其結(jié)果就是原始數(shù)據(jù)塊的矩陣。圖5展示了參數(shù)n=8和ρ=1.6的解碼的例子。

        DBt-1Survivors

        B′DSurvivors

        圖5 RS解碼過程示例

        13) 數(shù)據(jù)完整性驗(yàn)證。瀏覽器代理將使用相同的單向函數(shù)來計(jì)算數(shù)據(jù)文件內(nèi)容的哈希值,并與收到的文件塊頭部中的哈希值進(jìn)行匹配。如果存在正確匹配的哈希值,則說明數(shù)據(jù)文件被成功傳輸,瀏覽器代理將文件發(fā)送到瀏覽器,并跳轉(zhuǎn)到第14步。如果沒有正確的哈希值匹配,那么此時(shí)有兩種可能的情況:一是所有的文件快頭部的哈希值均被篡改;二是存在數(shù)據(jù)塊或用于解碼的文件塊的內(nèi)容被篡改,導(dǎo)致最終還原的數(shù)據(jù)文件的哈希值與頭部哈希值不一致。在這兩種情況下,由于所有文件塊使用不同的數(shù)據(jù)流進(jìn)行傳輸,協(xié)同的篡改所有數(shù)據(jù)流的難度明顯高于篡改任意一個(gè)或若干個(gè)數(shù)據(jù)流,因此我們認(rèn)為第二種情況的概率比第一種情況大得多。此時(shí),解碼處理器將設(shè)置計(jì)數(shù)器i,重新選擇k個(gè)數(shù)據(jù)流的文件塊進(jìn)行重解碼,并重新進(jìn)行哈希值匹配。當(dāng)解碼循環(huán)的次數(shù)大于i時(shí)仍然無法正確還原數(shù)據(jù)文件,則跳出解碼循環(huán),并通知連接控制器請求重傳。

        14) 重建錯(cuò)誤數(shù)據(jù)流。當(dāng)文件被成功還原并傳輸?shù)綖g覽器后,如果存在與狀態(tài)標(biāo)記為丟失或篡改的數(shù)據(jù)連接,我們將使用控制連接重新構(gòu)建傳輸連接的數(shù)據(jù)流。重建數(shù)據(jù)流由瀏覽器代理端的連接控制器發(fā)起,首先根據(jù)映射表找到待重建連接的服務(wù)端IP,通知服務(wù)器代理進(jìn)行地址跳變并將最新的虛擬IP地址發(fā)送給瀏覽器代理。隨后瀏覽器代理起用一個(gè)新的虛擬IP地址與之建立新的傳輸數(shù)據(jù)連接。

        3.4 請求重傳

        當(dāng)數(shù)據(jù)文件的傳輸過程中,出現(xiàn)大于m個(gè)數(shù)據(jù)流異常、或經(jīng)過多次重解碼操作,仍然無法正確匹配哈希值,此時(shí),由瀏覽器代理的連接控制器向服務(wù)器代理發(fā)起重傳請求。

        在重傳中,由瀏覽器代理調(diào)整傳輸參數(shù)并告知服務(wù)器代理,并以此重新建立數(shù)據(jù)連接。服務(wù)器代理則根據(jù)新選擇的編碼參數(shù)對數(shù)據(jù)文件進(jìn)行重新分塊和編碼,隨后重復(fù)2.3節(jié)中的步驟7-14。值得一提的是,由于主機(jī)透明的設(shè)計(jì)原則,整個(gè)重傳過程對于服務(wù)器和瀏覽器而言是未知的。

        在重傳過程中的參數(shù)選擇方面,如果僅增加m的值且保持k值不變,與先前的傳輸過程相比,則需要更多的編碼塊來滿足冗余度的提升,這將帶來更大的編碼復(fù)雜度,但是它不會帶來額外的解碼成本。此外,需要建立更多的數(shù)據(jù)連接。相反,如果只增加k值而保持m的值不改變,則冗余度降低,與上一次傳輸相比,重傳將帶來更多的建立連接的開銷,并且將帶來更多的解碼復(fù)雜度,而不會顯著影響編碼復(fù)雜度。綜上所述,當(dāng)重傳時(shí),同時(shí)增加k和m的值,將帶來更大的編碼和解碼復(fù)雜度,以及建立更多連接所需的更大開銷。

        4 理論分析

        我們將從兩個(gè)方向?qū)?dòng)態(tài)多路徑冗余傳輸架構(gòu)的安全性進(jìn)行理論分析。首先,我們討論了攻擊者可能的攻擊模式,分析攻擊策略和預(yù)期收益,并給出相應(yīng)的概率表達(dá)式。其次,作為防御方,傳輸架構(gòu)會根據(jù)所有連接的狀態(tài)對攻擊者的行為進(jìn)行判斷,及時(shí)使用MTD策略以應(yīng)對潛在威脅,若遇到傳輸失敗的情況,選擇參數(shù)調(diào)整的方向進(jìn)行重傳。

        由于移動(dòng)目標(biāo)防御技術(shù),即地址-端口號跳變技術(shù)的使用,能夠有效保證傳輸架構(gòu)的服務(wù)入口等基本信息對于攻擊者而言是未知而隨機(jī)變化的。因此在理論上,使用動(dòng)態(tài)多路徑冗余傳輸,能夠有效防御傳統(tǒng)的惡意嗅探、竊聽、中間人攻擊和重放攻擊,因?yàn)檫@些攻擊行為都是基于掃描攻擊而發(fā)起的。

        在威脅模型中,我們假設(shè)攻擊者持有緩存資源有限,試圖攔截甚至識別屬于本傳輸架構(gòu)的數(shù)據(jù)流,并實(shí)施干擾,例如篡改或阻塞。攻擊者的最終目標(biāo)是準(zhǔn)確地阻斷數(shù)據(jù)文件的傳輸。因此,對于數(shù)據(jù)傳輸過程,攻擊者可以采取以下攻擊模式:1) 阻斷模式,丟棄傳輸文件塊以阻斷數(shù)據(jù)流;2) 頭部篡改模式,篡改數(shù)據(jù)流文件塊的頭部哈希值;3) 內(nèi)容篡改模式,篡改文件塊的數(shù)據(jù)內(nèi)容;4) 組合攻擊模式。在威脅模型中,我們假設(shè)攻擊者在攻擊的初始階段只能使用隨機(jī)截獲-全部干擾的攻擊策略。

        接下來,我們將分析在傳輸過程的幾種可能的攻擊模式和防御策略。

        4.1 阻斷攻擊模式

        在這種攻擊模式下,攻擊者將使用所有資源截獲網(wǎng)絡(luò)中的數(shù)據(jù)流,并直接丟棄所有數(shù)據(jù)包。這種攻擊成本最低,但預(yù)期收益最小。假設(shè)當(dāng)前時(shí)間網(wǎng)絡(luò)中的數(shù)據(jù)流的總數(shù)是N,攻擊者每次可以截獲的數(shù)據(jù)流的數(shù)量是M,那么其中包括x條來自本傳輸架構(gòu)的概率為:

        (3)

        當(dāng)x=m+1時(shí),攻擊者便可以成功阻斷本次數(shù)據(jù)文件的傳輸,此時(shí)的概率表達(dá)式為:

        (4)

        另一方面,瀏覽器代理會發(fā)現(xiàn)數(shù)據(jù)流的文件塊丟失,如果不影響原始數(shù)據(jù)文件的恢復(fù),則在解碼操作后對流失文件塊的數(shù)據(jù)流進(jìn)行重建。如果數(shù)據(jù)流被阻斷的數(shù)量大于m,無法恢復(fù)數(shù)據(jù)文件,則啟動(dòng)重傳機(jī)制。

        在這種情況下,當(dāng)執(zhí)行重傳時(shí),瀏覽器代理將增加數(shù)據(jù)塊k的數(shù)量,保持編碼塊m的數(shù)量不變,并重新計(jì)算n和ρ的值。重傳時(shí)便可以在保持編碼復(fù)雜度不變的前提下,為傳輸提供更多的數(shù)據(jù)流數(shù)量,提高傳輸成功率。

        4.2 頭部篡改模式

        在這種攻擊模式下,攻擊者通過篡改截獲到的所有數(shù)據(jù)流中文件塊頭部中的ETag字段的值,試圖協(xié)同地篡改數(shù)據(jù)文件的哈希值,導(dǎo)致瀏覽器代理出現(xiàn)哈希值匹配錯(cuò)誤,然后進(jìn)入解碼循環(huán),最終導(dǎo)致文件重傳。

        由于動(dòng)態(tài)多路徑冗余傳輸架構(gòu)的特性,在這種攻擊模式下,若攻擊者試圖迫使瀏覽器代理發(fā)起重傳則必然同時(shí)截獲到瀏覽器代理與服務(wù)器代理間的所有數(shù)據(jù)流,并實(shí)施協(xié)同一致的篡改。假設(shè)當(dāng)前時(shí)間網(wǎng)絡(luò)中的數(shù)據(jù)流的總數(shù)是N,攻擊者每次可以篡改文件塊頭部的數(shù)據(jù)流數(shù)量是N′,那么攻擊成功的概率可表達(dá)為:

        (5)

        首先,對于攻擊者來說,相對于丟棄和阻斷數(shù)據(jù)流,篡改HTTP響應(yīng)頭部字段的成本較高,因?yàn)镋Tag字段在響應(yīng)報(bào)頭中的作用只是控制緩存資源,不一定是響應(yīng)主體的哈希值,所以這個(gè)字段的內(nèi)容不具備較高的辨識度。其次,在攻擊者在這種模式下所能獲得的預(yù)期收益最小,成功觸發(fā)重傳的概率遠(yuǎn)低于阻斷攻擊模式。因此,對于任何理性攻擊者而言,我們認(rèn)為這種攻擊模式不被使用。

        4.3 內(nèi)容篡改模式

        在分布式存儲系統(tǒng)中,由于糾刪碼不具備容忍數(shù)據(jù)被惡意篡改的能力,因此在本文的動(dòng)態(tài)多路徑冗余傳輸體系結(jié)構(gòu)中,篡改數(shù)據(jù)流中的HTTP響應(yīng)體的內(nèi)容是可行的攻擊方法。

        在這種攻擊模式下,攻擊者主要關(guān)注篡改數(shù)據(jù)內(nèi)容,若該數(shù)據(jù)流中的文件塊被解碼控制器用于還原數(shù)據(jù)文件。將導(dǎo)致發(fā)生哈希值匹配錯(cuò)誤,并迫瀏覽器代理進(jìn)入解碼循環(huán),直到最后觸發(fā)重傳機(jī)制。

        根據(jù)式(3),假設(shè)攻擊者每次可以篡改內(nèi)容的數(shù)據(jù)流的總數(shù)是M′, 那么其中包括x條來自本傳輸架構(gòu)的概率為:

        (6)

        根據(jù)式(6),當(dāng)傳輸雙方之間被篡改的數(shù)據(jù)流數(shù)量為x,且存在篡改后的數(shù)據(jù)流中的文件塊被用于解碼操作的情況下,將會觸發(fā)解碼控制器的重解碼操作,此時(shí)的概率可表示為:

        P(R-DECODE-T)x=

        (7)

        若不考慮解碼循環(huán)的次數(shù)限制i,理論上攻擊者通過這種攻擊模式迫使瀏覽器代理觸發(fā)重傳的概率為:

        P(R-TRANS-T)x≥m≤

        (8)

        在重傳時(shí),瀏覽器代理會提高m的值以增加編碼塊的數(shù)量,并保持k值不變,計(jì)算新的傳輸參數(shù)。相對于上一次傳輸,通過提高冗余度來提高傳輸成功率,且維持解碼復(fù)雜度保持不變,有利于解碼循環(huán)操作,提升傳輸效率。

        4.4 組合攻擊模式

        若攻擊者投入一部分資源來阻斷數(shù)據(jù)流,并使用另一部分資源篡改數(shù)據(jù)流的內(nèi)容。那么在瀏覽器代理上,由于存在數(shù)據(jù)流丟失,因此必須使用解碼操作來還原數(shù)據(jù)文件。另外,由于某些數(shù)據(jù)流的文件塊內(nèi)容被篡改,且被用于解碼,便會觸發(fā)哈希值匹配錯(cuò)誤,從而強(qiáng)制解碼循環(huán)甚至觸發(fā)重傳。當(dāng)攻擊者無法得知傳輸架構(gòu)的IP地址和端口等服務(wù)入口信息時(shí),這種攻擊模式能夠最大化地干擾數(shù)據(jù)文件的傳輸。

        我們假設(shè)攻擊者持有的攻擊資源總量為R,阻塞數(shù)據(jù)流的資源單位成本為r,篡改數(shù)據(jù)流內(nèi)容的資源單位成本是α×r。此外,我們假設(shè)在組合攻擊模式下,攻擊者可以阻斷M0條數(shù)據(jù)流,同時(shí)篡改M0′條數(shù)據(jù)流的內(nèi)容??芍?/p>

        R=r×M=α×r×M′=r×M0+α×r×M0′

        根據(jù)式(3)和式(6),可得:

        (9)

        (10)

        因此可推導(dǎo)出攻擊者迫使解碼控制器進(jìn)行重解碼的概率為:

        P(R-DECODE-C)x1,x2≥1=

        (11)

        因此,若不考慮解碼循環(huán)的限制,攻擊者使用組合式攻擊模式時(shí)迫使瀏覽器代理觸發(fā)重傳的概率可以表示為:

        P(RE-TRANS-C)x1+x2≥m≤

        P(RE-TRANS-C)x1+x2=m,x2>1=

        (12)

        在重傳時(shí),瀏覽器代理會傾向于同時(shí)增加冗余度和數(shù)據(jù)塊的數(shù)量,即同時(shí)增加m和k的值,并重新計(jì)算傳輸參數(shù)n和ρ,試圖確保文件在重傳后能夠成功傳輸。

        5 實(shí)驗(yàn)分析

        我們將設(shè)計(jì)一系列實(shí)驗(yàn)來測試和評估動(dòng)態(tài)多路徑冗余傳輸技術(shù)的功能和性能。

        5.1 功能驗(yàn)證和評估

        虛擬網(wǎng)絡(luò)拓?fù)淙鐖D6所示。在網(wǎng)絡(luò)N1中有若干主機(jī),瀏覽器代理在主機(jī)H1本地運(yùn)行,N2由若干Web服務(wù)器和服務(wù)器代理組成。兩個(gè)網(wǎng)絡(luò)之間通過路由器R1進(jìn)行通信,攻擊者架設(shè)于公共網(wǎng)絡(luò)中,監(jiān)聽路由器R1的部分端口,盡可能多地截獲數(shù)據(jù)流,并實(shí)施干擾和攻擊。

        圖6 實(shí)驗(yàn)評估模型

        我們選擇Linux Ubuntu 16.04作為操作系統(tǒng),MININET 2.2.1實(shí)現(xiàn)虛擬網(wǎng)絡(luò)拓?fù)?,引入SDN控制器POX對虛擬路由器的攻擊進(jìn)行模擬。在網(wǎng)絡(luò)N1中,我們有一個(gè)100主機(jī)節(jié)點(diǎn),使用N1H1作為瀏覽器主機(jī)并在其上運(yùn)行瀏覽器代理程序。在網(wǎng)絡(luò)N2中,我們選擇主機(jī)N2H1作為服務(wù)器代理節(jié)點(diǎn)并運(yùn)行服務(wù)器代理,N2H1通過路由器R2與每個(gè)服務(wù)器主機(jī)通信。我們使用Server1作為服務(wù)器節(jié)點(diǎn),Nginx1.1.3的服務(wù)器版本,監(jiān)聽端口127.0.0.1:80,并存儲數(shù)據(jù)文件D。

        在N1中,所有主機(jī)連續(xù)地以隨機(jī)頻率向Server1發(fā)送數(shù)據(jù)請求。每個(gè)主機(jī)累積地執(zhí)行100個(gè)請求操作。在這里,我們使用POX控制器來控制R1的轉(zhuǎn)發(fā)操作,隨機(jī)中斷40%的數(shù)據(jù)流。

        我們設(shè)計(jì)了四個(gè)不同參數(shù)的實(shí)驗(yàn)組。對照組設(shè)為n=1和ρ=1,也就是采用現(xiàn)有的基于IP地址跳變的單數(shù)據(jù)流移動(dòng)目標(biāo)防御傳輸技術(shù)。通過三輪實(shí)驗(yàn),統(tǒng)計(jì)各實(shí)驗(yàn)組傳輸成功次數(shù),計(jì)算平均傳輸成功率。

        實(shí)驗(yàn)結(jié)果見表3所示,可以看出,與基于IP地址跳變的單數(shù)據(jù)動(dòng)態(tài)傳輸相比,動(dòng)態(tài)多路徑冗余傳輸架構(gòu)可以提高數(shù)據(jù)文件傳輸?shù)目煽啃院桶踩?6.67%~40.67%,具備較高的容錯(cuò)能力。

        表3 動(dòng)態(tài)多路徑冗余傳輸架構(gòu)的實(shí)驗(yàn)結(jié)果

        值得一提的是,在這里我們并沒有強(qiáng)調(diào)控制連接的安全性,而控制連接主要作用于參數(shù)協(xié)商和傳輸數(shù)據(jù)連接的建立和重建,因此便假定控制連接是絕對安全的。另外,我們也假設(shè)服務(wù)器代理與服務(wù)器之間的通信也是安全的。在實(shí)際場景中,由于HTTP具有持久連接特性,因此一段時(shí)間內(nèi)的數(shù)據(jù)傳輸以數(shù)據(jù)流的形式出現(xiàn),由于攻擊者無法準(zhǔn)確獲得主機(jī)的實(shí)際IP地址,因此無需考慮攻擊者針對HTTP請求發(fā)起阻塞和干擾。

        5.2 性能開銷評估

        我們將設(shè)計(jì)另一系列的實(shí)驗(yàn)來分析動(dòng)態(tài)多路徑冗余傳輸架構(gòu)帶來的性能開銷。包括三個(gè)方面:一是服務(wù)器代理處理數(shù)據(jù)文件的請求和操作時(shí)間;二是瀏覽器代理的操作時(shí)間;三是數(shù)據(jù)流的建立和數(shù)據(jù)文件的傳輸時(shí)間。文獻(xiàn)[16]和文獻(xiàn)[17]評估了RS碼的編碼和譯碼性能隨文件大小的變化函數(shù)。

        我們實(shí)現(xiàn)了一個(gè)原型系統(tǒng)來進(jìn)行性能分析。實(shí)驗(yàn)?zāi)P腿鐖D6所示,需要兩臺計(jì)算機(jī)。其中一個(gè)被命名為N1H1并運(yùn)行瀏覽器和瀏覽器代理程序。另一個(gè)是在阿里云租用的N2H1虛擬機(jī),運(yùn)行服務(wù)器代理程序。這兩臺計(jì)算機(jī)具有相同的配置,并使用Ubuntu 16.04操作系統(tǒng)。處理器是英特爾I7-77,3.60 GHz,6 GB RAM。

        我們通過測試相同的網(wǎng)站并統(tǒng)計(jì)實(shí)驗(yàn)數(shù)據(jù),http://www.fudan.edu.cn/2016/index.html。我們分別使用動(dòng)態(tài)多路徑冗余傳輸文件和直接使用瀏覽器下載文件。在使用動(dòng)態(tài)多路徑冗余傳輸?shù)那闆r下,我們選擇了不同的傳輸參數(shù)組合進(jìn)行測試。其中在一組實(shí)驗(yàn)中使用POX從路由器隨機(jī)丟棄一部分?jǐn)?shù)據(jù)流,從而觸發(fā)瀏覽器代理的解碼過程。每組實(shí)驗(yàn)重復(fù)100次,計(jì)算平均傳輸時(shí)間。實(shí)驗(yàn)結(jié)果如圖7所示,我們發(fā)現(xiàn)使用動(dòng)態(tài)多路徑冗余確實(shí)帶來了一些開銷,例如,當(dāng)n=6時(shí),大約占總時(shí)間的5.18%~14.15%??紤]到安全性能的提升,我們認(rèn)為這部分開銷是可以接受的。

        圖7 動(dòng)態(tài)多路徑冗余傳輸?shù)男阅荛_銷

        在本文的工作中,我們選擇使用范德蒙德矩陣的RS碼來對數(shù)據(jù)文件進(jìn)行編碼處理以提供傳輸冗余性。目前已有許多研究試圖提高RS碼的性能,文獻(xiàn)[18]中提出了基于先前解碼的RS分組的輸出信息對RS碼進(jìn)行解碼的新方案,并在選擇最佳預(yù)測深度(DoP)時(shí)獲得最大的性能。文獻(xiàn)[19]根據(jù)RS碼的特性,提出了一種改進(jìn)的塊連續(xù)打包(BSP)交織算法,該算法結(jié)合RS碼等技術(shù),提高了數(shù)字水印對突發(fā)錯(cuò)誤的魯棒性。

        6 結(jié) 語

        我們提出一個(gè)動(dòng)態(tài)多路徑冗余傳輸架構(gòu)。通過實(shí)驗(yàn)評估,可以看出該傳輸技術(shù)在HTTP應(yīng)用中能夠有效提升傳輸可靠性和安全性26%~40%,而只帶來約5%~14%的額外傳輸時(shí)間。雖然會有一些開銷,但開銷是可以接受的。未來的研究將圍繞以下三個(gè)方面展開:進(jìn)一步優(yōu)化編碼方法以降低傳輸開銷、優(yōu)化架構(gòu)機(jī)制以提升控制連接安全性、引用更加前沿的移動(dòng)目標(biāo)防御技術(shù)以降低IP資源的占用。

        猜你喜歡
        重傳數(shù)據(jù)文件多路徑
        多路徑效應(yīng)對GPS多普勒測速的影響
        基于5.8G射頻的多路徑識別技術(shù)應(yīng)用探討
        面向異構(gòu)網(wǎng)絡(luò)的多路徑數(shù)據(jù)重傳研究?
        數(shù)據(jù)文件恢復(fù)專題問答
        數(shù)據(jù)文件安全管控技術(shù)的研究與實(shí)現(xiàn)
        SQL數(shù)據(jù)文件恢復(fù)工具
        基于5.8GHz多路徑精確識別方案研究
        數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進(jìn)
        Tekla Structure數(shù)據(jù)文件交互格式分析
        華東理工大學(xué)學(xué)報(bào)(自然科學(xué)版)(2014年1期)2014-02-27 13:48:36
        精品综合久久88少妇激情| 久久九九有精品国产尤物| 免费无码黄网站在线观看| 亚洲精品大全中文字幕| 午夜爽爽爽男女免费观看影院| 亚洲av之男人的天堂网站| 亚洲AV无码一区二区二三区我| 少妇隔壁人妻中文字幕| 亚洲国产成人av二区| 日本老熟妇50岁丰满| 亚洲AV毛片无码成人区httP| 国产白浆流出一区二区| 久久精品免费中文字幕| 少妇下蹲露大唇无遮挡| 亚洲欧洲精品国产二码| 自拍av免费在线观看| 久久久精品午夜免费不卡| 欧美大黑帍在线播放| 人妻被猛烈进入中文字幕| 丝袜美腿亚洲综合在线播放| 亚洲一区二区三区影院| 97免费人妻在线视频| 欧美国产伦久久久久久久| 婚外情长久的相处之道| 曰欧一片内射vα在线影院| 日本一本久道| 国产自拍伦理在线观看| 日本三级片在线观看| 看曰本女人大战黑人视频| 日本岛国精品中文字幕| 91精品国产91综合久久蜜臀| 爆乳熟妇一区二区三区霸乳| 日韩AV无码免费二三区| 少妇隔壁人妻中文字幕| 亚洲国产精品久久久久久无码| 欧美巨大性爽| 亚洲av伊人久久综合性色| 国产一级二级三级在线观看视频| 欧美怡红院免费全部视频| av少妇偷窃癖在线观看| 日本妇女高清一区二区三区|