鄭忠斌,黎 聰,王朝棟
(1.工業互聯網創新中心(上海)有限公司,上海 201303;2.同濟大學,上海 200092)
隨著互聯網基礎設施的飛速發展和新應用的不斷涌現,網絡在規模和拓撲上都日趨擴大化、復雜化,各種層出不窮、更新換代的網絡攻擊給安全管理者帶來了巨大的挑戰。在諸多網絡攻擊手段中,拒絕服務攻擊作為歷史最為久遠、造成資產損失最為嚴重的攻擊手段之一,始終是政企以及軍方網絡安全管理人員重點防范的對象。自1999年第一次分布式拒絕服務攻擊(Distributed Denial of Service,DDoS)出現以來,DDoS攻擊經歷了探索期、組織攻擊期、國家網絡戰期幾個階段,直至今天已成為高度普及化、成熟化、組織化的攻擊方式。從2008年至今,智能聯網終端設備的全面普及產生的大量的僵尸網絡更是為不法分子開展DDoS攻擊提供了便利。2018年3月出現的MemcacheUDP以TB級的帶寬攻擊了Github,引發了網絡安全從業者的警惕,意味著目前的DDoS攻擊制造出TB乃至PB級的攻擊已不是難事。鑒于目前的服務器的帶寬壓力承載量大多不足以應對此種級別的攻擊,一次精心預謀的DDoS攻擊將不僅會造成網絡資產損失,也會造成企業乃至國家政府機構的職能癱瘓,產生的后果難以估量。
另一方面,日益臃腫的網絡架構催生了新型網絡結構“軟件定義網絡” (Software Defined Network,SDN)的廣泛應用。SDN將發包過程和路由過程分隔在數據層(Data Plane)和控制層(Control Plane),并通過南北向接口為開發者提供了良好的可編程性。其目的是為了簡化日益復雜的網絡軟硬件結構模式,并降低傳統網絡的控制與全局部署的難度,從而解決傳統網絡的拓撲復雜、去中心化和難以定位故障的缺陷。
然而這并不意味著SDN與傳統的TCP五層模型相比就具有更好的安全性,由于轉發機制的不同,許多應用于傳統網絡架構的較為成熟的安全管理手段并不能直接套用于SDN網絡。在目前SDN大規模商業部署的背景下,針對SDN網絡安全管理技術的研究意義重大。SDN的安全管理者需要運用有效的安全管理手段,對安全威脅和發生的攻擊做出及時、精確、有效的響應與決策。從現有的安全管理手段上看,脆弱性檢測技術、惡意代碼檢測技術、入侵檢測技術都試圖從不同的角度發現、理解并向管理員報告網絡中可能存在的安全問題。盡管這些方法各有所長,但是從實時全面地應對威脅的角度上看,均不能充分地滿足系統管理員全方位、直觀化的需求。
相較上述的幾種安全管理技術,網絡安全態勢感知技術獨特的優勢使之能同時有效地用于傳統網絡或SDN網絡:相較于單傳感器和單數據源的IDS,一個合格的網絡態勢感知系統能將不同安全傳感器(如IDS、交換機日志、系統日志、原始流量數據收集器等)中收集到的異質信息進行融合,網絡中的安全要素知識進行綜合的分析,以合理的指標評估網絡安全狀況或者對未來的狀況做出預測,并以可視化的方式將網絡全局的安全狀況展現給管理人員,使其能夠采取有效的應對措施對安全問題進行及時響應[1-3]。因此本文選擇了網絡安全態勢感知技術作為SDN網絡中拒絕服務攻擊的解決方案。
本文研究了應用于網絡安全態勢感知相關算法,實現了一個基于JDL數據融合的網絡安全態勢感知模型,并應用于SDN網絡中對拒絕服務攻擊(Denial of Service, DoS)的感知和評估。
(1) 研究了幾種網絡安全態勢感知系統的功能模型與算法,比較了其中的數據融合與態勢評估算法、態勢預測算法的理論適用場景。
(2) 基于(1),針對態勢感知模型中的核心模塊數據融合和態勢評估部分,選擇了SVM向量機作為主要訓練算法,貝葉斯方法作為融合方法,層次化量化評估作為評估方法,基于SDN網絡中的模擬攻擊場景設計并實現了一個基于多傳感器融合的網絡安全態勢感知模型。實驗結果顯示與單純使用IDS的方法相比融合決策的性能有所提升,且輸出的態勢值具有一定的準確度,較吻合安全管理人員直觀評估的結果。
本文首先介紹了相關工作已有的研究成果;然后闡述了與本文設計方法直接相關的背景知識;接著詳細描述了具體的SDN受到DDoS攻擊這一場景下產生訓練數據集,實現數據融合與態勢評估的實驗設計思路,具體配置與實驗流程以及結果分析;最后闡述了實驗設計的結論。
蓋偉麟[4]等對態勢感知中的數據融合和決策方法作了綜述,給出用于態勢感知的算法分類和決策方式分類。趙耀南[5]介紹了針對網絡流量數據優化的自離散化算法與常見的連續值離散化算法。劉效武等[6-7]提出了“融合引擎”的概念并使用支持向量機作為融合引擎,引入了態勢評估符合度的指標來表征評估的態勢值與實際態勢值的符合程度。李志東[8]針對多源數據融合存儲開銷較高的問題,提出了基于統計空間映射的多源告警融合決策模型。Wang Huiqiang[9]等使用了一個多層前饋神經網絡,對Snort和NetFlow收集到的真實流量數據進行融合。在特征約簡方面使用了較為簡單快速的方法。在態勢評估采用了權值因子分布的預警聚合算法來計算態勢值。
諸葛建偉等[10]詳述了D-S證據理論應用于網絡異常檢查的方法,并主要針對DDoS攻擊在保證較低誤報率的前提下,達到了較高的檢測率。陳秀真等[11]基于IDS的報警信息,結合主機的重要性和網絡的組織結構,對服務和主機的重要性進行加權和計算,建立了層次化安全威脅態勢量化評估模型。吳建臺等[12]基于決策級的威脅等級觀測值,在態勢評估上使用隱馬爾可夫模型(Hidden Markov Model,HMM)通過狀態估計實現。周長建[13]在網絡安全態勢感知建模中將深度神經網絡和BP神經網絡作了比較,在態勢評估方面使用了RBM的期望作為態勢值。其實驗結果表明深度學習相較BP神經網絡有較大的優越性。
張勇[14]指出了在SDN網絡中基于流表特征的DDoS特征的攻擊檢測技術的不足,采用主成分分析壓縮特征。張玉杰[15]指出SDN網絡的核心機制,設計了結合自相似現象和OpenFlow協議的流量異常檢測模型。李傳煌[16]等針對SDN安全中的DDoS攻擊問題進行研究,提出了基于深度學習混合模型的檢測方法。李可[17]針對SDN網絡脆弱性擴散和抑制策略的問題,使用了基于Bio-PEPA的形式化模型。
網絡安全態勢感知(Network Security Situational Awareness,NSSA)技術最早來自于軍事對抗中對信息融合領域的研究。進入21世紀之后,態勢感知從理論到應用的速率進一步加快,在不到20年的時間內NSSA系統已經被廣泛用于工控系統、政企系統、軍事系統等各個方面。而2006年后神經網絡算法等機器學習算法研究的突破更是推動了更多對NSSA算法的研究,極大地提高了NSSA系統的性能與實用性。作為一個方興未艾的安全領域,網絡安全態勢感知有著巨大的潛力和光明的應用前景。
網絡安全態勢感知模型一般包括:假設與推理RPD模型、循環對抗OODA模型和數據融合JDL模型等。目前基于JDL模型多源數據融合的層次選擇是較為成熟的方式,也是本文在第2節中選擇的模型,如圖1所示。

