日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【NDN安全】Security Scalability of Content-Centric Networking 全文翻译

發(fā)布時(shí)間:2023/12/31 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【NDN安全】Security Scalability of Content-Centric Networking 全文翻译 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Security &Scalability of Content-Centric Networking 內(nèi)容中心網(wǎng)絡(luò)的安全性和可擴(kuò)展性

?

Tobias Lauinger

Technische University Darmstadt

碩士畢業(yè)論文

2010.9

?

摘要

? ? ? 徹底清除當(dāng)前體系結(jié)構(gòu)的方法導(dǎo)致當(dāng)前網(wǎng)絡(luò)的巨變,并冒著引進(jìn)新的攻擊的可能。這些攻擊的范圍從新形式的拒絕服務(wù)攻擊到攻擊其他用戶的隱私。在這篇論文中,我們從安全角度分析以內(nèi)容為中心的網(wǎng)絡(luò)體系結(jié)構(gòu)。

? ? ? 一個(gè)對(duì)CCN的安全起決定性作用的特征是對(duì)多用途的緩存的引進(jìn),這個(gè)緩存被一小部分的用戶所共享。我們顯示了攻擊者怎樣利用這些緩存來模擬用戶將取回什么內(nèi)容。更通常的是,我們認(rèn)為在網(wǎng)絡(luò)效率和用戶隱私間應(yīng)該有一個(gè)折衷。基于緩存的隱私攻擊的應(yīng)對(duì)策略需要仔細(xì)考慮這個(gè)權(quán)衡。

?

?

目錄

? ? ? 摘要(iii)

? ? ? 插圖列表(vii)

? ? ? 表格列表(ix)

? ? ? 1 ?引言(1)

? ? ? 2? 內(nèi)容中心網(wǎng)絡(luò)(3)

? ? ? ? ?2.1? CCN的狀態(tài)藝術(shù)(3)

? ? ? ? ?2.2? CCN的研究議程(4)

? ? ? ? ? ? ? 2.2.1? 可擴(kuò)展性研究議題(4)

? ? ? ? ? ? ? 2.2.2? 與安全相關(guān)的研究議題(8)

? ? ? ? ?2.3? 結(jié)論(11)

? ? ? 3? CCN的安全性(13)

? ? ? ? ?3.1? 系統(tǒng)模型(13)

? ? ? ? ?3.2? 威脅分析(13)

? ? ? ? ? ? ? 3.2.1? 相較于TCP/IP的體系結(jié)構(gòu)方面的冒險(xiǎn)(14)

? ? ? ? ? ? ? 3.2.2? 拒絕服務(wù)攻擊的攻擊樹(15)

? ? ? ? ?3.3? 已知的攻擊(16)

? ? ? ? ? ? ? 3.3.1? 通過強(qiáng)制昂貴的計(jì)算的對(duì)路由器進(jìn)行的拒絕服務(wù)攻擊(16)

? ? ? ? ? ? ? 3.3.2? 針對(duì)內(nèi)容源的拒絕服務(wù)攻擊(16)

? ? ? ? ? ? ? 3.3.3? 擁有特殊比特位的拒絕服務(wù)攻擊(17)

? ? ? ? ?3.4? 新的攻擊(17)

? ? ? ? ? ? ? 3.4.1? 緩存無用或非法數(shù)據(jù)(17)

? ? ? ? ? ? ? 3.4.2? 通過減少緩存效率的拒絕服務(wù)攻擊(18)

? ? ? ? ? ? ? 3.4.3? 通過填充一個(gè)路由器的可用內(nèi)存的拒絕服務(wù)攻擊(19)

? ? ? ? ? ? ? 3.4.4? 緩存窺探:列出緩存內(nèi)容,模擬對(duì)象通路(使用路徑),復(fù)制會(huì)話(19)

? ? ? ? ?3.5? 結(jié)論(20)

? ? ? 4? 緩存窺探(23)

? ? ? ? ?4.1? 相關(guān)工作(24)

? ? ? ? ?4.2? 系統(tǒng)模型(26)

? ? ? ? ?4.3? 攻擊目標(biāo)(27)

? ? ? ? ?4.4? 拓?fù)渲悄?#xff08;28)

? ? ? ? ? ? ? 4.4.1? 時(shí)延測量(28)

? ? ? ? ? ? ? 4.4.2? 緩存生存期測量(29)

? ? ? ? ?4.5? 攻擊I:列出緩存內(nèi)容(30)

? ? ? ? ?4.6? 攻擊II:探測具體名字(31)

? ? ? ? ? ? ? 4.6.1? 插入和取出時(shí)間探測(31)

? ? ? ? ? ? ? 4.6.2? 推斷訪問速率(32)

? ? ? ? ?4.7? 攻擊III:克隆會(huì)話(33)

? ? ? ? ?4.8? 應(yīng)對(duì)策略(34)

? ? ? ? ?4.9? 結(jié)論(36)

? ? ? 5? 評(píng)價(jià)(37)

? ? ? ? ?5.1? CCN模擬器(37)

? ? ? ? ?5.2? 方案(38)

? ? ? ? ?5.3? 評(píng)估結(jié)果(39)

? ? ? ? ?5.4? 攻擊流量(40)

? ? ? ? ?5.5? 結(jié)論和未來工作(41)

? ? ? 6 ?結(jié)束語(43)

? ? ? 術(shù)語表(45)

? ? ? 參考文獻(xiàn)(47)

?

? ? ? 插圖列表

? ? ? 3.1? CCN中拒絕服務(wù)攻擊的攻擊樹(21)

? ? ? 4.1? 在不同請(qǐng)求結(jié)點(diǎn)中CCN的消息交換(26)

? ? ? 4.2? 第一個(gè)CCN緩存的時(shí)延測量(28)

? ? ? 4.3? 緩存的特征時(shí)間估計(jì)(30)

? ? ? 4.4? 三塊的并行探測(32)

? ? ? 4.5? LRU緩存的請(qǐng)求速率測量(33)

? ? ? 5.1? Youtube科學(xué)技術(shù)分類中的視頻文件流行度和長度(38)

? ? ? 5.2? 從緩存中替換出的每對(duì)象緩存命中率的CCDF數(shù)量(39)

? ? ? 5.3? 緩存的CDF特征時(shí)間(39)

? ? ? 5.4? 特征時(shí)間的測量算法進(jìn)展(40)

?

? ? ?表格列表

? ? ?3.1? 攻擊者類型(14)

?

1.? 引言

? ? ? 當(dāng)因特網(wǎng)被最初創(chuàng)建的時(shí)候,設(shè)計(jì)者主要關(guān)心的是連接和共享像大型計(jì)算機(jī)這樣的昂貴資源。從那以后,因特網(wǎng)由一個(gè)學(xué)術(shù)的研究網(wǎng)絡(luò)向一個(gè)被用作商業(yè)和娛樂的全球的基礎(chǔ)設(shè)施進(jìn)化。按字節(jié)來說,因特網(wǎng)今天主要的用途是內(nèi)容檢索。盡管真正的端到端協(xié)議,比如VoIP,SSH和chat僅僅只占流量的一小部分,因特網(wǎng)的機(jī)制和基礎(chǔ)仍然是為在固定位置的終端系統(tǒng)尋找最優(yōu)化尋址方式,而不是為不受位置約束的內(nèi)容提供所需。

? ? ? 科學(xué)世界通過怎樣處理以下情形來被劃分:一部分支持使用進(jìn)化的方法,認(rèn)為當(dāng)前的因特網(wǎng)應(yīng)該被以增量形式改進(jìn)并向后兼容;另一部分贊同使用徹底清除當(dāng)前體系結(jié)構(gòu)的方法,支持硬性轉(zhuǎn)變到一個(gè)不受約束的下一代互聯(lián)網(wǎng)體系結(jié)構(gòu)。

? ? ? 在這些硬性清除當(dāng)前體系結(jié)構(gòu)的方法中,內(nèi)容中心網(wǎng)絡(luò)(CCN)是一個(gè)最近的最被強(qiáng)烈討論的提議。CCN建議把網(wǎng)絡(luò)的主要機(jī)制聚焦在內(nèi)容的名字而不是內(nèi)容的位置,遵循一個(gè)基于接收者的通訊模型,并在每個(gè)網(wǎng)絡(luò)設(shè)備中引進(jìn)緩存。論文的第2部分給出了CCN的介紹,評(píng)論當(dāng)前的研究現(xiàn)狀,確定與CCN的可擴(kuò)展性和安全性相關(guān)的研究方向。

? ? ? 改變網(wǎng)絡(luò)的體系結(jié)構(gòu)有引進(jìn)新的攻擊的風(fēng)險(xiǎn)。例如,CCN路由器需要保持每個(gè)通訊狀態(tài),然而這個(gè)通訊狀態(tài)可能會(huì)被拒絕服務(wù)攻擊濫用。緩存包含能夠被攻擊者提取的潛在的敏感信息痕跡,從而危及用戶的隱私。在第3部分,我們調(diào)查了CCN的體系結(jié)構(gòu)特征在網(wǎng)絡(luò)安全上的作用。我們利用這些新奇的特征舉例說明了我們對(duì)網(wǎng)絡(luò)攻擊方面的發(fā)現(xiàn)。

? ? ? 在論文的主要部分,我們聚焦于攻擊者怎樣利用靠近用戶的網(wǎng)絡(luò)層緩存。CCN把任何形式的會(huì)話分解成獨(dú)立的,可以被緩存的以內(nèi)容命名的對(duì)象。即使這些內(nèi)容對(duì)象可能被加密,隱私信息仍然可能通過其他方式泄露,比如內(nèi)容的名字,測定的時(shí)間和內(nèi)容對(duì)象的大小。因?yàn)閮H僅很少的用戶分享這樣一個(gè)緩存,通過通訊軌跡揭露的個(gè)人信息的數(shù)量可能會(huì)非常多。為了證實(shí)我所說的威脅,我們?cè)诘?部分解釋了攻擊者可以怎樣列出一個(gè)緩存的內(nèi)容,監(jiān)視一個(gè)特定內(nèi)容對(duì)象的請(qǐng)求,復(fù)制兩個(gè)客戶端通過緩存進(jìn)行的會(huì)話。更一般地,我們認(rèn)為對(duì)這個(gè)隱私威脅的應(yīng)對(duì)措施需要仔細(xì)地在通信隱私和網(wǎng)絡(luò)性能之間做權(quán)衡。當(dāng)我們?cè)贑CN環(huán)境下考慮這樣的攻擊時(shí),我們相信這個(gè)問題可以應(yīng)用在所有存在被一小部分用戶所共享的緩存的網(wǎng)絡(luò)體系結(jié)構(gòu)中。

? ? ? 這些基于緩存的攻擊的可行性依賴于緩存可以承載多少攻擊流量,攻擊者可以得出多么精確的結(jié)論。在第5部分,我們用一個(gè)方案評(píng)估這種攻擊,這個(gè)方案由100個(gè)連接到同樣的數(shù)字用戶線接入復(fù)用器的用戶組成,這些用戶同時(shí)下載和觀看類似于Youtube那樣的視頻。我們發(fā)現(xiàn)需要模擬一個(gè)視頻請(qǐng)求的攻擊流量很小以至于攻擊能夠被擴(kuò)展到可以同時(shí)模擬大數(shù)量級(jí)的視頻。

? ? ? 我們工作的總體目標(biāo)是確定基本構(gòu)件和概念怎樣影響未來網(wǎng)絡(luò)體系結(jié)構(gòu)的安全性和可擴(kuò)展性,使用CCN作為未來網(wǎng)絡(luò)體系結(jié)構(gòu)的研究實(shí)例。我們希望在我們工作中得到的經(jīng)驗(yàn)教訓(xùn)能夠?qū)μ岣攥F(xiàn)有的和未來的網(wǎng)絡(luò)體系結(jié)構(gòu)提議有用。在結(jié)尾,這篇論文的貢獻(xiàn)可以被總結(jié)如下:

? ? ? (1)我們確定了幾個(gè)在CCN環(huán)境下的安全性和可擴(kuò)展性方面有前途的研究問題。

? ? ? (2)我們通過描述一系列的利用體系結(jié)構(gòu)的特征的攻擊,分析了體系結(jié)構(gòu)的特征和設(shè)計(jì)決定在網(wǎng)絡(luò)安全方面的影響。特別地,我們認(rèn)為更加強(qiáng)大的路由器(依據(jù)每個(gè)會(huì)話的狀態(tài)、計(jì)算能力和緩存大小)增加了網(wǎng)絡(luò)攻擊的覆蓋面,我們顯示了緩存怎樣被誤用作存儲(chǔ)器、拒絕服務(wù)和與隱私相關(guān)的攻擊。

? ? ? (3)在隱私攻擊方面,我們提出了一個(gè)算法,該算法利用定時(shí)側(cè)信道來持續(xù)地模擬對(duì)象請(qǐng)求,即使精確的緩存特征和它的環(huán)境以前并不知道。在我們的Youtube/DSLAM方案中,這個(gè)算法需要僅僅37.3bit/s的攻擊流量。

?

?

2.? 內(nèi)容中心網(wǎng)絡(luò)

? ? ? 這一章給出了一個(gè)對(duì)CCN的研究現(xiàn)狀。我們首先回顧一下現(xiàn)在已有的關(guān)于CCN的文獻(xiàn),然后我們討論在現(xiàn)在的研究中還沒有提出的問題。

2.1? CCN的狀態(tài)藝術(shù)

? ? ? CCN是一個(gè)新的通信范型,被設(shè)計(jì)為一種新的網(wǎng)絡(luò)體系結(jié)構(gòu)來補(bǔ)充、最終代替現(xiàn)有的網(wǎng)絡(luò)。更特別的是,與現(xiàn)在的TCP/IP體系結(jié)構(gòu)和通信模型做對(duì)比,CCN在以下方面不同:

? ? ? (1)基于接收者的通信模型:接收者通過發(fā)送興趣包拉取信息。最多會(huì)對(duì)一個(gè)興趣包發(fā)送一個(gè)響應(yīng)數(shù)據(jù)包。通信是不可靠的,和軟狀態(tài)的。如果之前的興趣包超時(shí)了,接收方的應(yīng)用程序不得不重新發(fā)送基于內(nèi)容的興趣包。

? ? ? (2)層次化內(nèi)容命名規(guī)則:CCN不是基于主機(jī)的地址,而是基于與位置無關(guān)的內(nèi)容對(duì)象。可以給定內(nèi)容一個(gè)任意的,以類似于URL的層次化的用戶定義的名字。興趣包和內(nèi)容匹配,或者通過最長前綴匹配可以路由到興趣包所請(qǐng)求的內(nèi)容。因?yàn)檫@些特性,接收者可以用當(dāng)前還不存在的名字,以命名的方式表示興趣包。這些興趣包將會(huì)被路由到能夠生成響應(yīng)內(nèi)容的數(shù)據(jù)源。

? ? ? (3)基于緩存的體系結(jié)構(gòu):系統(tǒng)中的每一個(gè)參與者,比如端結(jié)點(diǎn)和路由器,能夠緩存內(nèi)容對(duì)象,并用以響應(yīng)未來的請(qǐng)求。

? ? ? (4)內(nèi)容安全:每個(gè)在CCN中交換的內(nèi)容包都是經(jīng)過數(shù)字簽名的。用這種方式,內(nèi)容發(fā)布者證實(shí)內(nèi)容和名字之間的綁定,并用來確保內(nèi)容包的完整性和真實(shí)性。如果需要確保機(jī)密性,也可以使用加密。

? ? ? (5)狀態(tài)化的,更強(qiáng)大的路由器:CCN中的內(nèi)容路由器需要保持每個(gè)興趣包的狀態(tài)來避免路由環(huán)路和以與興趣包到來時(shí)同樣的路徑返回?cái)?shù)據(jù)包。路由器能夠核實(shí)內(nèi)容對(duì)象的簽名來避免內(nèi)容欺騙攻擊。CCN也支持一種路由器必須實(shí)現(xiàn)的限定的查詢語言。

? ? ? 當(dāng)一個(gè)CCN結(jié)點(diǎn)接收到興趣包,它首先嘗試用本地內(nèi)容緩存里的內(nèi)容滿足興趣包。典型的,這樣一個(gè)緩存用最近最少使用(LRU)算法或者最近最不頻繁使用(LFU)算法的替換策略。

? ? ? 如果沒有發(fā)現(xiàn)合適的內(nèi)容,興趣包將會(huì)被轉(zhuǎn)發(fā)。類似于路由表,FIB表被用來找到轉(zhuǎn)發(fā)的出接口。FIB表可能包含到運(yùn)行在相同主機(jī)上的應(yīng)用程序的路由,或者是到物理接口的路由。CCN支持對(duì)同樣的內(nèi)容前綴的平行路由的多個(gè)連接。

? ? ? 每個(gè)已經(jīng)發(fā)出的興趣包被記錄到PIT表中,以便返回的數(shù)據(jù)包知道興趣包進(jìn)來的接口,和避免多次轉(zhuǎn)發(fā)相同的興趣包。在CCN拓?fù)渲?#xff0c;這個(gè)興趣包的集合被用來確保效率和避免環(huán)路。

? ? ? 策略層被使用來適應(yīng)CCN對(duì)不同傳輸介質(zhì)和范型的不同參數(shù)和行為,比如固定網(wǎng)絡(luò)、無線網(wǎng)絡(luò)或延遲可容忍網(wǎng)絡(luò)(DTN)。

? ? ? CCNx項(xiàng)目,由PARC資助,開發(fā)了一個(gè)CCN的開源實(shí)現(xiàn)。這個(gè)早期的原型實(shí)現(xiàn)了CCN結(jié)點(diǎn)的基本功能,包括FIB、PIT、主要的內(nèi)容緩存和靜態(tài)路由的轉(zhuǎn)發(fā),也支持內(nèi)容簽名和簽名驗(yàn)證,密鑰管理、可選加密和解密。這個(gè)原型也包括一個(gè)持久穩(wěn)固的基于磁盤的內(nèi)容倉庫,它可以用來保存文件和一些例子程序,比如CCN的語音實(shí)現(xiàn),聊天應(yīng)用,和用于數(shù)據(jù)傳輸?shù)囊恍┟钚泄ぞ摺?/span>

2.2? CCN的研究議程

? ? ? 當(dāng)前CCN的研究論文呈現(xiàn)了CCN一般的體系原則和定義了API的CCNx原型,以及CCN的本地通信。CCN能夠在很大程度上有利于應(yīng)用程序的使用,在這方面對(duì)CCN大規(guī)模的評(píng)價(jià)和路由選擇的提議將是未來的工作。

? ? ? 這一部分通過討論在設(shè)計(jì)中被提出的想法,概括了開放的CCN研究中存在的問題和需要未來調(diào)查研究的新思想。許多這樣的問題都是互相關(guān)聯(lián)的。首先,我們討論為了使CCN廣泛使用的與CCN可擴(kuò)展性相關(guān)的問題,然后我們聚焦于與安全相關(guān)的研究問題。

2.2.1? 可擴(kuò)展性研究問題

? ? ? CCN的路由器需要保持它所轉(zhuǎn)發(fā)的每個(gè)興趣包的狀態(tài)。CCN結(jié)點(diǎn)可能一次把興趣包轉(zhuǎn)發(fā)到多個(gè)結(jié)點(diǎn),并依據(jù)內(nèi)容的名字路由而不是位置。所有這些與TCP/IP的不同可能對(duì)CCN的可擴(kuò)展性產(chǎn)生影響并激發(fā)研究。這一部分討論的研究問題涉及匹配的應(yīng)用程序,路由選擇,路由器設(shè)計(jì)和一些CCN的協(xié)議細(xì)節(jié)。

應(yīng)用程序

? ? ? CCN的部署需要對(duì)設(shè)備、網(wǎng)絡(luò)工程師和程序員的教育進(jìn)行重大投資。除了節(jié)省帶寬,CCN期望能夠使大量新的應(yīng)用程序利用CCN靈活的命名尋址和發(fā)現(xiàn)機(jī)制。未來的研究應(yīng)該識(shí)別這些應(yīng)用程序。

? ? ? 至于已經(jīng)存在的應(yīng)用程序,我們假定面向內(nèi)容的應(yīng)用程序能夠工作在CCN之上,并且受益于CCN。CCN上的語音實(shí)現(xiàn)(Voice-over-CCN)原型聚焦于顯示傳統(tǒng)的面向會(huì)話的協(xié)議,并能夠在CCN上被移植。假設(shè)在會(huì)話中兩邊的用戶都通過一個(gè)全球唯一的前綴可達(dá),比如/domain/user。假定Alice想要給Bob打電話,下面的步驟將被執(zhí)行用來建立電話通信。

? ? ? (1)一個(gè)SIP Invite消息被用來請(qǐng)求電話。在VoCCN中,Alice向Bob發(fā)送一個(gè)請(qǐng)求包,并將SIP Invite消息編入請(qǐng)求包的名字。為了確保機(jī)密,名字可以被加密如下:/domain/sip/bob/encoded-invite-message。

? ? ? (2)Bob在響應(yīng)數(shù)據(jù)包中發(fā)送SIPresponse和請(qǐng)求的名字。

? ? ? (3)實(shí)時(shí)傳輸協(xié)議(RTP)聲音數(shù)據(jù)流被封裝在CCN的數(shù)據(jù)包中。Alice發(fā)送Interest包來請(qǐng)求來自Bob的聲音數(shù)據(jù),反過來也一樣。Interest包遵循方案:/domain/user/call-id/rtp/sequence-number。

