湯紅波,鄭林浩,葛國棟,袁泉
(國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,河南 鄭州 450002)
CCN中基于節(jié)點狀態(tài)模型的緩存污染攻擊檢測算法
湯紅波,鄭林浩,葛國棟,袁泉
(國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,河南 鄭州 450002)
針對內(nèi)容中心網(wǎng)絡(luò)中的緩存污染攻擊問題,以污染內(nèi)容數(shù)量、分布狀態(tài)和攻擊強(qiáng)度3個參數(shù)對緩存污染攻擊進(jìn)行定量描述和分析,建立了攻擊下的節(jié)點緩存狀態(tài)模型。通過分析節(jié)點關(guān)鍵參數(shù)的變化,提出了基于節(jié)點狀態(tài)模型的攻擊檢測原則,并分別以單位時間緩存替換率和請求達(dá)到率為觀測參數(shù)進(jìn)行算法實例化設(shè)計。仿真結(jié)果與性能分析表明,所提檢測算法在應(yīng)對分散式攻擊與集中式攻擊時,可以取得良好的檢測性能。
內(nèi)容中心網(wǎng)絡(luò);緩存污染攻擊;緩存狀態(tài)模型;攻擊檢測
互聯(lián)網(wǎng)自20世紀(jì)90年代以來獲得了前所未有的迅猛發(fā)展,已成為數(shù)十億用戶生活中不可分割的部分。如今,互聯(lián)網(wǎng)內(nèi)容分發(fā)服務(wù)和數(shù)據(jù)流量呈現(xiàn)激增趨勢,而網(wǎng)絡(luò)應(yīng)用的主體也逐步向內(nèi)容獲取和信息服務(wù)演進(jìn),用戶關(guān)注的是內(nèi)容信息本身以及對應(yīng)的檢索傳輸速度、服務(wù)質(zhì)量和安全性,而不是從哪里獲取內(nèi)容[1]。
在此背景下,以信息為中心的網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)運(yùn)而生,其中以加州大學(xué)洛杉磯分校為首開展的研究項目內(nèi)容中心網(wǎng)絡(luò)(CCN, content-centric networking)[2]最為典型。CCN作為信息中心網(wǎng)絡(luò)的典型代表,讓內(nèi)容本身成為網(wǎng)絡(luò)通信的主體單元,采用以信息為中心的網(wǎng)絡(luò)通信模型來支持高效的內(nèi)容分發(fā)。CCN一經(jīng)提出,便得到了國內(nèi)外的高度關(guān)注,被譽(yù)為最有發(fā)展?jié)摿Φ慕Y(jié)構(gòu)范例,其思想也被諸多研究者廣泛借鑒[3]。CCN體系結(jié)構(gòu)同 IP網(wǎng)絡(luò)一樣都是沙漏模型,但以內(nèi)容取代了IP地址作為其核心。通信采用“發(fā)布—請求—響應(yīng)”的模式,用戶只需通過名稱來請求自己需要的內(nèi)容(發(fā)送包含內(nèi)容名稱的interest packet),當(dāng)檢索到所需內(nèi)容后,應(yīng)答數(shù)據(jù)(data packet)依照interest packet沿途留存的路徑信息返回至請求者。
對于 CCN而言,其實現(xiàn)高效內(nèi)容分發(fā)的主要創(chuàng)新之處是采用廣泛緩存的做法,每個 CCN節(jié)點都帶有緩存空間,用于駐留高請求頻度的內(nèi)容,當(dāng)data packet沿interest packet的反向路徑進(jìn)行回傳時,會按照一定策略在沿途各個節(jié)點進(jìn)行緩存,當(dāng)這些節(jié)點再次接收到相同內(nèi)容請求時,會在緩存空間中進(jìn)行檢索并直接予以回傳。
然而,新型網(wǎng)絡(luò)結(jié)構(gòu)的新特點往往會帶來新的問題,普遍緩存的做法在提高網(wǎng)絡(luò)效率的同時也引發(fā)了新的安全威脅,如隱私泄露、緩存污染等[4~6],本文主要研究 CCN中的緩存污染攻擊問題,指的是攻擊者通過對污染內(nèi)容的請求,使其占據(jù)節(jié)點緩存空間,降低網(wǎng)絡(luò)性能,而這些污染內(nèi)容可以是正常的冷門資源,也可以由特定的惡意內(nèi)容服務(wù)商提供。緩存污染攻擊實際上可以視為一種DoS攻擊[6],但是它與傳統(tǒng)的DoS攻擊相比卻更加靈活。首先,其具有隱蔽的特點,不需要使用洪泛的方式來攻擊數(shù)據(jù)源;第二,它影響了路由節(jié)點,會使內(nèi)容請求者與內(nèi)容提供者雙方都受到嚴(yán)重的影響;第三,攻擊使用真實的內(nèi)容占據(jù)緩存,而不是請求虛假內(nèi)容,與興趣分組洪泛攻擊[6]相比更加難以檢測。
目前,提出的緩存污染攻擊主要分為以下2類[6]:破壞內(nèi)容(locality-disruption)局域分布特性和偽造內(nèi)容(false-locality)局域分布特性。在 localitydisruption攻擊中,攻擊者持續(xù)生成一系列 interest packet,用來請求新的污染(非流行)內(nèi)容,從而破壞內(nèi)容的整體分布特征,提高了污染內(nèi)容的流行度,使其長期駐留于緩存之中。在false-locality攻擊中,攻擊者選擇一個非流行內(nèi)容的集合,周期性地對其進(jìn)行請求,請求的頻率應(yīng)當(dāng)保證不破壞當(dāng)前內(nèi)容的流行度分布規(guī)律,以此來偽造正常請求狀態(tài),保證攻擊不被發(fā)現(xiàn)。
針對locality-disruption攻擊,當(dāng)前的應(yīng)對手段可以分為主動檢測與被動防御2種,前者采用各類啟發(fā)式算法檢測攻擊,如文獻(xiàn)[7, 8]通過檢測各內(nèi)容請求規(guī)律的變化來判斷攻擊是否發(fā)生,進(jìn)而判斷哪類內(nèi)容更有可能是污染內(nèi)容;后者則是通過設(shè)置某種規(guī)則,對某些內(nèi)容不予緩存,從而降低污染內(nèi)容進(jìn)入緩存的概率,例如文獻(xiàn)[9]提出了cache shield,避免緩存流行度小于所設(shè)定閾值的內(nèi)容。這些檢測與防御方法在各自的場景中效果顯著,但是在面對更復(fù)雜的攻擊場景時卻力不從心,因為一旦無法檢測到內(nèi)容分布特性的突變,則無法判斷攻擊是否發(fā)生。同樣,當(dāng)攻擊請求較多時,cache shield的防御效果也會下降。
針對false-locality,文獻(xiàn)[7,8]認(rèn)為攻擊者難以對正常內(nèi)容的流行度進(jìn)行評估,因而難以偽造,同時需要大量的攻擊流量,可以通過限制突發(fā)流量來進(jìn)行避免。文獻(xiàn)[10]則認(rèn)為只需要檢測短時間內(nèi)某端口大量突發(fā)的interest packet,但是卻忽略了存在分布式攻擊的可能性。
CCN中緩存污染攻擊的本質(zhì)是攻擊者按照某種規(guī)律持續(xù)性地請求某些特定的污染內(nèi)容,使其占據(jù)節(jié)點的緩存空間。從這一點來看,false-locality與locality-disruption的分類方式僅僅是一種定性的描述,而沒有定量的判斷標(biāo)準(zhǔn),若攻擊者對數(shù)量可變的污染內(nèi)容進(jìn)行請求,這種攻擊狀態(tài)便可以介于所謂的false-locality攻擊和locality-disruption攻擊之間,比嚴(yán)格的false-locality攻擊更具可行性,也比locality-disruption更加難以檢測。對于該類攻擊模式,因其動態(tài)性難以進(jìn)行準(zhǔn)確歸類,而以往的工作只針對單一類型的攻擊,難以應(yīng)對特征不斷變化的攻擊行為,因此,本文拋開傳統(tǒng)的定義方式,以定量的方式對緩存污染攻擊進(jìn)行描述,研究檢測算法應(yīng)對不同攻擊時的效果,尋找應(yīng)對范圍更廣的解決方案,主要有以下工作。
1) 對緩存污染攻擊進(jìn)行定量描述,并建模分析攻擊下的節(jié)點緩存狀態(tài)變化。
2) 提出基于節(jié)點狀態(tài)模型的攻擊檢測原則,并給出檢測算法設(shè)計示例。
3) 通過改變攻擊參數(shù)設(shè)置5類攻擊模式,據(jù)此對不同算法的檢測效果做出對比分析。
3.1.1 緩存污染攻擊定量描述
如問題分析所述,CCN中緩存污染攻擊的本質(zhì)是攻擊者按照某種規(guī)律持續(xù)性地請求某些特定的污染內(nèi)容,使其長期占據(jù)節(jié)點的緩存空間[6]。由此而言,傳統(tǒng)的2種攻擊分類之間并沒有本質(zhì)的區(qū)別,都是通過類似的手段(依照某種策略請求污染內(nèi)容)實現(xiàn)相同的目的(污染節(jié)點緩存空間)。另外,這種分類方式僅僅屬于模糊性的概括,并沒有給出定量的標(biāo)準(zhǔn),對攻擊進(jìn)行描述時往往不夠精確。若攻擊者通過調(diào)整攻擊請求發(fā)送頻率和所請求污染內(nèi)容的數(shù)量來實現(xiàn)不同的攻擊狀態(tài),根據(jù)傳統(tǒng)的分類方式便難以對攻擊進(jìn)行準(zhǔn)確描述,也影響了進(jìn)一步的檢測算法設(shè)計。
從發(fā)起方法和形式上看,緩存污染攻擊的組成要素包括污染內(nèi)容和攻擊請求兩方面。當(dāng)攻擊者發(fā)起攻擊時,為了使污染內(nèi)容能夠占據(jù)節(jié)點緩存空間,其首先要請求一定數(shù)量的污染內(nèi)容,其次要足夠頻繁地發(fā)送攻擊請求分組,用以增加污染內(nèi)容的駐留概率,且以不同的頻率請求不同的污染內(nèi)容也會達(dá)到不同的攻擊效果。因此,本文以參數(shù)污染內(nèi)容數(shù)量描述污染內(nèi)容集合,表征緩存污染攻擊的規(guī)模;分別用攻擊強(qiáng)度和分布狀態(tài)2個參數(shù)來刻畫攻擊請求發(fā)送的模式,3個參數(shù)具體定義如下。
1) 污染內(nèi)容數(shù)量L:由惡意內(nèi)容服務(wù)器提供或者從正常的冷門資源中選取的污染內(nèi)容的總數(shù)。
2) 攻擊強(qiáng)度η:所有攻擊請求的總到達(dá)率與正常請求到達(dá)率之比,通過比例的形式反映了攻擊的強(qiáng)度。
3) 分布狀態(tài)X(L):描述如何對這L份污染內(nèi)容進(jìn)行請求,如依照Zipf分布[11]或者依照平均分布發(fā)送請求。
根據(jù)上述3個參數(shù),緩存污染攻擊可以定義為:攻擊者以強(qiáng)度η,依照X(L)的分布狀態(tài),對L份污染內(nèi)容進(jìn)行請求,從而使污染內(nèi)容占據(jù)路由節(jié)點的緩存空間。由于每個節(jié)點的緩存空間都是有限的,一般意義上最優(yōu)的攻擊策略就是通過設(shè)置這些參數(shù),使緩存空間盡可能多地被占據(jù),同時保證攻擊行為盡量隱蔽。
上述定義的描述雖然無法完全精確地刻畫緩存污染攻擊全部細(xì)節(jié),但是可以清晰地描述緩存污染的主要特征,可以表征緩存污染攻擊的主要行為,能夠為攻擊檢測方法的設(shè)計提供良好的支持。它可以包括傳統(tǒng)的locality-disruption或者false-locality攻擊,當(dāng)L較大、X(L)為平均分布、η較小時,則屬于locality-disruption攻擊;當(dāng)L與η大小適中、X(L)近似Zipf分布時,則屬于false-locality攻擊。
3.1.2 模型假設(shè)
在定義攻擊特征的3個參數(shù)中,攻擊的分布狀態(tài)可能存在的情況較為復(fù)雜,為了簡化計算,從下面兩方面進(jìn)行分析:1) 空間分布方面,若一次攻擊依照任意的分布狀態(tài),攻擊者針對每類污染內(nèi)容請求概率并不相同,此時對請求概率相等或相近的污染內(nèi)容進(jìn)行劃分,可將該攻擊視為多次平均分布的攻擊同時疊加;2) 時間分布方面,若一次攻擊中攻擊請求狀態(tài)隨時間變化,依照同樣的分析方法,可將其視為多次攻擊的連續(xù)實施。因此,為了分析最一般的情況,可假定攻擊依照平均分布,即針對所有污染內(nèi)容的請求概率相等。對于建模對象而言,為了分析攻擊的效果,則需要知道緩存節(jié)點的狀態(tài),考慮到網(wǎng)絡(luò)邊緣的接入節(jié)點直接連接網(wǎng)絡(luò)與大量用戶,受到攻擊的危害最高,同時由于其與用戶之間通常只有一跳,只需單節(jié)點模型便可以對其進(jìn)行描述,因此將建模對象定位于網(wǎng)絡(luò)邊緣的單節(jié)點,同時這也可作為未來建立多節(jié)點模型的基礎(chǔ)。
因此,針對網(wǎng)絡(luò)邊緣的緩存節(jié)點v進(jìn)行建模,并做出如下假設(shè)。
1) 網(wǎng)絡(luò)中合法的提供者維護(hù)有N份正常內(nèi)容,分屬于K級不同的流行度,惡意內(nèi)容源提供L份污染內(nèi)容用于污染緩存,所有內(nèi)容大小相等。
2) 節(jié)點緩存空間大小為可存儲V份內(nèi)容,緩存替換策略采用最近最少使用策略[12](LRU, least recently used)。
3) 節(jié)點v處正常請求的到達(dá)服從Zipf分布,對第k級別流行度內(nèi)容的請求概率為,其中,分別針對每級流行度內(nèi)容的請求符合泊松到達(dá)并且相互獨(dú)立[13],到達(dá)率分別為,所有正常請求總到達(dá)率記為λn。
4) 節(jié)點v處攻擊者針對所有污染內(nèi)容的請求總到達(dá)率為λa,v,分布狀態(tài)為平均分布。
使用 LRU替換策略的緩存空間可以看作一個隊列[12]:如果最近請求的一份內(nèi)容在其中沒有緩存,節(jié)點會將該內(nèi)容的一份緩存副本保存在緩存隊列的頭部,同時其他所有內(nèi)容依次向后移動,而最早請求的一份內(nèi)容(位于緩存隊列的尾部)則會移出緩存。如果最近請求的一份內(nèi)容在緩存中已保留有副本,那么該內(nèi)容將會重新移至隊列頭部,若此內(nèi)容原本處于緩存隊列中的第j個位置,那么在位置1,?,j?1的所有內(nèi)容依次向后轉(zhuǎn)移一位。文獻(xiàn)[13,14]中介紹了a-LRU算法,對LRU緩存空間中的內(nèi)容穩(wěn)態(tài)分布進(jìn)行計算,該算法可以表示為函數(shù),其中,表示內(nèi)容在緩存節(jié)點v中的駐留概率,表示針對各內(nèi)容請求的概率。在a-LRU算法的基礎(chǔ)上對攻擊下的節(jié)點緩存狀態(tài)進(jìn)行推導(dǎo)。
節(jié)點v處請求流的到達(dá)率為正常請求與攻擊請求之和,記為
其中,mv,n和mv表示正常請求的未命中流以及所有請求的未命中流,Pmiss,n和Pmiss分別表示正常請求的未命中概率以及總未命中概率。
文獻(xiàn)[15]認(rèn)為,可以通過節(jié)點的未命中概率直接反映攻擊是否發(fā)生,然而從式(4)可以看出,一個緩存節(jié)點上未命中的請求流包括正常請求和攻擊請求這兩部分,由于攻擊與正常的interest packet并沒有區(qū)別,能觀測到的未命中概率實際上是節(jié)點的總未命中概率。由于攻擊請求與污染內(nèi)容對節(jié)點的影響,總未命中概率并不一定與正常請求的未命中概率成正比例關(guān)系,那么如何對攻擊進(jìn)行檢測仍是需要仔細(xì)考慮的問題,需要進(jìn)一步分析攻擊對節(jié)點參數(shù)的影響。
圖1給出了緩存未命中概率隨攻擊強(qiáng)度變化的曲線,圖中橫坐標(biāo)表示攻擊強(qiáng)度,縱坐標(biāo)表示未命中概率,各曲線從下到上分別為污染內(nèi)容數(shù)量。圖 1(a)表示總未命中概率,當(dāng)污染內(nèi)容數(shù)量較少時,由于污染內(nèi)容以較大概率駐留于緩存中,將會導(dǎo)致總的未命中概率降低;當(dāng)污染內(nèi)容數(shù)量較多時,會產(chǎn)生更多的緩存替換,導(dǎo)致總未命中概率升高。圖1(b)為正常內(nèi)容未命中概率,正常請求的未命中概率隨攻擊強(qiáng)度的增加始終遞增。對比圖1(a)和1(b),由于攻擊請求的存在,總未命中概率與正常請求未命中概率的變化趨勢并不一致。
圖1 攻擊對未命中概率的影響
CCN中未命中的interest packet會向內(nèi)容提供者處轉(zhuǎn)發(fā),當(dāng)內(nèi)容數(shù)據(jù)返回時緩存節(jié)點則在本地保留一份緩存副本,可以認(rèn)為在穩(wěn)態(tài)條件下節(jié)點的緩存空間已滿,此時每有一次未命中必定會對應(yīng)發(fā)生一次緩存替換。因此,緩存替換率即等價于單位時間內(nèi)節(jié)點未命中的請求流。圖2給出了節(jié)點單位時間緩存替換率隨攻擊強(qiáng)度的變化,各曲線從下到上分別為,通過對比圖2(a)與2(b)可以看出,隨著攻擊強(qiáng)度的增加,正常內(nèi)容替換率與總替換率主要呈遞增的變化趨勢,但是 2組曲線簇的不同密集程度反映出正常內(nèi)容替換率隨攻擊強(qiáng)度與污染內(nèi)容數(shù)量的增加迅速上升,而總替換率變化卻略為平緩。
圖2 攻擊對單位時間緩存替換率的影響
總而言之,當(dāng)節(jié)點遭受緩存污染攻擊時,不同的攻擊能夠?qū)?jié)點參數(shù)產(chǎn)生完全不同的影響。因此,在設(shè)計攻擊檢測算法時,需要重點考慮如何選擇節(jié)點參數(shù)進(jìn)行觀測。
通過分析節(jié)點參數(shù)變化,本節(jié)設(shè)計了基于節(jié)點狀態(tài)模型的攻擊檢測算法,其特點在于并不嚴(yán)格限定具體算法內(nèi)容,而是首先給出基于節(jié)點狀態(tài)模型的攻擊檢測原則。在此原則之上,通過選擇觀測參數(shù)以及攻擊判斷標(biāo)準(zhǔn)得到實例化的算法。相比于傳統(tǒng)檢測算法的設(shè)計,這種設(shè)計方式不但可以更加清晰地體現(xiàn)算法設(shè)計的邏輯流程,同時能夠在不影響運(yùn)行的情況下隨時對算法進(jìn)行調(diào)整,符合未來網(wǎng)絡(luò)靈活可變的設(shè)計需求[3]。
由于受攻擊者自身才能準(zhǔn)確檢測到攻擊的存在[17],從理論上來說,正常請求的未命中概率能夠最準(zhǔn)確反映攻擊是否發(fā)生,但是對于緩存節(jié)點而言,其無法直接判斷究竟哪一部分請求屬于正常請求,因而無法直接檢測正常請求流的未命中概率以及正常內(nèi)容在緩存中的狀態(tài),只能根據(jù)某些間接的手段來反映是否遭到攻擊。為了尋找這些“間接手段”,基于第 3節(jié)中的模型,將節(jié)點各相關(guān)參數(shù)劃分為以下2類。
1) 可觀測參數(shù):可以由緩存節(jié)點直接進(jìn)行觀察,能夠直觀反映節(jié)點的運(yùn)行狀態(tài),例如節(jié)點上所有內(nèi)容的到達(dá)率。
2) 不可觀測參數(shù):僅在模型計算中有所體現(xiàn),而無法由緩存節(jié)點進(jìn)行觀測,例如正常請求或攻擊請求的命中概率。
表1列舉了緩存節(jié)點上的各項重要參數(shù)以及可觀測性(僅限3.2節(jié)中模型所涉及的參數(shù),在其他場景下仍有待補(bǔ)充)。
表1 緩存節(jié)點v各項參數(shù)可觀測性
由表1可以發(fā)現(xiàn),不可觀測參數(shù)同攻擊的特征直接關(guān)聯(lián)但卻無法觀測,而可觀測參數(shù)卻不能直接反映攻擊是否發(fā)生。
因此,進(jìn)行攻擊檢測所要做的就是根據(jù)緩存節(jié)點上可觀測參數(shù)的變化來間接判斷不可觀測參數(shù)的變化。通過對前文的節(jié)點狀態(tài)模型進(jìn)行分析可知,這2類參數(shù)之間存在相互關(guān)聯(lián)的關(guān)系,這便為攻擊檢測提供了理論依據(jù)。據(jù)此提出基于節(jié)點狀態(tài)模型的攻擊檢測原則,主要包括以下幾個方面。
1) 分析攻擊的特點以及攻擊可能產(chǎn)生的效果。
2) 選擇合適的觀測參數(shù),分析其與攻擊之間的關(guān)系,并據(jù)此設(shè)置攻擊判斷標(biāo)準(zhǔn)。
3) 若在第2)步中選取表1中第7項r作為檢測對象,那么又可分為多種情況,因為r可以看作一組參數(shù),通過不同的篩選方式在 ri中選擇所需要的值便能進(jìn)一步構(gòu)造不同的判斷方法。
4) 對觀測參數(shù)的變化情況進(jìn)行檢測,通過與攻擊判斷標(biāo)準(zhǔn)的對比來判定攻擊。
5) 算法實例化,根據(jù)選定的觀測參數(shù)以及判斷標(biāo)準(zhǔn)得到具體的算法實例。
與文獻(xiàn)[7,8]中的設(shè)計方法進(jìn)行對比,文獻(xiàn)[7]以請求概率作為判斷依據(jù),根據(jù)請求概率的總變化量來檢測攻擊;文獻(xiàn)[8]通過一系列矩陣操作在所有到達(dá)的請求中篩選出“冷門請求”,而后根據(jù)其變化來檢測低強(qiáng)度的攻擊。二者的設(shè)計方法與本節(jié)提出的設(shè)計原則有一定相通之處,這也說明了該檢測原則的合理性。
4.1節(jié)中列舉了受攻擊節(jié)點的幾類可觀測參數(shù),根據(jù)模型分析,Pmiss和Pmiss,n之間并不成正比例關(guān)系,難以直接反映攻擊。因此,分別選擇單位時間緩存替換率m或請求到達(dá)率 ri作為觀測參數(shù),以其變化量是否超過設(shè)定的閾值為判斷標(biāo)準(zhǔn),給出基于節(jié)點狀態(tài)模型的攻擊檢測算法實例化設(shè)計。
1) 攻擊檢測以一定周期進(jìn)行循環(huán),在周期T中抽取時長Δt,統(tǒng)計觀測參數(shù)x在本周期的抽樣值x(T),其中,x=m或,m和ri分別為單位時間緩存替換率和每類請求的到達(dá)率。
2) 由式(6)計算檢測結(jié)果,即觀測參數(shù)抽樣值相比上周期的變化量,并按照式(7)取為所有中最大值,用來表示請求到達(dá)率變化最大者。
3) 根據(jù)δx在n個周期內(nèi)變化的標(biāo)準(zhǔn)差設(shè)置閾值τ,如式(8)所示,其中,τmax表示可接受的最大閾值。若δx在某周期內(nèi)的變化超過閾值τ,則判定攻擊發(fā)生。
給出攻擊檢測算法如下。
輸入 time_interval:當(dāng)前時間
t:周期時長
Δt :采樣時長
輸出 result_of_detection:是否發(fā)生攻擊
可以看出,該算法設(shè)計思路重點在于“選擇”而不是“設(shè)計”,即在什么場景下選擇什么樣的檢測方法更加合適。因此,實際操作時應(yīng)重點分析不同算法在不同場景下的適用性,而不是討論相同場景下同一類算法的優(yōu)劣。
實際中可能存在模式繁多的緩存污染攻擊,由于篇幅的限制,很難對所有的攻擊模式進(jìn)行遍歷。為了能夠較全面地檢驗算法的性能,依據(jù)污染內(nèi)容數(shù)量的多少和攻擊強(qiáng)度的大小,將緩存污染攻擊分為5類,通過對每一類設(shè)定具有代表性的參數(shù),得到典型的檢測效果,用以反映對不同特征攻擊的檢測性能。
由于當(dāng)前 CCN仍然處于理論研究和實驗驗證階段,缺乏實際的網(wǎng)絡(luò)運(yùn)營數(shù)據(jù)。在不失一般性的前提下,這里按照獨(dú)立參考模型生成請求序列。設(shè)置正常內(nèi)容總數(shù)正常請求依照 Zipf規(guī)律發(fā)送(α=1.2)[11],interest packet發(fā)送頻率為1 000個/秒,節(jié)點緩存空間大小V=500,一個周期的時間設(shè)置為60 s,檢測算法的參數(shù)統(tǒng)計范圍為10周期,對節(jié)點的攻擊從第 20周期開始,通過改變污染內(nèi)容數(shù)量L和攻擊強(qiáng)度η設(shè)定5類攻擊模式。
文獻(xiàn)[17]提出了一種檢測機(jī)制 LWM (light weight mechanism),其所觀測的參數(shù)是所有請求概率變化量的總和,通過檢測參數(shù)突變來判斷攻擊是否發(fā)生,檢測效果與污染內(nèi)容數(shù)量無關(guān),只與攻擊強(qiáng)度成正比。文獻(xiàn)[7]提出CUSUM算法,將節(jié)點可能緩存的所有內(nèi)容映射到一個矩陣中,通過異或的操作篩選出其中的非流行內(nèi)容,而后通過矩陣秩(rank)的變化來判斷攻擊,此處使用100×100的矩陣記錄節(jié)點可能存儲的非流行內(nèi)容,以該矩陣的秩作為觀測參數(shù),秩越大表示對冷門資源的請求越多,即受到攻擊的可能越大。將4.2節(jié)中的2種實例化檢測算法記為單位時間緩存替換率檢測和請求到達(dá)率檢測,連同 LWM以及CUSUM共4種檢測算法分別對上述5類攻擊進(jìn)行檢測。
圖3給出了 4種算法針對輕量攻擊的檢測情況,以檢測結(jié)果的歸一化數(shù)值(即歸一化δ值,定義為來衡量檢測的效果,其大于0表示可檢測到攻擊,值越大表示檢測效果越好。由于輕量攻擊特征不明顯,同時對網(wǎng)絡(luò)的影響很小,通過檢測參數(shù)變化的方式難以進(jìn)行識別,只有根據(jù)請求到達(dá)率檢測可以實現(xiàn)歸一化δ值大于 0,但其最大值僅為0.10??傮w來看檢測效果均較差。
圖4給出了4種算法針對集中式攻擊檢測結(jié)果的歸一化數(shù)值,由于請求到達(dá)率檢測選取的觀測參數(shù)為請求率變化的最大值,對于集中式攻擊十分敏感,其歸一化δ值可以高達(dá)8。該類攻擊強(qiáng)度較大,LWM 也可取得較好的檢測效果,歸一化δ值為2.05。單位時間替換率檢測的歸一化δ值為 0.15,CUSUM則無法進(jìn)行檢測。前3種檢測算法均基于歷史統(tǒng)計判斷攻擊,當(dāng)攻擊持續(xù)時,舊的統(tǒng)計數(shù)據(jù)逐漸被替換,導(dǎo)致曲線呈下降趨勢。
圖3 針對輕量攻擊(第一類攻擊)的檢查結(jié)果
圖4 針對集中式攻擊(第二類攻擊)的檢查結(jié)果
圖5給出了4種算法針對分散式輕量攻擊檢測結(jié)果的歸一化數(shù)值,CUMSUM 算法通過映射的方式對所有冷門請求進(jìn)行統(tǒng)計,冷門請求越多則檢測效果越好,歸一化δ值可達(dá)2.80,另外算法中將變化的參照量以及閾值設(shè)置為固定值,而不是基于歷史統(tǒng)計數(shù)據(jù)得出,所以檢測曲線并不會因統(tǒng)計數(shù)據(jù)的變化而下降。對于其他3種算法而言,由于該類攻擊強(qiáng)度較低,單獨(dú)針對每份污染內(nèi)容的請求到達(dá)率均極低,難以實現(xiàn)有效檢測。
圖6給出了4種算法針對分散式攻擊檢測結(jié)果的歸一化數(shù)值,該類攻擊特征最為明顯,導(dǎo)致網(wǎng)絡(luò)狀態(tài)的變化最大,因此各算法均對其有一定效果。其中,LWM 算法效果最好,歸一化δ值為 2.01。單位時間緩存替換率檢測效果次之,歸一化δ值為1.30。另外2種檢測算法效果較差,但也可實現(xiàn)歸一化δ值大于0。
圖5 針對分散式輕量攻擊(第三類攻擊)的檢查結(jié)果
圖6 針對分散式攻擊的檢查結(jié)果
圖7給出了4種算法針對中量攻擊檢測結(jié)果的歸一化數(shù)值,由于中量攻擊狀態(tài)介于上述4種之間,因此各類檢測算法均對其有一定效果,但總體來說檢測效果并不好。其中,LWM 算法檢測所得歸一化δ值最高,但僅為 0.6,因此并沒有一種算法能夠特別有效地針對此類攻擊。
圖7 針對中量攻擊的檢查結(jié)果
表2列出各算法檢測結(jié)果的歸一化數(shù)值,反映了上述4種檢測算法適用范圍各不相同。LWM的檢測范圍最廣,可以檢測第二、四、五類攻擊,但由于網(wǎng)絡(luò)中正常請求的實時變化對其觀測參數(shù)的影響較大,實際應(yīng)用中誤判的概率也較大;基于單位時間替換率的檢測算法適用范圍與LWM類似,雖然結(jié)果的歸一化值較小,但由于其觀測參數(shù)較單一,誤判率相比LWM較小。其余2種應(yīng)對面稍窄,請求到達(dá)率檢測方法對于第二類攻擊最敏感,歸一化δ值可高達(dá)8.00,同時對第五類攻擊也有一定效果;而CUSUM算法僅僅適用于檢測第三類攻擊。綜合4種檢測方法,可以對第二、三、四類攻擊進(jìn)行有效檢測,而對第五類攻擊的檢測效果均較為一般。第一類攻擊雖然難以檢測,但可以被文獻(xiàn)[9]提出的cache shield所攔截??傊煌臋z測算法對于不同攻擊的檢測效果不同,本文提出的2種檢測算法實例能夠與現(xiàn)有的檢測算法進(jìn)行互補(bǔ),在實際應(yīng)用中還需根據(jù)情況進(jìn)行具體設(shè)計,此外由于第5類攻擊特征不明顯,導(dǎo)致各類算法對其檢測效果較為一般,也應(yīng)對其多加考慮。
表2 檢測結(jié)果的歸一化數(shù)值
本文對 CCN中的緩存污染攻擊進(jìn)行研究,指出了傳統(tǒng)模糊式的攻擊分類方式并不能準(zhǔn)確描述CCN緩存污染攻擊的狀態(tài),進(jìn)而導(dǎo)致了攻擊檢測算法無法實現(xiàn)全面的檢測與防護(hù)。為此,本文對CCN中的緩存污染攻擊重新進(jìn)行定量描述,以污染內(nèi)容數(shù)量、分布狀態(tài)、攻擊強(qiáng)度這3個參數(shù)描述攻擊的特征,建立攻擊下的節(jié)點緩存狀態(tài)模型分析不同攻擊對節(jié)點的影響。提出了基于節(jié)點狀態(tài)模型的攻擊檢測原則,并分別以單位時間緩存替換率和請求到達(dá)率作為觀測參數(shù)進(jìn)行算法實例化。仿真結(jié)果表明,本文設(shè)計的2種檢測算法實例能夠與現(xiàn)有的檢測算法進(jìn)行有效互補(bǔ),在實際的應(yīng)用中還需結(jié)合不同檢測算法的適用范圍進(jìn)行權(quán)衡決策。下一步的工作包括建立多節(jié)點網(wǎng)絡(luò)模型,并考慮攻擊請求的相關(guān)性和多樣的分布狀態(tài),進(jìn)一步驗證算法的適用性。
[1] XYLOMENOS G, VERVERIDIS C, SIRIS V, et al. A survey of information-centric networking research[J]. IEEE Communications Surveys amp; Tutorials, 2014, 16: 1024-1049.
[2] JACOBSON V, SMETTERS D K, THORNTON J D, et al. Networking named content[J]. Communications of the ACM, 2012, 55(1):117-124.
[3] 蘭巨龍, 程東年, 胡宇翔. 可重構(gòu)信息通信基礎(chǔ)網(wǎng)絡(luò)體系研究[J].通信學(xué)報, 2014, 35(1): 128-139.LAN J L, CHENG D N, HU Y X. Research on reconfigurable information communication based network architecture[J]. Journal on Communications, 2014, 35(1): 128-139.
[4] ACS G, CONTI M, GASTI P, et al. Cache privacy in named-data networking[C]//IEEE International Conference on Distributed Computing Systems. Philadelphia, USA, 2013: 41-51.
[5] CHAABANE A, DE CRISTOFARO E, KAAFAR M A, et al. Privacy in content-oriented networking: threats and countermeasures[J]. ACM SIGCOMM Computer Communication Review, 2013, 43(3): 25-33.
[6] LAUINGER T. Security amp; scalability of content-centric networking[D]. TU Darmstadt, 2010.
[7] CONTI M, GASTI P, TEOLI M. A lightweight mechanism for detection of cache pollution attacks in named data networking[J]. Computer Networks, 2013, 57(16): 3178-3191.
[8] PARK H, WIDJAJA I, LEE H. Detection of cache pollution attacks using randomness checks[C]//IEEE International Conference on Communications (ICC). Ottawa, 2012: 1096-1100.
[9] XIE M, WIDJAJA I, WANG H. Enhancing cache robustness for content-centric networking[C]// IEEE INFOCOM Annual IEEE International Conference on Computer Communications. Orlando, 2012: 2426-2434.
[10] SANDBERG A, EKL?V D, HAGERSTEN E. Reducing cache pollution through detection and elimination of non-temporal memory accesses[C]//2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis. Washington DC: IEEE Computer Society, 2010: 1-11.
[11] KIM Y, YEOM I. Performance analysis of in-network caching for content-centric networking[J]. Computer Networks, 2013, 57(13):2465-2482.
[12] DAN A, TOWSLEY D. An approximate analysis of the LRU and FIFO buffer replacement schemes[M]. New York, USA: ACM Publisher, 1990: 143-152.
[13] CHAI W K, HE D, PSARAS I, et al. Cache “l(fā)ess for more” in information-centric networks[C]//IFIP Networking. Prague, Czech,2012: 27-40.
[14] ROSENSWEIG E J, KUROSE J, TOWSLEY D. Approximate models for general cache networks[C]// IEEE INFOCOM 2010. San Diego,2010: 1-9.
[15] DENG L, GAO Y, CHEN Y, et al. Pollution attacks and defenses for Internet caching systems[J]. Computer Networks, 2008, 52(5):935-956.
[16] MOHAISEN A, ZHANG X W, SCHUCHARD M, et al. Protecting access privacy of cached contents in information centric networks[C]//ACM SIGSAC Symposium on Information, Computer and Communications Security. Hangzhou, China, 2013: 173-178.
[17] AFANASYEV A, MAHADEVAN P, MOISEENKO I, et al. Interest flooding attack and countermeasures in named data networking[C]//IFIP Networking Conference. New York, 2013: 1-9.
Detection algorithm for cache pollution attacks based on node state model in content centric networking
TANG Hong-bo, ZHENG Lin-hao, GE Guo-dong, YUAN Quan
(National Digital Switching System Engineeringamp; Technological Ramp;D Center, Zhengzhou 450002, China )
Aiming at cache pollution attacks in content centric networking, the attacks were quantitatively described by three parameters, namely number of pollution contents, distribution of attack requests and attack intensity, then the cache state model of node under attack was built. Benefited from the analysis of key parameters of cache node, the attack detection principle based on node state model was put forward, correspondingly, two attack detection algorithms were instantiated with the observation parameters of cache replacement ratio and request arrival rate. The simulation results show that proposed algorithm can obtain good detection performance under each decentralized attack and centralized attack.
content centric networking, cache pollution attacks, cache state model, attack detection
s: The National Key Basic Research and Development Programs of China (973 Program) (No.2012CB315901),The Foundation for Innovative Research Groups of the National Natural Science Foundation of China (No. 61521003), The National High-Tech Research and Development Program of China (863 Program) (No.2014AA01A701)
TP393
A
10.11959/j.issn.1000-436x.2016172
2015-07-21;
2016-06-29
國家重點基礎(chǔ)研究發(fā)展計劃(“973”計劃)基金資助項目(No.2012CB315901);國家自然科學(xué)基金創(chuàng)新群體(No.61521003);國家高技術(shù)研究發(fā)展計劃(“863”計劃)基金資助項目(No.2014AA01A701)
湯紅波(1968-),男,湖北孝感人,國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心教授,主要研究方向為移動通信網(wǎng)絡(luò)與安全、未來網(wǎng)絡(luò)體系結(jié)構(gòu)、內(nèi)容中心網(wǎng)絡(luò)。
鄭林浩(1991-),男,河南輝縣人,國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心碩士生,主要研究方向為內(nèi)容中心網(wǎng)絡(luò)、網(wǎng)絡(luò)安全。
葛國棟(1985-),男,陜西咸陽人,國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心工程師,主要研究方向為未來網(wǎng)絡(luò)體系結(jié)構(gòu)、網(wǎng)絡(luò)安全。
袁泉(1991-),男,山東青島人,國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心碩士生,主要研究方向為未來網(wǎng)絡(luò)體系結(jié)構(gòu)、移動通信。