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