? ? ? 當(dāng)方案顯示端到端的會(huì)話是可行的同時(shí),方案也顯示出了在CCN中,推送數(shù)據(jù)不是一個(gè)容易的工作。如果通過把數(shù)據(jù)編碼成名字的方式,數(shù)據(jù)被推送到了目的地,目的地不能簡單地發(fā)送數(shù)據(jù)包響應(yīng)Interest包,因?yàn)閿?shù)據(jù)包將會(huì)發(fā)送回所有數(shù)據(jù)作為它名字的一部分。因而,推的場景需要兩邊在一個(gè)全局唯一的名字下可達(dá)。

? ? ? 第二個(gè)關(guān)于端到端協(xié)議的問題是被參與者交換的消息將會(huì)被緩存,盡管在將來有些消息不太可能有任何緩存命中。在這種情況下,那些消息使用的緩存空間如果被用作其他可能會(huì)被再度使用的消息可能會(huì)更好。如果應(yīng)用程序,比如聲音或遠(yuǎn)程登錄應(yīng)該使用CCN,那么問題來了。

? ? ? 版本是在這個(gè)背景下的另一個(gè)問題。假定在/newspaper前綴下,一個(gè)擁有前頁(頭版)的報(bào)紙是可達(dá)的。明顯地,頭版將會(huì)經(jīng)常改變。CCN允許內(nèi)容名字承載特殊版本的標(biāo)記。然而,客戶端不能提前預(yù)知最近的版本號(hào)是什么,因而,在可能仍然被緩存的舊的復(fù)制中需要有一個(gè)算法來找出最近的版本號(hào)。

? ? ? 在CCNx郵件列表中,一個(gè)算法被提出,我們列出了一個(gè)稍稍修改的版本。

? ? ? (1)請(qǐng)求內(nèi)容沒有版本標(biāo)記,或者有客戶端知道的最近版本號(hào)。

? ? ? (2)從回復(fù)中接收的最近的版本號(hào)加1,再次請(qǐng)求同樣的內(nèi)容。

? ? ? (3)反復(fù)迭代直到不會(huì)發(fā)現(xiàn)任何內(nèi)容,這樣最高可用的版本號(hào)就被確定了。

? ? ? 這個(gè)解決方案似乎不是令人滿意的,因?yàn)樗赡苁切实偷?#xff0c;特別是當(dāng)算法不得不頻繁運(yùn)行的時(shí)候。此外,以一種方式,這種方式提供一種保證使得最近的版本號(hào)真正被發(fā)現(xiàn),以這種方式來實(shí)現(xiàn)這個(gè)算法是有挑戰(zhàn)性的。如果被客戶端請(qǐng)求的版本號(hào)太高,內(nèi)容源不得不以“內(nèi)容不可用”消息回復(fù),這個(gè)消息有非常短的生存期,以至于重放攻擊是不可行的。在沒有這種響應(yīng)的情況下,客戶端不能區(qū)分是一個(gè)簡單的超時(shí)還是其他情況。

? ? ? 廣播或者多播協(xié)議,比如哪些用作IPTV的協(xié)議,關(guān)于它們能夠怎樣在CCN上被實(shí)現(xiàn)需要更多的調(diào)查研究。默認(rèn)的,僅當(dāng)一個(gè)Interest包被發(fā)送后,一個(gè)CCN結(jié)點(diǎn)才可能接受一個(gè)數(shù)據(jù)回復(fù)包。一個(gè)連接到廣播鏈路的CCN結(jié)點(diǎn)能夠無意中聽到被其他結(jié)點(diǎn)發(fā)送的Interest包,并抑制自己的Interest包來減少流量。然而,這仍然意味著為了發(fā)送每個(gè)數(shù)據(jù)信息到多播組,必須先發(fā)送每個(gè)興趣包,相比較于基于IP的協(xié)議,這增加了開銷。

體系結(jié)構(gòu)

? ? ? 通常,關(guān)于基于內(nèi)容和緩存的路由,一個(gè)重要的問題是在哪一層這個(gè)功能被最好的實(shí)現(xiàn)。在CCN上運(yùn)行任何協(xié)議,例如替換IP協(xié)議,具有提供一個(gè)通用的緩存基礎(chǔ)設(shè)施的優(yōu)勢(shì)。另一方面,一些應(yīng)用程序可能不會(huì)從緩存中受益,像上面所討論的端到端通信,可能不會(huì)比有IP層更加有效。

? ? ? 或者,CCN可以運(yùn)行在IP上面,僅僅被選擇的應(yīng)用程序可以利用CCN。這將提出一個(gè)問題,相比較于傳統(tǒng)的內(nèi)容分發(fā)網(wǎng)絡(luò)和冗余消除技術(shù),CCN將多大地提高效率。

路由

? ? ? 在CoNext文獻(xiàn)中,Jacobson等人顯示了一個(gè)例子,CCN將怎樣映射到已存在的路由協(xié)議:內(nèi)部路由協(xié)議中的鏈路狀態(tài)路由協(xié)議使用本地資源前綴,比如持久穩(wěn)固的內(nèi)容倉庫,和鄰居連接來創(chuàng)建拓?fù)?#xff0c;對(duì)域間路由協(xié)議來說,作者建議在CCN的增量部署場景內(nèi)在能夠使用CCN的區(qū)域之間建立隧道,一個(gè)區(qū)域的網(wǎng)關(guān)能夠?qū)ふ艺?qǐng)求的CCN的名字的第一個(gè)組成部分作為DNS的名字。結(jié)果將會(huì)是其他區(qū)域的內(nèi)容路由器的IP地址,這樣一個(gè)UDP隧道就建立了。對(duì)一個(gè)全部使用CCN的部署,作者建議把CCN的前綴整合進(jìn)BGP的公告中。然而,現(xiàn)在仍不清楚路由表會(huì)增長到多大,而且這個(gè)方案將會(huì)支持多少內(nèi)容源的移動(dòng)性。

? ? ? 上面總結(jié)的路由方法是相當(dāng)保守的,它最接近當(dāng)前互聯(lián)網(wǎng)上的路由。然而,CCN可以容忍環(huán)路,并且支持多路徑路由,向請(qǐng)求者回送至多一個(gè)數(shù)據(jù)響應(yīng)包,因而CCN更加靈活。CCN的許多不同的路由協(xié)議是可以想象的,它們的選擇主要依賴于系統(tǒng)的適應(yīng)能力:支持內(nèi)容源的可移動(dòng)性,能夠斷開的操作,或者在系統(tǒng)的任何地方尋找緩存內(nèi)容,而不是遵循到內(nèi)容源的默認(rèn)路徑。

? ? ? 一種路由方法認(rèn)為受歡迎的內(nèi)容可能被在附近的路由緩存中找到,因此類似洪泛的路由協(xié)議是合適的。然而,這種方法很難定位不受歡迎的內(nèi)容,并定位最初的內(nèi)容來源。

? ? ? 更傳統(tǒng)的方法反對(duì)的是,相較于總體的內(nèi)容大小,主要基于內(nèi)存的路由器緩存可能相對(duì)較小,因此它們可能不是一個(gè)可靠的內(nèi)容來源,而是一個(gè)動(dòng)態(tài)的可能短期的存儲(chǔ)。因而,可能更需要去尋找一個(gè)相對(duì)穩(wěn)定的位置,比如最初的內(nèi)容生產(chǎn)者。

? ? ? 為了節(jié)省傳輸帶寬,ISP能夠建造一個(gè)擁有許多磁盤存儲(chǔ)的大的服務(wù)器場地,依據(jù)他們的緩存策略來服務(wù)緩存的內(nèi)容。因?yàn)檫@將在整個(gè)區(qū)域內(nèi)發(fā)生,ISP能夠按照它們的意愿配置這個(gè)系統(tǒng)從而強(qiáng)迫用戶使用它。然而,相較于從數(shù)據(jù)在主存中的遠(yuǎn)程內(nèi)容源直接獲取內(nèi)容,基于磁盤的緩存可能引起一個(gè)較高的延遲。

? ? ? CDN不可能被淘汰,因?yàn)橄M麥p少延遲的內(nèi)容提供者可能需要接近他們的客戶來配置應(yīng)用程序。CCN的緩存不能提供自定義的應(yīng)用程序邏輯和動(dòng)態(tài)的內(nèi)容創(chuàng)建。然而,CCN的內(nèi)容名字路由能夠被配置得比當(dāng)前因特網(wǎng)更透明地包容CDN。

緩存

? ? ? 緩存是CCN體系結(jié)構(gòu)的中心元素。CCN不僅能承載用戶之間共享的靜態(tài)內(nèi)容,而且能夠承載動(dòng)態(tài)的非共享的內(nèi)容。鑒于這些情況,我們可以識(shí)別下面這些關(guān)于緩存的研究問題。

? ? ? (1)緩存的內(nèi)容,比如緩存怎樣合作和緩存怎樣組織(層次,網(wǎng)狀)。

? ? ? (2)每個(gè)擁有線速功能的緩存的大小,或者它們?cè)趯哟谓Y(jié)構(gòu)中的位置。

? ? ? (3)緩存的替換策略。

? ? ? (4)怎樣評(píng)估緩存中數(shù)據(jù)的效用,例如,什么數(shù)據(jù)該緩存,什么數(shù)據(jù)不緩存。例如,動(dòng)態(tài)內(nèi)容不應(yīng)該被緩存。

? ? ? (5)緩存和路由算法怎樣相互作用,哪些內(nèi)容向外部公布,緩存怎樣跨區(qū)域或跨ISP合作。

? ? ? (6)當(dāng)緩存插入和刪除內(nèi)容時(shí),緩存應(yīng)該知道CCN怎樣把大的文件分割成塊。

網(wǎng)絡(luò)和傳輸協(xié)議問題

? ? ? CCN在網(wǎng)絡(luò)層最初的工作是提供不可靠的內(nèi)容路由。研究需要為興趣包轉(zhuǎn)發(fā)定義策略,為特定流量定義優(yōu)先級(jí),以確保在所有的參與者之間共享網(wǎng)絡(luò)資源。

? ? ? 迄今為止,CCN缺少一種傳輸協(xié)議來確保可靠性和公平性。一些CCNx工具以流水線方式傳輸數(shù)據(jù)包來獲得一個(gè)更高的吞吐率,與TCP相似,但是,仍然需要正確定義一個(gè)協(xié)議。

? ? ? 如果沒有在一個(gè)給定的窗口時(shí)間接收到回復(fù),Interest包將超時(shí)。現(xiàn)在還不清楚這些超時(shí)時(shí)間怎樣選擇,哪個(gè)結(jié)點(diǎn)需要重傳超時(shí)的Interest包。相比較于初始請(qǐng)求者重新發(fā)出Interest包,如果中間路由器重傳了,協(xié)議可能會(huì)更加有效。然而,這也將使最初請(qǐng)求者為整個(gè)過程設(shè)置一個(gè)超時(shí)時(shí)間更加困難。

路由器設(shè)計(jì)

? ? ? CCN需要比IP更加強(qiáng)大的路由器。CCN的路由器需要認(rèn)證簽名,處理擁有復(fù)雜查詢特征的Interest包和為每個(gè)等待Interest包保存狀態(tài)。路由器可能也必須運(yùn)行算法來檢測和防止拒絕服務(wù)攻擊。更重要的是,CCN路由器必須以不差于今天的IP路由器的速度工作。

? ? ? 迄今為止,還不確定這樣的路由器應(yīng)該被怎樣建造,這將會(huì)花費(fèi)多少。解決這個(gè)目標(biāo)的一個(gè)中間問題是為線速功能的CCN路由器決定處理能力和內(nèi)存需求。特別地,Interest包的聚集和緩存命中怎樣影響PIT需要的內(nèi)存數(shù)量?這個(gè)問題是需要特別關(guān)注的,因?yàn)镃CN路由器的狀態(tài)與轉(zhuǎn)發(fā)的Interest包的數(shù)量成比例。除了可能阻礙可擴(kuò)展性,路由器的狀態(tài)也提出了與安全相關(guān)的挑戰(zhàn),因?yàn)樗赡鼙痪芙^服務(wù)攻擊濫用,就像我們?cè)?.4.3部分中討論的那樣。

? ? ? 更多地,如果CCN包含的加密算法被破解或接近生存周期結(jié)束,它將會(huì)被替代。這提出了用硬件或軟件怎樣實(shí)現(xiàn)它們的問題。

? ? ? 依據(jù)緩存的目標(biāo)大小,CCN路由器可能需要相當(dāng)大的數(shù)量的RAM,把主存用一個(gè)大的但是更慢的磁盤備份可能是必需的。相比較于從遠(yuǎn)程的但是數(shù)據(jù)在內(nèi)存中的內(nèi)容源,這提出了怎樣不增加總體請(qǐng)求延時(shí),而將磁盤整合進(jìn)體系結(jié)構(gòu)中的問題。(對(duì)CCN內(nèi)容路由器來說,主存和緩存是怎么配合的?)

能源效率

? ? ? 在文獻(xiàn)中,Lee,Rimac,Hilt比較了內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN和CCN的區(qū)別?)、nano數(shù)據(jù)中心和CCN體系結(jié)構(gòu)的能量損耗。他們主要發(fā)現(xiàn)了CCN體系結(jié)構(gòu)減少了跳數(shù),因此減少了能量損耗。然而,作者使用了一個(gè)簡化的系統(tǒng)模型,雖然增加了計(jì)算需求,但路由器沒有消耗任何額外的電力。而且,作者假定了一個(gè)相當(dāng)大的緩存,假定請(qǐng)求數(shù)據(jù)總是被緩存的。

? ? ? 我們相信這些假設(shè)被過渡簡化了。CCN路由器需要額外的計(jì)算能力來認(rèn)證簽名,處理特殊的Interest包查詢功能。此外,如果緩存基于主存實(shí)現(xiàn)來避免基于硬件磁盤的實(shí)現(xiàn)所帶來的延遲增加,緩存的大小可能十分有限。(基于主存實(shí)現(xiàn)緩存和基于磁盤實(shí)現(xiàn)緩存有什么區(qū)別?)不同的路由協(xié)議可能對(duì)能源效率也有影響。我們相信所有這些原因激發(fā)了一個(gè)對(duì)CCN的能源效率的更加差異化的調(diào)查研究。

統(tǒng)計(jì)基礎(chǔ)設(shè)施

? ? ? 內(nèi)容提供者對(duì)他們的內(nèi)容被怎樣訪問和被怎樣的用戶群體訪問的統(tǒng)計(jì)感興趣。這樣的信息對(duì)決定廣告的價(jià)格和優(yōu)化他們對(duì)用戶提供的服務(wù)必不可少。因?yàn)镃CN不在Interest包中提供端結(jié)點(diǎn)認(rèn)證,多個(gè)Interest包可以被聚集,內(nèi)容可以從緩存中而不是內(nèi)容源獲取,所以內(nèi)容提供者很難建立這樣的統(tǒng)計(jì)。

? ? ? 一個(gè)解決方法是內(nèi)容的數(shù)字版權(quán)管理系統(tǒng),它需要用戶與內(nèi)容源交互來獲取能夠解密請(qǐng)求內(nèi)容的密鑰。反過來,內(nèi)容也可以從緩存中得到服務(wù)。我們?cè)谙旅娴?.2.2部分詳細(xì)說明。?

? ? ? 如果內(nèi)容源需要他的用戶的地理信息,他需要用戶來注冊(cè),并且在訪問內(nèi)容之前提供這個(gè)信息。然而,內(nèi)容提供者也需要通過輔助渠道來核實(shí)這個(gè)信息。特別是對(duì)地理位置上受限制的內(nèi)容,比如體育賽事,這種方式被視為足夠安全,足夠高效。在這種情況下,CCN的實(shí)現(xiàn)能夠強(qiáng)迫用戶用包括地理信息的key來標(biāo)記他們的Interest包。信息的正確性能夠被用戶的ISP來認(rèn)證,這種方法在下面的2.2.2部分討論。

2.2.2? 與安全相關(guān)的研究課題

? ? ? 被CCN運(yùn)用的體系結(jié)構(gòu)和通信范式的改變也改變了網(wǎng)絡(luò)安全的許多方面。這一部分聚焦于一個(gè)高層系統(tǒng)的未解決的問題和設(shè)計(jì)觀點(diǎn),攻擊將會(huì)在第三章更加詳細(xì)地討論。

密碼學(xué)的應(yīng)用

? ? ? 密碼學(xué)技術(shù)的廣泛應(yīng)用是CCN的核心。因?yàn)閮?nèi)容與位置不綁定,所以內(nèi)容必須被認(rèn)證和完整地保護(hù)來避免基本的欺騙攻擊。此外,CCN的訪問控制是通過加密來提供的。攻擊者可以相當(dāng)容易地獲得他感興趣的內(nèi)容的加密版本。CCN的安全是基于攻擊者不能對(duì)明文內(nèi)容下任何結(jié)論,并且不能利用輔助渠道。

? ? ? 然而,即使數(shù)據(jù)被加密,它仍然會(huì)泄露一些信息,比如內(nèi)容大小,請(qǐng)求時(shí)間,內(nèi)容名字。我們將在第4章更加詳細(xì)地討論這些問題。另一個(gè)密碼學(xué)的應(yīng)用來源于加密算法有限的生存時(shí)間的事實(shí),通常假定為30年左右。這個(gè)時(shí)間之后,一個(gè)可以達(dá)到的計(jì)算將會(huì)增加強(qiáng)力破解加密內(nèi)容的能力。這意味著30年后這些加密數(shù)據(jù)仍然是有價(jià)值的,可以獲得加密數(shù)據(jù)的攻擊者可以保存這些數(shù)據(jù)供以后分析。我們將在3.4.4部分討論攻擊者怎樣克隆其他會(huì)話參與者的會(huì)話。

? ? ? 此外,一旦內(nèi)容被發(fā)布,還不清楚它怎樣被取消,內(nèi)容的拷貝會(huì)在網(wǎng)絡(luò)的很多地方被緩存。為了防止更多的用戶獲得取消的內(nèi)容,路由器將會(huì)發(fā)布和執(zhí)行一個(gè)取消列表。或者,內(nèi)容將會(huì)被以相當(dāng)短的生存時(shí)間發(fā)布,生存期過后路由器將不會(huì)再緩存內(nèi)容拷貝。然而,這將意味著內(nèi)容發(fā)布者的高負(fù)載,因?yàn)樗坏貌桓宇l繁的為內(nèi)容拷貝提供服務(wù)。

? ? ? 在被用作內(nèi)容簽名的密鑰環(huán)境中,取消問題特別重要。例如,如果密鑰被破解了,密鑰應(yīng)該被標(biāo)記為不可用。這個(gè)信息必須被及時(shí)地傳播到擁有破解數(shù)據(jù)的所有消費(fèi)者,甚至所有的路由器。

? ? ? 最后,密碼學(xué)的應(yīng)用需要關(guān)鍵材料的交換,特別是使用信任模型。需要定義一些策略來防止多方聲明同樣的命名空間。

拒絕服務(wù)

? ? ? 網(wǎng)絡(luò)安全研究方面一個(gè)重復(fù)的話題是拒絕服務(wù)攻擊機(jī)制。因?yàn)楣粽?#xff0c;特別是如果它們控制了大量的機(jī)器,能夠簡單的制作IP包并發(fā)送給受害者,而不論受害者的位置。這種類型的攻擊很容易實(shí)施。

? ? ? CCN有一些特性使得拒絕服務(wù)攻擊更加困難。首先,數(shù)據(jù)包沒有被路由,他總是沿著之前發(fā)送的Interest包的路徑發(fā)送,對(duì)之前的一個(gè)Interest包,每個(gè)接口最多接收一個(gè)數(shù)據(jù)包。因此,如果一個(gè)攻擊者想要用數(shù)據(jù)包淹沒遠(yuǎn)程的受害者,他將不得不使受害者對(duì)請(qǐng)求興趣包生成比他能夠處理的數(shù)據(jù)更多的數(shù)據(jù)包,這是一個(gè)不可能實(shí)現(xiàn)的場景。

? ? ? 另一方面,Interest包是可以被路由的。如果攻擊者選擇了受害者內(nèi)容源的前綴,每個(gè)興趣包都有不同的后綴,來自緩存的響應(yīng)將會(huì)被避免,由此產(chǎn)生的興趣包將會(huì)被路由到受害者。然而,CCN的第二個(gè)特性使得應(yīng)對(duì)措施可行。數(shù)據(jù)包由與興趣包同樣的路徑傳送。因此,路由器能夠觀察興趣包中不存在響應(yīng)數(shù)據(jù)包的前綴部分的比例。如果這個(gè)比例很高,將會(huì)檢測出攻擊,興趣包將被丟棄。

? ? ? 這個(gè)算法將不得不被部署在中間路由器上,這個(gè)算法的有效實(shí)現(xiàn)和優(yōu)化的攻擊檢測界限仍然有待研究。如果知道檢測算法怎樣工作,攻擊者能夠簡單的選擇一個(gè)低于攻擊檢測界限的攻擊率來避免被檢測到,但同時(shí)這個(gè)速率足夠達(dá)到攻擊的目標(biāo)。這源于中間路由器不知道應(yīng)用程序語義的事實(shí),僅僅最終的目的地能夠識(shí)別是否遭到了攻擊。最后,Jacobson等建議使用攻擊域讓下游路由器抑制它們通過名字前綴轉(zhuǎn)發(fā)的興趣包的數(shù)量的機(jī)制。

