黃振晗
(福建廣播電視大學莆田分校,福建 莆田 351100)
傳統(tǒng)的網(wǎng)絡架構(gòu)致力于端到端的連接,而內(nèi)容網(wǎng)絡作為新型網(wǎng)絡架構(gòu),更關注于如何進行內(nèi)容分發(fā)和獲取[1]。內(nèi)容網(wǎng)絡能更好地滿足用戶對獲得內(nèi)容的需求,因此內(nèi)容網(wǎng)絡極具發(fā)展前景。無論是傳統(tǒng)網(wǎng)絡還是內(nèi)容網(wǎng)絡,網(wǎng)絡安全都是一個重要的話題[2]。傳統(tǒng)的分布式拒絕攻擊在內(nèi)容網(wǎng)絡中有著新的攻擊形式,請求洪泛(REF)攻擊便是其中一種表現(xiàn)形式[3]。在內(nèi)容網(wǎng)絡中,用戶通過發(fā)送請求來獲得相應的數(shù)據(jù),該請求通過查找路由表到達內(nèi)容服務器,相應的數(shù)據(jù)通過路由器中待定請求表(Pending Request Table,PRT)所記錄的信息沿著請求轉(zhuǎn)發(fā)路徑逆向返回至用戶。REF攻擊通過發(fā)送惡意請求(惡意請求是指請求不存在的內(nèi)容的請求),耗盡PRT的資源,破壞了正常請求的路由過程。因此,針對內(nèi)容網(wǎng)絡中的請求洪泛攻擊,設計行之有效的檢測防御方法是必要的。
旨在實現(xiàn)對REF的有效檢測防御,以克服現(xiàn)有防御機制的弊端。為此,檢測防御機制的設計應遵循以下要求:
(1)檢測REF需要基于數(shù)據(jù)包的聚合信息和相應的轉(zhuǎn)發(fā)狀態(tài)信息,這些信息有利于進行準確的攻擊檢測;
(2)REF的檢測和防御都應在惡意請求消耗大量資源之前盡早進行;
(3)應該避免重復的攻擊檢測和過度反應;
(4)該機制應能夠區(qū)分合法請求和惡意請求,以免影響合法的流量;
(5)檢測和防御方法應該具有低開銷。
在實踐中,要設計滿足上述要求的檢測防御方法具有一定的挑戰(zhàn)性。尤其是在分布式的大規(guī)模網(wǎng)絡環(huán)境中,大量協(xié)調(diào)交互信息和高動態(tài)的網(wǎng)絡使得這種方法不切實際。
解決方案是依靠少量的路由器來監(jiān)測網(wǎng)絡流量和請求的轉(zhuǎn)發(fā)狀態(tài)。監(jiān)測路由器可以監(jiān)測REF攻擊,中央控制器也可以通過收集監(jiān)測路由器的信息進行攻擊檢測。接下來,監(jiān)測路由器對潛在的REF攻擊進行防御。更具體地講,該解決方案部署在一個自治域內(nèi),每個自治域由一組路由器組成。如圖1所示,系統(tǒng)架構(gòu)具有三個主要組件:控制器,路由器和監(jiān)測路由器。下面,介紹這些組件并描述這些組件是如何進行攻擊檢測和防御:
(1)控制器:每個域都有一個控制器,該控制器從一組指定的監(jiān)測路由器收集有關交換數(shù)據(jù)包的監(jiān)視信息和相應的轉(zhuǎn)發(fā)狀態(tài)??刂破魇褂么诵畔頇z測整個域的攻擊,然后與監(jiān)視路由器共享攻擊信息??刂破骺梢詫崿F(xiàn)在一臺計算機上,也可以在多臺計算機上以避免單點故障;
(2)路由器:路由器實現(xiàn)路由和緩存的功能;
(3)監(jiān)測路由器:從路由器中選擇m個路由器作為監(jiān)測路由器。檢測路由器除了具有常規(guī)路由器的功能外,還需要監(jiān)測通過它們的請求,并檢查這些請求是否被相應的數(shù)據(jù)滿足。因此,監(jiān)測路由器會計算每個端口PRT條目的過期率,并確定惡意請求到達的接口和名字前綴。監(jiān)測路由器定期向控制器報告其觀察和結(jié)果,然后控制器依次向監(jiān)測路由器發(fā)送反饋,以匯總整個域內(nèi)的攻擊的信息。
圖1 系統(tǒng)架構(gòu)
為了避免對REF攻擊進行重復檢測,監(jiān)測路由器不會對已被其他監(jiān)測路由器檢查過的請求進行重復地檢查。為此,在對請求進行檢查后,該監(jiān)測路由器會將請求中新添加的字段設置為1(該字段默認為0)。
為了成功地檢測REF攻擊,監(jiān)測路由器需要覆蓋盡可能多的網(wǎng)絡流量。與此同時,在放置監(jiān)測路由器時,還應該考慮監(jiān)測路由器與用戶的距離,將監(jiān)測路由器放置在用戶的附近。監(jiān)測路由器放置在更靠近攻擊源的位置會增加在早期階段檢測REF的機會,并對REF做出及時的防御措施。
監(jiān)測路由器的放置問題可以定義為:對于一個由路由器集合組成的自治域,選擇的監(jiān)測路由器集合能夠覆蓋所有的網(wǎng)絡流量,并使監(jiān)測路由器的數(shù)量|M|、監(jiān)測路由器與用戶之間的距離最小。監(jiān)測路由器的放置問題是一個NP-hard問題[4],因此設計出一個基于啟發(fā)式的放置算法。 首先使用最短路徑算法,計算出網(wǎng)絡中所有可能的路徑,即每一個用戶到每一個內(nèi)容服務器之間的最短路徑。用R表示所有路徑的集合,用N表示路徑上非網(wǎng)關的路由器集合。接下來計算每個路徑的偏權重Wr(n),并將通過路由器的所有路徑的偏權重相加得到該路由器的權重W(n)。路徑r偏權重的計算如公式(1)所示:
(1)
其中,l(r)是路徑r的長度,hr(n)表示路由器n在路徑中的位置。
選擇最大權重的路由器作為監(jiān)測路由器,并將其添加到集合M中。重復以上的步驟,直到集合M的大小達到預定義的閾值。
大部分監(jiān)測路由器都可以覆蓋大部分的流量,但仍有一些監(jiān)測路由器無法覆蓋多數(shù)流量。而且,網(wǎng)絡中出現(xiàn)的丟包等狀況也會使部分流量無法經(jīng)過監(jiān)測路由器。因此,采用監(jiān)測路由器感知的路由策略,使請求在轉(zhuǎn)發(fā)的過程中至少經(jīng)過一個監(jiān)測路由器。
在該路由策略下,每一個請求都會先被轉(zhuǎn)發(fā)到監(jiān)測路由器,然后才被轉(zhuǎn)發(fā)至其目的地。但這種路由策略會產(chǎn)生額外的開銷。當路由器接收到從未經(jīng)過監(jiān)測路由器的請求時,會將該請求轉(zhuǎn)發(fā)到最近的檢測路由器。
2.2.1 檢測算法的流程
監(jiān)測路由器負責REF攻擊的檢測工作,檢測算法的大致流程如下:
(1)監(jiān)測路由器m持續(xù)地監(jiān)測PRT的利用率、到達的請求及其相應的PRT表項。
(2)監(jiān)測路由器m計算PRT的利用率U(m,q),其中q是時間間隔的大小。
(3)監(jiān)測路由器m計算PRT的過期率E(mf,q)如公式(2)所示:
(2)
2.2.2 自治域內(nèi)的防御機制
為了減少檢測結(jié)果的假陽性,閾值τ的值應該盡量大。但是,較大的閾值τ會使檢測的靈敏度下降。為了解決這個缺點,提出一個自治域內(nèi)的防御機制。該機制由控制器實施:
(1)在時間間隙q結(jié)束時,控制器從監(jiān)測路由器收集檢測結(jié)果。
(2)對于每一個前綴j,控制器計算其最大過期率Q(j,q)。
(3)如果Q(j,q)超過其閾值τ,則認為名字前綴為j的請求屬于REF攻擊。
(4)接下來,控制器將屬于REF攻擊的名字前綴發(fā)送給每一個監(jiān)測路由器。對于每一個惡意名字前綴,監(jiān)測路由器計算其過期率,并觸發(fā)防御機制。
REF攻擊的防御流程如算法1所示。使用PRT過期率來決定丟棄請求的概率。算法1會接受以下三種類型的請求:1)已經(jīng)被其他監(jiān)測路由器檢查過的請求;2)不包含惡意前綴的請求;以及3)曾經(jīng)獲得相應數(shù)據(jù)的請求。
表1
圖2 請求滿足率與惡意請求速率的關系
圖3 PRT使用率與惡意請求速率的關系
在實驗評估中,采用了一個真實的ISP拓撲[5],一共有79個節(jié)點和147條邊。將大約70%節(jié)點作為路由器,剩余的30%為網(wǎng)關,網(wǎng)關與內(nèi)容服務器直接相連接。使用NS3網(wǎng)絡模擬器進行仿真實驗。選擇25%的用戶為攻擊者。正常用戶每秒發(fā)送100個請求,惡意用戶每秒發(fā)送的請求數(shù)量分別為250、500、750、1000、1250以及2000。閾值和分別設置為0.3和0.5。數(shù)據(jù)包的大小為1000字節(jié)(Byte)。
采用兩個指標評估本機制的有效性:正常請求的滿足率以及PRT的使用率。第一個參數(shù)用于評估收到REF攻擊期間正常用戶的服務質(zhì)量,第二個參數(shù)評估了防御機制對PRT的有效性。請求滿足率隨著惡意請求速率增加的變化情況如圖2所示。由圖2可知,在發(fā)生REF攻擊的情況下,具有最高的請求滿足率,即該方法確保用戶能接收到大部分請求的數(shù)據(jù)。圖3是在REF攻擊下,三種方法的PRT使用率隨著惡意請求速率增加的變化情況。由圖3可知,能夠有效地減少PRT的使用率。
針對內(nèi)容網(wǎng)絡中的請求洪泛(Request Flooding,REF)攻擊,提出一個有效的檢測防御方法。REF攻擊的檢測和防御均實現(xiàn)在一小部分的路由器上,以減少路由器的壓力、降低網(wǎng)絡的開銷。實驗結(jié)果驗證了該檢測防御方法的有效性。未來的工作集中于在真實的網(wǎng)絡環(huán)境深入地驗證本方法的有效性。