胡 洋
(廣州民航職業技術學院 航空港管理學院,廣州 510403)
隨著網絡環境的日益復雜,信息安全已成為互聯網時代公眾關注并重點研究的對象.但是如防火墻、入侵檢測等傳統的網絡安全硬件設備,在云計算技術高速發展的時代,已經出現了技術的滯后,攻防不平衡的問題.現有的防御體系需要依賴先驗知識[1],即具備較為廣泛的攻防知識儲備和數據支撐,是一種典型的被動防御.而蜜網[2,3]恰恰解決了這個問題,通過提前設計的蜜罐主機,誘騙攻擊者攻擊,使攻擊者誤以為攻擊對象是真機.從而迷惑攻擊者,同時獲取攻擊者的攻擊行為和態勢信息,再進行分析評估.這種機制是一種十分有效的主動防御機制.但是,傳統的蜜網需要物理機部署,使得其在部署過程中,存在實施復雜、成本高昂且流量控制困難等問題.本文提出結合軟件定義網絡(SDN)與Mininet技術相結合,構建虛擬蜜罐主機和軟件定義網絡拓撲,并利用深度學習優化路由網絡路徑選擇,將攻擊流量引入蜜網,從而提高網絡的安全性和收斂性,并通過連續時間的仿真攻擊實驗驗證了網絡防御的有效性.
蜜網技術是在蜜罐技術的基礎提出的,是由誘騙服務模塊集中部署的蜜罐群構成,是具有高交互、研究型的蜜罐技術[4].通過物理機部署一套與真實系統幾乎完全一致的模擬仿真系統,誘騙攻擊者對模擬目標進行攻擊.其關鍵技術主要包括進行對攻擊者的網絡欺騙、攻擊數據的掃描獲取、網絡流量控制、攻擊樣本特征提取和預警.但是這種機制交互性較低,不能做到對未知攻擊的識別,而且存在設備昂貴、部署不便、動態調整難度加大等問題.這使得有一些學者開始致力于蜜網的改進研究,文獻[5]提出了一種通過擬態的方式來有效防范網絡攻擊的方法.文獻[6]針對網絡防范方面攻防不平衡問題,提出通過網絡空間擬態主動防御的方法.文獻[7]提出了使用Openflow 協議構建虛擬蜜網并驗證延時較低和動態性的特性.但是,在蜜網受到攻擊時能夠自主動態變化的研究卻沒有太多的突破.
正是因為SDN 的提出,具備了分類轉發控制架構的能力,使得全局網絡的動態管控和優化成為在云計算時代得以快速發展的重要原因.也正是利用這個優點,可以很好的解決上述傳統蜜網的諸多問題.本文在前人的研究基礎上,利用SDN 的OpenDaylight 控制器,實現對Open VSwitch 虛擬交換機流表的控制,簡化網絡設計,快速部署虛擬網絡,再利用Mininet 構建輕量級虛擬蜜罐主機及網絡,能夠實現高速、輕量部署蜜網的目標,虛擬蜜網構建如圖1所示.構建的3 層網絡包括:1)虛擬基礎設施層由網絡設備搭建業務網絡,通過配置OpenVSwitch 部署虛擬交換機,利用OpenFlow 協議流表管理交換機,利用Mininet 技術連接SDN 底層,搭建蜜罐服務器和真實業務服務器,構建快速、動態調整的虛擬蜜網底層;2)決策控制層利用OpenDaylight 控制器對虛擬交換機的流表信息收集和流量轉發控制,優化網絡資源,實現快速的網絡業務部署;3)業務應用層則是提供各項網絡應用服務,為外部提供業務訪問及主動防御虛擬蜜網,其中虛擬蜜網的作用可誘導攻擊者,保護真實業務服務器,同時根據需要動態調整網絡結構,獲取攻擊者的有效態勢數據,實施主動防御,如圖1所示.