? ? ? 一個(gè)至今還未討論的拒絕服務(wù)攻擊的目標(biāo)是中間路由器。因?yàn)樗鼈兲峁┍菼P路由器更加強(qiáng)大的功能,它們必須保存每個(gè)興趣包的狀態(tài),CCN路由器有更多的攻擊面,并可能成為拒絕服務(wù)攻擊的受害者。我們將在第三章討論這樣的攻擊。

隱私

? ? ? CCN消息是自包含的命名對(duì)象。因此,相比較于從不透明的TCP流中獲取的IP包,它們承載更多的語義信息。因此,這些對(duì)象被臨時(shí)地保存在沒有訪問限制的緩存中,這意味著通信痕跡在所有的網(wǎng)絡(luò)中游蕩。

? ? ? 攻擊者可以知道是否一個(gè)給定的數(shù)據(jù)對(duì)象被緩存在一個(gè)結(jié)點(diǎn)中,當(dāng)數(shù)據(jù)對(duì)象被請(qǐng)求時(shí),這個(gè)結(jié)點(diǎn)可以被測量響應(yīng)時(shí)間。因此,甚至加密的數(shù)據(jù)也會(huì)通過元數(shù)據(jù),比如名字、發(fā)布者的公鑰泄露信息,或者通過輔助渠道,比如內(nèi)容長度和請(qǐng)求時(shí)間。這種類型的攻擊叫做緩存窺探,我們將在第四章討論,并概述應(yīng)對(duì)策略。

? ? ? 另一個(gè)用戶隱私的威脅是惡意的ISP。通過監(jiān)聽接入路由器和記錄客戶請(qǐng)求什么名字,ISP可以很容易的了解客戶。現(xiàn)在仍然不知道如果不禁用緩存,這能夠被怎樣技術(shù)性地防范。假定一個(gè)假想密碼或者模糊構(gòu)造能夠把一個(gè)明文名字的成分c映射到模糊的名字o1,o2,……on,這個(gè)構(gòu)造是單方面的,意思是這n個(gè)名字可以從明文名字推斷,但反過來是不成立的。如果一個(gè)惡意的ISP看見了這樣一個(gè)名字,他不能直接推斷出這個(gè)名字的內(nèi)容源是什么,因此就可以說實(shí)現(xiàn)了某種程度上的隱私。

? ? ? 為了允許轉(zhuǎn)發(fā)這樣一個(gè)模糊的Interest包,并能夠緩存命中,必須有一個(gè)功能能夠檢測對(duì)同樣的對(duì)象oi和oj的兩個(gè)模糊的名字的匹配。然而,如果這樣的功能存在,惡意的ISP能夠建立一個(gè)被監(jiān)視的內(nèi)容源的模糊名字的字典,并用字典匹配進(jìn)來的興趣包。更壞的是,因?yàn)橐粋€(gè)路由器總是看見興趣包的響應(yīng)數(shù)據(jù)包,惡意的ISP能夠建立一個(gè)數(shù)據(jù)負(fù)載內(nèi)容的指紋哈希的字典。這樣,數(shù)據(jù)的隱私性將會(huì)很小。另一方面,如果這樣的功能不存在,例如,如果名字和負(fù)載被每個(gè)用戶獨(dú)立地加密,數(shù)據(jù)的隱私性將會(huì)最大。這意味著緩存只在每用戶基礎(chǔ)上可操作,這相當(dāng)大地限制了緩存的效用。

? ? ? 鑒于這些想法,研究問題就是是否可以找到一個(gè)機(jī)制使惡意ISP創(chuàng)建一個(gè)模糊名字字典不可行,但仍然允許轉(zhuǎn)發(fā)和緩存的前綴匹配。此外,可以調(diào)查在用戶隱私和網(wǎng)絡(luò)效率之間是否可以找到一個(gè)權(quán)衡。更通常地,需要研究用戶需要擁有什么隱私,他們信賴他們的ISP嗎?他們需要技術(shù)上保證隱私的強(qiáng)制執(zhí)行嗎?他們對(duì)描繪的受歡迎內(nèi)容還是不受歡迎內(nèi)容的訪問更關(guān)心??????????

問責(zé)基礎(chǔ)設(shè)施

? ? ? 在TCP/IP體系中,如果一個(gè)主機(jī)受到攻擊,對(duì)攻擊來自哪里會(huì)有粗略估計(jì)。發(fā)送者的IP地址經(jīng)常是偽造的,但是如果攻擊者需要接收響應(yīng)包,地址必須至少有一定的可信度。

? ? ? 相反,CCN沒有端結(jié)點(diǎn)標(biāo)識(shí),當(dāng)消息被接收,只有上一跳是已知的。數(shù)據(jù)響應(yīng)包遵循PIT中的興趣包留下的返回路徑返回,當(dāng)數(shù)據(jù)包被轉(zhuǎn)發(fā)后,這個(gè)痕跡就消失了。結(jié)果,遭受攻擊的CCN內(nèi)容源不能追蹤攻擊來自哪里,他們不能選擇性地阻塞攻擊源。它們不能禁用接收有害數(shù)據(jù)包的路徑,但這將可能斷開一大群無辜的用戶。

? ? ? 問題的原因是CCN廢除了端結(jié)點(diǎn)標(biāo)識(shí)和真正的端到端連接語義,但是仿真了相似的東西,比如動(dòng)態(tài)生成的內(nèi)容仍然需要訪問一個(gè)特定的物理的機(jī)器。當(dāng)用戶和攻擊者可以路由興趣包到這個(gè)機(jī)器,機(jī)器不可能再識(shí)別連接的另一端。如果發(fā)生斷續(xù)的連接或者請(qǐng)求者移動(dòng)了,這個(gè)新的通信范式更加靈活但也付出了前面提到的問題的代價(jià)。

? ? ? 執(zhí)法機(jī)構(gòu)能夠模擬接入路由器或者DSLAM,因?yàn)榍耙惶奈恢镁褪墙K端用戶。然而,關(guān)聯(lián)在受害者這方觀察到的攻擊和在網(wǎng)絡(luò)邊緣收集到的信息不是一件容易的事。特別地,這僅工作在如果全世界所有的接入提供商都被監(jiān)視的情況下。相反地,如果在接入路由器上觀察到惡意興趣包而沒有受害者的投訴,想要找到興趣包在哪里路由可能會(huì)很困難,因?yàn)榫W(wǎng)絡(luò)狀態(tài)(路由表,緩存內(nèi)容)變化很快。

? ? ? 一個(gè)可能的解決方法強(qiáng)迫用戶對(duì)興趣包數(shù)字簽名,或者在接入路由器上自動(dòng)簽名興趣包。由ISP提供簽名密鑰,密鑰會(huì)被經(jīng)常改變,例如每天,來提供與現(xiàn)在動(dòng)態(tài)IP地址相當(dāng)?shù)碾[私保障。這個(gè)簽名密鑰包括例如ISP、地區(qū)或國家的名字等的聯(lián)系信息。這個(gè)解決方法允許內(nèi)容源選擇性地阻塞一個(gè)特定的但是仍然匿名的用戶,或者如果發(fā)生揭露用戶身份的嚴(yán)重問題時(shí)聯(lián)系用戶的ISP并著手起訴。然而,在路由器上簽名的興趣包的聚合會(huì)更加困難,盡管它是可能的。

內(nèi)容保護(hù)

? ? ? 內(nèi)容提供者感興趣于在可控的環(huán)境下使他們的內(nèi)容可用。例如,贊助的內(nèi)容將只能呈現(xiàn)在他們自己的廣告頁中,并防止第三方深度連接此內(nèi)容,沒有原始作者的同意不能將此內(nèi)容用在其他頁面。訂閱內(nèi)容的提供者需要確保此內(nèi)容只在訂閱期內(nèi)被查看,并只能在擁有授權(quán)軟件的授權(quán)設(shè)備上可查看。

? ? ? 在現(xiàn)在的萬維網(wǎng)上,內(nèi)容提供者從他們控制的機(jī)器上服務(wù)內(nèi)容,因此他們可以在接受用戶對(duì)內(nèi)容的請(qǐng)求前強(qiáng)制執(zhí)行一系列條件。例如,對(duì)免費(fèi)的內(nèi)容,他們可以檢查用戶正在請(qǐng)求的是否是同一個(gè)主機(jī)上托管的頁面內(nèi)容,或者用戶的請(qǐng)求是否來自同一臺(tái)用戶登入的機(jī)器。

? ? ? 訂閱的內(nèi)容,比如在iTunes上,僅僅通過授權(quán)的軟件可以被重新創(chuàng)造,這個(gè)軟件被內(nèi)容提供者強(qiáng)行加入訪問限制并被強(qiáng)制執(zhí)行。用戶支付之后,軟件可以下載被單一的主密鑰加密的內(nèi)容。軟件也獲得主密鑰來解密內(nèi)容,但密鑰對(duì)于用戶是隱藏的。每個(gè)文件使用單獨(dú)的加密密鑰而不是每個(gè)用戶使用單獨(dú)的加密文件減少了服務(wù)器的計(jì)算負(fù)載,促進(jìn)了CDN的使用。

? ? ? 這個(gè)方案的安全性是基于僅僅授權(quán)的軟件可以被使用的假設(shè)。如果攻擊者設(shè)法理解加密方案并提取出了主解密密鑰,他們能繞過任何強(qiáng)加在內(nèi)容上的限制。如果這樣的事件被公開,內(nèi)容提供者通常改變他們的保護(hù)機(jī)制并強(qiáng)迫所有的合法用戶把他們的客戶端軟件更新到最新版本并拒絕舊版本的連接。

? ? ? 對(duì)于CCN網(wǎng)絡(luò),緩存內(nèi)容是可以沒有限制地被獲取的。對(duì)訂閱內(nèi)容來說,這意味著一旦保護(hù)方案被破解,所有的被緩存在某處的內(nèi)容都將不再受到保護(hù)。因此,對(duì)CCN來說,有一個(gè)切實(shí)可行的撤回緩存內(nèi)容的方案是很重要的,就像在本部分內(nèi)容開始討論的一樣。此外,甚至半免費(fèi)(資助的)內(nèi)容也需要用這樣一個(gè)數(shù)字版權(quán)管理系統(tǒng)來保護(hù),以便在播放環(huán)境中執(zhí)行相對(duì)松散的規(guī)則。CCN的緩存意味著內(nèi)容提供者更少的數(shù)據(jù)流量,但同時(shí)他們失去了和用戶的直接通信,因此提供者也失去了某種程度上的控制。

2.3? 結(jié)論

? ? ? CCN定義了一個(gè)新的網(wǎng)絡(luò)體系結(jié)構(gòu)的原則。CCNx項(xiàng)目開發(fā)了一個(gè)CCN的原型實(shí)現(xiàn),許多細(xì)節(jié)需要被調(diào)查研究:

? ? ? (1)什么應(yīng)用程序使用CCN?CCN應(yīng)該在哪一層上操作?

? ? ? (2)CCN的路由支持什么功能?

? ? ? (3)緩存基礎(chǔ)設(shè)施應(yīng)該被怎樣組織?

? ? ? (4)可擴(kuò)展的CCN路由器怎樣被建造?

? ? ? (5)內(nèi)容提供者怎樣控制他們內(nèi)容的使用?怎樣獲得使用的統(tǒng)計(jì)信息?

? ? ? (6)CCN使得拒絕服務(wù)攻擊更加困難,但同時(shí)增強(qiáng)的體系結(jié)構(gòu)提供了新的攻擊機(jī)會(huì)。

? ? ? (7)廣泛使用的緩存可以被攻擊者利用來提取與其他用戶隱私相關(guān)的信息。

? ? ? 在下面的章節(jié)中,我們用一個(gè)系統(tǒng)的安全分析方法繼續(xù)CCN的研究。

?

?

3.? CCN的安全

? ? ? 在本章中,我們系統(tǒng)地分析CCN的安全。我們以3.1節(jié)一個(gè)簡化的系統(tǒng)模型開始,并繼續(xù)與這個(gè)模型的相關(guān)的威脅分析(3.2節(jié))。3.3節(jié)綜述已經(jīng)在CCN文獻(xiàn)中報(bào)告的拒絕服務(wù)攻擊,然后在3.4節(jié)介紹新的攻擊,主要是拒絕服務(wù)攻擊和與緩存相關(guān)的攻擊。

?

3.1? 系統(tǒng)模型

? ? ? 我們的系統(tǒng)模型包含主要的參與者和CCN可能部署的組件。因?yàn)楝F(xiàn)在還沒有CCN的全部功能和部署的實(shí)現(xiàn),我們把我們的分析聚焦于CCN新奇的體系結(jié)構(gòu)和概念的弱點(diǎn)。實(shí)現(xiàn)方面的弱點(diǎn),比如緩沖區(qū)溢出,不完整的參數(shù)驗(yàn)證,或者有缺陷的密碼學(xué)使用,我們認(rèn)為超出了討論范圍。本文分析的目的是用來預(yù)測CCN安全方面系統(tǒng)固有的挑戰(zhàn),以便這些問題能夠在開始大規(guī)模部署前被解決。

? ? ? 參與者:

? ? ? (1)端結(jié)點(diǎn):通過生成興趣包請(qǐng)求內(nèi)容。

? ? ? (2)內(nèi)容源:通過生成興趣包的響應(yīng)數(shù)據(jù)包生產(chǎn)內(nèi)容。

? ? ? (3)ISP:通過轉(zhuǎn)發(fā)興趣包和數(shù)據(jù)包連接端用戶和內(nèi)容源。

? ? ? 組成部分:

? ? ? (1)端用戶設(shè)備:可能包括家用路由器和一些個(gè)人主機(jī)。為簡單起見,我們假定每個(gè)ISP的客戶對(duì)應(yīng)一個(gè)單獨(dú)的設(shè)備。

? ? ? (2)路由器:轉(zhuǎn)發(fā)興趣包,回送數(shù)據(jù)響應(yīng)包。他們通常假定有內(nèi)置的緩存。這些緩存大小不同,實(shí)現(xiàn)技術(shù)不同。下面,我們假定緩存在RAM中實(shí)現(xiàn)。因此,他們的大小是數(shù)十GB,甚至更小。

? ? ? (3)內(nèi)容源:或者內(nèi)容生成者。有可用的,或者根據(jù)到來的數(shù)據(jù)包的請(qǐng)求生成的內(nèi)容。實(shí)際上,大的服務(wù)器場所,甚至地理上分布的CDN可能被用作服務(wù)內(nèi)容。我們通過假定一個(gè)單獨(dú)的機(jī)器服務(wù)所有的請(qǐng)求來簡化我們的模型。

? ? ? (4)鏈路:連接所有上面列出的組成部分。真實(shí)世界的鏈路在技術(shù)和速度方面不同,但我們不在我們的模型中區(qū)別。

我們想象作為一個(gè)開放的系統(tǒng),CCN的部署與現(xiàn)在的互聯(lián)網(wǎng)相似,參與者不需要彼此完全信任。

?

3.2? 威脅分析

? ? ? 上面列出了所有參與者都可以成為攻擊者。在廣義上,我們使用術(shù)語攻擊者,例如,當(dāng)ISP監(jiān)視用戶或者泄露用戶的隱私的時(shí)候,我們認(rèn)為ISP是攻擊者。因此,依據(jù)他們的類型,攻擊者可能控制上面列出的任何組件。同樣,目標(biāo)受害者也可能是任何參與者。

? ? ? 表3.1列出了幾種類型的攻擊者,他們?cè)谥R(shí)、預(yù)算、功能和目標(biāo)上不同。一個(gè)攻擊的風(fēng)險(xiǎn)依賴于利用的難易,比如什么攻擊者能夠施行這個(gè)攻擊,多少潛在的攻擊者存在,這些攻擊者必須做怎樣的投資。

類型

知識(shí)了解的程度

預(yù)算

功能

動(dòng)機(jī)

單一用戶

很少

(使用攻擊工具)

自連接

名譽(yù)、報(bào)復(fù)、無聊

專業(yè)

攻擊者

中等至偏高

中等

僵尸網(wǎng)絡(luò),黑客攻擊的路由器

錢(支付的攻擊)

惡意ISP,惡意內(nèi)容源

內(nèi)部人士

訪問自己的設(shè)備

錢、法律法規(guī)、

競爭優(yōu)勢(shì)

網(wǎng)絡(luò)戰(zhàn)士

相當(dāng)于內(nèi)部人士

非常高

僵尸網(wǎng)絡(luò),黑客攻擊的路由器

報(bào)復(fù)、威懾、

輿論影響

表3.1? 攻擊者類型

?

3.2.1? 與TCP/IP架構(gòu)風(fēng)險(xiǎn)的比較

? ? ? 相比較于TCP/IP,CCN有不同的體系結(jié)構(gòu),最顯著的不同是CCN允許路由器中所有數(shù)據(jù)的系統(tǒng)緩存。然而,緩存意味著在效率和隱私兩者之間的權(quán)衡:用戶在緩存中留下通信痕跡。這些痕跡可以被任何人獲取,或者通過擁有特殊查詢特征的興趣包,或者通過探測緩存,使用及時(shí)的回復(fù)來找出是否一個(gè)數(shù)據(jù)項(xiàng)被緩存。特別地,很可能提取第三方在會(huì)話中交換的全部的包序列。這個(gè)實(shí)事相當(dāng)大地簡化了攻擊,因?yàn)楣粽卟辉傩枰裨赥CP/IP中那樣嗅探受害者實(shí)時(shí)的鏈路。攻擊者只需要被連接在一個(gè)共同的緩存中,甚至可能進(jìn)行追溯。此外,緩存需要對(duì)數(shù)據(jù)加密。然而,密碼學(xué)擁有有限的生存周期,一般認(rèn)為大約30年。因此,攻擊者可能收集數(shù)據(jù)并保存到將來的某個(gè)時(shí)刻,加密算法不能再抵擋強(qiáng)力攻擊的時(shí)刻。

? ? ? CCN的通信模型是純粹的面向內(nèi)容的。CCN依據(jù)內(nèi)容尋址而不是位置,因此用戶信任內(nèi)容和原作者,而不是當(dāng)前的可以得到內(nèi)容的緩存(這可能是一個(gè)任意的不可信的緩存)。因此,保護(hù)內(nèi)容的完整性、綁定內(nèi)容的名字和作者是必需的。

? ? ? 因?yàn)門CP/IP強(qiáng)迫與可信的內(nèi)容源的直接通信,保持最新內(nèi)容不是網(wǎng)絡(luò)中存在的問題。相反,CCN需要防止舊內(nèi)容的重播,需要有一種安全的方式來保證給定的內(nèi)容是作者的最近版本。

? ? ? 針對(duì)內(nèi)容源的拒絕服務(wù)攻擊在CCN中更難實(shí)施,但是仍然可行:因?yàn)閮H有興趣包被路由,僅有興趣包被用來淹沒內(nèi)容源。(數(shù)據(jù)包總是沿著興趣包的路徑返回。)興趣包的聚合和緩存意味著攻擊者必須生成可以被路由到相同內(nèi)容源的興趣包,但這要求不同的名稱。相反,互聯(lián)網(wǎng)上的攻擊者可以生成任意數(shù)量的都被路由到同一目的地的相同的IP包。CCN路由器的檢測算法利用這個(gè)請(qǐng)求和響應(yīng)遵循相同路徑的事實(shí)。然而,興趣包不承載能夠識(shí)別興趣包起源的標(biāo)識(shí)符的事實(shí)使這一情況更加復(fù)雜。

? ? ? 位置標(biāo)識(shí)符在TCP/IP中可用,并能夠被用來防范攻擊,或者實(shí)現(xiàn)端到端協(xié)議。CCN的通信是單跳的,由于興趣包的聚合和缺少端結(jié)點(diǎn)尋址。沒有額外的機(jī)制,CCN結(jié)點(diǎn)不能識(shí)別查詢的起源,因?yàn)樗鼘⑿枰匪莸焦舻钠鹪础碛卸说蕉苏Z義的面向會(huì)話的協(xié)議需要實(shí)現(xiàn)一個(gè)明確的方式來使這個(gè)信息可用。風(fēng)險(xiǎn)是這樣的,可選的額外一層可能不會(huì)被每個(gè)人接納,并可能因此被攻擊者規(guī)避來獲得一個(gè)更高層的匿名。

? ? ? CCN的路由器比IP的路由器在狀態(tài)和計(jì)算能力上更加強(qiáng)大。這主要是一個(gè)實(shí)現(xiàn)上的選擇:一個(gè)無環(huán)拓?fù)浜鸵氲姆祷氐脚d趣包發(fā)送者的源路由將使PIT變得多余。這一選擇對(duì)系統(tǒng)安全的影響是,因?yàn)榫W(wǎng)絡(luò)中更強(qiáng)大的設(shè)備增加了攻擊面,因而可能導(dǎo)致拒絕服務(wù)攻擊。

3.2.2? 拒絕服務(wù)攻擊的攻擊樹

? ? ? 21頁的圖3.1顯示了CCN中拒絕服務(wù)攻擊的攻擊樹。攻擊樹顯示了獲取攻擊目標(biāo)的不同方式。樹葉代表基本的攻擊步驟,內(nèi)部結(jié)點(diǎn)代表攻擊的子目標(biāo),樹根代表最終的攻擊目標(biāo)。在這個(gè)例子中,所有的子樹都是可選的,也就是說,一個(gè)從葉子到根的路徑說明一個(gè)潛在的攻擊實(shí)例。

