竇萌萌,程小輝
(1. 河南理工大學(xué)鶴壁工程技術(shù)學(xué)院,河南 鶴壁 458030;2. 桂林理工大學(xué)信息科學(xué)與工程學(xué)院,廣西 桂林 541004)
目前,世界各國紛紛加速建立有關(guān)數(shù)據(jù)隱私保護(hù)的法律法規(guī),對數(shù)據(jù)的處理和應(yīng)用提出了多方面約束條件,使數(shù)據(jù)主體能夠更好地得到控制和保護(hù)?,F(xiàn)階段常用的防御手段主要分為兩種:被動(dòng)防御和主動(dòng)防御。主動(dòng)防御屬于積極防御,與被動(dòng)防御有所不同,在攻擊發(fā)生之前,就已經(jīng)根據(jù)某些行為預(yù)先判斷出將要發(fā)生的攻擊行為,及時(shí)進(jìn)行自動(dòng)閉環(huán)阻止。
針對主動(dòng)防御,文獻(xiàn)[1]提出了一種最小代價(jià)下網(wǎng)絡(luò)攻擊主動(dòng)防御算法。首先,利用信息熵進(jìn)行運(yùn)算,根據(jù)運(yùn)算結(jié)果確定網(wǎng)絡(luò)空間的安全狀況,并得出疑似非安全數(shù)據(jù)和攻擊模式的集合;然后,選擇限制指數(shù),在該指數(shù)的基礎(chǔ)上構(gòu)造一個(gè)具有防御策略的集合,從而得到不同的保護(hù)措施;其次,基于目標(biāo)限制,構(gòu)建主動(dòng)防御策略的代價(jià)集;最后,利用粒子群算法進(jìn)行迭代循環(huán)計(jì)算,在網(wǎng)絡(luò)空間中,以最小代價(jià)為目標(biāo),進(jìn)行主動(dòng)防御。文獻(xiàn)[2]運(yùn)用非合作信號博弈理論對網(wǎng)絡(luò)攻擊進(jìn)行了主動(dòng)防御。建立了多階段網(wǎng)絡(luò)欺詐博弈模型,并在此基礎(chǔ)上,利用欺詐信號的阻尼效應(yīng),對多階段攻防對抗進(jìn)行了動(dòng)態(tài)的分析和推理;在分析網(wǎng)絡(luò)攻擊和防御行為動(dòng)態(tài)特性的基礎(chǔ)上,給出了多階段網(wǎng)絡(luò)欺騙對策的均衡解,并選擇適當(dāng)?shù)闹鲃?dòng)防御策略,以此達(dá)到主動(dòng)防御的目的。
上述兩種方法雖然實(shí)現(xiàn)了網(wǎng)絡(luò)攻擊的主動(dòng)防御,但是防御過程較為繁雜。從技術(shù)方面來說,主動(dòng)防御可分為身份認(rèn)證和攻擊檢測。本文從這兩方面展開分析,針對開放網(wǎng)絡(luò)提出一種分布式隱私數(shù)據(jù)主動(dòng)防御方法。對用戶的身份進(jìn)行認(rèn)證,并將身份異常的用戶進(jìn)入到下一步的DDOS攻擊檢測中;針對檢測到的異常網(wǎng)絡(luò)流量,利用主動(dòng)防御策略實(shí)施積極防御。通過將本文方法與其它方法展開對比仿真,結(jié)果表明,本文方法可有效控制攻擊流量,同時(shí)保護(hù)正常用戶流量不受影響,取得較為理想的主動(dòng)防御效果。
在針對分布式隱私數(shù)據(jù)生成訪問行為圖譜基線之前,需要獲取開放網(wǎng)絡(luò)中隱私數(shù)據(jù)的源目的IP、訪問URL等字段信息,在此不包含被保護(hù)站點(diǎn)的源目的IP。在特定的時(shí)間段內(nèi),從同一站點(diǎn)中抽取同一源IP的訪問記錄,以此獲得整個(gè)源IP地址的URL序列。將所有URL序列都看作是圖的節(jié)點(diǎn),從一個(gè)URL到其它URL的路徑,將其看作是圖中的一個(gè)有向邊,綜合在一起即可得到同一個(gè)源IP訪問站點(diǎn)的訪問行為圖譜。同時(shí),通過源IP訪問不同網(wǎng)站URL的時(shí)間間隔,得到用戶訪問時(shí)間序列圖譜,以明確用戶在網(wǎng)站中每一個(gè)URL序列上的停留時(shí)間長短。
在歷史數(shù)據(jù)訪問列表中包含許多源IP訪問網(wǎng)點(diǎn)對,為了更快地獲取用戶數(shù)據(jù)訪問行為圖譜基線,這里引入Spark分布式算子將所有行為圖譜基線轉(zhuǎn)變?yōu)槎M(jìn)制對象的形式,同時(shí)存儲(chǔ)在HDFS[3](分布式文件系統(tǒng))中,以便其它URL序列進(jìn)行提取和讀寫。
給定一個(gè)URL序列集合{u1,u2,u3,…,un},其中包含N個(gè)元素,按照序列排列的先后順序提取得到N-1個(gè)子序列{u1-?u2,u2-?u3,…,un-1-?un}。通過對所提取的子序列和行為圖譜做對比,任意一方只要不包含另一方的節(jié)點(diǎn),就認(rèn)為該用戶身份異常,需要進(jìn)一步做攻擊檢測。
開放網(wǎng)絡(luò)中分布式隱私數(shù)據(jù)主動(dòng)防御模型分為兩個(gè)階段:攻擊檢測階段和主動(dòng)防御階段。通過對網(wǎng)絡(luò)流量[4]進(jìn)行分析,判斷當(dāng)前網(wǎng)絡(luò)是否被攻擊或?qū)⒁还?當(dāng)發(fā)現(xiàn)攻擊行為后,發(fā)送報(bào)警信息給管理員,同時(shí)采取主動(dòng)防御策略,保障開放網(wǎng)絡(luò)的正常服務(wù)以及隱私數(shù)據(jù)的安全性。分布式隱私數(shù)據(jù)主動(dòng)防御模型如圖1所示。
圖1 分布式隱私數(shù)據(jù)主動(dòng)防御模型
DDOS攻擊有著追蹤困難、防范困難等諸多顯著特征。當(dāng)前階段,尚未發(fā)現(xiàn)能有效抵御DDOS攻擊的軟件和方法,使得其對分布式隱私數(shù)據(jù)攻擊成功率高、主動(dòng)防御困難。因此,本文主要針對DDOS攻擊進(jìn)行檢測和防御。
當(dāng)網(wǎng)絡(luò)遭受到DDOS攻擊時(shí),流量將會(huì)產(chǎn)生非常明顯的變化,正常用戶流量被削弱,攻擊用戶流量增加速度非???直至占據(jù)整個(gè)網(wǎng)絡(luò),尤其是開放網(wǎng)絡(luò),將直接導(dǎo)致整個(gè)網(wǎng)絡(luò)無法繼續(xù)正常使用。隨著時(shí)間的變化,本文分析了正常網(wǎng)絡(luò)流量線Flow[5],具體內(nèi)容如圖2所示。
圖2 正常網(wǎng)絡(luò)流量線Flow
網(wǎng)絡(luò)運(yùn)行一段時(shí)間后,當(dāng)流量Flow2的值高于Flow1的值a(a?1)倍后,即被認(rèn)定是可疑流量;當(dāng)流量Flow3的值高于Flow2的值b(b?a)倍后,則認(rèn)定其為攻擊流量。當(dāng)網(wǎng)絡(luò)流量值在Flow1與Flow2之間時(shí),分布式隱私數(shù)據(jù)處于安全環(huán)境下,不會(huì)被攻擊;當(dāng)流量值在Flow2與Flow3之間時(shí),雖然網(wǎng)絡(luò)安全受到一定的威脅,但是數(shù)據(jù)可能不被攻擊,稱之為可疑;當(dāng)流量值大于Flow3,即可認(rèn)定該開放網(wǎng)絡(luò)中的數(shù)據(jù)一定受到了DDOS攻擊。
DDOS攻擊檢測閾值通常設(shè)定為Flow3的值,但是此時(shí)網(wǎng)絡(luò)已經(jīng)受到了攻擊,數(shù)據(jù)已經(jīng)被破壞。為了進(jìn)一步預(yù)防攻擊,提高數(shù)據(jù)安全性,本文在流量值為Flow2~Flow3時(shí)就啟動(dòng)DDOS攻擊檢測,一旦發(fā)現(xiàn)攻擊行為及時(shí)采用主動(dòng)防御模型。
Windows防御數(shù)據(jù)調(diào)用[6]是支持隱私數(shù)據(jù)主動(dòng)防御模型運(yùn)行的基本條件之一。當(dāng)開放網(wǎng)絡(luò)中入侵?jǐn)?shù)據(jù)較多時(shí),防御數(shù)據(jù)首先會(huì)進(jìn)行狀態(tài)的改變,從穩(wěn)定到活躍,然后在TCP、UDP以及其它傳輸協(xié)議的作用下,實(shí)現(xiàn)防御數(shù)據(jù)調(diào)用。防御數(shù)據(jù)調(diào)用的過程不能影響網(wǎng)絡(luò)正常節(jié)點(diǎn)的穩(wěn)定性,在此基礎(chǔ)上,防御數(shù)據(jù)調(diào)用表達(dá)式如式(1)所示:
(1)
式中,T表示調(diào)用防御數(shù)據(jù)結(jié)果,λ表示調(diào)用防御數(shù)據(jù)所執(zhí)行的參數(shù),q表示入侵?jǐn)?shù)據(jù)上限值[7],p表示入侵?jǐn)?shù)據(jù)下限值,C、D分別表示一級、二級防御數(shù)據(jù)調(diào)用系數(shù),j表示W(wǎng)indows防御數(shù)據(jù),f(j)表示j的固定定義函數(shù),m表示調(diào)用防御數(shù)據(jù)的限值。
主動(dòng)入侵列表能夠根據(jù)訪問控制的特點(diǎn)來判定開放網(wǎng)絡(luò)中的入侵?jǐn)?shù)據(jù)數(shù)量。調(diào)用Windows防御數(shù)據(jù)之后,整個(gè)開放網(wǎng)絡(luò)就會(huì)變得非常緊張,每一個(gè)可附著節(jié)點(diǎn)都包含了大量的入侵信息。為了快速確定每個(gè)入侵?jǐn)?shù)據(jù)附著的節(jié)點(diǎn)信息,將同一種類型的信息以同一數(shù)據(jù)鏈的方式儲(chǔ)存于主動(dòng)入侵列表中。通常,數(shù)據(jù)鏈用.pProcRuleList作為后綴[8],而且這種格式不會(huì)因?yàn)槿肭值臄?shù)量和攻擊強(qiáng)度而改變。
從開放網(wǎng)絡(luò)中隨機(jī)選定一個(gè)節(jié)點(diǎn)列表β,計(jì)算該節(jié)點(diǎn)列表可防御的入侵?jǐn)?shù)據(jù)量為:
(2)
式中,S表示β采用主動(dòng)防御策略后,抵御的入侵?jǐn)?shù)據(jù)總數(shù)量,μ表示β的分布參數(shù),d表示常數(shù)求和定量,c表示入侵?jǐn)?shù)據(jù)的特征根,x表示隨機(jī)給定的自然數(shù),t表示β的穩(wěn)定系數(shù),g表示入侵?jǐn)?shù)據(jù)腳本指針數(shù)量[9]。
對于開放網(wǎng)絡(luò)來說,主動(dòng)防御模型是一種高效且有效的隱私數(shù)據(jù)保護(hù)方式。當(dāng)入侵?jǐn)?shù)據(jù)對網(wǎng)絡(luò)執(zhí)行代碼的形式產(chǎn)生一定影響時(shí),安全漏洞的風(fēng)險(xiǎn)性將會(huì)直線上升,致使入侵?jǐn)?shù)據(jù)數(shù)量增長迅速。不僅如此,一些安全節(jié)點(diǎn)中的信息將會(huì)逐步被入侵?jǐn)?shù)據(jù)取代,使得開放網(wǎng)絡(luò)整體安全性和穩(wěn)定性出現(xiàn)下降趨勢。為了有效避免此種情況的發(fā)生,文中提出的主動(dòng)防御模型將B/S與C/S相結(jié)合,局部改變原有網(wǎng)絡(luò)傳輸協(xié)議。當(dāng)發(fā)現(xiàn)入侵?jǐn)?shù)據(jù)總數(shù)超過限定值后,模型自動(dòng)調(diào)用Windows防御數(shù)據(jù),并根據(jù)現(xiàn)有的安全節(jié)點(diǎn)數(shù)目來判定入侵的數(shù)據(jù),同時(shí)依據(jù)式(3)來判定目前的入侵防御等級:
(3)
式中,K表示當(dāng)開放網(wǎng)絡(luò)受到入侵攻擊時(shí),實(shí)際的防御等級,i表示開放網(wǎng)絡(luò)中安全節(jié)點(diǎn)數(shù)量相加的結(jié)果,f(i)表示開放網(wǎng)絡(luò)節(jié)點(diǎn)固定定義函數(shù),e表示數(shù)據(jù)定值算子,υ為e的固定冪系數(shù)[10-12],h表示入侵?jǐn)?shù)據(jù)的限定值。
將f(K)定義為積分變量,結(jié)合式(1)、式(2)和式(3),得到開放網(wǎng)絡(luò)中分布式隱私數(shù)據(jù)主動(dòng)防御模型的表達(dá)式為:
(4)
式中,F表示主動(dòng)防御模型判斷的入侵?jǐn)?shù)據(jù)總量,b表示與入侵?jǐn)?shù)據(jù)相關(guān)的不固定變量[13-15]。
為了驗(yàn)證本文方法在應(yīng)對攻擊時(shí)的主動(dòng)防御有效性,在仿真工具NS2中,將本文方法與引言中提到的最小代價(jià)方法和非合作信號博弈方法展開了對比仿真。
NS2拓?fù)浣Y(jié)構(gòu)如圖3所示。
圖3 NS2仿真拓?fù)浣Y(jié)構(gòu)
三種方法均在相同的環(huán)境下展開對比測試,本文實(shí)驗(yàn)設(shè)計(jì)如下:
實(shí)驗(yàn)?zāi)康?對三種主動(dòng)防御方法的DDOS攻擊防御能力進(jìn)行測試。
實(shí)驗(yàn)條件:攻擊目標(biāo)主體為S1,其余主機(jī)均為正常主機(jī),可隨意訪問S1、S2、S3。
實(shí)驗(yàn)參數(shù):S1的理想帶寬為90-120Mbps,S2、S3的理想帶寬為75-90Mbps。
首先,從DDOS攻擊主動(dòng)防御能力方面對三種方法進(jìn)行對比實(shí)驗(yàn)測試。設(shè)置兩次DDOS攻擊,時(shí)間段分別為10-15s和35-45s。DDOS攻擊后的數(shù)據(jù)序列如圖4(a)所示,采用三種主動(dòng)防御方法后的數(shù)據(jù)序列如圖4(b)、(c)、(d)所示。
圖4 三種方法主動(dòng)防御對比結(jié)果
通過觀察圖4可以很明顯地看出,三種方法中,只有本文方法有效識別到了兩次DDOS攻擊,配合所提的主動(dòng)防御策略避免分布式隱私數(shù)據(jù)被攻擊;而最小代價(jià)方法只針對后一段攻擊做出了防御措施,10-15s這一段的攻擊并未識別到,因此也不會(huì)采取任何主動(dòng)防御策略,致使數(shù)據(jù)被攻擊;而非合作信號博弈方法對第二段攻擊并未作出任何防御措施,依然有隱私數(shù)據(jù)被攻擊的可能性。
接下來對三種方法的失效情況展開仿真對比分析。失效指的是方法沒有對攻擊流量做出控制,而是控制了正常用戶流量,即將正常聚集認(rèn)定為攻擊聚集,影響正常流量負(fù)載,出現(xiàn)誤判的情況。假設(shè)S1的實(shí)際帶寬為150Mbps,流量負(fù)載為176MB左右,S2、S3的實(shí)際帶寬為100Mbps,流量負(fù)載為60MB左右;接入R4需要具備125Mbps的線速率;攻擊用戶和普通用戶二者具有相同的流量,都是4Mbps;在NS2網(wǎng)絡(luò)拓?fù)浞抡娼Y(jié)構(gòu)中選擇12個(gè)攻擊主機(jī)。得到三種方法的失效情況對比結(jié)果如圖5所示。
圖5 三種方法失效情況對比結(jié)果
從圖5中可以清晰地看出,本文方法對于S1攻擊流量實(shí)現(xiàn)了很好的控制,對于正常用戶流量S2和S3并未作出任何防御措施;而最小代價(jià)方法對S1攻擊流量沒有任何控制,反而控制了S2正常用戶流量;非合作信號博弈方法雖然控制了S1攻擊流量,但同樣控制了S3正常用戶流量。因此得出結(jié)論,本文方法未出現(xiàn)防御失效的情況,而其它兩種方法均出現(xiàn)了明顯的防御失效問題。
為了提高開放網(wǎng)絡(luò)中分布式隱私數(shù)據(jù)的安全性,本文構(gòu)建了一種主動(dòng)防御模型。從用戶身份認(rèn)證和攻擊檢測兩方面出發(fā),當(dāng)判定用戶身份異常后,隨即對其進(jìn)行DDOS攻擊檢測;當(dāng)檢測到網(wǎng)絡(luò)中出現(xiàn)異常流量后,判斷其為攻擊流量還是可疑流量,如果是攻擊流量,在發(fā)出報(bào)警提醒的同時(shí)利用主動(dòng)防御模型對其進(jìn)行防御。在仿真中,通過將本文方法與其它方法展開對比仿真,結(jié)果表明,本文方法可有效防御DDOS入侵攻擊,很好地實(shí)現(xiàn)主動(dòng)防御,嚴(yán)格控制攻擊流量負(fù)載,同時(shí)保護(hù)正常流量不受影響。