圖1 JDL基本模型
JDL(Joint Directors of Laboratories)模型是信息融合系統中的一種信息處理方式,由美國數據融合聯合指揮實驗室提出。JDL模型將來自不同數據源的數據和信息進行綜合分析,根據它們之間的相互關系,進行目標識別、身份估計、態勢評估和威脅評估,融合過程會通過不斷地精煉評估結果來提高評估的準確性。在網絡安全態勢感知中,面對來自內外部大量的安全數據,通過JDL模型進行數據的融合分析,能夠實現對分析目標的感知、理解與影響評估,為后續的預測提供重要的分析基礎和支撐。
2.2.1 SDN簡介
面對層出不窮的新網絡需求導致的傳統網絡體系結構臃腫,而網絡管理者需要具備更多可編程能力的網絡的問題,2006年斯坦福大學的The McKeown Group團隊提出了SDN。SDN是一種邏輯集中控制的新網絡架構,其關鍵屬性包括:數據平面和控制平面分離;控制平面和數據平面之間有統一的開放接口OpenFlow等。
2.2.2 OpenFlow協議
OpenFlow協議的核心是將數據平面的數據轉發抽象成為流表信息,作為和通過南向接口通信的標準。2012年,SDN的三層結構正式成為技術標準。OVS是支持OpenFlow協議的交換機,在遠程控制器的管控下工作,并將網絡信息通過南向接口反饋給控制器,如圖2所示。
2.2.3 SDN安全
SDN網絡所固有的安全性是多層次多方面的,主要集中于控制層和應用層,主要安全性問題如表1所示。

