馬曉
(長(zhǎng)安大學(xué) 信息與網(wǎng)絡(luò)管理處,陜西 西安 710064)
當(dāng)前網(wǎng)絡(luò)框架存在較大漏洞,網(wǎng)絡(luò)安全防御中被動(dòng)式的安全防御理念也逐漸不能適應(yīng)大規(guī)模網(wǎng)絡(luò)。構(gòu)建包含防火墻、訪問(wèn)控制等多層次攻擊防御方式,無(wú)法更好地增強(qiáng)網(wǎng)絡(luò)應(yīng)用過(guò)程的安全性[1-2]。一些大型網(wǎng)絡(luò)安全事件層出不窮,如何利用動(dòng)態(tài)化和主動(dòng)化的技術(shù)手段,改善網(wǎng)絡(luò)操作環(huán)境,加速打破傳統(tǒng)網(wǎng)絡(luò)攻擊防御方式所處的思維困境,將傳統(tǒng)亡羊補(bǔ)牢形式的被動(dòng)防御轉(zhuǎn)換成較難偵測(cè)的主動(dòng)防御,成為了亟待解決的問(wèn)題。
網(wǎng)絡(luò)空間攻擊主動(dòng)防御的思路,可以憑借主動(dòng)形式防御網(wǎng)絡(luò)攻擊,但網(wǎng)絡(luò)元素處于頻繁變化的狀態(tài),主動(dòng)防御代價(jià)較為昂貴。網(wǎng)絡(luò)空間攻擊主動(dòng)防御的難點(diǎn)在于需要提前預(yù)支整個(gè)網(wǎng)絡(luò)空間安全態(tài)勢(shì),依據(jù)網(wǎng)絡(luò)空間安全態(tài)勢(shì)分析,結(jié)合攻擊圖實(shí)現(xiàn)網(wǎng)絡(luò)空間攻擊主動(dòng)防御手段的選取。但是,這種行為需要較大的預(yù)判計(jì)算成本。相關(guān)學(xué)者也進(jìn)行了深入研究。
文獻(xiàn)[3]在傳統(tǒng)網(wǎng)絡(luò)框架下,設(shè)計(jì)了基于拜占庭容錯(cuò)的軟件定義網(wǎng)絡(luò)控制面的抗攻擊性研究方法。但是,該算法容錯(cuò)計(jì)算成本太高,存在較大缺陷。張恒巍等[4]從網(wǎng)絡(luò)攻擊防御的實(shí)際情況出發(fā),針對(duì)多階段動(dòng)態(tài)防御過(guò)程信息約束不完全的特點(diǎn),設(shè)計(jì)并構(gòu)建了多階段防御信號(hào)博弈模型。對(duì)于多階段攻擊防御中存在的信號(hào)衰減問(wèn)題,結(jié)合信號(hào)衰減因子對(duì)衰減程度進(jìn)行量化。給出多階段攻擊防御博弈均衡求解方程,提供了最佳主動(dòng)防御策略選擇算法。但是,博弈模型博弈過(guò)程代價(jià)較大。張連成等[5]依據(jù)SDN網(wǎng)絡(luò)攻擊主動(dòng)防御技術(shù),在處理網(wǎng)絡(luò)空間攻擊情況過(guò)程中,對(duì)路徑的跳變問(wèn)題進(jìn)行建模,使其轉(zhuǎn)換成約束求解問(wèn)題,通過(guò)求解器得到滿足約束條件的多條路徑,根據(jù)指定的跳變時(shí)隙,向所有跳變路徑上的OpenFlow交換機(jī)發(fā)布相應(yīng)端址跳變流表項(xiàng),修正其端口和地址信息,以此實(shí)現(xiàn)網(wǎng)絡(luò)攻擊主動(dòng)防御。雖然約束過(guò)程可以讓攻擊防御成本降低,但是,約束轉(zhuǎn)換過(guò)程存在較大代價(jià)計(jì)算。針對(duì)當(dāng)前網(wǎng)絡(luò)攻擊主動(dòng)防御研究成果存在的攻擊防御成功率低、能耗高等問(wèn)題,提出一種代價(jià)最小的網(wǎng)絡(luò)空間攻擊主動(dòng)防御算法。
以提升主動(dòng)防御針對(duì)性和成功率為目的,通過(guò)掃描流量熵的方式,掃描網(wǎng)絡(luò)空間,實(shí)現(xiàn)網(wǎng)絡(luò)空間安全態(tài)勢(shì)感知。網(wǎng)絡(luò)空間掃描是各種攻擊形式的先導(dǎo)技術(shù)與初始環(huán)節(jié),通過(guò)分析不同掃描方式的行為感知特征,能夠高效感知網(wǎng)絡(luò)空間安全態(tài)勢(shì),得出攻擊行為的大體導(dǎo)向。針對(duì)網(wǎng)絡(luò)空間的流量樣本,流量包的某些屬性概率分布能夠反映出流量的特點(diǎn),信息熵度量任意變量期望[6],定量則表示變量的不確定程度,是一種特征量化方式。在真實(shí)網(wǎng)絡(luò)空間攻擊中,惡意敵手掃描一般是對(duì)某個(gè)IP地址塊中的全部地址進(jìn)行逐一掃描,且會(huì)在較短的時(shí)間內(nèi)向網(wǎng)絡(luò)空間傳輸大規(guī)模IP流量包[7]。基于上述特點(diǎn),當(dāng)網(wǎng)絡(luò)空間攻擊主動(dòng)防御中的蜜罐網(wǎng)絡(luò)接收到流量包時(shí),會(huì)將其傳輸至主動(dòng)防御中心。假設(shè)流量包的目的IP不在窗口期,那么將該IP地址稱作非活躍IP,并將該數(shù)據(jù)包歸納為可疑流量包。
網(wǎng)絡(luò)攻擊防御中心的掃描攻擊方案分析模塊,根據(jù)掃描流量熵的網(wǎng)絡(luò)空間安全態(tài)勢(shì)感知方式,實(shí)現(xiàn)對(duì)惡意攻擊的實(shí)時(shí)掃描,完成對(duì)網(wǎng)絡(luò)空間安全態(tài)勢(shì)實(shí)時(shí)感知。具體實(shí)現(xiàn)方法如下。
(1)
相對(duì)熵等價(jià)于2個(gè)概率分布的信息熵,能夠表征2個(gè)概率分布存在的相似性[8-10]。針對(duì)2個(gè)離散概率的分布P={p1,p2,…,pn}與Q={q1,q2,…,qn},式中:
(2)
綜上,P、Q相對(duì)熵計(jì)算公式為:
(3)
式中:D代表P、Q概率分布差距值;當(dāng)D為0,表示P、Q屬于同一分布。因D(P‖Q)≠D(Q‖P),為了可以更加精準(zhǔn)、穩(wěn)定地刻畫(huà)P、Q分布,擴(kuò)展相對(duì)熵成為掃描流量熵:
(4)
(5)
通過(guò)上述網(wǎng)絡(luò)空間安全態(tài)勢(shì)感知,能夠較好地幫助工作人員檢驗(yàn)網(wǎng)絡(luò)運(yùn)行狀況與環(huán)境,檢測(cè)出僵尸網(wǎng)絡(luò)、惡意網(wǎng)站等各類攻擊者及其攻擊活動(dòng),結(jié)合知識(shí)庫(kù)以及網(wǎng)絡(luò)情報(bào)庫(kù),快速準(zhǔn)確發(fā)現(xiàn)本地網(wǎng)絡(luò)中的威脅和異常,按照時(shí)間維度形成攻擊證據(jù)鏈,實(shí)現(xiàn)安全智能防御功能。
假設(shè)是盲掃描方式,那么理想情況下,在完成信息熵計(jì)算的基礎(chǔ)上,各劃分地址空間在指定時(shí)間周期中平均被掃描次數(shù)為Nfail/ns。但因在劃分的時(shí)間周期范圍內(nèi),能夠完成一次隨機(jī)掃描的可能性較小,在一個(gè)時(shí)間周期范圍內(nèi)申請(qǐng)失敗報(bào)文中,直接計(jì)算獲得的IP地址概率分布和Nfail/ns次掃描流量熵較為簡(jiǎn)易。由此,通過(guò)式(6)準(zhǔn)則對(duì)此種情況進(jìn)行調(diào)整。
以此為依據(jù),采用式(7)對(duì)第t個(gè)時(shí)間周期范圍內(nèi)申請(qǐng)失敗報(bào)文中IP地址概率分布和修正之后的平均概率分布掃描流量熵進(jìn)行計(jì)算,與設(shè)定閾值進(jìn)行比較,判斷攻擊者是否列入安全態(tài)勢(shì)圖例。假設(shè)閾值在δ范圍,那么攻擊者被列入圖中;反之,不列入,以所有列入攻擊方式作為集合,形成高度疑似攻擊方式集合。
(6)
(7)
其中,被例如集合里的熵計(jì)算結(jié)果,被標(biāo)記成順序表,在盲掃描方式攻擊位置不定的情況下,可以結(jié)合標(biāo)記結(jié)果,對(duì)盲掃描方式下的安全態(tài)勢(shì)進(jìn)行分析。
網(wǎng)絡(luò)的防御方式是一個(gè)宏觀概念,在選取合理的防御方式時(shí),必須結(jié)合實(shí)際問(wèn)題,設(shè)計(jì)合理的指標(biāo)[11-12]。選取網(wǎng)絡(luò)防御方式的主要指標(biāo)有:
1)可靠度的忽然大幅度變化,可靠度R(t),表示網(wǎng)絡(luò)忽然不能正常運(yùn)行的概率,計(jì)算方法為:
(8)
2)網(wǎng)絡(luò)的失效概率大幅度變化,網(wǎng)絡(luò)失效分布函數(shù)F(t),在固定時(shí)間[0,t]內(nèi),網(wǎng)絡(luò)失效概率計(jì)算方法為:
F(t)=p(T≤t)=1-R(t)
(9)
3)網(wǎng)絡(luò)的失效密度忽然發(fā)生大幅度變化,設(shè)該指標(biāo)為f(t),在特定時(shí)間t內(nèi),其計(jì)算方法為:
(10)
4)網(wǎng)絡(luò)的失效率發(fā)生大幅度變化,設(shè)置該指標(biāo)函數(shù)為λ(t),在(t,t+Δt)時(shí)間內(nèi),其計(jì)算方法為:
(11)
5)網(wǎng)絡(luò)的平均失效間隔時(shí)間發(fā)生較大幅度變化,該指標(biāo)可以用MTBF表示,計(jì)算你仿佛為2次失效間的平均運(yùn)行時(shí)間。防御攻擊的指標(biāo)和對(duì)應(yīng)的具體方式如下圖1所示。
圖1 防御方式選取Fig.1 Defense mode selection
1.4.1 最小代價(jià)防御集合
在計(jì)算得到防御方式指標(biāo)后,為解決盲掃描方式下的惡意攻擊主動(dòng)防御問(wèn)題,需將攻擊圖和防御行為相結(jié)合,實(shí)現(xiàn)網(wǎng)絡(luò)空間攻擊主動(dòng)防御選取。依據(jù)當(dāng)前攻擊防御評(píng)估結(jié)果,生成最小代價(jià)的集合。引入綜合防御權(quán)重策略集合M,結(jié)合上文獲取的防御策略圖指標(biāo)G′,其依據(jù)七元組構(gòu)成:G′=(S′,H′,C′,E′,M,R′)。其中,S′代表可靠度集合;H′代表網(wǎng)絡(luò)失效率集合,根據(jù)h′∈H′的四元組(ID,運(yùn)行服務(wù),入侵者權(quán)限,網(wǎng)絡(luò)漏洞集合)構(gòu)成;C′代表主機(jī)之間失效密度集合;R′代表攻擊者;E′代表網(wǎng)絡(luò)空間失效時(shí)間集合,根據(jù)e∈E的四元組(攻擊先驗(yàn)條件、源主機(jī)、目的主機(jī)和惡意攻擊效果)構(gòu)成;M代表網(wǎng)絡(luò)空間攻擊防御策略集合。以最小代價(jià)阻止入侵者攻擊為目的,網(wǎng)絡(luò)安全管理相關(guān)人員必須采取高效策略,攻擊防御策略圖即為利用攻擊防御策略集合,依照實(shí)施難度對(duì)其進(jìn)行權(quán)值等級(jí)劃分,形成防御代價(jià),給各個(gè)策略賦予不同權(quán)值,針對(duì)不同程度的攻擊采取不同防御策略,降低防御能耗。
假設(shè)對(duì)目標(biāo)網(wǎng)絡(luò)實(shí)施策略集合中的全部策略,即可有效防御所有攻擊場(chǎng)景產(chǎn)生,以此可以使網(wǎng)絡(luò)空間處在某一安全狀態(tài)[13-15]。針對(duì)策略集合Mc∈M,假設(shè)Mc中涵蓋的策略可以在所有攻擊場(chǎng)景內(nèi)進(jìn)行防御,則Mc為關(guān)鍵策略。假設(shè)Mc中含有的策略權(quán)值之和最小,則Mc為攻擊防御最小代價(jià)關(guān)鍵策略集合。
1.4.2 基于粒子群算法的最小代價(jià)防御方式選取
引入粒子群算法,根據(jù)攻擊圖中各攻擊動(dòng)作,以最小代價(jià)防御策略集合為基礎(chǔ),突出攻擊主動(dòng)防御策略產(chǎn)生的代價(jià)。將最小代價(jià)主動(dòng)防御網(wǎng)絡(luò)空間攻擊作為目標(biāo),利用粒子群算法,通過(guò)不斷迭代尋優(yōu),找到攻擊圖的最小關(guān)鍵策略集合,實(shí)現(xiàn)網(wǎng)絡(luò)空間攻擊主動(dòng)防御。
以下為利用粒子群算法尋找最小關(guān)鍵策略集合過(guò)程:
1)將防御集合中的防御代價(jià)指標(biāo)全部場(chǎng)景轉(zhuǎn)換為粒子。
2)初始化粒子運(yùn)行參數(shù),同時(shí)將各個(gè)粒子速度定義為0。
3)假設(shè)迭代次數(shù)未達(dá)到最大,利用式(12)對(duì)粒子群中的最小代價(jià)目標(biāo)進(jìn)行更新yi:
(12)
式中f代表適應(yīng)度函數(shù)。
4)根據(jù)式(13)對(duì)粒子全局最優(yōu)位置進(jìn)行更新:
(13)
5)根據(jù)式(14)對(duì)粒子搜索速度進(jìn)行更新:
vij(t+1)=vij(t)+c1r1(t)(yi(t)-xi(t))+
(14)
6)根據(jù)式(15)對(duì)粒子最小代價(jià)集合位置進(jìn)行更新:
xi(t+1)=xi(t)+vij(t+1)
(15)
式中:c1、c2代表粒子的認(rèn)知因子與鄰域?qū)W習(xí)因子,通常情況下2個(gè)值的取值區(qū)間為[0,2];r1、r2代表時(shí)間維度上的隨機(jī)數(shù)。
利用上述過(guò)程不斷更新最優(yōu)解,直到達(dá)到最大迭代次數(shù)或者搜索到最小關(guān)鍵策略集合,算法結(jié)束。將最小代價(jià)策略集合輸出,將其當(dāng)作網(wǎng)絡(luò)空間攻擊主動(dòng)防御策略集合,實(shí)現(xiàn)最小代價(jià)下的攻擊防御算法選取。
為了驗(yàn)證提出的網(wǎng)絡(luò)空間攻擊主動(dòng)防御方法的可行性及有效性,構(gòu)建模擬實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),設(shè)置轉(zhuǎn)換的端信息根據(jù)一個(gè)IP地址池與大小是216的端口池構(gòu)建而成。構(gòu)建初始攻擊防御圖如圖2所示。
圖2 攻擊防御圖Fig.2 Attack defense map
在加入隨機(jī)攻擊數(shù)據(jù)后,結(jié)合權(quán)重計(jì)算結(jié)果,重新計(jì)算攻擊圖,結(jié)果如下圖3所示。
圖3 不同方法下網(wǎng)絡(luò)攻擊防御變化Fig.3 Change diagram of network attack defense under different methods
圖4是結(jié)合圖3,模擬不同方法現(xiàn)實(shí)主動(dòng)防御中,節(jié)點(diǎn)分布的數(shù)據(jù)包抵抗過(guò)程。節(jié)點(diǎn)連線表示抵抗中的成本,色彩越濃說(shuō)明抵抗成本越高。連線上的數(shù)值表示在主動(dòng)抵抗測(cè)量下,鏈路的代價(jià)(包括此節(jié)點(diǎn)所產(chǎn)生的數(shù)據(jù)包和此節(jié)點(diǎn)轉(zhuǎn)發(fā)的子節(jié)點(diǎn)的數(shù)據(jù)包)。紅曲線表示PC剛剛收到的數(shù)據(jù)包的路由路線。
圖4 主動(dòng)防御策略模擬Fig.4 Simulation diagram of active defense strategy
通過(guò)圖4可以看出,與文獻(xiàn)[4]和文獻(xiàn)[5]的方法對(duì)比,本文方法的代價(jià)明顯變小,這是由于在選取不同防御策略下,本文方法的代價(jià)最小。
多個(gè)信息的融合有助于提高評(píng)估的客觀性和準(zhǔn)確度。因而選取AV、AS作為判斷攻擊防御效果的指標(biāo)。其中AV表示攻擊途徑,AS表示入侵告警的嚴(yán)重程度,具體實(shí)驗(yàn)結(jié)果如下:由圖5可以看出,在AV、AS這2個(gè)指標(biāo)變化的過(guò)程中,文獻(xiàn)方法預(yù)測(cè)效果均呈現(xiàn)下降的趨勢(shì),而所提方法的預(yù)測(cè)效果則穩(wěn)步上升,由此可見(jiàn),所提網(wǎng)絡(luò)攻擊防御算法結(jié)合粒子群算法,通過(guò)不斷迭代尋優(yōu),找到攻擊圖的最小關(guān)鍵策略,可高效預(yù)測(cè)網(wǎng)絡(luò)安全態(tài)勢(shì),防御性能較高。
利用TinyOS軟件,設(shè)計(jì)具體應(yīng)用中能量損耗計(jì)量模式,利用本文算法可以盡可能的降低主動(dòng)防御環(huán)境中的能量消耗。在主動(dòng)防御的情況下,測(cè)量路由節(jié)點(diǎn)電流消耗,得到消耗模型圖。
圖5 不同方法對(duì)攻擊防御效果的影響分析Fig.5 Analysis of the effect of different methods on attack defense
在圖6中,圖6(a)表示在主動(dòng)防御沒(méi)有進(jìn)行最優(yōu)選擇的策略下,所有電源模塊開(kāi)啟,即掃描過(guò)程與防御過(guò)程一直工作,不進(jìn)入選擇性的抵抗策略狀態(tài),對(duì)網(wǎng)絡(luò)空間的掃描進(jìn)行不間斷監(jiān)聽(tīng),此時(shí)路由節(jié)點(diǎn)消耗能量最大,平均電流消耗達(dá)到12 mA。圖6(b)表示經(jīng)過(guò)文獻(xiàn)[4]方法后,節(jié)點(diǎn)能夠做出最優(yōu)抵抗策略,即無(wú)需實(shí)時(shí)掃描,節(jié)點(diǎn)有時(shí)可進(jìn)入休眠狀態(tài),由于采用文獻(xiàn)[4]方法后,減少了節(jié)點(diǎn)的能量消耗,可以看到總的平均電流通消耗有所減少,達(dá)到了11.46 mA。但也可以看出減少并不明顯。圖6(c)是當(dāng)采用文獻(xiàn)[5]方法后的能量消耗,由于采用間隔時(shí)間片掃描,可以有效的減少網(wǎng)絡(luò)被攻擊后,節(jié)點(diǎn)做出反擊的能量消耗。消耗下降到了4.26 mA。圖6(d)是本文方法之后能量消耗進(jìn)一步減小,達(dá)到了1.04 mA,從而達(dá)到有效的節(jié)能效果。
圖6 能量消耗對(duì)比圖Fig.6 Comparison of energy consumption
1)防御過(guò)程中,利用網(wǎng)絡(luò)安全態(tài)勢(shì)感知作為網(wǎng)絡(luò)攻擊主動(dòng)防御奠定基礎(chǔ),結(jié)合攻擊圖與粒子群算法實(shí)現(xiàn)攻擊防御。
2)通過(guò)實(shí)驗(yàn)驗(yàn)證所提方法,實(shí)驗(yàn)結(jié)果表明,所提方法魯棒性與可實(shí)踐性能均較強(qiáng)。
下一步的研究方向?yàn)閷?duì)于能夠涵蓋所有攻擊場(chǎng)景的最小代價(jià)防御策略,是否在每一類攻擊場(chǎng)景下都滿足代價(jià)最小、防御效果最優(yōu),是否可以采用動(dòng)態(tài)、實(shí)時(shí)的防御策略。