Ni=Ei/CPUNi
(5)
通過公式(5)能夠獲得網(wǎng)關(guān)負(fù)載情況,如果經(jīng)過判斷后可以下達(dá)策略指令,則將該網(wǎng)關(guān)匯總到可以執(zhí)行指令的網(wǎng)關(guān)集合中,接著對(duì)網(wǎng)關(guān)下發(fā)指令的權(quán)重進(jìn)行計(jì)算并選擇網(wǎng)關(guān)。主要根據(jù)網(wǎng)關(guān)到攻擊源的距離和網(wǎng)絡(luò)流量情況計(jì)算網(wǎng)關(guān)權(quán)重。
由于過濾規(guī)則會(huì)影響網(wǎng)關(guān)實(shí)際流量,因此,網(wǎng)關(guān)與攻擊源的距離越近,網(wǎng)關(guān)流量越小,給予的權(quán)重越高[9-10]。如果網(wǎng)關(guān)自身流量較高,再給予較多的過濾規(guī)則,則會(huì)進(jìn)一步降低網(wǎng)關(guān)性能,網(wǎng)關(guān)的權(quán)重比計(jì)算如下:
(6)
公式(6)中,計(jì)算得到的網(wǎng)關(guān)的權(quán)重比值為R,網(wǎng)關(guān)的權(quán)重系數(shù)為k,網(wǎng)關(guān)在t時(shí)刻的流量用Ft表示,網(wǎng)絡(luò)攻擊源流量經(jīng)歷多個(gè)網(wǎng)關(guān)到被攻擊的距離用D表示。網(wǎng)關(guān)的權(quán)重比要按照實(shí)際的網(wǎng)關(guān)流量判定得出,如果獲得的網(wǎng)關(guān)權(quán)重值越小,則其更適合執(zhí)行網(wǎng)絡(luò)攻擊阻斷策略指令。
2 網(wǎng)絡(luò)攻擊阻斷權(quán)值計(jì)算模型構(gòu)建
2.1 攻擊拓?fù)錁溆?jì)算方法
基于網(wǎng)絡(luò)攻擊拓?fù)錁涞墓糇钄鄼?quán)值計(jì)算方法需要用到兩種數(shù)據(jù)結(jié)構(gòu),一是String數(shù)據(jù)結(jié)構(gòu),網(wǎng)絡(luò)防御系統(tǒng)會(huì)收集String數(shù)據(jù)結(jié)構(gòu)類型的網(wǎng)絡(luò)攻擊路徑集合,以“,”在字符串中進(jìn)行間隔,將“,”作為分隔的節(jié)點(diǎn),再將每個(gè)網(wǎng)絡(luò)攻擊路徑進(jìn)行還原處理,得到真實(shí)的String數(shù)據(jù)結(jié)構(gòu)類型組,對(duì)其進(jìn)行遍歷,Hash Map>數(shù)據(jù)結(jié)構(gòu)負(fù)責(zé)存儲(chǔ)網(wǎng)絡(luò)攻擊路徑信息,其網(wǎng)絡(luò)攻擊路徑的源節(jié)點(diǎn)用Hash Map>數(shù)據(jù)結(jié)構(gòu)中的鍵代表。使用Hash Set數(shù)據(jù)結(jié)構(gòu)能夠在還原網(wǎng)絡(luò)攻擊拓?fù)鋱D的同時(shí),自動(dòng)排除全部的重復(fù)的網(wǎng)絡(luò)節(jié)點(diǎn)。二是在完成String數(shù)據(jù)結(jié)構(gòu)類型組的遍歷后,開始對(duì)Hash Map數(shù)據(jù)結(jié)構(gòu)中的所有數(shù)據(jù)進(jìn)行遍歷,存入Tree Node中,Tree Node數(shù)據(jù)結(jié)構(gòu)中的每個(gè)節(jié)點(diǎn)都包含了該節(jié)點(diǎn)在網(wǎng)絡(luò)攻擊拓?fù)錁渲信c根節(jié)點(diǎn)之間的距離。IP變量屬于String數(shù)據(jù)結(jié)構(gòu),其代表了包含的所有網(wǎng)關(guān)節(jié)點(diǎn);變量R表示網(wǎng)絡(luò)攻擊阻斷權(quán)值;Tree Node數(shù)據(jù)結(jié)構(gòu)的數(shù)組節(jié)點(diǎn)存儲(chǔ)了全部子節(jié)點(diǎn)。
對(duì)Tree Node數(shù)據(jù)結(jié)構(gòu)類型中的根節(jié)點(diǎn)進(jìn)行設(shè)置,標(biāo)記為root,同時(shí)將其距離變量設(shè)置為0,通過Hash Map遍歷計(jì)算,得到對(duì)應(yīng)的Hash Set值,新建一個(gè)Tree Node類型數(shù)據(jù)結(jié)構(gòu),把Hash Set值中存儲(chǔ)的String數(shù)據(jù)結(jié)構(gòu)類型數(shù)據(jù)存儲(chǔ)到Tree Node中,此時(shí),將距離變量“+1”,賦值給Tree Node變量,IP值賦值給String數(shù)據(jù)結(jié)構(gòu)變量,再將新建的已經(jīng)賦值給對(duì)應(yīng)子節(jié)點(diǎn)的Tree Node變量節(jié)點(diǎn)存儲(chǔ)到Stack棧,再讀取Stack棧數(shù)據(jù)并遍歷全部節(jié)點(diǎn)。重復(fù)以上直到Stack棧中沒有數(shù)據(jù)為止,該過程完成了對(duì)網(wǎng)絡(luò)攻擊拓?fù)錁涞倪€原,以及網(wǎng)關(guān)到攻擊源距離的計(jì)算。
2.2 計(jì)算安全網(wǎng)關(guān)負(fù)載
只有設(shè)置多個(gè)網(wǎng)關(guān)參數(shù)值,才能夠?qū)W(wǎng)關(guān)負(fù)載進(jìn)行計(jì)算。創(chuàng)建一個(gè)Hash Map遍歷,利用Connection變量與數(shù)據(jù)庫建立連接,選定目標(biāo)時(shí)刻t,獲取網(wǎng)關(guān)在該時(shí)刻之前時(shí)間內(nèi)全部歷史測(cè)量結(jié)果。此時(shí),Hash Map網(wǎng)絡(luò)攻擊路徑的源節(jié)點(diǎn)的鍵代表時(shí)間,遍歷值為該時(shí)間的網(wǎng)絡(luò)流量信息。設(shè)置一個(gè)全局變量,表示采集時(shí)間長度,標(biāo)記為n;設(shè)置一個(gè)double類型變量,代表歷史測(cè)量值權(quán)重,標(biāo)記為k=2/n+1,完成一次計(jì)算循環(huán),則將k計(jì)算k/2;變量Yt是從Hash Map遍歷中獲取的數(shù)據(jù),表示測(cè)量值;采取遞歸方式,根據(jù)公式(2)計(jì)算結(jié)果,每一次的結(jié)果與下一次遞歸計(jì)算結(jié)果相加。遞歸計(jì)算的參數(shù)包括Hash Map遍歷數(shù)據(jù)、遞減后的網(wǎng)關(guān)權(quán)重系數(shù)k、測(cè)量時(shí)間t、當(dāng)參數(shù)k的數(shù)值為0時(shí),代表遞歸結(jié)束,返回0,此時(shí)數(shù)據(jù)對(duì)結(jié)果影響程度最小。再根據(jù)公式(3),獲得最終的負(fù)載參數(shù)E。
根據(jù)公式(6)獲得節(jié)點(diǎn)的攻擊阻斷權(quán)值,創(chuàng)建一個(gè)double數(shù)據(jù)結(jié)構(gòu)類型的變量代表網(wǎng)關(guān)攻擊阻斷權(quán)值計(jì)算中攻擊距離以及網(wǎng)關(guān)負(fù)載的占比,記作kn,其默認(rèn)值設(shè)為0.5。通過Tree Node數(shù)據(jù)結(jié)構(gòu)中對(duì)網(wǎng)關(guān)節(jié)點(diǎn)距離的計(jì)算,得到網(wǎng)關(guān)節(jié)點(diǎn)距離變量,表示在網(wǎng)絡(luò)攻擊路徑中,網(wǎng)關(guān)與攻擊源之間的距離,將得到的值通過公式(6)計(jì)算得到攻擊阻斷權(quán)值的最終結(jié)果,將結(jié)果賦值給變量R,得到該網(wǎng)絡(luò)節(jié)點(diǎn)在此次網(wǎng)絡(luò)攻擊阻斷中的阻斷權(quán)值。
3 實(shí)驗(yàn)與結(jié)果驗(yàn)證
3.1 網(wǎng)關(guān)負(fù)載與攻擊源距離影響因子驗(yàn)證
該實(shí)驗(yàn)主要驗(yàn)證了在網(wǎng)關(guān)的網(wǎng)絡(luò)攻擊阻斷權(quán)值計(jì)算中,攻擊距離和網(wǎng)關(guān)負(fù)載占比對(duì)計(jì)算結(jié)果的影響。采用的是縱向比較模式,在設(shè)置了不同的攻擊距離和網(wǎng)關(guān)負(fù)載占比情況下,得到的網(wǎng)關(guān)攻擊阻斷權(quán)值結(jié)果,與預(yù)先設(shè)置的數(shù)值之間的實(shí)際差距,以得到最優(yōu)的攻擊距離和網(wǎng)關(guān)負(fù)載占比。實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖如圖1所示,攻擊源的網(wǎng)絡(luò)攻擊流量通過網(wǎng)關(guān)接入了一體化智能主干網(wǎng)絡(luò),在不同的互聯(lián)網(wǎng)網(wǎng)關(guān)中進(jìn)行攻擊流量的轉(zhuǎn)發(fā),最終完成了一次完整的網(wǎng)絡(luò)攻擊。由于網(wǎng)關(guān)包含了兩張網(wǎng)卡,所以顯示為兩個(gè)IP地址,IP地址是該實(shí)驗(yàn)自行設(shè)置的網(wǎng)絡(luò)地址。