? ? ? 一種拒絕客戶服務(wù)的方式是使請(qǐng)求內(nèi)容不可達(dá)。

? ? ? (1)源能夠通過洪泛被破壞,為此,攻擊者可以發(fā)送大量的到源的興趣包(3.3.2節(jié)和3.3.3節(jié)),或者攻擊者可以減少緩存效率以致正常的流量完全轉(zhuǎn)發(fā)到源并下載它。

? ? ? (2)路由選擇可能被惡意的或已被破解密碼的路由器破壞致使不能轉(zhuǎn)發(fā)請(qǐng)求。我們認(rèn)為經(jīng)濟(jì)力量使得ISP按照客戶需要轉(zhuǎn)發(fā)興趣包。我們認(rèn)為防止攻擊者獲得路由器的管理權(quán)限超出了討論范圍。每個(gè)路由器中的PIT表項(xiàng)有超時(shí)時(shí)間,時(shí)間過后,路由器將會(huì)刪除等待興趣包并不再轉(zhuǎn)發(fā)回復(fù)包。攻擊者可以在不同的路由器上配置不同的超時(shí)時(shí)間來防止內(nèi)容被獲取。然而,還不清楚攻擊者怎樣實(shí)施這樣的配置。

? ? ? (3)兩種類型的中間設(shè)備可能會(huì)被破壞:可以用大量的人造興趣包對(duì)鏈路洪泛,以致鏈路達(dá)到能力極限,合法的流量在路由器中排隊(duì)(3.3.2、3.3.3、3.4.2節(jié))。要求路由器執(zhí)行代價(jià)高昂的計(jì)算來減慢發(fā)送請(qǐng)求(3.3.1節(jié))。或者,路由器的內(nèi)存可能被溢出的PIT耗盡。

? ? ? 另一個(gè)拒絕客戶服務(wù)的方式是制造偽造的響應(yīng)包。

? ? ? (1)有效的內(nèi)容被路由器阻塞,路由器認(rèn)為內(nèi)容不可用。攻擊者可以重放或者生成一個(gè)“內(nèi)容不存在”響應(yīng)。

? ? ? (2)內(nèi)容可以通過生成沒有被簽名,或者被用錯(cuò)誤密鑰簽名的偽造響應(yīng)包欺騙,并期望客戶接受響應(yīng)。例如,客戶可能不知道內(nèi)容源的正確密鑰。或者,簽署了正確密鑰的舊的內(nèi)容可能被重放,或者攻擊者可能獲得了對(duì)源的簽名密鑰的訪問權(quán)限,因此便可以欺騙內(nèi)容。

? ? ? 如果CCN的加密協(xié)議沒有被正確實(shí)現(xiàn),或者如果客戶對(duì)密碼學(xué)機(jī)制的使用配置不安全,后來的攻擊是可能的。因?yàn)檫@些風(fēng)險(xiǎn)已經(jīng)在現(xiàn)在的網(wǎng)絡(luò)體系結(jié)構(gòu)中出現(xiàn),我們不打算進(jìn)一步考慮它們。

?

3.3? 已知攻擊

? ? ? 在這一部分,我們總結(jié)了一些與拒絕服務(wù)攻擊相關(guān)的攻擊和他們的應(yīng)對(duì)策略。這已經(jīng)在一些CCN的文獻(xiàn)和CCNx的郵件列表中被討論了。

3.3.1? 通過強(qiáng)制昂貴的計(jì)算對(duì)路由器進(jìn)行的Dos攻擊

? ? ? 如果路由器驗(yàn)證了內(nèi)容簽名,攻擊者可以請(qǐng)求更多的需要路由器做昂貴計(jì)算的數(shù)據(jù)項(xiàng),并對(duì)路由器向其他用戶提供的服務(wù)產(chǎn)生副作用。

? ? ? (1)假設(shè):內(nèi)容路由器系統(tǒng)地驗(yàn)證了他收到的內(nèi)容對(duì)象的簽名。路由器可能緩存密鑰,但并不是每個(gè)密鑰都緩存。攻擊者控制一個(gè)或更多的機(jī)器,并串通惡意的內(nèi)容源。

? ? ? (2)攻擊:攻擊者從惡意內(nèi)容源請(qǐng)求數(shù)據(jù),每個(gè)數(shù)據(jù)項(xiàng)都不同,并簽署了不同的密鑰。為了驗(yàn)證簽名,路由器必須從內(nèi)容源指示的位置獲取密鑰。為了延遲該操作,內(nèi)容源可以手工的減慢他的響應(yīng)。此外,如果攻擊者知道正在被使用的加密算法和算法實(shí)現(xiàn),攻擊者能夠選擇密鑰和簽名使得他們可以在最壞的情況下執(zhí)行。

? ? ? (3)影響:路由器忙于驗(yàn)證簽名,可能減慢傳送到合法用戶的服務(wù)。或者,路由器可能停止驗(yàn)證簽名來滿足需求。

? ? ? (4)應(yīng)對(duì)策略:

? ? ? 1)當(dāng)負(fù)載太高時(shí)停止驗(yàn)證簽名。在任何情況下,CCN接收者希望自己驗(yàn)證所有簽名。

? ? ? 2)為了不允許欺騙內(nèi)容被緩存,簽名必須被驗(yàn)證。然而,驗(yàn)證可能被延遲直到處理能力可行。或者,僅當(dāng)內(nèi)容被緩存了一段時(shí)間,簽名才會(huì)被驗(yàn)證。例如,避免對(duì)那些立即會(huì)被丟棄出緩存的內(nèi)容的計(jì)算能力做投資。

? ? ? 3)一旦出現(xiàn)使用了大量的可疑的不同的密鑰,就需要檢測內(nèi)容源。或者不驗(yàn)證這些簽名,或者僅當(dāng)有充足的空閑處理能力可用時(shí)獲取和驗(yàn)證密鑰。

? ? ? (5)風(fēng)險(xiǎn):低。攻擊可能被檢測,需要有一個(gè)串通的內(nèi)容源和潛在的相當(dāng)大的攻擊流量(簽名驗(yàn)證可能會(huì)在硬件中實(shí)現(xiàn)來獲得高的速度)。

3.3.2? 針對(duì)內(nèi)容源的Dos攻擊????

? ? ? 攻擊者直接向源發(fā)送興趣包來避免緩存命中,目的是淹沒源,拒絕源對(duì)合法用戶提供服務(wù)。

? ? ? (1)假設(shè):構(gòu)造不存在的內(nèi)容的名字,直接向內(nèi)容源路由興趣包是可能的。攻擊者假定可以訪問一個(gè)或更多的機(jī)器,比如一個(gè)僵尸網(wǎng)絡(luò)。

? ? ? (2)攻擊:攻擊者為大量不存在的內(nèi)容包構(gòu)造不同的名字。這將使緩存不能命中,興趣包將會(huì)被直接路由到內(nèi)容源。(怎么構(gòu)造?生成隨機(jī)數(shù)?)

? ? ? (3)影響:如果許多設(shè)備在同一時(shí)間執(zhí)行這個(gè)攻擊,內(nèi)容源會(huì)被興趣包洪泛,以致合法用戶被拒絕服務(wù)。

? ? ? (4)應(yīng)對(duì)策略:路由器記錄為每個(gè)前綴轉(zhuǎn)發(fā)的興趣包收到了多少回復(fù)包。如果路由器檢測到一大部分的可疑興趣包沒有響應(yīng),他將減慢這個(gè)前綴的興趣包的轉(zhuǎn)發(fā)速率。

? ? ? (5)風(fēng)險(xiǎn):中等偏低。盡管可能被規(guī)避,檢測仍然是可能的。攻擊需要訪問一個(gè)僵尸網(wǎng)絡(luò),并需要高的攻擊流量。

3.3.3? 利用興趣包特殊位對(duì)內(nèi)容源進(jìn)行DOS攻擊

? ? ? 一些特殊的興趣包比特位會(huì)被攻擊者利用造成緩存無法命中。這可能被濫用于利用興趣包來對(duì)內(nèi)容源進(jìn)行洪泛攻擊,以拒絕對(duì)合法用戶的服務(wù)。

? ? ? (1)假設(shè):CCN興趣包可以指定無法從緩存中獲取到響應(yīng)數(shù)據(jù)。攻擊者假定控制了一個(gè)或幾個(gè)機(jī)器,比如僵尸網(wǎng)絡(luò)。

? ? ? (2)攻擊:攻擊者向一個(gè)給定的內(nèi)容源發(fā)送大量的興趣包,并指定響應(yīng)不會(huì)從緩存中獲取。

? ? ? (3)影響:源將會(huì)遭受到興趣包的洪泛攻擊。合法用戶被拒絕服務(wù)。

? ? ? (4)應(yīng)對(duì)策略:限制興趣包特殊選項(xiàng)的使用。例如,僅允許本地范圍的興趣包使用特殊選項(xiàng)(沒有超越本地機(jī)器或本地網(wǎng)絡(luò)轉(zhuǎn)發(fā)興趣包)。或者,僅僅數(shù)字簽名的興趣包能夠使用這個(gè)選項(xiàng)。希望密鑰證書能夠揭示攻擊者的身份。然而,攻擊者能夠從信任的用戶那里竊取密鑰并以一個(gè)虛假的名字實(shí)施攻擊。

? ? ? (5)風(fēng)險(xiǎn):低。存在完美的應(yīng)對(duì)策略。攻擊需要對(duì)僵尸網(wǎng)絡(luò)的訪問和高的攻擊流量。

?

3.4? 新的攻擊

? ? ? 在這部分,我們介紹一些還沒有在CCN環(huán)境中被討論的新的攻擊。

3.4.1? 緩存無用或非法數(shù)據(jù)

? ? ? 通過利用廣泛的路由器緩存,攻擊者可以為非法內(nèi)容獲得免費(fèi)的不受控制的存儲(chǔ),或者在路由器緩存保存已刪除的內(nèi)容。

? ? ? (1)假設(shè):CCN廣泛使用緩存,緩存的大小可能會(huì)很大。攻擊者假定可以訪問連接到同一緩存的一個(gè)或多個(gè)機(jī)器,比如僵尸網(wǎng)絡(luò)。

? ? ? (2)攻擊:攻擊者持續(xù)地為文件發(fā)布興趣包,以使它保存在緩存中。這個(gè)人工的大量的請(qǐng)求包產(chǎn)生了一種假象:對(duì)路由器來說,對(duì)這個(gè)文件歡迎程度似乎比實(shí)際更高。

? ? ? 攻擊者需要在文件被緩存丟棄之前不久發(fā)送一個(gè)興趣包。比如LRU緩存,一個(gè)項(xiàng)目在緩存中至少保留一個(gè)緩存特征時(shí)間。這意味著請(qǐng)求頻率必須高于或者等于tc-1

? ? ? 如果緩存以網(wǎng)狀結(jié)構(gòu)聚合,這便足以使攻擊者滲透一個(gè)緩存,項(xiàng)目將會(huì)對(duì)所有連接的客戶端可用。比如樹狀的層次網(wǎng)絡(luò),攻擊者希望滲入樹根以使文件對(duì)最大數(shù)量的客戶可用。在一個(gè)LRU層次中,僅當(dāng)高層緩存比低層緩存有更加嚴(yán)格的高的特征時(shí)間時(shí),高層的緩存才有意義。這是因?yàn)長RU緩存像一個(gè)請(qǐng)求頻率以tc-1為截至頻率的低通濾波器(聚合)一樣工作。因此,如果攻擊者想要滲入樹根,他只需要決定根緩存的特征時(shí)間,并相應(yīng)地調(diào)整請(qǐng)求速率。我們?cè)?.4.2節(jié)描述測量辦法。然而,測量根的特征時(shí)間是具有挑戰(zhàn)性的,用根節(jié)點(diǎn)代替葉結(jié)點(diǎn)作為目標(biāo)需要更低的請(qǐng)求速率。

? ? ? (3)影響:攻擊者可以通過使用這個(gè)技術(shù),利用CCN的基礎(chǔ)設(shè)施作為內(nèi)容分發(fā)網(wǎng)絡(luò)來保存已經(jīng)從原始服務(wù)器中刪除的文件,并使他們?yōu)楦鼜V闊范圍的用戶可用。特別地,非法內(nèi)容的發(fā)布者可以從web服務(wù)器上臨時(shí)發(fā)布內(nèi)容并把文件保存在CCN網(wǎng)絡(luò)里,這意味著關(guān)閉web服務(wù)器不足以防止內(nèi)容被獲取。

? ? ? 這個(gè)攻擊的一個(gè)變體僅僅是增加合法內(nèi)容的普及。例如,內(nèi)容提供者把他的不受歡迎的文件鏈接到他最受歡迎的文件以致于它們可以同時(shí)下載。通過比特征時(shí)間稍微高些地增加請(qǐng)求頻率,項(xiàng)目將會(huì)被從緩存中檢索而不是被從原始服務(wù)器中獲取。因此,內(nèi)容提供者可以濫用文件的廣泛性來獲得免費(fèi)的內(nèi)容分發(fā)服務(wù)。

? ? ? (4)應(yīng)對(duì)策略:

? ? ? 1)為了防止非法內(nèi)容的檢索,可以定義名稱審查列表。路由器不能傳送列表上的內(nèi)容。

? ? ? 2)緩存應(yīng)該被強(qiáng)迫定期重新驗(yàn)證原始內(nèi)容源的內(nèi)容。然而,還不清楚緩存怎樣區(qū)別是從其他緩存得到的響應(yīng)還是從內(nèi)容源直接獲取的響應(yīng)。

? ? ?3)偽造地址攻擊可以用啟發(fā)式算法檢測出來。

? ? ?(5)風(fēng)險(xiǎn):低。相比較很容易獲得相同效果的方法,這個(gè)攻擊很復(fù)雜并且存在應(yīng)對(duì)策略。這個(gè)攻擊可能需要高的請(qǐng)求頻率。

3.4.2? 通過降低緩存效率進(jìn)行DOS攻擊

? ? ? 通過修改對(duì)緩存請(qǐng)求分布的廣泛性,攻擊者可以減少緩存效率。如果許多這樣的攻擊同時(shí)發(fā)生,增加的帶寬需求會(huì)導(dǎo)致對(duì)網(wǎng)絡(luò)基礎(chǔ)設(shè)施或內(nèi)容源的拒絕服務(wù)。

? ? ? (1)假設(shè):緩存可以減少相當(dāng)多的帶寬。為了節(jié)省開銷,網(wǎng)絡(luò)或服務(wù)器基礎(chǔ)設(shè)施設(shè)計(jì)為以可以使用緩存的方式工作。攻擊者可以訪問一個(gè)或更多的連接到一個(gè)緩存的機(jī)器(比如僵尸網(wǎng)絡(luò))。

? ? ? (2)攻擊:攻擊者選擇一系列不受歡迎的文件U,并周期性地請(qǐng)求他們來增加他們的受歡迎程度。U的請(qǐng)求頻率與真正受歡迎的文件P的請(qǐng)求頻率相似。U的大小被選擇以致于緩存中觀察到的全部的分布廣泛性變得相當(dāng)統(tǒng)一。因?yàn)榫彺鎸?duì)于保存全部內(nèi)容并不是足夠大,因而緩存變得低效,而且更多的請(qǐng)求不得不向上游轉(zhuǎn)發(fā),這個(gè)攻擊被稱為局部破壞攻擊。

? ? ? (3)影響:緩存的命中率減小,增加了網(wǎng)絡(luò)鏈路的負(fù)載(ISP的花銷),增加了直接從內(nèi)容源檢索的文件數(shù)量(內(nèi)容提供者的花銷)。如果基礎(chǔ)設(shè)施設(shè)計(jì)為以這樣功能的緩存工作,基礎(chǔ)設(shè)施可能變得擁塞。最終,這可能導(dǎo)致拒絕服務(wù)。

? ? ? (4)應(yīng)對(duì)策略:

? ? ? 1)為最壞的情況,也就是為假定命中率為零的緩存提供基礎(chǔ)設(shè)施。然而,這可能導(dǎo)致很高的開銷,甚至從根本上質(zhì)疑CCN的可用性。

? ? ? 2)啟發(fā)式算法可以用來檢測局部破壞攻擊。

? ? ? (5)風(fēng)險(xiǎn):中等。僅僅啟發(fā)式檢測可行。實(shí)行攻擊需要一個(gè)僵尸網(wǎng)絡(luò)和高的攻擊流量,但它是可行的。

3.4.3? 通過耗盡路由器的可用內(nèi)存進(jìn)行DOS攻擊

? ? ? 通過填充路由器的為保存通信狀態(tài)的緩存,攻擊者降低或破壞發(fā)送給其他用戶的服務(wù)。

? ? ? (1)假設(shè):CCN路由器需要把PIT表保存在內(nèi)存中,PIT表中包含每個(gè)收到和已轉(zhuǎn)發(fā),但沒有收到回復(fù)的興趣包。這些條目的緩存是有限的。我們假設(shè)攻擊者可以訪問一個(gè)或多個(gè)機(jī)器,比如僵尸網(wǎng)絡(luò)。攻擊者控制著一個(gè)串通的內(nèi)容源,使其參加到攻擊中。

? ? ? (2)攻擊:基本的攻擊包含請(qǐng)求很大數(shù)量的不同的不存在的名字來填充PIT表。然而,很大部分的興趣包路由器不能檢測到回復(fù)。然而,通過勾結(jié)內(nèi)容源,攻擊是精確的。內(nèi)容源生成回復(fù),但僅僅在路由器中的PIT表項(xiàng)即將超時(shí)前傳送回復(fù)。以這種方式,填充PIT表的必須的請(qǐng)求數(shù)量才是最小的。路由器仍然會(huì)檢測到頻繁的對(duì)串通內(nèi)容源前綴的訪問,因此攻擊者可能使用一些不同的前綴來規(guī)避檢測。特別地,如果攻擊者控制僵尸網(wǎng)絡(luò),他能夠使用每個(gè)機(jī)器對(duì)內(nèi)容提供服務(wù),這意味著串通內(nèi)容源的數(shù)量將和請(qǐng)求者的數(shù)量一樣多。

? ? ? 每個(gè)等待興趣包有幾百字節(jié)大小的名字和附加區(qū)域,比如范圍。因?yàn)楣粽呖刂浦傻呐d趣包,他可以精巧地制作興趣包來最大化內(nèi)存消耗。例如,攻擊者可以通過選擇非常長的名字來加速攻擊。

? ? ? (3)影響:如果PIT表滿了,合法客戶將被拒絕服務(wù)。

? ? ? (4)應(yīng)對(duì)策略:

? ? ? 1)不要在PIT表中存儲(chǔ)全部的請(qǐng)求名字,而使用哈希技術(shù)來節(jié)省內(nèi)存以防止攻擊者加速攻擊。

? ? ? 2)在PIT表頭丟掉興趣包而不是表尾,也就是說,一個(gè)新的興趣包總是被接收,來代替舊的等待興趣包。這將使通過內(nèi)容源延遲回復(fù)來填充PIT表更加困難。(CCN是不可靠的,因此路由器允許丟失興趣包。)

? ? ? 3)研究一個(gè)機(jī)制來檢測對(duì)少量名字前綴的大量請(qǐng)求包。

? ? ? 4)使用一個(gè)數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)逆向轉(zhuǎn)發(fā),可能與布隆過濾器相似。這個(gè)數(shù)據(jù)結(jié)構(gòu)在正常的條件下存儲(chǔ)精確信息,當(dāng)達(dá)到容量限制時(shí)緩慢降低洪泛。

? ? ? 5)設(shè)計(jì)沒有PIT表項(xiàng)的無狀態(tài)的路由器:使用無環(huán)拓?fù)洳榕d趣包和數(shù)據(jù)包增加反向源路由標(biāo)志域。

? ? ?(5)風(fēng)險(xiǎn):中等。攻擊的目標(biāo)是網(wǎng)絡(luò)的中心組件,因此有很大的影響。然而,它需要僵尸網(wǎng)絡(luò)和高的攻擊流量。

3.4.4? 緩存窺探:列出緩存內(nèi)容,監(jiān)視對(duì)象訪問,復(fù)制會(huì)話

? ? ? 通過像正常用戶那樣請(qǐng)求數(shù)據(jù),并通過檢測是否回復(fù)包被緩存,攻擊者可以從緩存中提取與隱私相關(guān)的信息。因此,如果命名方案允許識(shí)別屬于相同信息交換的條目,克隆整個(gè)會(huì)話是可能的。

? ? ? (1)假設(shè):緩存是CCN的核心。在一個(gè)典型的網(wǎng)絡(luò)中,每個(gè)執(zhí)行轉(zhuǎn)發(fā)任務(wù)的設(shè)備都需要配備緩存,無論因特網(wǎng)核心路由器、接入路由器、DSLAM,還是全體網(wǎng)絡(luò)的路由器。這將意味著有些緩存特別接近端用戶,因?yàn)橛邢迶?shù)量的用戶可以訪問這些緩存,他們將包含非常具體的內(nèi)容。我們假定攻擊者直接連接到他的受害者的同一個(gè)緩存上。

