鄭忠斌,黎 聰,王朝棟
(1.工業(yè)互聯(lián)網(wǎng)創(chuàng)新中心(上海)有限公司,上海 201303;2.同濟大學,上海 200092)
隨著互聯(lián)網(wǎng)基礎設施的飛速發(fā)展和新應用的不斷涌現(xiàn),網(wǎng)絡在規(guī)模和拓撲上都日趨擴大化、復雜化,各種層出不窮、更新?lián)Q代的網(wǎng)絡攻擊給安全管理者帶來了巨大的挑戰(zhàn)。在諸多網(wǎng)絡攻擊手段中,拒絕服務攻擊作為歷史最為久遠、造成資產(chǎn)損失最為嚴重的攻擊手段之一,始終是政企以及軍方網(wǎng)絡安全管理人員重點防范的對象。自1999年第一次分布式拒絕服務攻擊(Distributed Denial of Service,DDoS)出現(xiàn)以來,DDoS攻擊經(jīng)歷了探索期、組織攻擊期、國家網(wǎng)絡戰(zhàn)期幾個階段,直至今天已成為高度普及化、成熟化、組織化的攻擊方式。從2008年至今,智能聯(lián)網(wǎng)終端設備的全面普及產(chǎn)生的大量的僵尸網(wǎng)絡更是為不法分子開展DDoS攻擊提供了便利。2018年3月出現(xiàn)的MemcacheUDP以TB級的帶寬攻擊了Github,引發(fā)了網(wǎng)絡安全從業(yè)者的警惕,意味著目前的DDoS攻擊制造出TB乃至PB級的攻擊已不是難事。鑒于目前的服務器的帶寬壓力承載量大多不足以應對此種級別的攻擊,一次精心預謀的DDoS攻擊將不僅會造成網(wǎng)絡資產(chǎn)損失,也會造成企業(yè)乃至國家政府機構(gòu)的職能癱瘓,產(chǎn)生的后果難以估量。
另一方面,日益臃腫的網(wǎng)絡架構(gòu)催生了新型網(wǎng)絡結(jié)構(gòu)“軟件定義網(wǎng)絡” (Software Defined Network,SDN)的廣泛應用。SDN將發(fā)包過程和路由過程分隔在數(shù)據(jù)層(Data Plane)和控制層(Control Plane),并通過南北向接口為開發(fā)者提供了良好的可編程性。其目的是為了簡化日益復雜的網(wǎng)絡軟硬件結(jié)構(gòu)模式,并降低傳統(tǒng)網(wǎng)絡的控制與全局部署的難度,從而解決傳統(tǒng)網(wǎng)絡的拓撲復雜、去中心化和難以定位故障的缺陷。
然而這并不意味著SDN與傳統(tǒng)的TCP五層模型相比就具有更好的安全性,由于轉(zhuǎn)發(fā)機制的不同,許多應用于傳統(tǒng)網(wǎng)絡架構(gòu)的較為成熟的安全管理手段并不能直接套用于SDN網(wǎng)絡。在目前SDN大規(guī)模商業(yè)部署的背景下,針對SDN網(wǎng)絡安全管理技術(shù)的研究意義重大。SDN的安全管理者需要運用有效的安全管理手段,對安全威脅和發(fā)生的攻擊做出及時、精確、有效的響應與決策。從現(xiàn)有的安全管理手段上看,脆弱性檢測技術(shù)、惡意代碼檢測技術(shù)、入侵檢測技術(shù)都試圖從不同的角度發(fā)現(xiàn)、理解并向管理員報告網(wǎng)絡中可能存在的安全問題。盡管這些方法各有所長,但是從實時全面地應對威脅的角度上看,均不能充分地滿足系統(tǒng)管理員全方位、直觀化的需求。
相較上述的幾種安全管理技術(shù),網(wǎng)絡安全態(tài)勢感知技術(shù)獨特的優(yōu)勢使之能同時有效地用于傳統(tǒng)網(wǎng)絡或SDN網(wǎng)絡:相較于單傳感器和單數(shù)據(jù)源的IDS,一個合格的網(wǎng)絡態(tài)勢感知系統(tǒng)能將不同安全傳感器(如IDS、交換機日志、系統(tǒng)日志、原始流量數(shù)據(jù)收集器等)中收集到的異質(zhì)信息進行融合,網(wǎng)絡中的安全要素知識進行綜合的分析,以合理的指標評估網(wǎng)絡安全狀況或者對未來的狀況做出預測,并以可視化的方式將網(wǎng)絡全局的安全狀況展現(xiàn)給管理人員,使其能夠采取有效的應對措施對安全問題進行及時響應[1-3]。因此本文選擇了網(wǎng)絡安全態(tài)勢感知技術(shù)作為SDN網(wǎng)絡中拒絕服務攻擊的解決方案。
本文研究了應用于網(wǎng)絡安全態(tài)勢感知相關算法,實現(xiàn)了一個基于JDL數(shù)據(jù)融合的網(wǎng)絡安全態(tài)勢感知模型,并應用于SDN網(wǎng)絡中對拒絕服務攻擊(Denial of Service, DoS)的感知和評估。
(1) 研究了幾種網(wǎng)絡安全態(tài)勢感知系統(tǒng)的功能模型與算法,比較了其中的數(shù)據(jù)融合與態(tài)勢評估算法、態(tài)勢預測算法的理論適用場景。
(2) 基于(1),針對態(tài)勢感知模型中的核心模塊數(shù)據(jù)融合和態(tài)勢評估部分,選擇了SVM向量機作為主要訓練算法,貝葉斯方法作為融合方法,層次化量化評估作為評估方法,基于SDN網(wǎng)絡中的模擬攻擊場景設計并實現(xiàn)了一個基于多傳感器融合的網(wǎng)絡安全態(tài)勢感知模型。實驗結(jié)果顯示與單純使用IDS的方法相比融合決策的性能有所提升,且輸出的態(tài)勢值具有一定的準確度,較吻合安全管理人員直觀評估的結(jié)果。
本文首先介紹了相關工作已有的研究成果;然后闡述了與本文設計方法直接相關的背景知識;接著詳細描述了具體的SDN受到DDoS攻擊這一場景下產(chǎn)生訓練數(shù)據(jù)集,實現(xiàn)數(shù)據(jù)融合與態(tài)勢評估的實驗設計思路,具體配置與實驗流程以及結(jié)果分析;最后闡述了實驗設計的結(jié)論。
蓋偉麟[4]等對態(tài)勢感知中的數(shù)據(jù)融合和決策方法作了綜述,給出用于態(tài)勢感知的算法分類和決策方式分類。趙耀南[5]介紹了針對網(wǎng)絡流量數(shù)據(jù)優(yōu)化的自離散化算法與常見的連續(xù)值離散化算法。劉效武等[6-7]提出了“融合引擎”的概念并使用支持向量機作為融合引擎,引入了態(tài)勢評估符合度的指標來表征評估的態(tài)勢值與實際態(tài)勢值的符合程度。李志東[8]針對多源數(shù)據(jù)融合存儲開銷較高的問題,提出了基于統(tǒng)計空間映射的多源告警融合決策模型。Wang Huiqiang[9]等使用了一個多層前饋神經(jīng)網(wǎng)絡,對Snort和NetFlow收集到的真實流量數(shù)據(jù)進行融合。在特征約簡方面使用了較為簡單快速的方法。在態(tài)勢評估采用了權(quán)值因子分布的預警聚合算法來計算態(tài)勢值。
諸葛建偉等[10]詳述了D-S證據(jù)理論應用于網(wǎng)絡異常檢查的方法,并主要針對DDoS攻擊在保證較低誤報率的前提下,達到了較高的檢測率。陳秀真等[11]基于IDS的報警信息,結(jié)合主機的重要性和網(wǎng)絡的組織結(jié)構(gòu),對服務和主機的重要性進行加權(quán)和計算,建立了層次化安全威脅態(tài)勢量化評估模型。吳建臺等[12]基于決策級的威脅等級觀測值,在態(tài)勢評估上使用隱馬爾可夫模型(Hidden Markov Model,HMM)通過狀態(tài)估計實現(xiàn)。周長建[13]在網(wǎng)絡安全態(tài)勢感知建模中將深度神經(jīng)網(wǎng)絡和BP神經(jīng)網(wǎng)絡作了比較,在態(tài)勢評估方面使用了RBM的期望作為態(tài)勢值。其實驗結(jié)果表明深度學習相較BP神經(jīng)網(wǎng)絡有較大的優(yōu)越性。
張勇[14]指出了在SDN網(wǎng)絡中基于流表特征的DDoS特征的攻擊檢測技術(shù)的不足,采用主成分分析壓縮特征。張玉杰[15]指出SDN網(wǎng)絡的核心機制,設計了結(jié)合自相似現(xiàn)象和OpenFlow協(xié)議的流量異常檢測模型。李傳煌[16]等針對SDN安全中的DDoS攻擊問題進行研究,提出了基于深度學習混合模型的檢測方法。李可[17]針對SDN網(wǎng)絡脆弱性擴散和抑制策略的問題,使用了基于Bio-PEPA的形式化模型。
網(wǎng)絡安全態(tài)勢感知(Network Security Situational Awareness,NSSA)技術(shù)最早來自于軍事對抗中對信息融合領域的研究。進入21世紀之后,態(tài)勢感知從理論到應用的速率進一步加快,在不到20年的時間內(nèi)NSSA系統(tǒng)已經(jīng)被廣泛用于工控系統(tǒng)、政企系統(tǒng)、軍事系統(tǒng)等各個方面。而2006年后神經(jīng)網(wǎng)絡算法等機器學習算法研究的突破更是推動了更多對NSSA算法的研究,極大地提高了NSSA系統(tǒng)的性能與實用性。作為一個方興未艾的安全領域,網(wǎng)絡安全態(tài)勢感知有著巨大的潛力和光明的應用前景。
網(wǎng)絡安全態(tài)勢感知模型一般包括:假設與推理RPD模型、循環(huán)對抗OODA模型和數(shù)據(jù)融合JDL模型等。目前基于JDL模型多源數(shù)據(jù)融合的層次選擇是較為成熟的方式,也是本文在第2節(jié)中選擇的模型,如圖1所示。
圖1 JDL基本模型
JDL(Joint Directors of Laboratories)模型是信息融合系統(tǒng)中的一種信息處理方式,由美國數(shù)據(jù)融合聯(lián)合指揮實驗室提出。JDL模型將來自不同數(shù)據(jù)源的數(shù)據(jù)和信息進行綜合分析,根據(jù)它們之間的相互關系,進行目標識別、身份估計、態(tài)勢評估和威脅評估,融合過程會通過不斷地精煉評估結(jié)果來提高評估的準確性。在網(wǎng)絡安全態(tài)勢感知中,面對來自內(nèi)外部大量的安全數(shù)據(jù),通過JDL模型進行數(shù)據(jù)的融合分析,能夠?qū)崿F(xiàn)對分析目標的感知、理解與影響評估,為后續(xù)的預測提供重要的分析基礎和支撐。
2.2.1 SDN簡介
面對層出不窮的新網(wǎng)絡需求導致的傳統(tǒng)網(wǎng)絡體系結(jié)構(gòu)臃腫,而網(wǎng)絡管理者需要具備更多可編程能力的網(wǎng)絡的問題,2006年斯坦福大學的The McKeown Group團隊提出了SDN。SDN是一種邏輯集中控制的新網(wǎng)絡架構(gòu),其關鍵屬性包括:數(shù)據(jù)平面和控制平面分離;控制平面和數(shù)據(jù)平面之間有統(tǒng)一的開放接口OpenFlow等。
2.2.2 OpenFlow協(xié)議
OpenFlow協(xié)議的核心是將數(shù)據(jù)平面的數(shù)據(jù)轉(zhuǎn)發(fā)抽象成為流表信息,作為和通過南向接口通信的標準。2012年,SDN的三層結(jié)構(gòu)正式成為技術(shù)標準。OVS是支持OpenFlow協(xié)議的交換機,在遠程控制器的管控下工作,并將網(wǎng)絡信息通過南向接口反饋給控制器,如圖2所示。
2.2.3 SDN安全
SDN網(wǎng)絡所固有的安全性是多層次多方面的,主要集中于控制層和應用層,主要安全性問題如表1所示。
表1 SDN安全問題
DoS通常指攻擊者通過某種手段,有意地造成計算機或網(wǎng)絡不能正常運轉(zhuǎn),從而不能向合法用戶提供所需服務或者使服務質(zhì)量降低。而如果處于不同位置的多個攻擊者同時向一個或多個目標發(fā)起拒絕服務攻擊,或者一個或多個攻擊者控制了位于不同位置的多臺機器并利用這些機器對受害者同時實施DoS,這種DoS則成為了更為常見、危害更大的DDoS,又稱帶寬攻擊或風暴型DoS攻擊。
圖2 Openflow協(xié)議
DDoS可分為直接風暴型和間接風暴型兩種。本文實驗中采取的DoS攻擊方式是直接型的[19]。
如前所述,多傳感器數(shù)據(jù)融合是針對一個系統(tǒng)中使用多個(同質(zhì))以及多種傳感器這一而提出的處理方法,目的是基于各個獨立傳感器的觀測數(shù)據(jù),運用數(shù)據(jù)融合算法導出更為精準的有效信息,獲得最佳的協(xié)同效果,并一定程度上消除單傳感器的局限性與不可靠性?;谙嚓P工作和模擬環(huán)境的綜合考量,在實驗中選擇的傳感器為處于HIDS模式的Snort、OVS交換機流表信息以及通用流量監(jiān)控工具sFlow-rt以實現(xiàn)基于多源融合的態(tài)勢感知。選用的數(shù)據(jù)融合模型為JDL模型,由于態(tài)勢感知工程較為龐大,在實驗中選擇性地實現(xiàn)了決策層數(shù)據(jù)融合與態(tài)勢評估兩個核心模塊。
2.4.1 數(shù)據(jù)預處理
選擇了Snort-IDS、OVS流表信息和sFlow-rt作為多源傳感器融合中的傳感器。
(1)Snort-IDS
Snort是一個開源的入侵檢測系統(tǒng),可進行實時的流量分析和數(shù)據(jù)包捕獲與日志記錄;一般地,部署IDS有基于主機(Host-based IDS)與基于交換機兩種方式,本實驗中使用Snort的IDS模式。
(2)OVS流表信息
流表在SDN架構(gòu)中類似于現(xiàn)今傳統(tǒng)網(wǎng)絡路由器中的路由表,由控制層中的控制器下發(fā)給轉(zhuǎn)發(fā)層中的物理設備如交換機等。OpenFlow流表包括了包頭域(Header)、計數(shù)器(Counter)、動作(Action)。通常提取OVS流表信息有兩種方法:調(diào)用SDN控制器(OpenDayLight,Ryu等)提供的北向API獲取流表信息,或用ovsctl命令在控制臺中顯示出即時流表信息并重定向到文件中。
(3)sFlow-rt
sFlow-rt是基于sFlow協(xié)議開發(fā)的可視化網(wǎng)絡流量檢測應用。sFlow監(jiān)控工具sFlow-rt由sFlow Agent和sFlow Collector兩部分組成。Agent作為客戶端,一般內(nèi)嵌于網(wǎng)絡轉(zhuǎn)發(fā)設備(如交換機、路由器),通過獲取本設備上的接口統(tǒng)計信息和數(shù)據(jù)信息,將信息封裝成sFlow報文,當sFlow報文緩沖區(qū)滿或是在sFlow報文緩存時間超時后,Agent將sFlow報文發(fā)送到指定的Collector。Collector作為遠端服務器,負責對sFlow報文分析、匯總、生成流量報告。
2.4.2 融合過程
如圖3所示,經(jīng)過數(shù)據(jù)采集和預處理后存在原始數(shù)據(jù)庫的數(shù)據(jù)分為Snort、OVS和sFlow三個部分。經(jīng)過對機器算力和決策精度的綜合考量,數(shù)據(jù)融合算法選擇了決策層融合,由于OVS與sFlow得到的特征屬于多分類問題,而標準的SVM算法適用于二分類問題,此處選擇了一對多法多分類SVM作為這傳感器特征數(shù)據(jù)的訓練模型。
圖3 實驗模型設計圖
在特征約簡方面采用了劉效武等[6]的迭代訓練約簡法,即將設原始特征向量維度為n,則每次去除特征ci(1≤i≤n) 使用n-1個向量輸入SVM進行訓練。若此輪訓練中的精度A小于人為設定的閾值ε,則將特征ci加入約簡集Selection_set中。進行n輪訓練后得到最終的向量集合Selection_set。
最終,由Snort數(shù)據(jù)的特征部分、OVS、sFlow的特征經(jīng)過特征選擇訓練得出的決策,與SnortIDS得出的決策再進行決策層融合,采用貝葉斯方法,得到綜合的決策值。
2.4.3 評估過程
綜合得出的決策其輸入層次化量化評估模型,分別得到網(wǎng)絡級、主機級、服務級的態(tài)勢評估值V1、V2、V3。規(guī)定每一級態(tài)勢符合度SFi以及平均態(tài)勢符合度SFaverage滿足
SFi=PFi/AFi,i=1,2,3
(1)
SFaverage=(SF1+ SF2+ SF3)/3
(2)
其中PFi是通過決策得出的分類結(jié)果計算出某一級的態(tài)勢值,AFi是由已知樣本計算出的真實態(tài)勢值。
實驗軟硬件配置如表2所示,網(wǎng)絡拓撲配置如圖4所示。
表2 實驗軟硬件配置表
圖4 網(wǎng)絡拓撲圖
3.2.1 數(shù)據(jù)集獲取方式
目前能獲取到的公開數(shù)據(jù)集最大的缺陷在于其都是基于傳統(tǒng)網(wǎng)絡中交換機,路由器產(chǎn)生的數(shù)據(jù)與基于SDN網(wǎng)絡與SDN控制器、交換機的數(shù)據(jù)有所不同。所以,本文采取了通過在Mininet網(wǎng)絡中用網(wǎng)絡工具模擬攻擊,自主生成訓練數(shù)據(jù)集的方式。
3.2.2 模擬攻擊過程
在24 h的時間內(nèi),h1 Server始終開啟服務,用網(wǎng)絡工具hping3、LOIC(低軌道離子炮)模擬DoS/DDoS攻擊的過程。同時,內(nèi)網(wǎng)client通過wget等命令在隨機的時間點訪問h1 server產(chǎn)生內(nèi)網(wǎng)背景流量,整個內(nèi)網(wǎng)通過nat服務連接因特網(wǎng)產(chǎn)生外網(wǎng)背景流量。
由于運行mininet的性能限制,發(fā)送過多的包將導致機器崩潰,每次DDoS的時長與真實攻擊相比均較短,同時也對發(fā)包數(shù)量進行了限制。攻擊時段表如表3所示。
表3 攻擊時段表
在去除了無效的數(shù)據(jù)之后,得到可供訓練的樣本數(shù)統(tǒng)計如表4所示。
表4 樣本統(tǒng)計
3.2.3 Snort的決策層數(shù)據(jù)
事實上Snort的目前分析可疑數(shù)據(jù)包的協(xié)議范圍有一定的局限性,限于TCP、UDP、ICMP、IP四種,沒有ARP等協(xié)議的記錄。但對于本研究中的DoS攻擊類別四種來說已經(jīng)足夠。Snort的event表中的簽名字段和時間戳字段標識了Snort決策得到的當前報警信息。將在其后的步驟中輸入決策層融合模塊。
3.2.4 特征訓練
Snort的特征數(shù)據(jù)、OVS流表數(shù)據(jù)、sFlow提取后將相應字段和數(shù)據(jù)存入數(shù)據(jù)庫。從Snort-HIDS中取得的數(shù)據(jù)和從ODL、sFlow的RESTful API中得到的數(shù)據(jù)存在冗余或無用數(shù)據(jù),如果將原始數(shù)據(jù)直接導入作為輸入特征值將影響訓練的精度,一些與網(wǎng)絡層數(shù)據(jù)無關的特征在最終的數(shù)據(jù)集選擇中去除了之后,剩余的特征約簡后得到輸入向量中的關鍵特征集Selection_set共10個向量,如表5所示。
表5 用于訓練的特征
使用貝葉斯方法對Snort和多分類支持向量機的決策進行融合,融合決策結(jié)果如表6~8所示。
表6 二分類融合決策結(jié)果
表7 二分類統(tǒng)計
表8 多分類融合決策結(jié)果
由表6可觀察到融合決策二分類的F1-score達到了0.90,從實際應用的角度來說屬于可以接受的范疇。由表7可觀察到精確率比準確率高。由表8可觀察到,除了對TCP SYN的分類性能存在誤差容許范圍內(nèi)的下降之外,在使用同樣的Snort規(guī)則集的情況下,與Snort單源決策相比,加入了OVS流表和sFlow-rt信息的SVM訓練決策結(jié)果的總決策效果對不同種類的DoS攻擊判斷都有明顯的改善。
3.2.5 態(tài)勢評估與效果檢驗
根據(jù)評估公式可得到24 h的態(tài)勢評估值。選取了從h4發(fā)動的攻擊從7:07開始,7:16結(jié)束。從中取7:00~7:30之間的內(nèi)繪制出如圖5所示的網(wǎng)段10.0.10.0/24的態(tài)勢曲線圖??梢娖浠痉现庇^預期。同時圖6中顯示了24 h內(nèi)以1 h為采樣時長計算的平均態(tài)勢符合程度SFaverage亦符合預期。
圖5 7:00~7:30時段內(nèi)態(tài)勢評估折線圖
圖6 24 h內(nèi)的平均態(tài)勢符合度SFaverage曲線
由于使用的網(wǎng)絡數(shù)據(jù)集、網(wǎng)絡拓撲結(jié)構(gòu)以及選擇的評估量化指標不同,本文的分類結(jié)果嚴格說來與文獻中的結(jié)果不具有橫向的可比性,故此處不列出。另一方面從實用意義上來說融合模型低于90%的分類準確率仍有較大的提升空間。但作為研究與實現(xiàn)的驗證性模型來說,本實驗目的已經(jīng)達到。
(1)選擇的訓練算法中SVM多分類向量機還應該進行參數(shù)優(yōu)化;
(2)對最為常見的TCP SYN Flood攻擊的分類精度較低,應改進特征選擇算法;
(3)設置的數(shù)據(jù)集、攻擊方式和網(wǎng)絡拓撲過于簡單粗糙;
(4)限于時間,未實現(xiàn)態(tài)勢預測算法和實時性可視化模塊。
本文研究了應用于網(wǎng)絡安全態(tài)勢感知的相關算法,實驗驗證了在受到DoS的情況下,基于JDL的多源傳感器融合的網(wǎng)絡安全態(tài)勢感知模型做出的決策總體上優(yōu)于單源傳感器決策,且能較為準確地對當前網(wǎng)絡、主機、服務的態(tài)勢做出評估。實現(xiàn)了一個基于JDL多傳感器數(shù)據(jù)融合的網(wǎng)絡安全態(tài)勢感知模型,并將其應用于SDN網(wǎng)絡中對DoS的感知和評估。實驗結(jié)果顯示與單純使用IDS的方法相比,融合決策的誤報率和漏報率均有所下降,且輸出的態(tài)勢值具有一定的準確度,符合系統(tǒng)安全管理人員直觀評估的結(jié)果。