圖1 實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
實(shí)驗(yàn)步驟為:構(gòu)建網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖,設(shè)置一個(gè)網(wǎng)關(guān)路由表;對(duì)攻擊主機(jī)和被攻擊主機(jī)的IP和路由表進(jìn)行設(shè)置,實(shí)現(xiàn)攻擊主機(jī)與被攻擊機(jī)的網(wǎng)絡(luò)通信;在攻擊主機(jī)上安裝網(wǎng)絡(luò)惡意攻擊軟件,將攻擊目標(biāo)IP設(shè)置為被攻擊主機(jī)的IP地址,并進(jìn)行分布式拒絕服務(wù)攻擊(DDos);更改系統(tǒng)程序,設(shè)置多個(gè)網(wǎng)關(guān)負(fù)載k值,對(duì)被攻擊主機(jī)發(fā)起多次網(wǎng)絡(luò)攻擊,獲得網(wǎng)絡(luò)攻擊阻斷權(quán)值計(jì)算結(jié)果。
在完成實(shí)驗(yàn)需要的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖之后,采用虛擬機(jī)的方式搭建了接入網(wǎng)關(guān)和互聯(lián)網(wǎng)網(wǎng)關(guān)之間的通道。表1為設(shè)置的網(wǎng)關(guān)路由表,同時(shí)包括了網(wǎng)絡(luò)拓?fù)鋱D中的各個(gè)網(wǎng)關(guān)地址、攻擊主機(jī)和被攻擊主機(jī)的IP地址。目標(biāo)地址是攻擊流量需要到達(dá)的被攻擊主機(jī)的IP地址,當(dāng)網(wǎng)關(guān)轉(zhuǎn)發(fā)攻擊流量并達(dá)到目標(biāo)地址時(shí),網(wǎng)關(guān)地址為下一個(gè)攻擊目標(biāo)的IP地址。
表2給出了不同k值的實(shí)驗(yàn)結(jié)果,攻擊阻斷策略下發(fā)網(wǎng)關(guān)的個(gè)數(shù),以及各個(gè)網(wǎng)關(guān)的流量總和的乘積用以判斷攻擊阻斷的效果。對(duì)于攻擊阻斷