? ? ? (2)攻擊:緩存窺探是一個(gè)用來確定緩存內(nèi)容的技術(shù)。為了找出是否一個(gè)給定名字的條目被緩存,攻擊者向緩存發(fā)送對(duì)數(shù)據(jù)項(xiàng)的請(qǐng)求并測量響應(yīng)時(shí)間。攻擊者再發(fā)送一個(gè)請(qǐng)求其他數(shù)據(jù)項(xiàng)的請(qǐng)求包并確保該數(shù)據(jù)沒有被緩存。比較這兩個(gè)的響應(yīng)時(shí)間來確定第一個(gè)數(shù)據(jù)包來自哪里(來自被探測的緩存,來自任何中間緩存或者來自內(nèi)容源)。

? ? ? 另外,找出緩存中內(nèi)容的信息對(duì)攻擊者來說可能還有其他的意義。例如,CCN的前綴匹配和興趣包中的排除標(biāo)識(shí)域允許攻擊者在預(yù)先不知道名字的情況下,檢索緩存的整個(gè)內(nèi)容。

? ? ? 如果攻擊者可以找出在會(huì)話中用來命名后續(xù)數(shù)據(jù)項(xiàng)的方案,他將能夠從緩存中檢索并重新整合整個(gè)的會(huì)話。即使內(nèi)容被加密,攻擊者仍然能夠從不安全的輔助渠道找到有價(jià)值的信息。

? ? ? (3)影響:可能的隱私威脅在于從找出兩個(gè)通信實(shí)體延伸到得出會(huì)話的內(nèi)容。

? ? ? (4)應(yīng)對(duì)策略:

? ? ? 1)對(duì)每個(gè)可訪問的緩存提供的響應(yīng)使用最小的回復(fù)延遲。雖然會(huì)延遲合法請(qǐng)求,但仍將節(jié)省帶寬和當(dāng)受到攻擊時(shí)限制隱私泄露。

? ? ? 2)加密動(dòng)態(tài)內(nèi)容的名字以至于僅僅授權(quán)的用戶可以在會(huì)話中標(biāo)記數(shù)據(jù)項(xiàng)。

? ? ? 3)禁止復(fù)雜的興趣包特征,比如排除功能,或隨著時(shí)間的推移限制其使用。

? ? ? (5)風(fēng)險(xiǎn):高。每個(gè)用戶可以實(shí)施攻擊并可能獲取對(duì)大量數(shù)據(jù)的訪問。我們?cè)谙抡掠懻撨@個(gè)攻擊,更多的應(yīng)對(duì)策略和更多的細(xì)節(jié)。

3.5? 結(jié)論

? ? ? 在這一章,我們顯示了CCN和TCP/IP體系結(jié)構(gòu)在網(wǎng)絡(luò)安全方面的不同。

? ? ? (1)緩存意味著在網(wǎng)絡(luò)效率和用戶隱私之間的權(quán)衡。

? ? ? (2)更強(qiáng)大的路由器增加了網(wǎng)絡(luò)的攻擊面。

? ? ? (3)CCN使得識(shí)別請(qǐng)求源更加困難。

? ? ? (4)在CCN上實(shí)施拒絕服務(wù)攻擊比在TCP/IP上更加困難,但仍然是可行的。

? ? ? (5)路由器的每個(gè)請(qǐng)求狀態(tài)都可以被濫用做拒絕服務(wù)攻擊。

? ? ? (6)緩存會(huì)以下面的方式被錯(cuò)誤使用:

? ? ? 1)攻擊者使用緩存作為存儲(chǔ)器來使自己的內(nèi)容可用。

? ? ? 2)緩存的效率可以通過攻擊者的拒絕服務(wù)攻擊被減少。

? ? ? 3)內(nèi)容可以被任何連接到緩存的攻擊者提取,從而危及用戶的隱私。

? ? ? 在下一章,我們將詳細(xì)分析對(duì)用戶的隱私的基于緩存的攻擊。

?

?

4.? 緩存窺探

? ? ? 在網(wǎng)絡(luò)體系結(jié)構(gòu)中,通過在緩存中存儲(chǔ)請(qǐng)求數(shù)據(jù)的拷貝,緩存被用來增加效率。后續(xù)請(qǐng)求通過在緩存中找到的本地拷貝被滿足,而不是從內(nèi)容源獲取內(nèi)容。效率的獲取是雙倍的。首先,因?yàn)橐恍┱?qǐng)求可以被本地滿足,內(nèi)容源的數(shù)據(jù)流量被減少了。其次,緩存可以減少緩存內(nèi)容的響應(yīng)時(shí)間,因?yàn)榫彺娴奈恢猛ǔ1葍?nèi)容源更靠近客戶。

? ? ? 然而,緩存引進(jìn)了在效率和隱私方面基本的權(quán)衡。雖然緩存內(nèi)容增加了系統(tǒng)效率,緩存中內(nèi)容的呈現(xiàn)會(huì)被濫用來侵犯用戶的隱私。這種類型的攻擊者可能感興趣的與隱私相關(guān)的信息與下面的內(nèi)容有關(guān):

? ? ? (1)通信的雙方(元信息)。

? ? ? (2)交換的數(shù)據(jù),例如實(shí)際的通信內(nèi)容。

? ? ? 目的是從緩存提取通信痕跡的攻擊叫做緩存窺探攻擊。在這一章,我們考察三種不同的攻擊。

? ? ? (1)獲取緩存內(nèi)容的拷貝(4.5節(jié))。攻擊者對(duì)緩存的快照感興趣,展示了當(dāng)前正在被緩存的用戶請(qǐng)求的對(duì)象。通過與一系列興趣包對(duì)象和緩存內(nèi)容的比較,攻擊者能夠找出是否緩存用戶中的某人訪問了一個(gè)特殊頁面,或者看見了特殊對(duì)象。此外,攻擊者通過確定被使用者群體使用的協(xié)議來準(zhǔn)備后續(xù)的攻擊。

? ? ? (2)分析對(duì)一個(gè)給定名字的訪問(4.6節(jié))。攻擊者檢查是否任何緩存的使用者最近訪問了一個(gè)給定名字的對(duì)象。通過定期地重復(fù)這些探測,攻擊者可以獲取更加精確的訪問時(shí)間信息,甚至推斷請(qǐng)求頻率。如果一些詳細(xì)信息可以提供給任何緩存用戶,周期性的探測能夠使攻擊者觀察緩存和觸發(fā)警報(bào)。

? ? ? (3)克隆會(huì)話(4.7節(jié))。攻擊者使用緩存獲取所有在通信參與者兩方交換數(shù)據(jù)的拷貝,并重新組裝會(huì)話。即使通信被加密,通過輔助渠道,例如消息時(shí)間和消息大小也可能泄露與隱私相關(guān)的信息。

? ? ? 以前的工作把目標(biāo)對(duì)準(zhǔn)本地DNS緩存中的通信痕跡。他們?cè)试S遠(yuǎn)程探測哪個(gè)網(wǎng)站正在被客戶群體訪問,什么應(yīng)用程序正在被使用,什么更加受歡迎。另一個(gè)工作描述了惡意的網(wǎng)站怎樣從用戶的web瀏覽器緩存中推斷用戶的瀏覽信息。我們?cè)?.1節(jié)更加詳細(xì)地討論這些工作。

? ? ? 從攻擊者的角度,緩存有一些優(yōu)勢(shì)。首先,緩存在時(shí)域內(nèi)減輕攻擊復(fù)雜性:大的緩存在原始會(huì)話結(jié)束后仍然保存相當(dāng)長時(shí)間的數(shù)據(jù)。因此,攻擊者不需要在受害者的會(huì)話進(jìn)行同時(shí)實(shí)施攻擊。其次,緩存在空間域內(nèi)分離攻擊:攻擊者僅僅需要窺探,而不是嗅探能力。換句話,攻擊者僅僅需要連接到與受害者相同的緩存,直接訪問受害者變得不再需要。

? ? ? 基于緩存的網(wǎng)絡(luò)體系結(jié)構(gòu)可能增加隱私泄露。當(dāng)前緩存的部署,比如DNS緩存,web緩存和CDN,是應(yīng)用程序特有的,并服務(wù)大量的用戶群體。例如,DNS緩存被典型地部署在提供者內(nèi)部網(wǎng)絡(luò)的一個(gè)高聚合層,比如在每個(gè)城市的基礎(chǔ)上。基于緩存的網(wǎng)絡(luò)體系結(jié)構(gòu),反過來,自稱是應(yīng)用程序獨(dú)立的,并在一個(gè)聚合的層次結(jié)構(gòu)的低層中部署緩存:CCN建議在每個(gè)網(wǎng)絡(luò)設(shè)備中存在緩存,包括路由器和DSLAM。每個(gè)緩存比較少的數(shù)量的可能用戶意味著通過在緩存中找到的信息的泄露更有意義,因?yàn)榘褦?shù)據(jù)歸屬到用戶有更少的歧義性。此外,CCN的應(yīng)用程序獨(dú)立性可能讓攻擊者訪問更廣闊范圍的信息,包括現(xiàn)在沒有被緩存的內(nèi)容類型。

? ? ? 盡管之前的工作定義了一些特定應(yīng)用程序的基于緩存的攻擊,像我們?cè)?.1節(jié)總結(jié)的那樣。我們不知道任何在例如CCN的網(wǎng)絡(luò)體系結(jié)構(gòu)中討論緩存在用戶隱私中的一般影響。像我們?cè)谏厦嬗懻摰?#xff0c;廣義上的緩存加劇用戶暴露的隱私威脅。我們相信研究在網(wǎng)絡(luò)體系結(jié)構(gòu)環(huán)境中基于緩存的攻擊來增強(qiáng)這個(gè)問題的知名度,并在體系結(jié)構(gòu)最終部署前找出對(duì)策是重要的。當(dāng)我們以CCN作為研究案例,它的命令和協(xié)議現(xiàn)在都是已知的,我們猜測我們?cè)谶@一章揭示的這個(gè)問題也可以應(yīng)用在其他被提議的網(wǎng)絡(luò)體系結(jié)構(gòu)。

? ? ? 對(duì)這一章描述的攻擊,我們假定攻擊者的目標(biāo)是找出鄰居的敏感信息。我們把我們對(duì)這些攻擊的描述建立在于在4.2節(jié)概述的系統(tǒng)模型的基礎(chǔ)上,遵循著下面攻擊者能夠執(zhí)行的方式:

? ? ? (1)第一,攻擊者需要定義敏感信息是什么(4.3節(jié))。這一步的輸出是一個(gè)興趣對(duì)象名的列表,比如電話號(hào)碼,網(wǎng)站或者視頻的名字。

? ? ? (2)第二,攻擊者必須獲得一些拓?fù)湫畔?#xff0c;他應(yīng)該找出大約多少用戶連接到和他同樣的緩存中,多少用戶聚集在下一層等等。一些技術(shù)需要攻擊者對(duì)到層次結(jié)構(gòu)的不同層的緩存的往返時(shí)間有預(yù)估。如果緩存中的對(duì)象被添加到緩存后不再被請(qǐng)求,一些技術(shù)也需要這些對(duì)象的平均生存時(shí)間的知識(shí)。得到這些知識(shí)的測量算法可以在4.4節(jié)找到。

? ? ? (3)第三,信息必須從緩存中檢索。在這點(diǎn)上,攻擊者執(zhí)行上面介紹的三個(gè)攻擊中的一個(gè)。我們?cè)?.5、4.6、4.7節(jié)詳細(xì)描述他們。

? ? ? 描述了這三個(gè)攻擊之后,我們用一個(gè)可能的對(duì)策的討論來總結(jié)這一章,這部分在4.8節(jié)。

4.1? 相關(guān)工作

? ? ? DNS窺探允許從DNS緩存中找出是否可以訪問這個(gè)緩存的某人最近請(qǐng)求了一個(gè)域名,例如訪問web頁面或者發(fā)送郵件,通過查詢緩存來確定是否這個(gè)關(guān)于域名的信息是本地可用的。DNS緩存能夠以兩種方式被查詢:

? ? ? (1)非遞歸查詢總是被具有本地信息的緩存應(yīng)答。萬一本地沒有可用數(shù)據(jù),將會(huì)返回錯(cuò)誤信息。

? ? ? (2)遞歸查詢被轉(zhuǎn)發(fā)到其他緩存,如果必須提供一個(gè)有效響應(yīng)。盡管遞歸查詢總是返回響應(yīng),一個(gè)攻擊者有兩種方式找出是否信息最初是在本地緩存:第一,如果數(shù)據(jù)是從其他地方獲取的,響應(yīng)會(huì)更慢。第二,DNS響應(yīng)總是攜帶緩存中數(shù)據(jù)的剩余TTL值。初值被區(qū)域的授權(quán)DNS服務(wù)器定義。如果回復(fù)返回的TTL值比初值更低,數(shù)據(jù)是被遠(yuǎn)程緩存的可能性就比較大了。

? ? ? 除了在一些場景中從緩存中得到的信息被用作進(jìn)一步的攻擊,作者給出了建議對(duì)策。

? ? ? (1)為了防止遠(yuǎn)程攻擊者可以訪問DNS緩存,每一個(gè)緩存只允許本地客戶的請(qǐng)求。

? ? ? (2)為了使攻擊更加復(fù)雜,DNS緩存應(yīng)該允許非遞歸查詢。

? ? ? (3)通過對(duì)TTL的初值增加隨機(jī)性,當(dāng)向緩存中插入條目時(shí),DNS緩存可以增加TTL熵。

? ? ? 為了使速度更優(yōu),一些web瀏覽器對(duì)出現(xiàn)在web頁面上的鏈接預(yù)先提取域名。Krishnan和Monrose顯示了怎樣利用在搜索引擎結(jié)果頁面上發(fā)現(xiàn)的DNS名字的預(yù)獲取來推斷搜索中使用的關(guān)鍵字。攻擊者可以建立一個(gè)以給定關(guān)鍵字保存的域名列表,并對(duì)這些域名探測DNS緩存。通過比較授權(quán)DNS服務(wù)器設(shè)置的TTL初值與緩存條目的剩余TTL值,在相同時(shí)間探測是否這些域名已被插入緩存是可能的。如果大多數(shù)期望的名字是這種情況,攻擊者可以下結(jié)論有人已經(jīng)使用了這樣的通信關(guān)鍵字。

? ? ? 作者顯示了在30分鐘的探測延時(shí)內(nèi),當(dāng)探測搜索一個(gè)給定的關(guān)鍵字,他們能夠獲得85%的準(zhǔn)確率。然而,他們指出,在通常情況下,僅能夠推斷緩存的整個(gè)用戶群體,而不是用戶個(gè)人。比較而言,CCN可能提供了更多的信息:第一,整個(gè)的對(duì)象名字是可以訪問并且可以被發(fā)現(xiàn)的,而不僅僅是域名。第二,每個(gè)CCN緩存的用戶群體比DNS緩存的用戶群體更小。

? ? ? 一些工作測量了沒有緩存的DNS條目的時(shí)間,并用此信息來推斷請(qǐng)求頻率。他們做了下面的簡化假設(shè):

? ? ? (1)一個(gè)條目在緩存中存留的時(shí)間是不變的,等于各自的授權(quán)名字服務(wù)器定義的TTL時(shí)間。特別地,被緩存的條目的命中率對(duì)條目在緩存中的生存時(shí)間沒有影響。緩存中沒有替換發(fā)生。

? ? ? (2)客戶請(qǐng)求是獨(dú)立的和同等的,以指數(shù)方式被分布的,當(dāng)條目沒有被緩存的間隙也是如此。

? ? ? 至于低的受歡迎程度,在緩存窺探期間獲得的命中率已經(jīng)足夠好的接近請(qǐng)求頻率。隨著條目受歡迎程度的增長,客戶的緩存命中更可能發(fā)生。在這種情況下,請(qǐng)求頻率λ能夠被計(jì)算作為條目驅(qū)逐出緩存的時(shí)間(假設(shè)最后一次請(qǐng)求在不久之前發(fā)生)和再次被插入緩存的時(shí)間間隙的平均。作者顯示每個(gè)授權(quán)的TTL時(shí)間內(nèi)探測一次緩存是足夠的。非遞歸查詢被認(rèn)為比較好,因?yàn)樗苯咏沂玖耸欠駭?shù)據(jù)被緩存,而沒有修改緩存狀態(tài)。因?yàn)椴此蛇^程的和仍然是一個(gè)泊松過程,如果每個(gè)客戶端請(qǐng)求頻率是已知的話,客戶的數(shù)量是可以被計(jì)算的。

? ? ? Felten和Schneider顯示了惡意的網(wǎng)站怎樣探測客戶那邊的緩存,比如web瀏覽器的緩存,來找出是否用戶最近訪問了另一個(gè)不相關(guān)的網(wǎng)站。作者討論了下面的應(yīng)對(duì)策略:

? ? ? (1)禁用緩存。因?yàn)槊黠@的性能代價(jià),他們放棄了這個(gè)解決方案。

? ? ? (2)改變緩存的命中/丟失行為。在嘗試隱藏他們的時(shí)候,緩存命中會(huì)變得更慢,或者變成隨機(jī)的。然而,作者沒有考慮這個(gè)可能性:“如果我們使得命中像丟包一樣慢,攻擊者將會(huì)被帶上手銬;但是在這種情況下,我們可能也會(huì)關(guān)閉緩存。”然而,這個(gè)陳述似乎忽視了仍然會(huì)被帶來的帶寬節(jié)省。

? ? ? (3)安全隔離。每個(gè)域有自己的虛擬緩存,因此一個(gè)網(wǎng)站不能探測其他網(wǎng)站的狀態(tài)。然而,這個(gè)對(duì)策將會(huì)相當(dāng)大的減少緩存命中率,獲得很小的效率提升幅度。

4.2? 系統(tǒng)模型

? ? ? 我們使用下面的網(wǎng)絡(luò)模型來對(duì)我們的討論做假設(shè):

? ? ? (1)緩存以樹狀層次安排,其中的葉子相當(dāng)于DSLAM。所有的用戶直接連接到一個(gè)葉子緩存。請(qǐng)求被向?qū)哟谓Y(jié)構(gòu)的上層路由,鄰居緩存之間沒有合作。如果緩存沒有命中,根緩存將請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的內(nèi)容源。

? ? ? (2)每個(gè)緩存大小有限,使用LRU作為替換策略。

? ? ? (3)如果緩存命中,內(nèi)存讀的延遲對(duì)所有的緩存都相同,不論緩存命中發(fā)生在層次結(jié)構(gòu)的哪里。也就是說,所有的緩存在同樣的拓?fù)渲袑?shí)現(xiàn)(或者在主存中或者在磁盤中),但不是兩者的結(jié)合。

? ? ? (4)攻擊者對(duì)最好的可能的已經(jīng)請(qǐng)求了數(shù)據(jù)的用戶的數(shù)量的邊界感興趣,例如,他們將總是將攻擊者和受害者共同擁有的第一緩存作為目標(biāo)。

? ? ? 攻擊者使用遞歸的或者非遞歸的查詢來實(shí)現(xiàn)攻擊。這個(gè)選擇與攻擊類型正交,依賴于受到攻擊的系統(tǒng)使用什么機(jī)制。我們通過假定攻擊者和受害者直連到相同緩存來簡化我們的討論。

? ? ? 有兩種方式發(fā)現(xiàn)緩存中存在的對(duì)象:

? ? ? (1)對(duì)緩存的非遞歸查詢,像在圖4.1(a)中顯示的那樣,僅僅用本地緩存內(nèi)容應(yīng)答。如果數(shù)據(jù)項(xiàng)沒有包含在本地緩存中,則請(qǐng)求超時(shí)。

? ? ? 在CCN中,非遞歸查詢通過發(fā)送范圍域設(shè)置為0的興趣包是可能的。然而,因?yàn)榘踩?#xff0c;這個(gè)功能可能是無效的。

? ? ? (2)遞歸查詢(圖4.1(b))總是返回查詢數(shù)據(jù),只要它可以被在系統(tǒng)中的某處發(fā)現(xiàn)。攻擊者利用定時(shí)的輔助渠道來從系統(tǒng)中的存儲(chǔ)了這個(gè)條目的緩存的響應(yīng)延遲進(jìn)行推斷。這背后的假定是分布在層次結(jié)構(gòu)的不同層上的緩存響應(yīng)延遲是顯著的不同的,以至于攻擊者可以區(qū)分出來。

? ? ? 遞歸查詢是CCN的正常行為。因而,對(duì)這種類型的攻擊研究出應(yīng)對(duì)措施更加困難。

? ? ? 非遞歸查詢不如遞歸查詢更加容易受到入侵。非遞歸查詢的緩存丟失條目后,緩存仍然是沒有修改的,然而遞歸查詢將會(huì)插入丟失條目。兩種方法為了使緩存命中,采用同樣的方法:對(duì)象在緩存中的生存時(shí)間將會(huì)增加。這種方法可用于任何查詢類型,如果重復(fù)查詢是必須的,必須采取特殊措施來確保攻擊者沒有不正確的觀察到他自己導(dǎo)致的狀態(tài)。

? ? ? 一個(gè)清晰的非遞歸查詢的優(yōu)勢(shì)是結(jié)果是精確的。通過遞歸查詢,仍然有可能攻擊者做出了錯(cuò)誤的猜測,因?yàn)轫憫?yīng)延遲的各種變化。