圖1 加入深度學習的SDN 虛擬蜜網構建
業界學者的研究重心開始關注智能決策和多維數據處理能力的機器學習領域.如何將深度學習融入SDN 的轉發功能,讓SDN 具備智能化也是一個值得學者深入研究的問題[8,9].
本節將在DDPG 技術的基礎上,介紹將深度學習融入SDN 蜜網的可行性方案,由此實現SDN 蜜網的智慧化網絡轉換.
SDN 蜜網架構上疊加機器學習的能力,使得虛擬蜜網在受到網絡攻擊時,主動做出響應,是智慧體能控制網絡,具備網絡轉發時延低、動態性強,主動將攻擊轉向蜜網的特性.
正如圖1所示,在SDN 虛擬蜜網架構的基礎上,增加智能決策層,通過SDN 的全網視圖和對流表的控制轉發,可以實現全局的、實時的蜜網智慧管控,從而達到提高網絡安全的作用.智慧蜜網的關鍵是對蜜網的狀態進行實時感知.同時,在受到網絡攻擊時能夠通過智慧決策來調控網絡的運行,其主要的功能是能夠智慧化選擇路由通路、資源分配,優化網絡資源,實現網絡空間智慧運行.
深度學習是指智慧體在環境中具備感知和決策能力,并能夠獲取最大獎勵值的一種學習方法.但是基于值的學習機制往往是對離散時間的算法控制,而對于連續動作的建模則顯得力不從心.這種算法如果應用在需要實時性和動態性調整的并遭受著頻繁攻擊的蜜網系統場景,則會變得毫無意義.針對這些問題,DeepMind 團隊提出了DDPG (Deep Deterministic Policy Gradient),得到了更高效穩定的離散動作控制模型,其主要的方法是將利用DQN (Deep Q-learning)[10]和DPG (Deterministic Policy Gradient)兩種方法的結合,再通過μ神經網絡來擬和策略函數和Q函數,構建高效穩定的離散動作模型[11],最終通過實驗驗證,得到求解.
DeepMind 團隊在其提出的DDPG 架構中,設計了Actor-Critic 整合架構[12],其中Critic 模塊使用DQN方法,Actor 模塊使用DPG 方法.這兩個模塊分別由兩組神經網絡構成.Critic 模塊用于DQN 神經網絡更新,主要負責阻斷訓練的Target 網絡;而Actor 模塊用于擬合DPG 策略函數更新Online 網絡,主要負責訓練學習的Online 網絡.其中Target 網絡結構與Online 相同,但是參數是由前上一輪時間Online 網絡傳遞過來的網絡參數.每一輪的學習樣本都是從之前互動轉換信息經過存儲的經驗池中提取構成,再經過學習訓練,不斷的更換神經網絡參數,兩個模塊相互融合、滲透,訓練框架如圖2所示.

圖2 DDPG 訓練框架
在Actor 模塊中,對于DPG 神經網絡的更新反向傳遞可以理解為是策略梯度,計算式如下所示:

其中,K為μ策略的性能函數.表達式右邊由兩個乘積項組成,前面一個乘數表示為Actor 神經網絡獲得的更大回報時動作移動的方向向量,即Critic 神經網絡的動作梯度,后面一個乘數為Actor 神經網絡自身調整的參數,即Actor 網絡的參數梯度.前后兩者相乘,得到以獲得最高回報來調整自身參數.
在Critic 模塊中,DQN 神經網絡的更新反向傳遞可以表示為式(2):

其中,k是由前上一輪時間Online 網絡傳遞過來的網絡參數作為Target 網絡下一步狀態(s)與動作(a)的值均方差的結果,所以y又可以進一步分解為式(3):

前面介紹過,這里的μ代表神經網絡來擬和策略函數,Q代表Q值.即將Actor 模塊中的Online 網絡與Critic 模塊中Target 網絡進行評估,然后生成Q值.
通過利用上述深度學習機制將其部署到SDN 的虛擬蜜網當中,對SDN 路由選擇中最小延遲等參數的優化,實現了自動優化選路.當網絡遇到攻擊時,將攻擊流量引入蜜網,從而迷惑攻擊者,制造假象.其中,深度學習機制的智慧體是通過獎勵(r)、動作(a)、狀態(s)3 個信號與外界進行信息通訊.我們將當前網絡負載量設定為狀態(s);將設置網絡鏈路權值來改變路由路徑選擇的行為設定為動作(a);最后,通過改變Reward的設置來實現對均衡延時、吞吐量等多個性能參數的優化,達到獎勵(r)的目的.在實際的網絡環境中,可以理解為對網絡流量的異常變化分析,反映出網絡受到攻擊的情況,通過捕獲當前的網絡狀態(s),具備深度學習的智慧體SDN 控制器確定一個優化的鏈路權值,再根據權值大小,重新計算鏈路,控制器下發實施規則,最后分析新路徑的實施獎勵(r)的狀態,重復多次的運行,將攻擊流量引入虛擬蜜網,達到對真實業務網絡的保護作用.如圖3所示.
本文實驗平臺硬件環境為CPU 為Intel E5-2600V4,內存為DDR4 的256 GB,GPU 為英偉達TESLA V100 32 GB,利用Mininet 構建輕量級服務器和蜜網.服務器安裝Ubuntu 16.04 系統,在系統上安裝Beryllium 版本的SDN 控制器ODL,以及機器學習框架TensorFlow搭建KerasAPI.另外服務器通過ODL 對蜜網進行流量控制,通過深度學習對SDN 進行收斂性和有效性進行測試,驗證結果.