表1 SDN安全問題
DoS通常指攻擊者通過某種手段,有意地造成計算機或網絡不能正常運轉,從而不能向合法用戶提供所需服務或者使服務質量降低。而如果處于不同位置的多個攻擊者同時向一個或多個目標發起拒絕服務攻擊,或者一個或多個攻擊者控制了位于不同位置的多臺機器并利用這些機器對受害者同時實施DoS,這種DoS則成為了更為常見、危害更大的DDoS,又稱帶寬攻擊或風暴型DoS攻擊。

圖2 Openflow協議
DDoS可分為直接風暴型和間接風暴型兩種。本文實驗中采取的DoS攻擊方式是直接型的[19]。
如前所述,多傳感器數據融合是針對一個系統中使用多個(同質)以及多種傳感器這一而提出的處理方法,目的是基于各個獨立傳感器的觀測數據,運用數據融合算法導出更為精準的有效信息,獲得最佳的協同效果,并一定程度上消除單傳感器的局限性與不可靠性。基于相關工作和模擬環境的綜合考量,在實驗中選擇的傳感器為處于HIDS模式的Snort、OVS交換機流表信息以及通用流量監控工具sFlow-rt以實現基于多源融合的態勢感知。選用的數據融合模型為JDL模型,由于態勢感知工程較為龐大,在實驗中選擇性地實現了決策層數據融合與態勢評估兩個核心模塊。
2.4.1 數據預處理
選擇了Snort-IDS、OVS流表信息和sFlow-rt作為多源傳感器融合中的傳感器。
(1)Snort-IDS
Snort是一個開源的入侵檢測系統,可進行實時的流量分析和數據包捕獲與日志記錄;一般地,部署IDS有基于主機(Host-based IDS)與基于交換機兩種方式,本實驗中使用Snort的IDS模式。
(2)OVS流表信息
流表在SDN架構中類似于現今傳統網絡路由器中的路由表,由控制層中的控制器下發給轉發層中的物理設備如交換機等。OpenFlow流表包括了包頭域(Header)、計數器(Counter)、動作(Action)。通常提取OVS流表信息有兩種方法:調用SDN控制器(OpenDayLight,Ryu等)提供的北向API獲取流表信息,或用ovsctl命令在控制臺中顯示出即時流表信息并重定向到文件中。
(3)sFlow-rt
sFlow-rt是基于sFlow協議開發的可視化網絡流量檢測應用。sFlow監控工具sFlow-rt由sFlow Agent和sFlow Collector兩部分組成。Agent作為客戶端,一般內嵌于網絡轉發設備(如交換機、路由器),通過獲取本設備上的接口統計信息和數據信息,將信息封裝成sFlow報文,當sFlow報文緩沖區滿或是在sFlow報文緩存時間超時后,Agent將sFlow報文發送到指定的Collector。Collector作為遠端服務器,負責對sFlow報文分析、匯總、生成流量報告。
2.4.2 融合過程
如圖3所示,經過數據采集和預處理后存在原始數據庫的數據分為Snort、OVS和sFlow三個部分。經過對機器算力和決策精度的綜合考量,數據融合算法選擇了決策層融合,由于OVS與sFlow得到的特征屬于多分類問題,而標準的SVM算法適用于二分類問題,此處選擇了一對多法多分類SVM作為這傳感器特征數據的訓練模型。

圖3 實驗模型設計圖
在特征約簡方面采用了劉效武等[6]的迭代訓練約簡法,即將設原始特征向量維度為n,則每次去除特征ci(1≤i≤n) 使用n-1個向量輸入SVM進行訓練。若此輪訓練中的精度A小于人為設定的閾值ε,則將特征ci加入約簡集Selection_set中。進行n輪訓練后得到最終的向量集合Selection_set。
最終,由Snort數據的特征部分、OVS、sFlow的特征經過特征選擇訓練得出的決策,與SnortIDS得出的決策再進行決策層融合,采用貝葉斯方法,得到綜合的決策值。
2.4.3 評估過程
綜合得出的決策其輸入層次化量化評估模型,分別得到網絡級、主機級、服務級的態勢評估值V1、V2、V3。規定每一級態勢符合度SFi以及平均態勢符合度SFaverage滿足
SFi=PFi/AFi,i=1,2,3
(1)
SFaverage=(SF1+ SF2+ SF3)/3
(2)
其中PFi是通過決策得出的分類結果計算出某一級的態勢值,AFi是由已知樣本計算出的真實態勢值。
實驗軟硬件配置如表2所示,網絡拓撲配置如圖4所示。