? ? ? 如果攻擊者不能直接連接到受害者的緩存,他的目標(biāo)是第一個(gè)共同緩存。然而,這個(gè)方法使攻擊的執(zhí)行更加困難:攻擊者需要更加精確的延遲估計(jì),必須增強(qiáng)算法來考慮多緩存的層次。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


4.3? 攻擊目標(biāo)

? ? ? 在攻擊者開始實(shí)際的攻擊之前,他必須定義他的目標(biāo)。特別地,攻擊者需要決定誰將是可能的受害者,目標(biāo)是哪個(gè)應(yīng)用程序或者內(nèi)容。準(zhǔn)備步驟的輸出是一個(gè)擁有興趣包名字的列表,可能的敏感內(nèi)容對(duì)象。

? ? ? 當(dāng)選擇受害者時(shí),通常攻擊者也可以試著收集關(guān)于鄰居的聚集信息,而不識(shí)別任何個(gè)體。例如,他可能對(duì)知道是否某個(gè)鄰居下載一個(gè)關(guān)于怎樣制作一個(gè)炸彈的視頻感興趣,或者如果任何人正在尋找關(guān)于一個(gè)特定疾病的信息。在這種情況下,攻擊者自己搜索內(nèi)容并編制一個(gè)他找到的對(duì)象名字列表。

? ? ? 或者,攻擊者以一個(gè)特定鄰居為目標(biāo),例如,知道特定用戶最后連接到了特定網(wǎng)站,他在特定網(wǎng)站上輸入了什么內(nèi)容,或者他什么時(shí)候最后接聽了一個(gè)電話。為了做這些,攻擊者需要各自應(yīng)用程序使用的協(xié)議的命名方案的知識(shí)。例如,如果應(yīng)用程序的數(shù)據(jù)總是承載著前綴/應(yīng)用程序名/用戶名/,那么攻擊者將這個(gè)前綴添加到列表中。

? ? ? 攻擊者找到在緩存中呈現(xiàn)內(nèi)容的在隱私方面的影響極大地依賴于內(nèi)容的受歡迎程度。靜態(tài)的,受歡迎內(nèi)容,比如最近的音樂視頻承載著很少的攻擊者可能感興趣的信息;他有低的信息熵。靜態(tài)的,但是稀有的內(nèi)容,比如恐怖分子訓(xùn)練視頻泄露了鄰居的更多信息,盡管攻擊者不太可能把視頻歸結(jié)于下載視頻的人。動(dòng)態(tài)的內(nèi)容,比如個(gè)人web瀏覽器會(huì)話或者電話,并不通常在用戶之間共享。如果攻擊者能夠從內(nèi)容本身獲取一些信息(如果內(nèi)容未加密),或者從輔助渠道(比如名字或大小),那么信息熵可能會(huì)最高,因?yàn)樾畔⑹歉叨葌€(gè)人化的。

? ? ? 然而,上面描述的案例假定攻擊者在攻擊之前需要知道感興趣的名字,那么攻擊者獲得緩存內(nèi)容的完整知識(shí)就更加可能。這種類型的攻擊是最有力的:攻擊者應(yīng)用啟發(fā)式方法來分析數(shù)據(jù)是不受約束的。

4.4? 拓?fù)渲悄?/span>

? ? ? 在攻擊者開始實(shí)際的攻擊之前,他必須找出攻擊算法需要的緩存拓?fù)涞幕拘畔?#xff1a;

? ? ? (1)緩存的延遲可以被用來區(qū)分是否攻擊者請(qǐng)求的數(shù)據(jù)項(xiàng)被緩存到本地,或者層次結(jié)構(gòu)中的某處。

? ? ? (2)LRU緩存的特征時(shí)間是對(duì)象保存在緩存中的時(shí)間,假定它在被第一次請(qǐng)求后再?zèng)]有被訪問。

? ? ? 如在4.2節(jié)討論中的,對(duì)LRU緩存的探測可以修改緩存狀態(tài)。這個(gè)度量暗示著平均探測時(shí)長,給出了最小的合理的探測間隔。

? ? ? 下面,我們描述了兩個(gè)算法來測量這些特性。第一次,我們僅考慮葉子緩存,比如,在DSLAM層的緩存。

4.4.1? 延遲測量

? ? ? 如果攻擊者想要利用定時(shí)輔助渠道的延時(shí)來把回復(fù)數(shù)據(jù)包歸屬到最可能交付回復(fù)數(shù)據(jù)包的緩存,那么延遲估計(jì)是需要的。在圖4.2中描述的算法測量了攻擊者葉子緩存的延遲,算法工作在兩個(gè)階段:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

圖4.2? 測量第一個(gè)CCN緩存的延遲

? ? ? (1)在測量開始之前,攻擊者必須確定一個(gè)包含在正在測量的緩存中的任意數(shù)據(jù)項(xiàng)。或者,他能插入一個(gè)數(shù)據(jù)項(xiàng)到緩存,就像在圖4.2中步驟0中顯示的那樣。

? ? ? (2)攻擊者現(xiàn)在請(qǐng)求數(shù)據(jù)項(xiàng),測量發(fā)出興趣包和進(jìn)來的回復(fù)包的時(shí)間差異,攻擊者能夠重復(fù)這個(gè)步驟n次并計(jì)算這個(gè)方法和標(biāo)準(zhǔn)偏差來獲得一個(gè)更好的估計(jì)。

? ? ? 兩個(gè)連續(xù)探測之間的延遲應(yīng)該足夠低來確保在此期間數(shù)據(jù)沒有被從緩存中去除。同時(shí),延遲應(yīng)該足夠高以至于可以取得一個(gè)代表性樣本(關(guān)于緩存隊(duì)列中的背景流量)。

? ? ? 使用這種延遲估計(jì),攻擊者可以猜測是否他請(qǐng)求的數(shù)據(jù)被從本地緩存交付或者從其他地方獲取:讓d=平均值{d1,d2…,dn}為通過上面的算法測量的第一個(gè)緩存的平均延遲,σ標(biāo)準(zhǔn)偏差,drequest請(qǐng)求未知源的延遲,α是一個(gè)影響探測變量權(quán)重的參數(shù),如果drequest>>d+α·σ,那么可以假定請(qǐng)求被遠(yuǎn)程緩存響應(yīng)而不是本地緩存。

4.4.2? 緩存生存時(shí)間測量

? ? ? 這一部分的目標(biāo)是測量一個(gè)僅被請(qǐng)求了一次的項(xiàng)目在緩存中可以存放多長時(shí)間,如圖4.3(a)所示。Che等人稱這個(gè)時(shí)間為LRU緩存的特征時(shí)間,因?yàn)樗x了一個(gè)條目為了被保存到緩存中需要有的最小訪問頻率。擁有比較低的訪問頻率的條目,比如以比特征時(shí)間長的時(shí)間間隔請(qǐng)求的條目,將不會(huì)在緩存中發(fā)現(xiàn),并必須從層次結(jié)構(gòu)向上向遠(yuǎn)處追溯那些緩存或者內(nèi)容源。作者指出,對(duì)一個(gè)擁有類似Zipf的LRU緩存條目的流行分布和泊松請(qǐng)求到達(dá)過程,每個(gè)條目的特征時(shí)間能夠近似于常量,并在所有的條目中都是相同的。

? ? ? 在緩存窺探攻擊的環(huán)境中,特征時(shí)間暗示了一個(gè)攻擊者在他可以再次使用同樣的探測條目前必須等待的最小時(shí)間。如果攻擊者在特征時(shí)間過去之前再次使用這個(gè)探測條目,他冒險(xiǎn)測量了一個(gè)他之前的請(qǐng)求導(dǎo)致的狀態(tài)。

? ? ? 為了測量緩存對(duì)象的生存時(shí)間,攻擊者使用那些保證只被他自己使用的條目。這能夠通過使用串通內(nèi)容源,或者通過生成其他擁有唯一名字的條目來獲得。為了核實(shí)一個(gè)給定的生存時(shí)間猜測,攻擊者首先請(qǐng)求一個(gè)條目,并把它插入到緩存,一段時(shí)間之后,如果條目仍然在緩存中,則核實(shí)了這個(gè)給定的生存時(shí)間。

? ? ? 我們建議的測量算法工作在兩個(gè)階段,第一,以指數(shù)方式增加的猜測被用來找到緩存生存時(shí)間的上界,第二,嵌套間隔技術(shù)被用來改善猜測。

? ? ? 具體的算法工作如下:

? ? ? 初始化:設(shè)置tmin=0,tmax→∞,i=0。使用t0>0,β>1,0<γ<1,n∈N+為固定值,但是算法中可協(xié)調(diào)的參數(shù)。

? ? ? 找出上界:向緩存插入新條目,在時(shí)間ti后請(qǐng)求條目,如果條目不再在緩存中,設(shè)置tmax=ti,i=i+1,并跳轉(zhuǎn)到算法的下一步。否則,設(shè)置tmin=ti,ti+1=β·ti,i=i+1,重復(fù)這一步。這個(gè)過程如圖4.3(b)所示。

? ? ? 改善估計(jì):向緩存插入新的條目,在時(shí)間ti=tmin+γ·(tmax-tmin)后請(qǐng)求條目,如果條目不再在緩存中包含,設(shè)置tmax=ti,否則,設(shè)置tmin=ti,增加i,重復(fù)這一步直到達(dá)到預(yù)定義迭代次數(shù)n,圖4.3(c)顯示了兩次迭代。

? ? ? 開始值t0可以被設(shè)置為特征時(shí)間的粗略估算,β定義猜測值在初始階段增加得多快,γ定義哪個(gè)間隔點(diǎn)將會(huì)被下一次探測。因?yàn)樗惴ǖ哪繕?biāo)是找到上界,我們使用γ=0.75。對(duì)其他參數(shù),我們使用t0=1s,β=2。迭代次數(shù)n可以用實(shí)驗(yàn)方法定義。或者,這個(gè)停止條件可以用多次迭代的間隔之間的最小改變來替代。

? ? ? 有幾種算法改進(jìn)的方式。第一,可以通過緩存命中后不插入新條目來加速算法,因?yàn)長RU的特性,觀察命中時(shí)間等于插入時(shí)間是足夠的。第二,通過一些猜測的并行探測,順序算法可以被更大加速。對(duì)一個(gè)非常長的特征時(shí)間,這可能是有用的。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(a)插入到緩存中的條目的生存周期。插入條目和驅(qū)逐條目之間的時(shí)間叫做特征時(shí)間。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (b)找出特征時(shí)間的上界

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (c)改善特征時(shí)間間隔

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖4.3? 估算緩存的特征時(shí)間

? ? ? 延遲和特征時(shí)間估算算法都能夠被增強(qiáng)到層次結(jié)構(gòu)的上層目標(biāo)緩存:如果緩存使用LRU,僅當(dāng)高層緩存的特征時(shí)間比低層緩存的特征時(shí)間高時(shí),層次結(jié)構(gòu)是有意義的。在這個(gè)假設(shè)下,一旦條目從葉子緩存中驅(qū)逐出去,一段時(shí)間之內(nèi),高層緩存中條目仍然可用,因此探測算法以層次結(jié)構(gòu)中的下一個(gè)緩存為目標(biāo)。通過觀察響應(yīng)延遲,不同的緩存可以被區(qū)分。我們把這個(gè)優(yōu)化處理作為未來的工作。

4.5? 攻擊I:列出緩存內(nèi)容

? ? ? 這個(gè)攻擊允許攻擊者顯示什么條目正在被緩存的客戶群體請(qǐng)求。攻擊者可以以多種方式使用這個(gè)信息:

? ? ? (1)他可以推測用戶群體中的某人請(qǐng)求了一個(gè)可能敏感的條目。這或者可以通過手動(dòng)的檢查請(qǐng)求對(duì)象,或者通過與以前建立的敏感內(nèi)容列表做比較來獲得。例如,這樣一個(gè)列表包含揭示政治觀點(diǎn)或健康狀況的頁面或者視頻。

? ? ? (2)攻擊者可以分析客戶使用什么協(xié)議來為后續(xù)攻擊做準(zhǔn)備。例如,他可能正在尋找易受輔助渠道攻擊的會(huì)話,并為會(huì)話克隆攻擊做準(zhǔn)備,這將在4.7節(jié)介紹。

? ? ? CCN定義了一個(gè)名字枚舉協(xié)議,目的是持續(xù)的內(nèi)容存儲(chǔ)(倉庫),而不是緩存。因?yàn)檫@個(gè)原因,這個(gè)協(xié)議不可能實(shí)現(xiàn)在路由器緩存中。下面,我們描述一個(gè)替代算法,算法列舉了CCN緩存中的內(nèi)容,通過遞歸地排除之前看到的名字。

? ? ? CCN使用前綴匹配,這意味著攻擊者不需要猜測全部的條目名字來從緩存中獲取響應(yīng)。此外,CCN興趣包允許為名字組件指定一個(gè)列表(或者布隆過濾器),名字組件可能不在緩存返回的條目中包含。把這兩個(gè)特征組合起來,這兩個(gè)特征允許攻擊者遞歸地探測緩存內(nèi)容:第一,攻擊者請(qǐng)求一個(gè)任意的條目,然后他成功地發(fā)送請(qǐng)求包,請(qǐng)求之前在排除列表上傳送的條目。詳細(xì)算法工作如下:

? ? ? (1)輸入p=/p0/p1/…/pi/,名字空間前綴將被探測,初始化設(shè)置E=0,作為排除名字組件的集合。

? ? ? (2)用p和E發(fā)送興趣包到緩存。如果發(fā)生緩存丟失,算法終止。對(duì)一個(gè)響應(yīng)數(shù)據(jù)包,讓n=/n0/n1/…/nj為響應(yīng)的名字,j>=i,p0=n0,p1=n1,…pi=ni。如果j>i,對(duì)于任意e∈E:ni+1≠e。換句話說,響應(yīng)是一個(gè)任意的以p作為前綴的緩存條目,E中沒有元素作為第i+1個(gè)名字組件。攻擊者現(xiàn)在設(shè)置E=E∪{ni+1},并重復(fù)這個(gè)步驟。

? ? ? 算法終止后,E包含所有的名字組件,這個(gè)組件擁有前綴p,在第i+1層緩存中可用。對(duì)一個(gè)指定的(或所有的)e∈E,通過重復(fù)前綴為p=/p0/p1/…/pi/e/的算法,攻擊者可以更遠(yuǎn)地探測到緩存。例如,為了探測整個(gè)緩存,攻擊者以p=/開始,在算法各自的實(shí)例中,對(duì)所有的e∈E,遞歸地重復(fù)算法。(這個(gè)算法的一個(gè)相似版本以命令ccnls實(shí)現(xiàn),這個(gè)命令在CCNx原型中提供。)

? ? ? 這個(gè)算法的一個(gè)缺點(diǎn)是必須下載數(shù)據(jù)對(duì)象,因此攻擊可能會(huì)太慢,以至于不能獲得一個(gè)大的緩存的一致的快照。然而,探測有限的子空間可能被證明是有用的。

4.6? 攻擊II:探測特定名字

? ? ? 在這部分概述的攻擊假定攻擊者知道他想要觀察的名字。我們首先描述一個(gè)算法,探測緩存中一個(gè)條目的任意精度的插入和驅(qū)逐時(shí)間(4.6.1節(jié)):周期性地探測緩存能夠被用來及時(shí)地探測對(duì)一個(gè)給定條目的可訪問性。例如,攻擊者可能對(duì)一個(gè)用戶的所有語音通話事件的日志記錄,或者一個(gè)用戶的登錄事件,比如登錄Facebook感興趣。此外,這個(gè)信息允許攻擊者推斷觀察的條目的請(qǐng)求頻率(4.6.2節(jié))。

4.6.1? 插入和驅(qū)逐時(shí)間檢測

? ? ? 單一的對(duì)緩存的探測請(qǐng)求顯示了條目是否被最近緩存。然而,通過單一探測,攻擊者僅能窺探到過去最多tc的特征時(shí)間:如果條目被最近緩存(或者沒有緩存),攻擊者僅僅知道在過去的tc時(shí)間單位里,至少有一個(gè)請(qǐng)求(或者沒有請(qǐng)求)。特別地,攻擊者不能確切知道一個(gè)條目什么時(shí)候被加到緩存,什么時(shí)候被驅(qū)逐。

? ? ? 通過探測至少tc個(gè)時(shí)間單位,周期性地探測相同的條目存在精確度限制,因?yàn)楣粽叩奶綔y能夠在tc的時(shí)間單位里改變緩存狀態(tài)。在基于磁盤的緩存中,tc可能以小時(shí)或天的順序增長,這將使攻擊不現(xiàn)實(shí)。此外,測量緩存的特征時(shí)間的不確定性可能會(huì)很高,這將會(huì)有相同的結(jié)果。

? ? ? 然而,CCN把大的文件分割成小的編號(hào)的塊。訪問第一個(gè)文件塊的客戶很可能也訪問后續(xù)的塊。相似地,攻擊者可能能夠識(shí)別有差別的但總是被同時(shí)請(qǐng)求的條目,比如嵌入web頁面的圖片。(為了簡化,我們假定所有這樣的塊被精確地以同樣的時(shí)間請(qǐng)求。)攻擊者能夠利用這些條目的存在性,通過并行地請(qǐng)求塊來增加探測頻率并通過希望的探測間隔來轉(zhuǎn)移。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

圖4.4? 三個(gè)塊的并行探測

? ? ? 讓tc為緩存的特征時(shí)間,存在測量特征時(shí)間的不確定性,tp為攻擊者希望的探測間隔。執(zhí)行攻擊所必需的塊的數(shù)量是 ,圖4.4闡明了這個(gè)攻擊。他讓攻擊者在tc的精確度的缺少(和探測的時(shí)效性,如果至多在tc時(shí)間內(nèi)可以發(fā)生一個(gè)訪問),和必需的攻擊流量和塊的數(shù)量之間做權(quán)衡。

? ? ? 對(duì)擁有小的tc的緩存,和大數(shù)量的塊來說,攻擊者可以設(shè)置tp為一個(gè)較小的值來獲得對(duì)緩存條目插入和驅(qū)逐時(shí)間的一個(gè)精確估計(jì)。像我們?cè)谙乱还?jié)顯示的那樣,這個(gè)數(shù)據(jù)可以被用來推斷觀察條目的請(qǐng)求頻率。

4.6.2? 推斷訪問頻率

? ? ? 在4.1節(jié)討論的相關(guān)工作提出了算法來推斷一個(gè)沒有被緩存的DNS條目的訪問頻率。存在DNS和CCN緩存的一些不同,因此這些算法需要被修改:

? ? ? (1)DNS緩存條目的生存時(shí)間總是不變的,然而在LRU緩存中,生存時(shí)間依賴于命中數(shù)量。

? ? ? (2)我們不能對(duì)一個(gè)被緩存的DNS條目的訪問數(shù)量做任何假設(shè),然而在LRU緩存中,通過緩存的特征時(shí)間劃分條目的生存時(shí)間可以給出一個(gè)下界。此外,如果LRU緩存驅(qū)逐了一個(gè)條目,很清楚這個(gè)條目在至少一個(gè)特征時(shí)間內(nèi)沒有被訪問。

? ? ? (3)推斷一個(gè)DNS對(duì)象從任何緩存命中開始確切的緩存插入時(shí)間是可能的,然而在CCN中是不可能的。

? ? ? 因?yàn)檫@些特征,僅當(dāng)與在之前的部分中所描述的相似的一個(gè)并行探測算法能夠被執(zhí)行,這種攻擊在CCN中才是可能的。這意味著探測條目的訪問頻率可能不會(huì)太高。特別地,如果訪問頻率高于tc-1,攻擊是不可能的,其中tc是緩存的特征時(shí)間。為了克服一個(gè)非常低的訪問頻率,幾個(gè)測量算法實(shí)例可以被并行執(zhí)行,使用單獨(dú)的塊集合,來在一個(gè)合理的時(shí)間獲得足夠數(shù)量的例子。

? ? ? 下面,我們假定緩存插入和驅(qū)逐時(shí)間已經(jīng)被測量。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

圖4.5? 測量LRU緩存中的請(qǐng)求頻率

? ? ? 圖4.5顯示了在一個(gè)LRU緩存中的緩存對(duì)象的時(shí)間軸。每個(gè)對(duì)象的緩存實(shí)例在tins,i被插入,在tev,i被驅(qū)逐,這些是攻擊者僅僅已知的時(shí)間。

? ? ? 每個(gè)請(qǐng)求從請(qǐng)求時(shí)間起,延遲了tc的驅(qū)逐時(shí)間。然而,僅僅從tins,i到tev,i,攻擊者不能確切推斷在這個(gè)時(shí)間間隔內(nèi)多少請(qǐng)求會(huì)發(fā)生:下界是 ,沒有上界。而且,如果對(duì)象在兩個(gè)連續(xù)的請(qǐng)求的時(shí)間間隔之內(nèi)被驅(qū)逐,攻擊者可以推斷這個(gè)時(shí)間間隔:tgap,i=tins,i+1-tev,i+tc。如果存在大數(shù)量這樣的間隔,攻擊者可以像下面這樣計(jì)算整個(gè)的請(qǐng)求頻率:λ≈mean(tgap,i)。

? ? ? 在這個(gè)討論中,我們忽視了在確切的相同時(shí)間里沒有被請(qǐng)求的塊的作用和測量插入和驅(qū)逐時(shí)間可能的不精確性。未來工作應(yīng)該研究這些怎樣影響請(qǐng)求頻率估計(jì)的精確性。

