吳天昊,郭偉博,吳少強(qiáng),張乃浩
(1.戰(zhàn)略支援部隊(duì)信息工程大學(xué),河南 鄭州 450001;2.中國人民解放軍32553部隊(duì),海南 ???570100)
分布式拒絕服務(wù)攻擊(distributed denial of ser-vice,DDoS)是一種通過消耗彼方網(wǎng)絡(luò)資源造成其網(wǎng)絡(luò)或服務(wù)器無法提供正常服務(wù)的攻擊手段,是黑客以不正當(dāng)競爭為動(dòng)機(jī)惡意攻擊網(wǎng)絡(luò)用戶的常用伎倆。網(wǎng)絡(luò)空間對抗作為近年來萌生的新型作戰(zhàn)樣式,各類網(wǎng)絡(luò)攻擊手段還處于初步探索階段,可大膽利用DDoS攻擊具有可控性、瞬時(shí)性的特點(diǎn)達(dá)到短時(shí)間內(nèi)癱瘓敵方重要網(wǎng)絡(luò)目標(biāo)的效果。與物理域的指揮決策不同,網(wǎng)絡(luò)空間下DDoS攻擊可同時(shí)對多個(gè)網(wǎng)絡(luò)目標(biāo)進(jìn)行打擊,涉及打擊目標(biāo)排序與優(yōu)選的問題較少。同時(shí),DDoS攻擊一旦被嗅探,彼方會(huì)采取防護(hù)措施對其重要網(wǎng)絡(luò)目標(biāo)進(jìn)行保護(hù),且相同來源的數(shù)據(jù)會(huì)被同類網(wǎng)絡(luò)目標(biāo)同步拒絕。因此,對攻擊目標(biāo)的精確選擇就顯得尤為重要。本文針對DDoS攻擊特點(diǎn),提出一種改進(jìn)的螢火蟲算法研究攻擊目標(biāo)的精確選擇問題,并通過仿真實(shí)例,驗(yàn)證方法的有效性。
在信息安全領(lǐng)域,分布式拒絕服務(wù)攻擊(DDoS)定義為導(dǎo)致合法用戶不能正常訪問網(wǎng)絡(luò)服務(wù)的行為[1]。其基本原理是利用多臺(tái)傀儡機(jī)通過發(fā)送大量合法服務(wù)請求占用網(wǎng)絡(luò)目標(biāo),使彼方網(wǎng)絡(luò)中充斥龐大繁雜的無用數(shù)據(jù)包,造成其網(wǎng)絡(luò)擁堵甚至能夠癱瘓目標(biāo)網(wǎng)絡(luò)及服務(wù)器。被攻擊控制的網(wǎng)絡(luò)傀儡主機(jī)群被稱為僵尸網(wǎng)絡(luò)。
DDoS攻擊的分類在文獻(xiàn)[2]中有詳細(xì)闡述,其中廣泛使用并易于控制的為SYN Flood攻擊,如圖1所示,該攻擊方式利用TCP協(xié)議3次握手的模式,向目標(biāo)端發(fā)送第1條偽造的SYN報(bào)文后,停止發(fā)送后續(xù)響應(yīng),導(dǎo)致目標(biāo)端服務(wù)器因等待后續(xù)響應(yīng)而長時(shí)間保持TCP連接,造成資源耗盡并拒絕其他正常服務(wù)[3]。
DDoS攻擊成為戰(zhàn)爭工具并非首例。2007年,俄羅斯在與格魯吉亞的五日戰(zhàn)爭中,對格魯吉亞、阿塞拜疆國家及部分政府網(wǎng)站采用了拒絕服務(wù)攻擊。2009年,俄羅斯某集團(tuán)對伊朗大選中艾哈迪內(nèi)賈德支持者網(wǎng)站使用DDoS攻擊。我國網(wǎng)絡(luò)空間對抗研究起步較晚,對各類技術(shù)手段的融合依然處于摸索階段[4]。本文借鑒外軍并利用信息安全領(lǐng)域DDoS攻擊模式,設(shè)定實(shí)現(xiàn)對敵方數(shù)據(jù)中心、指令中心、通信設(shè)備和收發(fā)文系統(tǒng)的網(wǎng)絡(luò)攻擊,擬制攻擊模式如圖2所示。
網(wǎng)絡(luò)目標(biāo)的精確選擇是DDoS攻擊的前提條件,是實(shí)現(xiàn)首長決心達(dá)到預(yù)期目的核心內(nèi)容,更是指揮決策的關(guān)鍵。
實(shí)現(xiàn)網(wǎng)絡(luò)空間下DDoS攻擊目標(biāo)的精確選擇,本文提出需要解決的3個(gè)問題:
(1) 網(wǎng)絡(luò)空間維度廣,實(shí)現(xiàn)精確選擇需要更繁多的迭代次數(shù),計(jì)算量大且耗費(fèi)時(shí)間,遲滯指揮者作出決策時(shí)間。
(2) 各網(wǎng)絡(luò)目標(biāo)以局域網(wǎng)的形式各成一體,搜索目標(biāo)時(shí)容易形成子群內(nèi)的“早熟”現(xiàn)象,一旦尋優(yōu)過程中發(fā)現(xiàn)局域最優(yōu)解,算法將停止迭代而造成全局最優(yōu)解的遺漏。
(3) 網(wǎng)絡(luò)空間戰(zhàn)場環(huán)境下真?zhèn)文繕?biāo)難以辨識(shí),敵方若設(shè)置虛假目標(biāo)并偽造光端、路由傳輸大量數(shù)據(jù),極易迷惑指揮決策者,以致打擊失效甚至暴露源IP。
本文圍繞以上3點(diǎn)影響精確選擇的問題進(jìn)行算法的選擇與改進(jìn),并通過實(shí)例仿真驗(yàn)證該算法有效性。
圖1 SYN Flood攻擊原理Fig.1 Principle of SYN Flood attack
螢火蟲算法是劍橋大學(xué)學(xué)者Xin-She Yang于2009年提出的新型仿生算法[5-6],是一種通過模擬螢火蟲夜晚群聚的自然現(xiàn)象形成的啟發(fā)式尋優(yōu)算法。自然界中,發(fā)光強(qiáng)度弱的螢火蟲往往向發(fā)光強(qiáng)的螢火蟲靠攏。在算法中,每只螢火蟲被視為空間中的一個(gè)解,將求解最優(yōu)值視為尋找最亮螢火蟲的問題,搜索過程是亮度強(qiáng)的螢火蟲的位置取代周圍螢火蟲的位置。初始狀態(tài)下,各螢火蟲隨機(jī)分布在搜索域內(nèi),隨后根據(jù)螢火蟲的移動(dòng)趨勢進(jìn)行數(shù)次迭代并尋找多個(gè)極值點(diǎn),達(dá)到種群尋優(yōu)目的[5-6]。
網(wǎng)絡(luò)空間下DDoS攻擊目標(biāo)的精確選擇是一個(gè)決策過程,是一種通過流量檢測或頻譜探測等來定位目標(biāo)的過程。在局域網(wǎng)中,各類服務(wù)器、路由、防火墻、智能通訊設(shè)備等的交互過程與螢火蟲相互吸引的現(xiàn)象十分相似,那么可通過物理頻譜探測、計(jì)算機(jī)硬件等學(xué)科給出的相關(guān)目標(biāo)函數(shù)結(jié)合實(shí)際問題建立數(shù)學(xué)模型,并利用螢火蟲算法尋找最優(yōu)解,來解決網(wǎng)絡(luò)空間對抗中目標(biāo)最優(yōu)選擇問題。
定義函數(shù)及參數(shù):
(1) 發(fā)光亮度S(r)
S(r) =s0e-βr2,
(1)
式中:s0為最亮螢火蟲亮度;β為吸收系數(shù)且為定值;r為螢火蟲間距。
(2) 相互吸引度γ(r)
γ(r) =γ0e-βr2,
(2)
式中:γ0為最亮螢火蟲吸引度。
(3) 最優(yōu)目標(biāo)迭代
(3)
式中:Xt為第t次迭代螢火蟲的狀態(tài);ξ為隨機(jī)參數(shù);εt為第t次迭代正態(tài)分布上的參數(shù)。
(4) 距離:若兩只螢火蟲個(gè)體分別位于向量xi和xj,其間距離用歐式距離表示為
(4)
式中:D為求解域的空間維度;xik,xjk為第i,j個(gè)螢火蟲在第k維的坐標(biāo)。
標(biāo)準(zhǔn)螢火蟲算法具有全局及局部搜索快速收斂的特點(diǎn),利用算法快速發(fā)現(xiàn)最優(yōu)解的優(yōu)勢能夠較好解決1.3中提出的問題(1),在后續(xù)實(shí)例驗(yàn)證中有具體體現(xiàn)。但標(biāo)準(zhǔn)螢火蟲算法本身存在不足,在迭代過程中可能陷入局部最優(yōu)而遺漏全局最優(yōu)解,即“早熟”現(xiàn)象[7]。在網(wǎng)絡(luò)空間各局域網(wǎng)距離較遠(yuǎn)時(shí),有可能偏離該算法的搜索范圍,如圖3所示。
圖2 網(wǎng)絡(luò)空間對抗中的DDoS攻擊模式Fig.2 Attack pattern in cyberspace warfare
圖3 局部最優(yōu)的"早熟"現(xiàn)象Fig.3 Locally optimal solution
為提高目標(biāo)選擇的精確性,對標(biāo)準(zhǔn)算法中步長參數(shù)加以改進(jìn)。優(yōu)化設(shè)計(jì)中,分別為每只螢火蟲設(shè)置步長,以提高單獨(dú)個(gè)體的搜索能力。在改進(jìn)算法中,需要考慮2點(diǎn):一是每只螢火蟲前2次迭代目標(biāo)函數(shù)值;二是當(dāng)前迭代最優(yōu)螢火蟲的目標(biāo)函數(shù)值[8]。
步長的改進(jìn)設(shè)置為
(5)
式中:i為單只螢火蟲個(gè)體編號;t為當(dāng)前迭代次數(shù);ai(t+1)為第t+1次迭代時(shí)i編號的螢火蟲的步長;fbest為該迭代中全局最優(yōu)解;fi(t)為該迭代中目標(biāo)函數(shù)值[9-10]。公式(5)中的hi(t)是考慮前2次迭代時(shí)的目標(biāo)函數(shù)值,可表示為
(6)
式中:fi(t-1),fi(t-2)為前2次迭代的函數(shù)值。
網(wǎng)絡(luò)空間下的DDoS攻擊,是以精確打擊核心目標(biāo)以癱瘓彼方整個(gè)網(wǎng)絡(luò)的攻擊模式,這類似于特種作戰(zhàn)中的“斬首行動(dòng)”。在選擇進(jìn)攻目標(biāo)時(shí)利用改進(jìn)螢火蟲算法來精確定位核心目標(biāo)是一種精確、快速的應(yīng)用方法。
目標(biāo)函數(shù)的確定是實(shí)現(xiàn)螢火蟲算法在網(wǎng)絡(luò)空間下DDoS攻擊模型應(yīng)用的關(guān)鍵。對目標(biāo)函數(shù)的選擇沒有固定的模式,要依據(jù)不同攻擊模式和探測手段合理確定目標(biāo)函數(shù),比如,通過對網(wǎng)絡(luò)數(shù)據(jù)流量、輻射、頻譜、標(biāo)記數(shù)據(jù)包等不同的偵察檢測方式,可以參考相關(guān)學(xué)科給出不同的目標(biāo)函數(shù),當(dāng)然,目標(biāo)函數(shù)的確定更依賴于網(wǎng)絡(luò)目標(biāo)探測技術(shù)的發(fā)展與改進(jìn)。
利用改進(jìn)的螢火蟲算法對網(wǎng)絡(luò)空間下DDoS攻擊目標(biāo)選擇的基本流程為:
Step 1:確定目標(biāo)函數(shù);
Step 2:初始化螢火蟲集群、個(gè)數(shù)、初始亮度(初始頻譜值或流量值)、吸收系數(shù)γ、迭代次數(shù)及維度等算法相關(guān)參數(shù)ξ等;
Step 3:通過探測值計(jì)算每只螢火蟲的亮度{S1,S2,…,Sn} ,即當(dāng)前位置的目標(biāo)函數(shù)值;
Step 4:由2.3中公式(5),(6)更新每只螢火蟲步長值;
Step 5:更新每只螢火蟲位置,使亮度弱的個(gè)體向亮度強(qiáng)的個(gè)體靠近;
Step 6:更新解集并保存當(dāng)前迭代中的最優(yōu)解;
Step 7:若達(dá)到求解精度或設(shè)定的最大迭代次數(shù),則算法執(zhí)行結(jié)束并給出最優(yōu)解,否則繼續(xù)執(zhí)行Step 3。
算法基本流程圖如圖4所示。
圖4 算法基本流程圖Fig.4 Algorithm flow chart
在傳統(tǒng)作戰(zhàn)中,敵方以虛假工事偽造指揮所是掩護(hù)真正目標(biāo)的慣用伎倆。在網(wǎng)絡(luò)空間對抗中,如何識(shí)別真?zhèn)尉W(wǎng)絡(luò)目標(biāo),同樣影響精確決策的質(zhì)量效果。從指揮者決策層面考慮,指揮者可選擇同時(shí)對真?zhèn)文繕?biāo)進(jìn)行攻擊,以確保實(shí)現(xiàn)預(yù)期目標(biāo)。從輔助決策技術(shù)層面考慮,可以通過聚類相似性計(jì)算方法來判斷真?zhèn)文繕?biāo),本文給出2種輔助決策方式:
明可夫斯基(Minkowski)距離:
(7)
夾角余弦相似系數(shù):
(8)
式中:xik,xjk表示第i,j個(gè)螢火蟲在第k維的坐標(biāo);p為迭代的維度;q=1,q=2和q→∞分別表示Manhattan距離、Euclid距離和Chebyshev距離[12]。
當(dāng)明可夫斯基距離或相似系數(shù)越小時(shí),說明該目標(biāo)是虛假目標(biāo)的可能性越大,可為指揮者精確決策提供依據(jù)。
設(shè)定在某一空間內(nèi)有50臺(tái)收發(fā)文計(jì)算機(jī),其中包括指令中心(指令發(fā)出源)和收發(fā)文終端(信息接收、處理和回函終端),且每臺(tái)計(jì)算機(jī)初始頻譜為a,a≥0。每收發(fā)文時(shí)將增加步長,步長頻率與頻譜的關(guān)系依據(jù)文獻(xiàn)[13]給出的目標(biāo)函數(shù):
f= e-(x-4)2-(y-4)2+e-(x+4)2-(y-4)2+
2e-x2-(y+4)2+2e-x2-y2.
(9)
設(shè)定50個(gè)螢火蟲點(diǎn)為3維,迭代50次,用Matlab 2010進(jìn)行求解,得出聚類圖5~8所示。
圖5 初始隨機(jī)分布圖Fig.5 Initial distribution map
圖6 第10次迭代螢火蟲分布圖Fig.6 Iteration 10 firefly distribution map
在迭代50次后可顯示螢火蟲密度圖如圖9所示。
從圖9可得,4個(gè)峰值以密度從高至低排列分別為
(X,Y,Z)=(-0.1,0,1.98),(0.1,-4,1.98),(3.9,4,0.99),(-4,4.1,0.99),
(10)
式中:X,Y為各螢火蟲群中最亮個(gè)體坐標(biāo);Z為該最亮螢火蟲的亮度,即頻譜。
圖7 第15次迭代螢火蟲分布圖Fig.7 Iteration 15 firefly distribution map
圖8 第50次迭代螢火蟲分布圖Fig.8 Iteration 50 firefly distribution map
圖9 第50次迭代螢火蟲密度圖Fig.9 Iteration 50 firefly density map
由實(shí)驗(yàn)結(jié)果可以看出,僅用了15次迭代,基本可發(fā)現(xiàn)螢火蟲密集程度(僅有3只螢火蟲游離)?;貧w到實(shí)際問題中,可得知4.1中4個(gè)峰值為收發(fā)文最密集的位置,在不考慮偽目標(biāo)的情況下,較好地解決了1.3中提出的影響精確定位的問題(1)和(2)。通過相似度計(jì)算并通過圖中可以看出,(3.9,4),(-4,4.1)2處峰值極為相似,可考慮偽造報(bào)文收發(fā)目標(biāo)的存在,為指揮者精確選擇攻擊目標(biāo)提供依據(jù)[14-15]。
為了更直觀地體現(xiàn)該改進(jìn)算法的優(yōu)勢,本文選取上述目標(biāo)函數(shù)和文獻(xiàn)[6]給出的另一標(biāo)準(zhǔn)測試函數(shù)(表1)在相同的網(wǎng)絡(luò)環(huán)境下進(jìn)行仿真。
表1 標(biāo)準(zhǔn)測試函數(shù)Table 1 Benchmark functions
在運(yùn)行時(shí),為避免算法因隨機(jī)性帶來誤差,本文對FA(firefly algorithm,標(biāo)準(zhǔn)螢火蟲算法)和SAS-FA(self-adjusting step FA,改進(jìn)自步長的螢火蟲算法)各自獨(dú)立運(yùn)行50次,分別求出各自的最優(yōu)值、最差值、平均值見表2所示。
其優(yōu)化對比圖如圖10,11所示。
從表2、圖10和圖11中可以得出,本文所提出的自適應(yīng)步長螢火蟲優(yōu)化算法從最優(yōu)值、最差值、平均值等方面,與原始的標(biāo)準(zhǔn)算法相比有著較顯著的表現(xiàn)。在圖10中可看出,改進(jìn)算法在相對較少次數(shù)的迭代中求出了最優(yōu)值,且從數(shù)據(jù)對比中改進(jìn)算法要優(yōu)于標(biāo)準(zhǔn)算法,再次驗(yàn)證該方法能夠?qū)崿F(xiàn)網(wǎng)絡(luò)目標(biāo)的快速定位和精確選擇。在圖11中可看出,標(biāo)準(zhǔn)算法僅求得了局部最優(yōu)值,陷入了“早熟”現(xiàn)象,而改進(jìn)算法求得最優(yōu)解明顯優(yōu)于標(biāo)準(zhǔn)算法,這說明所提出算法的穩(wěn)定性及魯捧性要高于標(biāo)準(zhǔn)螢火蟲算法。
表2 算法運(yùn)行結(jié)果對比Table 2 Comparisons of original
圖10 對f1函數(shù)的優(yōu)化比較圖Fig.10 Comparison of curve graph for f1
圖11 對f2函數(shù)的優(yōu)化比較圖Fig.11 Comparison of curve graph for f2
本文對網(wǎng)絡(luò)空間下DDoS攻擊模式進(jìn)行了研究探索,分析標(biāo)準(zhǔn)螢火蟲算法在該模式下應(yīng)用的優(yōu)勢與不足,并針對3點(diǎn)影響網(wǎng)絡(luò)目標(biāo)精確選擇的問題,提出自適應(yīng)步長的螢火蟲算法改進(jìn)方法,并提出利用相似系數(shù)判斷網(wǎng)絡(luò)目標(biāo)的真?zhèn)?。通過對模型的實(shí)驗(yàn)仿真,證明該算法的應(yīng)用能夠?qū)崿F(xiàn)網(wǎng)絡(luò)目標(biāo)的快速定位和精確選擇,對指揮者精確選擇攻擊目標(biāo)具有參考意義。未來相關(guān)研究要針對彼方的防護(hù)措施提出反跟蹤檢測的進(jìn)攻方法。