表2 實驗軟硬件配置表

圖4 網絡拓撲圖
3.2.1 數據集獲取方式
目前能獲取到的公開數據集最大的缺陷在于其都是基于傳統網絡中交換機,路由器產生的數據與基于SDN網絡與SDN控制器、交換機的數據有所不同。所以,本文采取了通過在Mininet網絡中用網絡工具模擬攻擊,自主生成訓練數據集的方式。
3.2.2 模擬攻擊過程
在24 h的時間內,h1 Server始終開啟服務,用網絡工具hping3、LOIC(低軌道離子炮)模擬DoS/DDoS攻擊的過程。同時,內網client通過wget等命令在隨機的時間點訪問h1 server產生內網背景流量,整個內網通過nat服務連接因特網產生外網背景流量。
由于運行mininet的性能限制,發送過多的包將導致機器崩潰,每次DDoS的時長與真實攻擊相比均較短,同時也對發包數量進行了限制。攻擊時段表如表3所示。

表3 攻擊時段表
在去除了無效的數據之后,得到可供訓練的樣本數統計如表4所示。

表4 樣本統計
3.2.3 Snort的決策層數據
事實上Snort的目前分析可疑數據包的協議范圍有一定的局限性,限于TCP、UDP、ICMP、IP四種,沒有ARP等協議的記錄。但對于本研究中的DoS攻擊類別四種來說已經足夠。Snort的event表中的簽名字段和時間戳字段標識了Snort決策得到的當前報警信息。將在其后的步驟中輸入決策層融合模塊。
3.2.4 特征訓練
Snort的特征數據、OVS流表數據、sFlow提取后將相應字段和數據存入數據庫。從Snort-HIDS中取得的數據和從ODL、sFlow的RESTful API中得到的數據存在冗余或無用數據,如果將原始數據直接導入作為輸入特征值將影響訓練的精度,一些與網絡層數據無關的特征在最終的數據集選擇中去除了之后,剩余的特征約簡后得到輸入向量中的關鍵特征集Selection_set共10個向量,如表5所示。

表5 用于訓練的特征
使用貝葉斯方法對Snort和多分類支持向量機的決策進行融合,融合決策結果如表6~8所示。

表6 二分類融合決策結果

表7 二分類統計

表8 多分類融合決策結果
由表6可觀察到融合決策二分類的F1-score達到了0.90,從實際應用的角度來說屬于可以接受的范疇。由表7可觀察到精確率比準確率高。由表8可觀察到,除了對TCP SYN的分類性能存在誤差容許范圍內的下降之外,在使用同樣的Snort規則集的情況下,與Snort單源決策相比,加入了OVS流表和sFlow-rt信息的SVM訓練決策結果的總決策效果對不同種類的DoS攻擊判斷都有明顯的改善。
3.2.5 態勢評估與效果檢驗
根據評估公式可得到24 h的態勢評估值。選取了從h4發動的攻擊從7:07開始,7:16結束。從中取7:00~7:30之間的內繪制出如圖5所示的網段10.0.10.0/24的態勢曲線圖。可見其基本符合直觀預期。同時圖6中顯示了24 h內以1 h為采樣時長計算的平均態勢符合程度SFaverage亦符合預期。

圖5 7:00~7:30時段內態勢評估折線圖

圖6 24 h內的平均態勢符合度SFaverage曲線
由于使用的網絡數據集、網絡拓撲結構以及選擇的評估量化指標不同,本文的分類結果嚴格說來與文獻中的結果不具有橫向的可比性,故此處不列出。另一方面從實用意義上來說融合模型低于90%的分類準確率仍有較大的提升空間。但作為研究與實現的驗證性模型來說,本實驗目的已經達到。
(1)選擇的訓練算法中SVM多分類向量機還應該進行參數優化;
(2)對最為常見的TCP SYN Flood攻擊的分類精度較低,應改進特征選擇算法;
(3)設置的數據集、攻擊方式和網絡拓撲過于簡單粗糙;
(4)限于時間,未實現態勢預測算法和實時性可視化模塊。
本文研究了應用于網絡安全態勢感知的相關算法,實驗驗證了在受到DoS的情況下,基于JDL的多源傳感器融合的網絡安全態勢感知模型做出的決策總體上優于單源傳感器決策,且能較為準確地對當前網絡、主機、服務的態勢做出評估。實現了一個基于JDL多傳感器數據融合的網絡安全態勢感知模型,并將其應用于SDN網絡中對DoS的感知和評估。實驗結果顯示與單純使用IDS的方法相比,融合決策的誤報率和漏報率均有所下降,且輸出的態勢值具有一定的準確度,符合系統安全管理人員直觀評估的結果。