4.7? 攻擊III:克隆會(huì)話

? ? ? 緩存保存了一個(gè)短時(shí)期內(nèi)在用戶之間交換的所有內(nèi)容的一份拷貝。因?yàn)榫彺娌粡?qiáng)制執(zhí)行任何訪問控制策略,任何知道數(shù)據(jù)項(xiàng)名字的用戶可以從緩存中獲取這份拷貝。

? ? ? 在兩個(gè)用戶之間的數(shù)據(jù)交換,或者會(huì)話,可以被攻擊者拷貝或者重新組裝,如果他找出屬于相同交換的條目的名字,并且可以決定條目在會(huì)話中的序列號(hào)。例如,Voice-over-CCN原型在打電話過程中的語音數(shù)據(jù)交換過程中使用命名方案/domain/user/call-id/rtp/sequence-number。一旦攻擊者知道特定電話實(shí)例的前綴,比如/telefonica/alice/1234/rtp,攻擊者可以用一個(gè)增長的序列號(hào)來請(qǐng)求這些名字,來獲得和重新組裝聲音數(shù)據(jù)流的一份拷貝。

? ? ? CCN通過加密實(shí)現(xiàn)了訪問控制。也就是說,每個(gè)人可以獲得密文的一份拷貝,但僅僅授權(quán)的設(shè)備擁有可以解密密文的密鑰。然而,即使加密的數(shù)據(jù)負(fù)載也可能通過輔助渠道泄露信息。一個(gè)輔助渠道是像條目名字一樣的元數(shù)據(jù)。因?yàn)閂oCCN沒有加密名字和序列號(hào),上面描述的克隆攻擊很容易實(shí)施。

? ? ? 在文獻(xiàn)中,Wright等人描述了怎樣為短語集合的出現(xiàn)檢查加密的VoIP會(huì)話。如果會(huì)話用可變比特率的編碼解碼器和一個(gè)可以保存長度的流密碼編碼,攻擊就是可能的。結(jié)果是加密的包大小依賴于在抽樣時(shí)間間隔內(nèi)的語音輸入(音素)。使用包大小起因于編碼目標(biāo)短語發(fā)音的雙音或者三音,作者扼要描述了Hidden Markov Model來生成一個(gè)這個(gè)短語的說者獨(dú)立的模型。當(dāng)試著用這個(gè)模型匹配一個(gè)觀察到的會(huì)話時(shí),他們檢測到了這個(gè)短語的實(shí)例擁有平均50%的準(zhǔn)確率和召回率。作為應(yīng)對(duì)策略,作者建議填補(bǔ)這個(gè)包到一個(gè)恒定的尺寸,這將是一個(gè)非常有前途的方法。

? ? ? VoCCN原型使用恒定大小的數(shù)據(jù)包。還不清楚是否這個(gè)行為來自填補(bǔ),或來自發(fā)送數(shù)據(jù)消息,僅當(dāng)足夠的數(shù)據(jù)被積累到流出緩存來填補(bǔ)整個(gè)的消息。后者,消息間的延遲輔助渠道將會(huì)保持。然而,在這一章中假定的場景中,利用這樣的輔助渠道將會(huì)非常有挑戰(zhàn)性,在這一場景中,消息必須從緩存中提取。原因是從緩存中獲取的條目沒有顯示它什么時(shí)候被插入。攻擊者必須通過周期地探測實(shí)時(shí)地找出這個(gè)信息。然而,這個(gè)精確性需要實(shí)施一個(gè)成功的輔助渠道攻擊,這大約需要毫秒級(jí),還不清楚這樣的精確性是否在實(shí)際中可以達(dá)到。

? ? ? S.Chen等人描述了一個(gè)與SSL或者WPA/WPA2-encrypted web流量相似的攻擊,兩個(gè)協(xié)議都使用不填補(bǔ)包的流密碼,以至于加密消息在大小上不同。通過比如Ajax這樣的技術(shù),web應(yīng)用程序經(jīng)常對(duì)單個(gè)用戶輸入作響應(yīng),比如鼠標(biāo)點(diǎn)擊或者擊打鍵盤。因?yàn)檫@個(gè),用戶輸入有低的信息熵,攻擊者能夠枚舉所有可能的輸入,對(duì)每個(gè)可能輸入,通過應(yīng)用程序響應(yīng)數(shù)據(jù)包的大小進(jìn)行直接測試,和受害者實(shí)際接收到的響應(yīng)數(shù)據(jù)包作比較。在比較中可能存在一些歧義性,因?yàn)橐恍┫⒖赡苡邢嗤笮 H欢?#xff0c;與web應(yīng)用程序的通信是狀態(tài)化的,這意味著這個(gè)歧義性在會(huì)話后面的步驟中可能會(huì)被減少:一個(gè)應(yīng)用程序觀察到的狀態(tài)限制了可能的過去狀態(tài)的集合。作者顯示了一個(gè)健康的服務(wù)怎樣泄露醫(yī)療條件,一個(gè)搜索引擎的關(guān)鍵字,收入范圍的納稅申報(bào)表格,一個(gè)投資應(yīng)用程序里用戶做出的資金分配。作者認(rèn)為應(yīng)對(duì)措施必須是針對(duì)特定應(yīng)用程序的。作為一個(gè)廣義的應(yīng)對(duì)策略,填補(bǔ)似乎并不吸引人,因?yàn)樗赡苄枰?12B的包大小來徹底地為攻擊者減少信息熵和效用。同時(shí),應(yīng)對(duì)措施的網(wǎng)絡(luò)負(fù)載將達(dá)到幾乎33%。

? ? ? 因?yàn)檫€沒有建議作為在CCN上的通信協(xié)議被用于類似web的應(yīng)用程序,我們不可能陳述是否這樣的實(shí)現(xiàn)更容易遭到這種類型的攻擊。然而,我們把通過預(yù)先識(shí)別可能的攻擊而用安全方式設(shè)計(jì)這樣的協(xié)議看作一個(gè)機(jī)會(huì)。

4.8? 應(yīng)對(duì)策略

? ? ? 對(duì)這個(gè)緩存窺探攻擊的應(yīng)對(duì)策略可以分為兩類:攻擊應(yīng)該通過技術(shù)措施來防止,一旦攻擊發(fā)生,將可以被檢測到,并在真實(shí)世界中可以采取應(yīng)對(duì)措施。

防止

? ? ? 應(yīng)該通過采取下面的措施防止攻擊者發(fā)現(xiàn)緩存內(nèi)容:

? ? ? (1)CCN的內(nèi)置緩存枚舉協(xié)議不應(yīng)該在緩存中實(shí)現(xiàn)。

? ? ? (2)為了防止通過使用前綴匹配和排除功能列出緩存內(nèi)容,協(xié)議規(guī)范應(yīng)該被改變來使數(shù)據(jù)對(duì)象詳細(xì)說明排除功能可以操作他們名字的哪一部分。以這種方式,內(nèi)容對(duì)象(和更多在CCN頂層的普遍的通信協(xié)議)含蓄地定義了名字的哪一部分包含敏感信息,并必須被提前知道。

或者,排除功能可能是禁用的,內(nèi)容發(fā)現(xiàn)的責(zé)任應(yīng)該被轉(zhuǎn)移到協(xié)議棧的另一層,在這里內(nèi)容發(fā)現(xiàn)可以被更好地確保。

? ? ? (3)此外,前綴匹配可能被限制到一個(gè)未匹配組件的最大數(shù)量,這意味著攻擊者必須知道名字的大部分。

? ? ? (4)如果路由器中的緩存空間是基于每個(gè)用戶來劃分的,攻擊者不能容易地獲取其他用戶檢索的數(shù)據(jù)的信息,因?yàn)槊總€(gè)用戶僅僅可以訪問他們自己的緩存部分。然而,整個(gè)的命中率將極大地遭受這樣一個(gè)設(shè)計(jì),實(shí)際的方面,比如用戶標(biāo)識(shí)和路由器的額外狀態(tài)使應(yīng)對(duì)措施不太可能被采納。

? ? ? 為一個(gè)給定的名字探測緩存的攻擊可能以下面的方式更難實(shí)施:

? ? ? (1)首先,非遞歸查詢應(yīng)該被接入路由器忽視。

? ? ? (2)如果CCN在UDP上建立隧道,路由器應(yīng)該接受僅來自直接鄰居的查詢。也就是說,用戶應(yīng)該僅能夠訪問他們自己的接入路由器,而不是中間的或者根路由器。

? ? ? (3)為了避免基于時(shí)間的攻擊,CCN接入路由器可以強(qiáng)制執(zhí)行一個(gè)最小的響應(yīng)延遲。這個(gè)延遲應(yīng)該對(duì)在層次結(jié)構(gòu)中一個(gè)路由器的往返時(shí)間作響應(yīng),這個(gè)層次結(jié)構(gòu)有足夠大量的用戶,以至于在這個(gè)緩存中檢測隱私含義的命中率很低。換句話說,如果攻擊者檢測到緩存命中,那么至少k個(gè)用戶已經(jīng)請(qǐng)求了這個(gè)條目。因?yàn)镃CN接入路由器強(qiáng)制執(zhí)行對(duì)緩存命中的響應(yīng)存在延遲閾值,攻擊者不能改善這個(gè)近似值到少于k個(gè)用戶。(這個(gè)響應(yīng)針對(duì)k-匿名的概念。)然而,這種方法僅在內(nèi)容對(duì)象中所有其他的輔助渠道都已經(jīng)關(guān)閉的情況下才工作,例如,內(nèi)容對(duì)象自身不泄露誰可能請(qǐng)求它的信息。這個(gè)請(qǐng)求通常很難滿足,因?yàn)檩o助渠道列表可能是開放式的。

? ? ? 強(qiáng)制執(zhí)行最小的請(qǐng)求延遲以保持帶寬節(jié)省可以通過緩存獲得,但是它在可能的延遲減少和高層隱私方面做權(quán)衡。此外,接入路由器中可能會(huì)存在另外的狀態(tài)來維持定時(shí)器。需要注意這個(gè)路由器上應(yīng)對(duì)措施的實(shí)現(xiàn)沒有引進(jìn)新的輔助渠道或者攻擊機(jī)會(huì)。

? ? ? CCN頂層的應(yīng)用程序應(yīng)該阻礙了克隆會(huì)話:

? ? ? (1)面向會(huì)話的協(xié)議需要序列號(hào)來獲取會(huì)話的下一個(gè)條目。如果編號(hào)方案對(duì)攻擊者未知,例如因?yàn)槊值男蛄刑?hào)部分用密鑰加密,重建會(huì)話將會(huì)更加困難,甚至不太可能。

? ? ? (2)如果名字與隱私相關(guān)的部分不能被加密,命名方案應(yīng)該至少使攻擊者猜測名字變得不可能。例如,依據(jù)這個(gè)方案,名字可能為/application-prefix/random-number/further-parameters/。如果排除功能和前綴匹配功能不允許隨機(jī)數(shù)構(gòu)件,攻擊者必須從其他源找出隨機(jī)數(shù)來獲取數(shù)據(jù)項(xiàng)。

? ? ? (3)動(dòng)態(tài)會(huì)話的內(nèi)容交換應(yīng)該承載一個(gè)非常低的終結(jié)時(shí)間。當(dāng)前,CCN緩存允許返回老化時(shí)間。這個(gè)行為應(yīng)該被禁止來減少攻擊者可以執(zhí)行攻擊的時(shí)間幀。如果個(gè)人數(shù)據(jù)是動(dòng)態(tài)的,它將被從緩存中很快地驅(qū)逐出去,追溯攻擊變得更困難,因?yàn)楣粽弑仨毰c受害者的會(huì)話同時(shí)執(zhí)行攻擊。

? ? ? (4)最后,不太可能被共享的內(nèi)容緩存可以禁用。當(dāng)個(gè)人網(wǎng)站瀏覽會(huì)話和打電話結(jié)束以后,這些會(huì)話會(huì)失去很多價(jià)值。如果緩存整個(gè)都被禁用了,攻擊者將不再能從緩存中獲取內(nèi)容,必須后退到經(jīng)典的嗅探攻擊。為了這個(gè)目的,內(nèi)容對(duì)象可能設(shè)置一個(gè)“不要緩存”位。在所有的處理和轉(zhuǎn)發(fā)完成后,路由器應(yīng)該從緩存中立即驅(qū)逐這樣的條目。

檢測

? ? ? 如果攻擊不能被防止,它至少應(yīng)該被檢測到。在這一章中描述的攻擊有下面一些典型的特征:

? ? ? (1)當(dāng)攻擊者正在探測一個(gè)已知名字的時(shí)候,接入路由器可能周期性地探詢相同的接入鏈路。

? ? ? (2)相似地,獲得緩存的快照包括在短時(shí)間內(nèi)以一個(gè)非常高的命中率和對(duì)緩存中的響應(yīng)命名空間的高覆蓋來查詢大量的條目。

? ? ? (3)克隆會(huì)話導(dǎo)致到達(dá)路由器的一系列包被轉(zhuǎn)發(fā)到兩個(gè)目的地(輸入內(nèi)容:從上行鏈路到兩個(gè)接入鏈路,輸出內(nèi)容:從一個(gè)接入鏈路到上行鏈路和攻擊者的接入鏈路)。

? ? ? 然而,檢測需要依賴啟發(fā)方法。在這個(gè)環(huán)境中,我們看到誤報(bào)的一個(gè)大的可能性:下載一個(gè)大的緩存文件,這個(gè)文件中的許多塊可能被當(dāng)作緩存快照攻擊被弄錯(cuò),多播協(xié)議,比如多方通訊視頻會(huì)議看起來與克隆攻擊相似。此外,我們認(rèn)為啟發(fā)式方法可以通過非常隱秘的攻擊被規(guī)避,這個(gè)攻擊僅僅停留在探測閾值以下。我們將具體的探測算法留作未來工作。

4.9? 結(jié)論

? ? ? 在這部分,我們討論:

? ? ? (1)怎樣測量緩存拓?fù)涞奶卣?#xff1a;為下面的攻擊做準(zhǔn)備,緩存的延遲和特征時(shí)間是必需的。

? ? ? (2)攻擊者怎樣獲得緩存內(nèi)容的快照。

? ? ? (3)攻擊者怎樣模擬對(duì)鄰居內(nèi)容的訪問。

? ? ? (4)怎樣克隆會(huì)話來在其上實(shí)施輔助渠道攻擊。

? ? ? 我們建議下面的應(yīng)對(duì)措施:

? ? ? (1)使CCN查詢有更少的表現(xiàn)力。

? ? ? (2)打開隱私和效率之間的權(quán)衡:我們建議保持緩存提供的帶寬節(jié)省,而去限制被強(qiáng)加在人工低延遲邊界的延遲獲取,來隱藏是哪個(gè)緩存響應(yīng)了查詢。

? ? ? 未來的工作應(yīng)該顯示出上面的攻擊是可行的,擁有合理的攻擊流量需求和算法準(zhǔn)確性的調(diào)查研究。我們的工作可以被擴(kuò)展到在體系結(jié)構(gòu)的不同層支持緩存,和把快速RAM和低速磁盤結(jié)合起來實(shí)現(xiàn)對(duì)緩存的支持。最后,我們的應(yīng)對(duì)措施的影響和效率應(yīng)該被調(diào)查研究。

? ? ? 下一章,我們?cè)u(píng)估測量緩存特征時(shí)間的算法。

?

?

5.? 評(píng)估

? ? ? 在這一章,我們總結(jié)我們對(duì)緩存窺探攻擊的評(píng)估的第一個(gè)結(jié)果。在之前章節(jié)里討論的所有類型的攻擊都是基于對(duì)特征時(shí)間tc的至少是近似值的了解。特征時(shí)間定義了通信軌跡在緩存中存活多長時(shí)間,例如,攻擊者能夠回頭看多遠(yuǎn),導(dǎo)致他必須以什么頻率探測。因此,作為第一步,我們把我們的評(píng)估集中在特征時(shí)間上。

? ? ? 在前面的部分,我們假定一個(gè)LRU緩存的特征時(shí)間是常量。然而,如果工作負(fù)載改變,這個(gè)假定就不正確了。即使對(duì)靜態(tài)不變的工作負(fù)載,僅僅在長期的情況下這個(gè)假設(shè)才是正確的。評(píng)估的目標(biāo)是來決定特征時(shí)間的數(shù)量級(jí),并找到它在什么范圍變化。一旦特征時(shí)間是已知的,我們可以減少攻擊者為了監(jiān)視所有對(duì)一個(gè)給定內(nèi)容對(duì)象的訪問需要發(fā)送的流量。此外,我們想要評(píng)估測量特征時(shí)間的算法多長時(shí)間收斂,并且特征時(shí)間的估計(jì)值多么精確。兩個(gè)結(jié)果放在一起,顯示了緩存窺探攻擊的可行性。

? ? ? 作為評(píng)估場景,我們選擇DSLAM作為類似Youtube視頻流量的緩存。我們假定攻擊者對(duì)監(jiān)視一個(gè)特殊視頻的所有訪問感興趣。5.2節(jié)包含這個(gè)場景的具體細(xì)節(jié)和我們使用的工作負(fù)載。

? ? ? 對(duì)我們的評(píng)估來說,我們決定在模擬環(huán)境中實(shí)現(xiàn)CCN的一個(gè)簡化版本。盡管真實(shí)世界的試驗(yàn)臺(tái)可以提供給我們更加現(xiàn)實(shí)的結(jié)果,得到硬件和實(shí)現(xiàn)類似的能夠執(zhí)行CCN的用基于主存的幾GB的緩存來以每秒幾百M(fèi)B的速度操作的軟件是相當(dāng)困難的。

? ? ? 在5.3節(jié),在我們討論完我們的模擬結(jié)果之后,我們?cè)?.4節(jié)得出實(shí)行攻擊必要的攻擊流量的大小。

? ? ? 這不應(yīng)該作為一個(gè)完整的評(píng)估,而應(yīng)該是一個(gè)我們計(jì)劃在未來工作中研究內(nèi)容的暗示。實(shí)際上,我們打算量化像CCN這樣的體系結(jié)構(gòu)利用他的用戶所帶來的隱私丟失的數(shù)量,相比較于其他體系結(jié)構(gòu),或者CDN。我們將在5.5節(jié)詳細(xì)描述更多的未來工作。

5.1? CCN模擬器

? ? ? 我們的CCN模擬器是用Python語言寫的,他模擬下面的組件:

? ? ? (1)客戶請(qǐng)求和接收數(shù)據(jù)。他們用來生成背景流量或者執(zhí)行測量算法。

? ? ? (2)興趣包和數(shù)據(jù)塊用單獨(dú)的獨(dú)立的單元實(shí)現(xiàn)。也就是說,前綴匹配和查詢沒有被實(shí)現(xiàn)。客戶必須知道將要獲取的數(shù)據(jù)的確切名字,必須知道把哪些塊合成整體來形成單獨(dú)的文件。興趣包和數(shù)據(jù)塊假定分別為100B和4KB的恒定大小:這相當(dāng)于一個(gè)擁有中等名字長度的興趣包,和一個(gè)在CCNx原型中使用的默認(rèn)大小的數(shù)據(jù)塊。

? ? ? (3)鏈路施加在所有在其上傳輸?shù)呐d趣包和數(shù)據(jù)塊上的傳輸延遲作為他們尺寸的一個(gè)功能。然而,鏈路并不實(shí)現(xiàn)傳播延遲或者數(shù)據(jù)丟失:對(duì)我們預(yù)想的本地ISP的場景,這些能夠被忽略。

? ? ? (4)路由器擁有有限大小的以LRU為替換策略的緩存。路由器也使用PIT表來聚合興趣包。每個(gè)鏈路有一個(gè)單獨(dú)的無限的隊(duì)列,并且所有鏈路能夠同時(shí)操作。路由選擇沒有實(shí)現(xiàn),而以每個(gè)興趣包在默認(rèn)的上行路徑上轉(zhuǎn)發(fā)為替代。也就是說,路由器總是形成樹狀層次。

? ? ? 內(nèi)容源在路由器層次結(jié)構(gòu)的頂層。我們假設(shè)所有的內(nèi)容可用,因而對(duì)每個(gè)進(jìn)來的興趣包有響應(yīng)的數(shù)據(jù)塊作響應(yīng)。

5.2? 場景

? ? ? 在這個(gè)評(píng)估里,我們假設(shè)一個(gè)DSLAM的場景,這個(gè)場景擁有一個(gè)對(duì)視頻內(nèi)容的CCN的緩存。一個(gè)DSLAM場景典型地有大約1000個(gè)用戶(例如法國的Free)。我們假定在視頻服務(wù)的擁擠時(shí)段,10%的用戶在同時(shí)看視頻:他們以2Mbit/s的速度下載整個(gè)視頻,并在下載的同時(shí)觀看視頻(或者更長點(diǎn),如果下載結(jié)束早于視頻播放),一旦用戶觀看完第一個(gè)視頻,他們將開始下載下一個(gè)視頻。