表1 網(wǎng)關(guān)路由表

表2 網(wǎng)關(guān)的攻擊阻斷權(quán)值計(jì)算性能對(duì)比
效果實(shí)際情況看,如果各個(gè)網(wǎng)關(guān)的總流量越低,同時(shí)阻斷策略下發(fā)對(duì)網(wǎng)關(guān)影響越小,攻擊阻斷的效果越佳。網(wǎng)絡(luò)攻擊流量的值可以通過安裝的網(wǎng)絡(luò)攻擊軟件進(jìn)行控制,實(shí)驗(yàn)將網(wǎng)絡(luò)攻擊流量設(shè)置為1 000MB,通過創(chuàng)建定時(shí)的網(wǎng)絡(luò)流量采集腳本,對(duì)網(wǎng)關(guān)流量進(jìn)行實(shí)時(shí)采集存儲(chǔ),用于實(shí)驗(yàn)分析。通過設(shè)置專門的網(wǎng)關(guān)負(fù)載計(jì)算腳本,對(duì)網(wǎng)關(guān)負(fù)載進(jìn)行計(jì)算并實(shí)時(shí)記錄,用于計(jì)算網(wǎng)絡(luò)攻擊過程中,網(wǎng)關(guān)負(fù)載的平均值。為了提高實(shí)驗(yàn)的有效性和可靠性,保證不同環(huán)境下測(cè)試結(jié)果的準(zhǔn)確性,增加了網(wǎng)關(guān)負(fù)載測(cè)試,其值無限接近各個(gè)網(wǎng)關(guān)的最高網(wǎng)關(guān)負(fù)載情況,保證阻斷權(quán)值計(jì)算過程中因子取值的可靠性。由表2可以看出,當(dāng)網(wǎng)關(guān)負(fù)載因子在0.5~0.6之間,發(fā)生網(wǎng)絡(luò)攻擊時(shí),使用網(wǎng)關(guān)阻斷權(quán)值計(jì)算方法能夠提高阻斷效果。
實(shí)驗(yàn)結(jié)果顯示,在接近網(wǎng)絡(luò)攻擊源的攻擊阻斷方法中,攻擊距離和網(wǎng)關(guān)負(fù)載的占比,對(duì)于網(wǎng)絡(luò)攻擊阻斷權(quán)值的計(jì)算結(jié)果影響較大。通過對(duì)網(wǎng)絡(luò)負(fù)載占比變量k值的改變,采用縱向?qū)Ρ鹊姆绞剑瑢?duì)計(jì)算結(jié)果進(jìn)行比較,分析攻擊阻斷算法的實(shí)際效果。最終獲得了當(dāng)網(wǎng)絡(luò)負(fù)載占比k值在0.5~0.6之間,采用攻擊阻斷算法獲得的阻斷效果最好。
3.2 歷史加權(quán)因子影響驗(yàn)證
實(shí)驗(yàn)主要驗(yàn)證歷史加權(quán)因子變化在網(wǎng)關(guān)負(fù)載計(jì)算中的影響。為此,采用了兩種網(wǎng)關(guān)負(fù)載計(jì)算方式,用于計(jì)算網(wǎng)絡(luò)攻擊阻斷權(quán)值。采用加權(quán)因子在攻擊阻斷權(quán)值中的計(jì)算方法,與歷史加權(quán)因子在攻擊阻斷權(quán)值中的計(jì)算方法進(jìn)行橫向?qū)Ρ龋瑢?duì)攻擊阻斷算法計(jì)算結(jié)果的有效性和實(shí)際阻斷效果進(jìn)行驗(yàn)證,以判斷采用歷史加權(quán)因子對(duì)攻擊阻斷權(quán)值計(jì)算影響是否具有有效性。
實(shí)驗(yàn)步驟為:配置好攻擊主機(jī)和被攻擊主機(jī)的路由表,部署網(wǎng)關(guān);開啟安裝在網(wǎng)關(guān)的網(wǎng)關(guān)流量采集腳本,每間隔0.1秒記錄并存儲(chǔ)網(wǎng)關(guān)流量信息;配置每秒執(zhí)行一次任務(wù)的定時(shí)腳本,通過開啟兩種網(wǎng)關(guān)負(fù)載計(jì)算方式,將計(jì)算結(jié)果記錄并存儲(chǔ)到系統(tǒng)中;對(duì)攻擊主機(jī)的網(wǎng)絡(luò)攻擊流量進(jìn)行調(diào)試,增加或減少攻擊主機(jī)數(shù)量,形成網(wǎng)絡(luò)流量較大的攻擊模式;分析數(shù)據(jù)得到實(shí)驗(yàn)結(jié)果。通過對(duì)網(wǎng)關(guān)流量的實(shí)時(shí)采集,得到網(wǎng)關(guān)流量波動(dòng)圖如圖2所示。

