基于SDN的蜜網技術概述
云計算和虛擬化技術的發展,使得蜜網系統從傳統的硬件蜜網,發展成動態靈活的虛擬化蜜網成為了可能。SDN(Software Defined Networking)架構將網絡的控制平面從數據平面中分離出來,通過邏輯上集中的網絡控制器可以靈活的實現流量調度。這樣結合虛擬化和SDN來設計實現蜜網,對于業務系統,尤其是虛擬化環境下的業務系統的攻擊誘騙和防護取證起到了重大的推動作用。
本文首先從傳統蜜罐、蜜網、分布式蜜罐、分布式蜜網、蜜場等概念著手,然后介紹如何基于虛擬化和SDN實現虛擬化的蜜網,最后分析闡述當前學術界和工業界在虛擬化蜜網上做的一些工作。
1. 背景
信息安全問題歸根結底就是攻擊方和防守方的博弈戰爭,而在這場戰爭中,防守方通常處于被動不利的地位。俗話說“不怕賊偷,就怕賊惦記”與此有異曲同工之妙。作為防守方必須確保系統不存在任何可被攻擊者利用的漏洞,并擁有全天候的監控防御機制,才能確保系統的安全。而作為攻擊方來講,可以在任何時間、任何情況,只要發現目標系統存在可被攻擊的條件,就可以對其實施攻擊。
面對這樣的攻防博弈,典型的也是最常見的防御措施通常是威脅/漏洞發現后,根據威脅產生的不同部位,進行安全性修補。更多的是一種“亡羊補牢”,事后補救的機制。
蜜罐(honeypot)就是防守方為了扭轉這種不對稱局面而提出的一項主動防御技術。蜜罐定義為一類安全資源,它沒有任何業務上的用途,其價值就是吸引攻擊方對它進行非法使用。蜜罐技術本質上是一種對攻擊方進行欺騙的技術,通過布置一些作為誘餌的主機、網絡服務或者信息,誘使攻擊方對它們實施攻擊,從而可以對攻擊行為進行捕獲和分析,讓防守方清楚的了解他們所面對的安全威脅,并通過技術和管理手段來增強實際系統的安全防護能力。
蜜網(honeynet))是在蜜罐技術上逐步發展起來的一個新的概念,有時也稱作誘捕網絡。當多個蜜罐被網絡連接在一起,組成一個大型虛假業務系統,利用其中一部分主機吸引攻擊者入侵,通過監測入侵過程,一方面收集攻擊者的攻擊行為,另一方面可以更新相應的安全防護策略。這種由多個蜜罐組成的模擬網絡就稱為蜜網。
蜜網主要是一種研究型的高交互蜜罐技術,由于蜜網涉及到多個蜜罐之間的網絡體系架構設計,同時為了提高高交互性,又會存在一些真實的業務邏輯,因此蜜網的設計相對蜜罐來說要復雜的多。蜜網設計有著三大核心需求:即網絡控制、行為捕獲和行為分析。通過網絡控制能夠確保攻擊者不能利用蜜網危害正常業務系統的安全,以減輕架設蜜網的風險;行為捕獲技術能夠檢測并審計攻擊者的所有行為數據;而行為分析技術則幫助安全研究人員從捕獲的數據中分析出攻擊方的具體活動。
為了克服傳統蜜罐技術監測范圍受限的弱點,在2003年左右出現了分布式蜜罐(distributed honeypot)與分布式蜜網(distributed honeynet)的概念。分布式蜜網系統能夠將各個不同位置部署的蜜網捕獲的數據進行匯總分析。分布式蜜罐/蜜網能夠在互聯網不同位置上進行多點部署,有效的提升安全威脅監測的覆蓋面,克服了傳統蜜罐監測范圍窄的缺陷,因而成為目前安全業界采用蜜罐技術構建互聯網安全威脅監測體系的普遍部署模式。
在當前的安全攻防領域,蜜罐和蜜網技術的發展已經使得我們能夠部署一個蜜網,并對攻擊者的攻擊事件進行分析。但是現階段廣泛被大家接受和部署的蜜網基礎設施,主要還是硬件服務器部署的方式,這樣一方面蜜網結構很難根據攻擊行為進行動態的調整,另一方面,大量的物理基礎設施用來進行蜜網系統的部署運行,安全防護成本較高。
隨著虛擬化技術的不斷發展,尤其是近年來SDN/NFV技術的不斷成熟,能否采用虛擬化技術來實現蜜網系統?能否在SDN/NFV的環境中通過蜜網系統實現安全防護?答案當然是肯定的。
2. SDN蜜網概述
SDN蜜網,主要是指在SDN網絡中,通過蜜罐/蜜網技術,實現業務系統的安全防護。眾所周知,SDN網絡可以理解為一種集中控制的網絡,通過邏輯上集中的控制平面,一方面能夠獲取到全局的網絡信息,另一方面,能夠靈活的對特定流量進行調度。這樣結合虛擬化技術,就能夠在威脅發現之后,動態的生成相應的蜜網系統,同時利用SDN控制器,將異常流量調度到虛擬化的蜜網系統中,完成異常行為的跟蹤取證與安全防護。如下圖所示,就是基于SDN網絡組建的虛擬化蜜網防護系統的一個簡單的邏輯圖。這種SDN蜜網的好處在于有效的解決了前文所提到的傳統蜜網的部署結構不靈活,基礎設施成本高等問題。
現階段,基于SDN的虛擬化蜜網系統通常包括以下幾個部分:入侵檢測模塊、蜜網管理模塊和流量調度模塊。入侵檢測模塊是對所有訪問業務系統的流量進行鏡像檢測,以發現帶有安全威脅的異常流量,進而確定疑似攻擊者信息。當發現異常流量之后,蜜網管理模塊就會根據異常訪問的信息,動態生成相應的蜜網系統,并且完成蜜網網絡的配置。接下來,流量調度模塊就會將異常流量調度到蜜網系統中,完成相應的攻擊檢測、取證、防護等工作。
下面,本文將結合學術界和工業界的一些技術方案,詳細分析如何實現基于SDN的虛擬化蜜網系統的設計和構建。
3. 實現方案
基于SDN和虛擬化技術的動態蜜網系統近年來無論是在學術界還是在工業界,由于其靈活的實現方式,得到了大家的一致認可。下面本節就選擇幾個典型的實現方案進行詳細的分析和比較。
參考文獻[2]提出了一種SDN網絡的蜜網安全防護系統,系統主要包括網絡入侵檢測模塊、蜜網管理模塊和SDN控制器集群管理模塊。網絡入侵檢測模塊對進入組織內部的流量進行入侵檢測;蜜網管理則負責蜜網的創建、流量轉發規則以及蜜網數據庫維護等。SDN控制器集群則對整個系統內的多個SDN控制器進行協調管理和通信維護。如下圖所示就是整個系統的一個簡單的架構圖。
其工作流程主要是:首先在整個業務系統網絡的邊緣SDN交換機進行流量鏡像的配置,通過端口鏡像將所有訪問業務系統的流量傳輸至入侵檢測系統。如果入侵檢測系統判定流量無異常,那么就將其進行正常的轉發;如果發現異常,則根據安全威脅進行等級劃分,并識別攻擊類型,將攻擊類型、特征、以及安全威脅等級告知蜜網管理模塊。
蜜網管理模塊據此信息,參考蜜網模型數據庫,計算出對應的蜜網網絡架構,然后創建虛擬化蜜網;同時將相應的流量調度策略傳輸給SDN 控制器,控制器下發流量匹配規則到SDN交換機,完成整個異常流量的調度工作。
這種方式巧妙的結合了虛擬化和SDN各自優勢,是一種典型的基于SDN的虛擬化蜜網防護設計思路。
參考文獻[3]同樣是結合計算虛擬化和網絡虛擬化技術,實現了一種全虛擬化的蜜罐主機和一種可動態調整和可擴展的動態虛擬蜜網系統,以及提出疊加虛擬蜜網的概念。
其整體架構主要包括業務網絡、基于OpenFlow交換機的蜜墻以及虛擬蜜罐系統。在業務網部署入侵檢測和流量分析系統,當檢測到攻擊流量時通報控制器;Floodlight控制器收到流量轉發請求后生成流量控制命令并通過控制器傳輸至OpenFlow交換機;OpenFlow交換機解析流量控制命令,根據請求內容轉發攻擊流量至虛擬蜜罐系統;虛擬蜜罐系統根據當前系統負載進行傳輸控制,將不同的服務流量導入不同的服務集群中;蜜網系統收集和分析攻擊流量,并記錄攻擊行為、攻擊源和攻擊日志等信息,完成蜜網工作。從這個整體思路來看,該項工作與參考文獻[2]的思路其實是很像的。下面我們再看看其詳細的工作流程。
具體工作流程如下圖所示,當外部請求進入OpenFlow交換機后,交換機通過流信息(協議、端口等)識別解析流。轉發策略控制模塊根據當前的服務部署情況創建轉發規則(如HTTP請求的流進入HTTP服務系統中),轉發的同時修改流中數據包的目的MAC地址和目的IP地址,并將這些規則推送到OpenFlow交換機中。服務流進入相應的服務系統中進行相應處理。服務系統響應的數據包到達OpenFlow交換機后根據流表規則,修改源MAC和源IP,最終融合返回給攻擊者。至此完成虛擬蜜罐的實現流程。
作者在這里還提到了一個疊加虛擬蜜網的概念,所謂的疊加蜜網,就是通過對OpenFlow交換機進行規則設定,實現網絡的分片劃分,達到疊加網絡的效果,也就是展現為不同的蜜網系統。這樣不同分片的蜜網系統也就實現了相互隔離的目的。
這種實現方式較參考文獻[2]我們發現有以下幾點不同:(1)本方案在處理異常流量向蜜網系統調度時,采用的是修改數據包目的IP和目的MAC的方式,而參考文獻[2]則是直接通過設置流表output端口實現。這樣在攻擊者的角度來看,本方案的蜜網系統更具有隱蔽性;(2)本方案的虛擬蜜網系統在生成時,僅僅是考慮了應用協議這一方面,比如異常流量是HTTP請求,那么就將其調度到一個虛擬的HTTP蜜罐服務;并未過多的考慮到真實業務系統的交互邏輯,而參考文獻[2]在這方面考慮的相對比較周全。
參考文獻[4]提出一種基于虛擬機的彈性防攻擊方法,主要應用在云計算系統的網絡安全領域。通常云計算系統的主機都是掛在一個虛擬的交換設備上,比如OVS(Open vSwitch),這個OVS的轉發規則由SDN控制器根據預先設置的白名單來進行制定。
當攻擊者的數據包經過OVS交換機時,會向SDN控制器發出packet_in事件請求。控制器查詢訪問控制白名單,確認訪問是否合法;同時會對符合白名單的數據包進行異常分析,來確定其是否為攻擊流量,如果是,那么刪除其白名單中對應的規則,并且克隆一臺預先配置好的蜜網虛擬機。最后控制器生成一條將攻擊流量導向新生成的虛擬機的流表,并下發至相應的OVS交換機上。
我們發現,該方案在設計實現上較前兩種又不太一樣。首先就是本方案首先確定一個大前提,就是在云計算系統中,由于云計算系統無論在網絡架構上,還是在流量特性上,較傳統的數據中心還是有一定的區別的。然后就是基于這樣的前提,本方案并沒有采用獨立的入侵檢測系統去對所有的訪問流量進行異常檢測,而是將這個功能實現在了SDN的網絡控制器里,僅僅是針對符合其預設白名單的流進行異常檢測。最后就是本方案一旦發現流量異常之后,再將其調度到蜜網系統的同時,會在白名單中刪除對應的規則,也就是說,這個異常的源主機在后續發起的流建立請求都將被忽略掉,實現了異常主機的隔離。
參考文獻[5]提出了一種利用虛擬化蜜網技術,實現云平臺的信息安全攻防體系架構。參考文獻[6]同樣是通過入侵檢測系統和虛擬蜜罐系統的結合,實現了一種云計算系統的安全控制方法。
從以上這幾個方案可以看出,基于SDN實現的虛擬化蜜網系統,在總體設計思路上,并沒有太大的差異,只是不同的方案針對不同的應用場景,在實現細節上會有些許的不同。
4. 總結
本文從傳統的蜜罐、蜜網、分布式蜜罐、分布式蜜網等概念著手,介紹了蜜罐和蜜網技術在攻防博弈不對稱的情形下,如何實現主動安全防御的一種思路。然后介紹了如何基于SDN網絡,結合虛擬化技術,實現SDN蜜網系統,并且介紹了幾個典型的SDN蜜網系統實現方案,比較了幾種實現方式的異同。
近年來,云計算逐漸的被人們所接受,而云上業務的安全問題也越來越受到大家的關注。從上述的幾個實現方案可以看出,基于SDN的虛擬化蜜網系統可以完美的部署在云計算系統中,對于異常攻擊的檢測、取證、防護有著重要意義。