? ? ? 被客戶下載的視頻相當(dāng)于在2007年1月15日獲取的類似Youtube科學(xué)和技術(shù)類別,在文獻(xiàn)中有更加詳細(xì)的分析。痕跡包括視頻ID,以秒計(jì)的視頻長度和瀏覽量。我們排除了6個(gè)時(shí)長超過1天的視頻,保存了剩下的252249個(gè)視頻。我們轉(zhuǎn)換每個(gè)視頻的瀏覽量為相對(duì)的流行度,通過假設(shè)384kbit/s的恒定比特率編碼來計(jì)算文件大小。圖5.1(a)顯示了每個(gè)視頻的重對(duì)數(shù)尺度CCDF瀏覽量。像文獻(xiàn)中注解的那樣,直線部分的數(shù)量級(jí)標(biāo)志著冪次定律的流行度。圖5.1(b)顯示了CCDF以秒計(jì)的視頻長度,是一個(gè)簡單的對(duì)數(shù)規(guī)模;分布規(guī)律出現(xiàn)了一個(gè)輕微的尾部。因?yàn)槊總€(gè)客戶一看完一個(gè)舊的視頻,就請(qǐng)求一個(gè)新的視頻,視頻長度的分布等于客戶請(qǐng)求到達(dá)過程的到達(dá)時(shí)間間隔分布。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(a)視頻流行度CCDF?? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (b)視頻長度CCDF

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖5.1? 在Youtube科學(xué)技術(shù)分類中視頻的流行度和長度

? ? ? 對(duì)這個(gè)仿真來說,我們假定沒有瓶頸,例如DSL鏈路和DSLAM上行鏈路有充足的帶寬(分別為3Mbit/s和500Mbit/s),鏈路上沒有交叉流量,而僅有視頻流量。每個(gè)DSL鏈路可以直接訪問到緩存,在各自的鏈路卡片上有單獨(dú)的隊(duì)列。緩存有2500000塊的容量(每個(gè)塊4KB),這導(dǎo)致接近9.5GB的緩存大小。

? ? ? 在仿真期間,所有的100個(gè)客戶持續(xù)不斷地下載和觀看視頻。6個(gè)小時(shí)填充緩存的預(yù)熱時(shí)間之后,在另外的10個(gè)小時(shí)中,我們開始測量。我們重復(fù)整個(gè)的實(shí)驗(yàn)5次來計(jì)算95%的置信區(qū)間。

5.3? 評(píng)估結(jié)果

? ? ? 在測量期間,路由器可以以平均值19.63%用本地緩存滿足所有接收到的興趣包(±0.64點(diǎn),95%的置信區(qū)間)。因此,超過38Mbit/s的數(shù)據(jù)轉(zhuǎn)移到客戶端,僅僅30.54Mbit/s從內(nèi)容源獲取。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

圖5.2? 從緩存中驅(qū)逐出的每個(gè)對(duì)象的命中數(shù)量的CCDF

? ? ? 對(duì)從緩存中驅(qū)逐出的所有數(shù)據(jù)項(xiàng),我們研究在他們插入之后,經(jīng)歷了多少讀訪問,所有項(xiàng)目的89.39%(±0.36點(diǎn))被驅(qū)逐出去而沒有任何命中,然而10.61%有至少一次命中,所有被驅(qū)逐項(xiàng)目中的7.08%(±0.18點(diǎn))有確切的一次緩存命中。圖5.2為被驅(qū)逐項(xiàng)目的一次模擬軌跡繪制了命中率CCDF,其他軌跡高度相似。


圖5.3? 緩存特征時(shí)間的CDF

? ? ? 為了決定緩存的特征時(shí)間,我們分析在最后讀訪問和從緩存中驅(qū)逐項(xiàng)目之間的時(shí)間跨度的長度。圖5.3繪制了在5個(gè)模擬運(yùn)行中,這個(gè)時(shí)間跨度平均值的CDF和95%的置信區(qū)間。理想地,曲線在特征時(shí)間點(diǎn)有一個(gè)垂直直線的形狀。這個(gè)實(shí)際觀察的樣本與期望在兩方面不同:

? ? ? (1)曲線為s形狀(第三象限和第一象限之間的差別是149s)。這意味著特征時(shí)間隨著時(shí)間不是常量。中間的特征時(shí)間是2544s或者42.4分鐘。

? ? ? (2)置信區(qū)間顯示了甚至(稍微)不同的工作負(fù)載的CDF曲線也有差別。例如,在中值附近,95%的置信區(qū)間是±94s(中值的3.7%)。


圖5.4? 特征時(shí)間的測量算法過程

? ? ? 我們執(zhí)行我們的算法來測量特征時(shí)間,像在4.4.2節(jié)中定義的那樣,來找出如果特征時(shí)間不是常量,算法將怎樣執(zhí)行。圖5.4顯示了在一個(gè)特殊的模擬運(yùn)行中,能夠在10小時(shí)的測量時(shí)間內(nèi)完成的17次迭代。在前6次迭代中,算法使用類似慢開始機(jī)制來找到特征時(shí)間上界。初始猜測為60s,這個(gè)值在每次迭代中翻倍。在第7次迭代時(shí),2.1小時(shí)的執(zhí)行時(shí)間之后,找到了上界。從那之后,算法發(fā)送的下一次探測是γ=75%的當(dāng)前已知間隔寬度。這個(gè)行為的原因是在緩存窺探攻擊中,僅僅上界是感興趣的。

? ? ? 如圖5.4中所示,算法聚集到一個(gè)估計(jì)特征時(shí)間,該特征時(shí)間存在于模擬器運(yùn)行的中位數(shù)之上4.4%(也存在于95%的置信區(qū)間之外)。我們用特征時(shí)間的臨時(shí)變量來解釋這個(gè)行為。

? ? ? 要得到一秒的觀察,算法需要很長時(shí)間來完成。總共6.1小時(shí)的執(zhí)行時(shí)間之后,12次迭代完成,8.3小時(shí)之后,15次迭代完成,9.8小時(shí)之后,17次迭代完成。這是一個(gè)具有高特征時(shí)間的結(jié)果,算法嚴(yán)格順序地工作。

? ? ? 遵循著這兩個(gè)觀察,測量算法能夠以兩種方式改進(jìn):第一,它可以通過并行步驟加速,例如,通過同時(shí)插入許多項(xiàng)目,通過在增加的時(shí)間間隔內(nèi)請(qǐng)求他們來在更少的時(shí)間獲得更大范圍的樣本。接近第一個(gè)特征時(shí)間的猜測也能夠加速執(zhí)行。第二,攻擊僅僅需要對(duì)特征時(shí)間上界的估計(jì)。因此,γ值可以被增加得更多來支持上界。此外,在攻擊的過程中,如果攻擊者的上界值仍然是有效的,攻擊者應(yīng)該持續(xù)不斷地監(jiān)聽,并且如果需要,增加上界值。

5.4? 攻擊流量

? ? ? 高特征時(shí)間的結(jié)果是攻擊者為了持續(xù)監(jiān)視給定對(duì)象的所有訪問需要的攻擊流量是非常低的。在理想情況下,例如,常量特征時(shí)間tc,攻擊者需要每tc+ε秒探測一次,選擇ε>0以至于攻擊者探測之前他插入的項(xiàng)目沒有命中。沒有探測一個(gè)訪問的可能性是

? ? ? 在真實(shí)的條件下,情況更加復(fù)雜。像在圖5.3中看到的那樣,特征時(shí)間不是常量,它可能隨著時(shí)間變化。這個(gè)事實(shí)使得對(duì)探測間隔選擇變得復(fù)雜:假定攻擊者已經(jīng)在時(shí)間t1測量了瞬間特征時(shí)間tc,在時(shí)間t2>>t1發(fā)送了探測。在tc時(shí)間過去之前,通過每tc的時(shí)間探測一次,攻擊者可能丟失被從緩存中驅(qū)逐出的項(xiàng)目,如果實(shí)際的特征時(shí)間同時(shí)減少(假陰性)。如果探測間隔短于特征時(shí)間,因?yàn)橹肮粽甙l(fā)送的探測請(qǐng)求,項(xiàng)目可能仍然被緩存(假陽性)。

? ? ? 像我們?cè)?.6.1節(jié)中描述的那樣,攻擊者可以并行地探測幾個(gè)塊來克服特征時(shí)間的不精確測量。以同樣的方式,并行探測可以被用來容忍特征時(shí)間的變化。為了算法的成功,需要有一個(gè)特征時(shí)間的上界,例如,在一個(gè)延遲之后,攻擊者可以確保一個(gè)請(qǐng)求的條目如果沒有更多的請(qǐng)求將會(huì)被從緩存中驅(qū)逐。此外,攻擊者需要相同時(shí)間請(qǐng)求的相同文件的許多塊。文件的數(shù)量依賴于測量特征時(shí)間的不精確(或者依賴于特征時(shí)間的變化)。

? ? ? 對(duì)我們?cè)谠u(píng)估中假定的視頻負(fù)載,選擇的編碼相當(dāng)于每秒96塊。對(duì)少數(shù)量的連續(xù)塊,塊的請(qǐng)求時(shí)間幾乎相同,并行探測攻擊可以被實(shí)施。例如,如果攻擊者假定特征時(shí)間的上界是60分鐘,并使用四分之一的視頻塊作為并行探測,作為結(jié)果的探測頻率是每15分鐘一個(gè)請(qǐng)求。從圖5.3,我們可以看到?jīng)]有后續(xù)請(qǐng)求的項(xiàng)目60分鐘之后沒有停留在緩存中,沒有項(xiàng)目在最后一次讀訪問的15分鐘內(nèi)被驅(qū)逐。假定這個(gè)分布沒有明顯改變,假陰性率和假陽性率都將是0。如果每個(gè)興趣包以一個(gè)最大大小的數(shù)據(jù)塊回復(fù),攻擊流量相當(dāng)于至多4*(100B+4096B)/1h=37.3bit/s。我們認(rèn)為這個(gè)攻擊需要的攻擊流量很低,以至于對(duì)攻擊者持續(xù)不斷地監(jiān)視大量不同對(duì)象的訪問是十分可行的。

5.5? 結(jié)論和未來工作

? ? ? 在這一章,我們已經(jīng)顯示了估計(jì)緩存的特征時(shí)間是可行的。然而,如果特征時(shí)間很高,完成測量需要花費(fèi)很長時(shí)間。未來工作的目標(biāo)應(yīng)該是減少測量算法的執(zhí)行時(shí)間。此外,持續(xù)不斷地監(jiān)視和更新特征時(shí)間的估計(jì)機(jī)制需要特征時(shí)間的臨時(shí)變量。

? ? ? 使用Youtube視頻的場景,我們已經(jīng)評(píng)估了攻擊者需要持續(xù)不斷地監(jiān)視和檢測多少流量,如果100個(gè)活動(dòng)用戶中的任何人觀看了一個(gè)特殊的視頻:對(duì)最小長度為4/96s的視頻,攻擊流量至多37.3bit/s,在沒有假陽性和假陰性的情況下。

? ? ? 在未來的工作中,我們計(jì)劃比較不同的體系結(jié)構(gòu),比如CCN和CDN。當(dāng)緩存放得更靠近端用戶的時(shí)候,我們想要量化出現(xiàn)的隱私丟失。例如,對(duì)一個(gè)CDN結(jié)點(diǎn)的命中檢測可能被整個(gè)城市的任何用戶的一個(gè)請(qǐng)求引發(fā),然而,在DSLAM緩存中的命中意味著一千個(gè)鄰居中有一個(gè)鄰居請(qǐng)求了數(shù)據(jù)。

?


6.? 結(jié)束語

? ? ? 在這篇論文中,我們分析了CCN體系結(jié)構(gòu)在網(wǎng)絡(luò)安全方面的影響。我們識(shí)別了幾種與緩存相關(guān)的攻擊,我們?cè)u(píng)估如果攻擊者想要檢測每個(gè)客戶對(duì)一個(gè)特殊內(nèi)容對(duì)象的訪問,他需要多么經(jīng)常地探測緩存。我們的工作允許我們得出下面的結(jié)論:

? ? ? (1)CCN提供比現(xiàn)在的網(wǎng)絡(luò)更好的內(nèi)容安全,針對(duì)內(nèi)容提供者的拒絕服務(wù)攻擊更難實(shí)施。

? ? ? (2)盡管CCN改善了因特網(wǎng)的傳統(tǒng)安全問題,它的更為先進(jìn)的體系結(jié)構(gòu)引進(jìn)了新奇的攻擊機(jī)會(huì):

? ? ? 1)依據(jù)每個(gè)通訊的狀態(tài)和計(jì)算量,CCN路由器更加強(qiáng)大。這個(gè)特征允許新的針對(duì)路由器的拒絕服務(wù)攻擊。

? ? ? 2)多用途的緩存能夠在每個(gè)網(wǎng)絡(luò)設(shè)備上部署。普遍存在的緩存危及用戶的隱私,因?yàn)樗麄兊耐ㄓ嵾z留了(短暫的)痕跡。

? ? ? (3)緩存窺探攻擊使攻擊者能夠用非常小的攻擊流量來監(jiān)視鄰居正在獲取的內(nèi)容對(duì)象(在Youtube-DSLAM場景中以37.3bit/s的速率獲取)。

? ? ? (4)緩存意味著在網(wǎng)絡(luò)效率和通信隱私之間的權(quán)衡。

? ? ? 針對(duì)緩存窺探的應(yīng)對(duì)策略的研發(fā)是有挑戰(zhàn)性的,因?yàn)樗麄冃枰屑?xì)地考慮這個(gè)權(quán)衡:用戶隱私的極好保護(hù)將會(huì)阻止緩存。作為折衷,我們建議在接入路由器上引進(jìn)一個(gè)人工最小查詢延遲。需要更多的研究來決定在效率和隱私方面這個(gè)應(yīng)對(duì)策略多么有效。我們相信這個(gè)權(quán)衡在設(shè)計(jì)未來的網(wǎng)絡(luò)體系結(jié)構(gòu)中是一個(gè)重要的關(guān)心方面。

? ? ? 已經(jīng)報(bào)告了這樣的攻擊機(jī)會(huì),我們計(jì)劃在未來的工作中量化比如CCN的體系結(jié)構(gòu)利用它的用戶使得隱私丟失的數(shù)量,并和其他體系結(jié)構(gòu)和CDN做比較。

?

?

術(shù)語

? ? ? Botnet:僵尸網(wǎng)絡(luò)。被一個(gè)僵尸主控機(jī)控制的一系列妥協(xié)機(jī)器組成的網(wǎng)絡(luò),能夠被用作協(xié)同攻擊。

? ? ? Characteristic Time:特征時(shí)間。對(duì)LRU緩存中一個(gè)條目的最后一次訪問到條目被從緩存中被驅(qū)逐出去之間的時(shí)間。

? ? ? Content Distribution Network (CDN):內(nèi)容分布網(wǎng)絡(luò)。一個(gè)機(jī)器的集合,這些機(jī)器用來服務(wù)位置靠近用戶的內(nèi)容,例如提供對(duì)提供者網(wǎng)絡(luò)的訪問。用作負(fù)載均衡,加速內(nèi)容交付。

? ? ? Denial-of-Service (DoS):一個(gè)以使受害者對(duì)請(qǐng)求不可用,或者相當(dāng)大地減慢響應(yīng)速度為目標(biāo)的攻擊。可能的受害者包括內(nèi)容提供者,網(wǎng)絡(luò)鏈路和路由器。分布式拒絕服務(wù)攻擊利用在攻擊者控制下的許多機(jī)器的聚合帶寬,例如僵尸網(wǎng)絡(luò)。

? ? ? Dictionary Attack:字典攻擊。給出一個(gè)功能的鏡像,功能不會(huì)被輕易逆轉(zhuǎn)。預(yù)計(jì)算一列(有趣的)值和他們的響應(yīng)鏡像(字典)。從這個(gè)列表中比較那些觀察到的鏡像來找出原象。

? ? ? Forward Interest Base (FIB):轉(zhuǎn)發(fā)興趣包表。是一個(gè)為了做出轉(zhuǎn)發(fā)決策存在于CCN結(jié)點(diǎn)上的數(shù)據(jù)結(jié)構(gòu),與路由表相似。見第3頁的2.1節(jié)。

? ? ? ISP:因特網(wǎng)服務(wù)提供商。在這篇論文中,絕大多數(shù)指的是為端用戶提供網(wǎng)絡(luò)訪問的提供者。

? ? ? LRU:最近最少使用緩存替換策略。最長時(shí)間沒有被請(qǐng)求的條目被從緩存中驅(qū)逐出去。

? ? ? Pending Interest Table (PIT):CCN結(jié)點(diǎn)上的數(shù)據(jù)結(jié)構(gòu),為保存過去已經(jīng)被轉(zhuǎn)發(fā)的興趣包的記錄。見第3頁的2.1節(jié)。

? ? ? Replay attack:重放攻擊。攻擊者記錄一個(gè)授權(quán)的源發(fā)送的數(shù)據(jù),在一個(gè)之后的時(shí)間點(diǎn)再一次發(fā)送數(shù)據(jù)。例如,如果內(nèi)容源在時(shí)間t0以“內(nèi)容不可用”回復(fù),攻擊者可能在t1>>t0時(shí)重放攻擊,使得受害者相信內(nèi)容仍然不可用,盡管可能已經(jīng)不是這個(gè)情況了。

? ? ? RTT:往返時(shí)間。

? ? ? Sniffing:嗅探。監(jiān)聽一個(gè)會(huì)話,例如在無線鏈路上捕獲所有的流量。

? ? ? Snooping:窺探。向緩存發(fā)送請(qǐng)求來找出內(nèi)容的信息。

? ? ? Spoofing:欺騙。提供虛假信息,例如在一個(gè)IP包中虛假的發(fā)送者地址。

?

?

參考文獻(xiàn)

[1] B. M. Leiner, V. G. Cerf, D. D. Clark, R. E. Kahn, L.Kleinrock, D. C. Lynch, J. Postel, L. G. Roberts,

and S. Wolff, “A brief history of the Internet,”SIGCOMMComputer Communication Review, vol. 39,

no. 5, pp. 22–31, 2009.

[2] C. Labovitz, S. Iekel-Johnson, D. McPherson, J.Oberheide, and F. Jahanian, “Internet inter-domain

traffic,” in SIGCOMM, S. Kalyanaraman, V. N.Padmanabhan, K. K. Ramakrishnan, R. Shorey, and

G. M. Voelker, Eds. ACM, 2010, pp. 75–86.

[3] Cisco Systems, Inc. (2010, Jun.) Cisco visualnetworking index: Forecast and methodology,

2009–2014. White Paper. [Online]. Available:http://www.cisco.com/en/US/solutions/collateral/

ns341/ns525/ns537/ns705/ns827/white_paper_c11-481360.pdf

[4] J. Rexford and C. Dovrolis, “Future Internetarchitecture: clean-slate versus evolutionary research,”

Communications of the ACM, vol. 53,no. 9, pp. 36–40, 2010.

[5] V. Jacobson, D. K. Smetters, J. D. Thornton, M. F.Plass, N. H. Briggs, and R. L. Braynard, “Networking

named content,” in CoNEXT ’09: Proceedings of the 5thinternational conference on Emerging

networking experiments and technologies. New York,NY, USA: ACM, 2009, pp. 1–12.

[6] Project CCNx. [Online]. Available:http://www.ccnx.org/

[7] V. Jacobson, D. K. Smetters, N. H. Briggs, M. F.Plass, P. Stewart, J. D. Thornton, and R. L. Braynard,

“VoCCN: voice-over content-centric networks,” inReArch’09: Proceedings of the 2009 workshop on

Re-architecting the internet. New York,NY, USA: ACM, 2009, pp. 1–6.

[8] S. Barber. (2010, Jun.) Dynamic-content orientedapplications. CCNx-Dev Mailing List. [Online].

Available: http://www.ccnx.org/pipermail/ccnx-dev/2010-June/000234.html

[9] A. Anand, A. Gupta, A. Akella, S. Seshan, and S.Shenker, “Packet caches on routers: the implications

of universal redundant traffic elimination,” inSIGCOMM,V. Bahl, D. Wetherall, S. Savage, and

I. Stoica, Eds. ACM, 2008, pp. 219–230.

[10] A. Anand, V. Sekar, and A. Akella, “SmartRE: anarchitecture for coordinated network-wide redundancy

elimination,” in SIGCOMM, P. Rodriguez, E. W.Biersack, K. Papagiannaki, and L. Rizzo, Eds.

ACM, 2009, pp. 87–98.

[11] M. Dobrescu, N. Egi, K. J. Argyraki, B.-G. Chun, K.R. Fall, G. Iannaccone, A. Knies, M. Manesh,

and S. Ratnasamy, “RouteBricks: exploiting parallelism toscale software routers,” inSOSP, J. N.

Matthews and T. E. Anderson, Eds. ACM, 2009, pp. 15–28.

[12] U. Lee, I. Rimac, and V. Hilt, “Greening the internetwith content-centric networking,” ine-Energy

’10: Proceedings of the 1st InternationalConference on Energy-Efficient Computing and Networking.

New York, NY, USA: ACM, 2010, pp. 179–182.

[13] D. Smetters and V. Jacobson, “Securing networkcontent,” PARC, Tech. Rep., Oct. 2009.

[14] CCNx mailing lists. [Online]. Available:http://www.ccnx.org/content/community#mailing-lists

[15] L. Deng, Y. Gao, Y. Chen, and A. Kuzmanovic,“Pollution attacks and defenses for Internet caching

systems,” Computer Networks, vol. 52, no. 5, pp.935–956, 2008.

總結(jié)

以上是生活随笔為你收集整理的【NDN安全】Security Scalability of Content-Centric Networking 全文翻译的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。