圖3 深度學習優化虛擬蜜網路由選路
實驗網絡拓撲采用云計算體系下SDN 虛擬架構,為了模擬實際業務網絡的真實性,實驗網絡由30 個節點及50 個網絡鏈路構成,使用ODL 控制器對蜜網進行動態部署,營造逼近真實應用環境.在實驗測試中,使用Mininet 創建2 臺虛擬交換機及2 組虛擬服務器,每臺交換機分別連接1 組服務器,每組服務器分別配置HTTP 服務、數據庫服務、DNS 服務、TELNET 服務、RPC 服務和FTP 服務共6 種服務,其中一組為真實業務服務器,另一組則為構建在蜜網中的虛擬蜜罐服務器.實驗時,分別設置幾種不同的流量強度及形成多個差異化的流量矩陣,以模擬不同環境下網絡受到不同程度攻擊的效果.部署如圖4所示,其中圖中右側為真實提供服務的業務服務系統,左側為誘導攻擊者的虛擬蜜網系統.SDN 蜜網測試效果圖如圖5.
為了驗證本實驗受到攻擊時具備深度學習的路由選擇路徑的收斂效果,實驗為對加入優化訓練的智慧體路由機制與大量隨機生成的路由機制進行比較性訓練,將對其流量強弱設定為不同的步數,從而對比測試它們在不同環境下的狀態,驗證實驗結果.
在實驗中,采用占全網5%、20%、50%、80%、100%共5 種帶寬強度的流量進行測試,均生成100 個流量矩陣,而后再測試優化后路由路徑選擇性能,作出的反應測試如圖6所示.

圖4 實驗部署圖

圖5 SDN 蜜網測試效果圖

圖6 不同強度實驗變化結果
實驗結果顯示,在隨著網絡流量的不斷增加,即網絡遭到攻擊越來越嚴重的情況下,經過訓練后的優化路由選擇都有明顯提升,其中在流量強度為80%的時候,優化最為明顯,提升效率接近40.6%.這說明,深度學習后的SDN 虛擬路由選擇將攻擊流量較好的引入了不負責實際業務的蜜網,由蜜網擔負了大量的攻擊流量,實驗證明了優化路徑選擇具備明顯的收斂性.從而在虛擬蜜網的構建中,對抵御網絡攻擊起到了良好的保護作用,為實際業務網絡的運行提供了保障,增加了攻擊難度.同時為蜜網獲取有效的攻擊態勢數據,提供了良好的網絡基礎.
這里值得注意的是:該算法的時間復雜度為O(n2),其中的n為網絡邊數.智慧體在經過訓練得到收斂網絡路徑后,就可以通過矩陣乘法計算出最優路徑.對比啟發式算法,例如蟻群算法的時間復雜度O(n(n–1)mt)而言,本文的算法在SDN 虛擬蜜網的應用中具備更低的時延性.而且與傳統的靜態蜜網相比,具備更高的保護性和抗攻擊性,更難識別.基于深度學習的SDN 網絡是目前云計算時代網絡發展的一個必然趨勢,應用前景廣闊.本架構設計采用Python 代碼編寫網絡拓撲(如圖7),能夠根據需要動態的增減主機和網絡拓撲,智能選擇路由,提高網絡安全.

圖7 Python 編寫網絡拓撲腳本
本實驗在測試的同時,還對真實業務服務器及蜜網中的蜜罐服務器在同一時間間隔下優化前后受到的攻擊做出了統計與對比,具體數據如表1所示.其中用“n/n”兩組數據來表示“優化前/優化后”的比較,空白處為該項服務未開啟,0 表示該時間段該服務器未收到攻擊.

表1 優化前后業務服務器與蜜罐受到攻擊對比情況
實驗結果可以看出,在經過深度學習的訓練后,SDN 路徑選擇將攻擊轉向蜜網,蜜網中的蜜罐服務器受到的攻擊次數比真機受到的攻擊次數明顯增多.其訪問過程可以解釋為:當外來訪問者正常請求某種服務時,首先是正常訪問真實業務服務器,由業務服務器提供服務;當外來訪問者想利用業務服務器漏洞發起攻擊時,訪問強度、頻率或流量會出現明顯增大的情況,這時會觸發智慧體認知為是攻擊行為,并同時采取路徑選擇優化機制,將數據包的目的IP 和Mac 地址轉向蜜網中的蜜罐服務器,由蜜罐服務器提供相關服務,同時記錄攻擊者態勢數據,而攻擊者并不會察覺出任何異常.這時系統將主動阻斷攻擊鏈,從而起到保護業務真機服務器,實現防御攻擊的目的.同時,在攻擊者對網絡進行較為強烈的攻擊時,智慧體會再次自主調整蜜網系統,轉化網絡路由選擇,從而使得網絡更加隱蔽性.通過實驗驗證了深度學習的SDN 虛擬蜜網具備主動防御的可行性,減少了網絡攻擊威脅,獲取了更多攻擊態勢數據.另外,由于正常訪問過大而引起的流量增大情況,如何解決?其實前面介紹過,蜜罐服務器有著與真實業務服務器一樣的服務能力,因此,在正常訪問過大而引起的流量增大時,蜜罐服務器也是可以提供正常服務的,經過優化分類從而分擔真實業務服務器的壓力,這里就不再討論了.
本文在前人的研究基礎上,結合深度學習技術、SDN網絡技術、ODL 和Mininet 技術組建輕量級蜜罐服務器,構建動態虛擬蜜網.通過驗證,證實了本文設計的具備深度學習的智能蜜網機制能夠根據網絡訪問強度和訪問流量的變化自主路由選擇,將攻擊引向蜜網機制.解決了傳統蜜網部署復雜、造價昂貴、流量控制不便等問題,同時有效的提高了網絡的隱蔽性,實現了主動防御,保障了業務網絡有效運行.