圖2 網(wǎng)關(guān)流量波動(dòng)圖

表3 固定因子與呈指數(shù)遞減因子計(jì)算方式對(duì)比
如表3所示,給出了針對(duì)網(wǎng)關(guān)流量波動(dòng)圖進(jìn)行負(fù)載計(jì)算的最終結(jié)果。采用網(wǎng)關(guān)負(fù)載因子中間值及網(wǎng)關(guān)負(fù)載因子呈指數(shù)遞減的兩種方式,分別計(jì)算得到網(wǎng)關(guān)負(fù)載。根據(jù)結(jié)果可以看出,當(dāng)網(wǎng)絡(luò)流量處于比較穩(wěn)定的狀態(tài)時(shí),兩種因子的網(wǎng)關(guān)負(fù)載計(jì)算結(jié)果相近,且比較準(zhǔn)確。但是,當(dāng)網(wǎng)絡(luò)流量在某一時(shí)間段內(nèi)出現(xiàn)了較大波動(dòng)時(shí),采用固定因子得到的計(jì)算結(jié)果偏離較大;相反,歷史數(shù)據(jù)加權(quán)計(jì)算得到的網(wǎng)關(guān)負(fù)載結(jié)果更貼近真實(shí)情況。
由該實(shí)驗(yàn)可以得出,在網(wǎng)絡(luò)流量比較穩(wěn)定時(shí),固定歷史因子進(jìn)行網(wǎng)絡(luò)負(fù)載計(jì)算得到的結(jié)果具有良好的可靠性。當(dāng)網(wǎng)絡(luò)流量出現(xiàn)較大波動(dòng),且網(wǎng)絡(luò)連接狀況不夠穩(wěn)定時(shí),采用固定歷史因子的方式不能夠準(zhǔn)確計(jì)算網(wǎng)絡(luò)負(fù)載,加權(quán)歷史因子方法計(jì)算的網(wǎng)絡(luò)負(fù)載結(jié)果可以預(yù)測(cè)網(wǎng)絡(luò)波動(dòng)的情況,能夠?qū)W(wǎng)關(guān)負(fù)載情況做出準(zhǔn)確判斷。因此,加權(quán)歷史因子網(wǎng)關(guān)負(fù)載計(jì)算方式更適用于攻擊阻斷算法。
4 結(jié)論
提出了基于指數(shù)加權(quán)移動(dòng)平均值(EWMA)的攻擊阻斷權(quán)值計(jì)算模型,給出了攻擊阻斷權(quán)值的計(jì)算方法,針對(duì)網(wǎng)絡(luò)攻擊拓?fù)浣Y(jié)構(gòu)分析了影響攻擊阻斷權(quán)值計(jì)算結(jié)果的因素,分別是網(wǎng)關(guān)與攻擊源距離、網(wǎng)關(guān)負(fù)載兩個(gè)因素。通過基于指數(shù)加權(quán)移動(dòng)平均值(EWMA)的攻擊阻斷權(quán)值計(jì)算模型實(shí)現(xiàn)了對(duì)阻斷權(quán)值的計(jì)算。最后,通過實(shí)驗(yàn)對(duì)該模型的有效性和可行性進(jìn)行驗(yàn)證,采用網(wǎng)關(guān)負(fù)載因子中間值和網(wǎng)關(guān)負(fù)載因子呈指數(shù)遞減的方式進(jìn)一步討論了不同權(quán)重因子對(duì)計(jì)算結(jié)果的影響。實(shí)驗(yàn)表明,該模型計(jì)算方法可以充分滿足網(wǎng)關(guān)阻斷權(quán)值計(jì)算的現(xiàn)實(shí)需求。