施江勇,楊岳湘,李文華,王森
(國防科技大學計算機學院,湖南 長沙 410072)
基于SDN的云安全應用研究綜述
施江勇,楊岳湘,李文華,王森
(國防科技大學計算機學院,湖南 長沙 410072)
軟件定義網絡(SDN,software defined network)技術將傳統網絡的控制層和數據層進行解耦合,使網絡具有可編程性,極大地方便了網絡應用的開發。對基于 SDN的云安全應用進行了全方位的分析,在分類的基礎上,對每一類安全應用順著其發展脈絡分析了相關工作的優缺點,并進行了總結。另外,針對當前云安全服務模型不夠完善、不能跟計算和網絡服務有機整合的問題,提出了一種基于 SDN的云安全服務模型SDCSec。最后,對基于SDN的云安全應用的未來發展方向做了展望。
軟件定義網絡;云計算;云安全;應用開發
傳統安全解決方案在云數據中心部署時面臨網絡邊界模糊、流量監控困難、策略無法跟隨虛擬機遷移、安全無法按需交付以及安全管理邊界難以定義等問題。軟件定義網絡的出現為這些問題的解決帶來了契機。軟件定義網絡的概念始于2006年斯坦福大學Clean State項目組,并于2009年得到了系統的闡述,即基于分層的思想將數據與控制分離,通過軟件實現對網絡控制的編程。OpenFlow[1]作為SDN的典型實現,以其簡明的結構、清晰的API定義得到了廣泛的研究,成為SDN領域最知名的協議。
SDN主要由基礎設施層、控制層和應用層組成,如圖1所示。通過分離傳統網絡的數據面板和控制面板,實現靈活的網絡管理和敏捷的應用開發。SDN的主要特性包括集中控制、開放接口、網絡虛擬化。集中控制的特點方便網絡管理員或安全管理員對數據中心、云網絡進行統一的管理,在提高效率的同時避免因管理不當造成的單點失效問題。開放接口的特點極大地方便了網絡安全應用的開發,以控制器為核心,通過南向接口連接各類網絡設備,通過北向接口方便應用開發,最終實現應用和網絡的無縫集成。

圖1 SDN架構及其在云數據中心的部署
云計算的虛擬化、彈性、按需提供特性跟SDN的網絡虛擬化、靈活性、開放性特點非常相似,兩者的出發點都是為了提高資源的可管理性和利用率,只不過前者側重于計算資源、后者側重于網絡資源。兩者的結合勢必進一步推動云計算的發展,尤其是在網絡安全領域,基于SDN開發云安全應用成為云計算發展的重要方向。SDN跟云計算的結合,使網絡資源能夠與計算資源、存儲資源一同以服務的方式交付用戶,同時SDN對于提高數據中心的能效、增強網絡的可管理性以及提高網絡安全性具有廣泛的應用空間。本文研究SDN跟云安全結合的應用案例,在細粒度分類的基礎上總結基于SDN云安全應用的一般性問題,并針對現有工作的不足對未來研究方向提供一定的建議。
基于SDN的云安全應用可以分為以下類別:防火墻、DDoS檢測、IDS/IPS、異常檢測、網絡監控,以及其他安全應用。本文以具體的應用類型對現有工作進行梳理,并總結其優缺點,從中發現基于SDN安全應用的未來發展方向。
2.1 防火墻
云數據中心的防火墻既要提供嚴格的外網訪問控制,又要在多租戶的環境中對云內部進行有效的網絡隔離,是云用戶最廣泛的安全需求。在SDN出現之前,云數據中心防火墻主要基于硬件防火墻進行實現。硬件防火墻成本高,且配置不靈活,而云數據中心網絡規模巨大、網絡拓撲隨虛擬機遷移動態變化,使防火墻策略管理非常困難。SDN的出現及其集中控制的特點,使軟件防火墻非常容易實現。
Oftables[2]基于OpenFlow實現了細粒度的防火墻,OpenFlow將傳統的7層網絡扁平化,通過豐富的匹配字段可以實現細粒度的包過濾和訪問控制,如基于MAC地址、IP地址、端口、協議類型等。
DC-firewall[3]考慮 P2P網絡的分布式特點構建了基于SDN的分布式防火墻。DC-Firewall使用模塊化設計提供擴展性,以適應不同的P2P網絡拓撲結構。然而DC-Firewall并沒有討論如何實現不同防火墻之間的協調以及如何避免防火墻之間策略的沖突,也沒有具體實現細節。
Floodlight-Firewall[4]是Floodlight控制器的一個模塊,提供的是防火墻功能。Floodlight-Firewall通過監控 Packet-In消息實現規則匹配并將規則轉換為流表下發交換機,實現訪問控制。Packet-In消息是指交換機在找不到數據分組對應匹配流的時候發送給控制器的消息,該消息攜帶了數據分組的內容,因此可供控制器分析并做出響應。通過給防火墻規則對應的流表分配優先級,實現不同防火墻規則按優先級進行匹配。Floodlight-Firewall存在的問題是防火墻規則到流表的轉換不夠靈活,如傳統防火墻支持的端口范圍匹配在Floodlight-Firewall上就無法實現,此外,刪除防火墻規則時,交換機中對應的流表并沒有立即刪除,而是等到其超時后才失效,這會留下安全隱患。
OpenFlow協議是無狀態的,即流表的匹配跟歷史數據無關,這使攻擊者能夠通過改寫交換機中的流表項繞過現有的 SDN防火墻。FortNox[5]針對該問題,提出了流表修改檢測方法,該方法通過將流表中被修改過的源地址和目的地址加入IP地址集合中,然后與防火墻策略中的IP地址進行比較來檢測策略沖突。該方法能夠檢測出部分策略沖突,但由于缺乏跟蹤數據流路徑的機制,從而導致存在誤報。
此外,由于 SDN交換機的流表頻繁地發生變化,包括流表增添、修改和刪除,導致防火墻的規則也可能發生沖突。FlowGuard[6]和FlowVerifier[7]針對這一問題進行了研究,并提出了一種動態策略沖突檢測和消除方法。其沖突檢測方法基于頭部空間分析構建流路徑空間和防火墻策略授權空間,當檢測到流路徑空間和防火墻授權空間發生重疊時判定為沖突,然后通過重新選擇流路徑或給流增加標記來消除沖突。雖然FlowGuard和FlowVerifier考慮流表更新給防火墻規則帶來的沖突問題,但沒有解決虛擬機遷移時防火墻策略的遷移問題。
表1總結了基于SDN防火墻應用的優缺點,由表1可知,基于SDN的防火墻正由無狀態向有狀態演變,規則設置的粒度也越來越細,然而流表的轉換規則、策略沖突問題和策略遷移問題依然是目前防火墻應用普遍存在的問題,有待未來研究進一步解決。
2.2 DDoS檢測
DDoS攻擊一直是互聯網安全嚴重的威脅之一,由于其發送的數據分組本身可能是正常的業務數據分組,使其很難通過分組檢測的方式進行檢測。尤其是對于云內部的DDoS攻擊,不僅會消耗目標虛擬機的資源,也會消耗主機的資源,影響云內其他租戶。因此,基于SDN高效地檢測DDoS攻擊很有必要。
Lightweight-DDoS[8]利用SDN控制器的集中特性提取DDoS攻擊的特征,包括流平均報文數、流平均字節數、流平均持續時間、對流比例、單流增長率、端口增長率,然后使用自組織映射人工神經網絡算法進行分類,實驗結果表明,跟其他基于報文檢測的方法相比,Lightweight-DDoS具有更高的效率和相似的效果,并且可以動態調整獲取流特征的交換機以適應網絡的變化以及攻擊的來源,進一步提高效率。然而,Lightweight-DDoS使用固定周期查詢流統計信息,適應性不夠,若周期太長,則檢測結果不準確;周期太短,則開銷大。此外,流量過大、檢測任務過重時需要多個檢測器協同,如何最優化任務劃分以及情報共享并沒有論述,且Lightweight-DDoS只能檢測到DDoS攻擊的存在,無法精確定位攻擊者。

表1 基于SDN的防火墻應用
Behavior Threat Detection[9]關注于大流檢測問題,包括高速、持久化的DDoS攻擊,在總結不同網絡層檢測大流的方法后,提出 SDN/NFV在大流檢測領域的優勢,主要是可以動態調整流信息處理的參數閾值,如帶寬閾值和時間閾值;調整的方式既可以根據不同流類型調整,也可以根據不同攻擊類型調整,從而實現自適應的流信息統計和高效的大流檢測,然后該文并沒有實現具體的應用。
Early DDoS Detection[10]基于SDN控制器,利用目的IP的熵變化檢測DDoS攻擊,其優點是速度快(前500個數據分組即可檢測到DDoS攻擊)、開銷低,可以避免SDN控制器本身遭到DoS攻擊。然而,單純基于目的IP地址變化檢測很容易被繞過。此外,沒有解決針對SDN控制器本身DDoS攻擊的問題,因為攻擊者可以構造目的IP分布很均勻、源IP也很均勻的陌生數據分組,造成Packet-In消息擁堵。
DaMask[11]分析了SDN和云環境下DDoS檢測面臨的新困難,包括云內部的網絡攻擊難以檢測、防御機制必須根據網絡拓撲動態更新而調整、SDN處理分組的效率較低等,并針對性地提出了DaMask解決方案,該方案使用基于Chow-Liu算法的自動特征選擇,提出了一種快速低開銷的DDoS攻擊檢測算法以減少通信開銷,并針對數據集漂移問題,提出基于圖模型的局部更新和全局更新這2種方案。但該方案以SDN交換機作為最小監控粒度,多租戶共存的情況下無法區分不同用戶的流量,存在誤報率高的問題。
FlowGuard2[12]是一種針對控制器飽和(DoS)攻擊的解決方案,該方案不同于上述工作,其保護的對象并非SDN網絡內的主機或虛擬機節點,而是SDN控制器本身。通過主動流規則分析和分組遷移技術實現基于 Packet-In的DoS攻擊檢測。
Bohatei[13]是一種彈性可擴展的DDoS防御系統,為了避免控制器和交換機之間的性能瓶頸,Bohatei將防御虛擬機部署在關鍵網絡位置,而非SDN控制器上。Bohatei可以根據攻擊流量的大小和位置靈活部署虛擬機或增加防御虛擬機的資源,具有很強的擴展性,最大可以處理高達500 Gbit/s的DDoS攻擊。但是Bohatei需要大量虛擬機資源作為支撐。
表2是對現有基于SDN的DDoS攻擊檢測研究的小結,由表2可知,基于SDN的DDoS攻擊檢測目前研究較為充分,主要利用SDN集中控制的特點,既方便攻擊信息的收集(通過流表統計),也便于在檢測到DDoS攻擊后及時響應(安裝靜態流表),存在的主要問題有以下3個:1) 流信息的收集對SDN控制器的開銷較高;2) 對DDoS攻擊的檢測精度和速度問題,由于要實現實時的檢測和響應,需要及時快速的檢測,同時保證一定的精度;3) 對控制器本身 DoS攻擊的防護問題,以避免控制器單點失效。
2.3 IDS/IPS
傳統的入侵檢測系統(IDS,intrusion detection system)和入侵防護系統(IPS,intrusion prevention system)無法適應云的動態特性,虛擬機遷移、彈性 IP分配以及虛擬之間流量的檢測都給傳統IDS/IPS帶來了挑戰。SDN的出現為這些問題的解決帶來了曙光,基于SDN集中控制的優點,IDS可以靈活地選擇檢測的網絡范圍,且在虛擬機遷移時及時探測并動態調整策略,此外,檢測到入侵行為后可以通過安裝靜態流表快速對入侵行為響應,如阻止、隔離、或導流到蜜罐深入分析。

表2 基于SDN的DDoS檢測應用
NICE[14]基于OpenFlow可編程API實現了一個分布式的監控架構,以阻止包含漏洞的虛擬機被利用。首先通過攻擊圖模型和虛擬機畫像對虛擬機的威脅性進行評估,然后基于SDN將可疑虛擬機的流量導流到 Snort進行檢測,在檢測出攻擊行為后通過VLAN隔離攻擊虛擬機或者直接丟棄可疑流量,從而確保攻擊行為不影響其他正常虛擬機。NICE專注于解決云內部的入侵行為,對于外部攻擊缺乏檢測能力。
SnortFlow[15]把Snort和OpenFlow結合起來做 IDS,然后并沒有具體的分組分析方法,實驗也只是測試了Snort agent在dom0和domU內的CPU開銷以及分組檢測率,也沒有基于OpenFlow實現任何響應措施。相比之下,SDNIPS[16]除了充分利用了SDN的集中控制特性實現了基于SDN的入侵防護系統,還在檢測到入侵行為后通過控制器安裝靜態流表對惡意流量進行導流或阻攔。此外,通過模塊化設計,在SDN控制器上實現了入侵檢測、分析和防護的統一,且可以根據具體威脅類型增加新的模塊。
SDNIPS、NICE和SnortFlow的不足之處在于都使用Snort作為入侵檢測引擎,而Snort主要是基于規則匹配的入侵檢測引擎,其對于高級威脅,如Web漏洞利用、APT攻擊等缺乏檢測能力。此外,對于多個agent、多個IDS之間的協同檢測問題也沒有考慮。
Security with SDN[17]提供了一個基于SDN的NIDS應用案例,通過數據層采集相關安全數據(報文頭),然后轉發給NIDS進一步分析以檢測入侵行為,再通過控制器寫入相關流策略到交換機,實現入侵檢測和防護。實驗分析得出以下 2個結論:1) 控制命令的消耗(新流的處理)要大于報文負載(流規則匹配);2) 交換機硬件支持對性能的影響很大(軟件流規則表效率低)。Security with SDN沒有考慮在高速網絡中IDS的擴展能力。
ScalableIDS[18]考慮IDS的擴展性問題,并提出了一種基于SDN的負載均衡方法,其主要思路是通過部署在SDN控制器上的中心NIDS節點周期性地收集各個IDS的負載情況,并在流量分類的基礎上將不同類型的流量導流到不同的IDS節點進行檢測。類似的工作還有Multiple IDS[19],Multiple IDS針對大規模網絡(如云數據中心網絡)多個IDS協同檢測的問題進行了研究,并提出了基于SDN的多個IDS負載均衡的解決方案。Multiple IDS基于相同的攻擊往往具有類似的路由路徑的觀察結果將流分組,使用SDN將不同分組導流到不同的IDS檢測,提高檢測效率,同時結合分組的流速度調整分組的大小,以達到 IDS的負載均衡。
考慮控制器性能瓶頸的問題,Sampling for IDS[20]提出了一種SDN采樣方法以減小IDS對整體網絡性能的影響。Sampling for IDS提出捕獲失敗率這個指標,并將惡意流量采樣問題轉化為使惡意流量捕獲失敗率最小的最優化問題,并且根據IDS檢測的結果更新實時采樣率,實現以最佳的速率采樣到盡可能多的惡意流量。不足之處在于求解最佳采樣率的過程中引入了一定的延時,對實時性有一定影響。
VMI-IDS[21]通過結合SDN和VMI技術,實現了細粒度的網絡流量檢測。VMI-IDS首先基于SDN控制虛擬化平臺的網絡流量,轉發給NIDS進行檢測;其次在NIDS檢測到入侵行為后,使用 VMI對產生異常流量的虛擬機進行進一步的檢測,分析發出異常流量的具體進程。
類似的工作還有 SDNSec[22],結合了基于SDN的NIDS和基于VMI的HIDS,構建完整云環境下軟件定義的 IDS,從而實現主機層和網絡層安全的有效統一。SDNSec總結了基于VMI和基于SDN的云安全方案各自的優點和不足,且只提出了框架結構,但并沒有進行實現也沒有完整的性能評估,各個模塊之間的接口具體如何實現也沒有清晰的描述。
表3是對當前基于SDN的IDS/IPS的小結,由表3可知,SDN大大降低了云環境中IDS/IPS實現的成本,基于SDN的集中控制特性很容易實現對入侵的響應。不過,對于云內大規模流量的檢測還需要考慮IDS/IPS的擴展能力和對高級威脅的檢測能力,因此基于SDN的分布式IDS、基于采樣的IDS以及與深度分組檢測技術、蜜罐技術的結合還有待進一步研究。
2.4 異常檢測
異常檢測的范圍比較廣,既包含DDoS攻擊,也包含端口掃描、蠕蟲、P2P僵尸網絡等,DDoS攻擊檢測方面的研究在上文已經進行了討論,這里主要討論其他類型的異常檢測。相比于 IDS,異常檢測更傾向于檢測未知威脅;相比于 IPS,異常檢測更傾向于檢測而非防御,在檢測到異常后,有可能需要進一步的分析以判斷具體的威脅類型。異常檢測對于云內未知攻擊的及時發現具有重要作用。
Revisting[23]基于OpenFlow協議,將4種異常檢測算法在OpenFlow交換機和NOX控制器上進行了實現,包括 TRW-CB、Rate-Limiting、最大熵檢測算法和 NETAD。具體實現都是基于Packet-In消息和OpenFlow提取的流特征進行分析,檢測到異常后再下發流表進行導流或過濾。實驗結果表明,基于 OpenFlow實現具有跟傳統方法相似的檢測精度,但更加靈活,而且可以以線速度進行異常檢測,非常適合于在線部署。該文還通過實驗驗證了在終端(家庭SOHO路由)進行異常檢測比在核心網絡進行異常檢測具有更高的準確性。不過,由于數據分組需要通過Packet-In消息交給控制器進行決策,會影響控制器的性能,也會受到控制器和交換機之間通信瓶頸的限制。
OpenFlow-sFlow[24]使用 sFlow[25]對網絡流進行采樣,并基于熵變化的網絡異常檢測方法分析采樣的網絡流計數,實現對端口掃描、DDoS和蠕蟲的檢測。在檢測到異常后基于OpenFlow實現對異常的響應,通過安裝流表丟棄異常數據分組,且安裝流表的優先級高于普通數據轉發流表,通過白名單排除誤檢的合法服務流。不足之處在于,OpenFlow-sFlow流表統計字段過于簡單(源IP,目的IP,源端口,目的端口四元組),無法檢測高級威脅(如P2P僵尸主機)。
類似的工作還有ADM[26],只是ADM的出發點是為了克服傳統的 RTBH異常處理方法的缺陷,更側重于檢測出異常之后的異常處理過程。傳統的RTBH異常處理方法以目標IP為粒度,將受害主機的流量導到空端口,從而實現網絡隔離,然而正常流量也會無法到達。ADM 則利用OpenFlow的流表匹配功能,將受害主機的流量導流到檢測引擎檢測后再安裝細粒度(如特定的源IP、端口、協議等)的流表,以阻止可疑流量,正常流量不受影響。
Security with SDN[16]提出了一種通過周期性查詢 OpenFlow交換機的流表統計信息檢測網絡掃描和DDoS攻擊行為的方法,實驗結果表明,僅是基于流統計信息的異常檢測方法的性能開銷很小,可以用于真實場景中。存在的問題是查詢流統計信息的時間間隔固定,容易被攻擊者探測到,而且流數量增加的時候效率不夠高。
OpenTAD[27]首先在控制器上在線獲取OpenFlow 交換機的流表信息,并構造整個網絡的流量矩陣與樣本熵矩陣進行組合,然后采用主成分分析方法檢測異常流量。相比傳統網絡中利用主成分分析方法分別單獨處理離線的流量矩陣或樣本熵矩陣的方法,在線流量異常檢測方法實現和處理方式簡單、有效,異常流量能夠得到快速隔離。
為了提高異常檢測的效率,OpenWatch[28]提出了一種預測算法,該算法比較當前流計數器跟歷史數據的線性變化率,并根據結果動態調整流量監控的粒度,變化越大,監控粒度越小,反之則越大。監控粒度的調整通過控制分組轉發流的匹配字段來實現。OpenWatch能夠通過對變化的感知來實現低開銷的異常檢測,然而,由于流統計字段的類型有限,對于應用層的異常流量(如JavaScript等)難以檢測。
類似的工作還有AdaptCount[29],也是通過當前流計數器跟歷史數據的變化動態調整流量監控的粒度,不同之處在于AdaptCount的調整粒度是監控的子網大小,而OpenWatch則支持端口、子網、IP等粒度,相對更加豐富,實現也更加復雜。
表4是對當前基于SDN的異常檢測應用的小結,異常檢測的范圍主要是端口掃描、DDoS、蠕蟲和突發流量,異常檢測系統的性能開銷、準確率和時間是基于SDN開發時要著重考慮的因素,當前的研究應用到云環境中還需要克服檢測時間長、性能開銷高以及自適應機制不夠靈活等不足。
2.5 網絡監控
不同于前幾類安全應用,SDN在網絡監控領域的應用不僅可以用于安全相關的應用,也可以用于其他流量工程,如路徑規劃、QoS等,這對提高云環境的運轉效率、增強云計算的可用性和可靠性都有重要作用。
CloudWatcher[30]在網絡操作系統(SDN控制器)的上層實現網絡安全設備和安全策略的統一管理,并通過路由規則生成器將安全策略轉換為流規則,并將流規則推送到網絡設備上(SDN交換機)。此外,還定義了腳本語言SLI,方便設備管理和規則生成,如添加安全設備或編寫安全策略。CloudWatcher重點放在基于OpenFlow的網絡流路由策略查找上,即流滿足流規則后如何將數據分組轉發給相應的安全設備,以及如何在多個安全設備之間實現最佳路由,提出了4種算法,并通過實驗測試了不同算法在不同安全設備路由選擇上的性能。
在 CloudWatcher的基礎上,NetSecVisor[31]進一步提出了網絡安全虛擬化(NSV,network security virtualization)的概念,以實現網絡安全設備的集中管理和虛擬化,其組成主要包括注冊安全服務和策略的腳本語言、安全設備最佳路由決策算法、處理不同安全事件的安全響應策略。但是,CloudWatcher和NetSecVisor都沒有考慮多個安全設備同時工作時的路由選擇和規劃問題,也沒有考慮不同路徑的負載和延遲。
FlowSense[32]利用OpenFlow提供的Packet-In和 FlowRemoved消息進行網絡鏈路利用率的評估。FlowRemoved消息是指流表項在失效前發送給控制器的消息,攜帶有流的統計信息,之后流就會從交換機中移除。FlowSense具有較低的開銷,但準確性不夠,只在存在大量短流時評估比較準確,無法準確評估突發性流量時的鏈路利用率。
Payless[33]雖然也是基于 OpenFlow的 Flow-Removed消息實現對流統計信息的獲取,但Payless使用了自適應的網絡數據統計(采樣)算法,通過監控臨近2個周期內流數據的變化設定流的timeout時間,變化越大,timeout越小(相當于采樣率越高),變化越小,timeout越大(相當于采樣率越低)。開銷相比由控制器使用固定間隔查詢流統計信息大大降低;準確性相比完全依賴于FlowRemoved消息統計的FlowSense更高,這得益于根據網絡狀態動態調整timeout的時間,可以更及時地收集變化的網絡數據。不過,僅根據變化率調整 timeout很可能遭到攻擊者惡意構造的請求欺騙,導致流表timeout過小和流頻繁的變化,甚至導致SDN控制器DoS。

表4 基于SDN的異常檢測應用
OrchSec[34]結合網絡監控工具 sFlow 和OpenFlow,在其上部署一層 Orchestrator作為協調者和應用開發層,以充分利用sFlow的流量采樣功能(效率)和SDN的流量控制功能(深度分析、響應),同時保證應用開發的靈活性和監控的整體性。不過,OrchSec將不同協議的流量轉發給不同的過濾設備進行采樣處理,需要額外的硬件投資。
OpenTM[35]通過周期性輪詢流統計信息構造流量矩陣(TM,trcoffic matrix),周期的選擇對結果影響較大,周期越小越準確,但開銷較大;周期太大,則開銷小但準確性降低。OpenTM局限于生成流量矩陣供離線使用,沒有統計分組丟失率和延遲的功能。
相比之下,OpenNetMon[36]則較全面,同樣基于OpenFlow協議,OpenNetMon可以測量網絡的吞吐量、分組丟失率、延時等性能指標,為流量工程(QoS、網絡安全監控等)提供數據。OpenNetMon使用輪詢交換機流計數的方式測量吞吐量,且使用自適應速率進行輪詢,新流產生時輪詢速率加快,靜態環境下輪詢速率減慢,在降低開銷的同時保證準確性。此外,OpenNetMon使用固定路徑上的頭尾交換機計數差測量分組丟失率,使用主動注入的方式測量延時,并使用VLAN傳送延時探測分組,以避免交換機控制面板調度時的不穩定性。
OF-ping[37]通過構造帶時間戳和端口信息的PACKET_OUT消息測量2個SDN交換機之間的延遲。PACKET_OUT消息是指控制器主動發送給交換機的消息,可通過該消息將數據分組注入SDN網絡中。整個探測消息只有 ICMP分組的19%,但延遲探測的效果跟ping結果幾乎一致。該方法假設控制器上下行消耗的時間一致,實際中可能并非如此。此外,通過 STATISTICS_ REQUEST(流查詢請求)測試上下行時間時沒有考慮交換機處理該請求的延遲,所以最后結果有微小的偏差。
SDM[38]提出了軟件定義監控的概念,其主要目標是高速網絡中快速的應用層協議分析,非常適用于云環境。SDM結合了NetFlow[39]的靈活性和硬件加速器的處理性能,可以處理高達 100 Gbit/s的流量。但是SDM依賴于硬件加速器,無法實現分布式集中控制和響應,此外,硬件資源的限制導致模塊化應用開發受限。
表5總結了現有基于SDN的網絡監控應用的研究,從中可以發現網絡監控應用主要包括測量網絡吞吐量、分組丟失率、延時、利用率等流量工程,以及應用層協議分析、安全應用開發等安全類應用。當前研究面臨的主要問題是如何提高性能的同時保證準確性,性能提高方面可以采用硬件加速和采樣技術,準確性提高則依賴于具體的監控算法。另外,應該更加充分利用SDN的靈活性和集中控制特性實現盡可能多的監控應用。

表5 基于SDN的網絡監控應用
2.6 其他安全應用
基于SDN的其他安全應用還有很多,本文只選擇幾個作為代表說明 SDN在云安全領域應用的廣泛前景。
現有蜜網面臨指紋探測的問題以及粗粒度數據控制的問題,HoneyMix[40]采用SDN解決這些問題。基于SDN的集中控制特性,將同一攻擊通過SDN鏡像或NAT交給不同的蜜罐同時處理。通過安裝特定流表,攔截指紋探測數據分組,修改后再返回攻擊者。此外,HoneyMix還基于行為評分選擇最具攻擊效果的蜜罐連接返回給攻擊者,從而方便研究其行為,也避免攻擊影響蜜網內其他蜜罐,同時采用快照恢復被攻擊蜜罐的初始狀態。但HoneyMix的開銷較大。一是指紋探測檢測需要深度報文檢測;二是同時多個蜜罐處理攻擊時,要對所有連接進行選擇,尤其是有狀態的連接(TCP)還需要維持狀態表,開銷大。
MTD[41]使用SDN控制器實現主機IP的動態變化,從而實現移動目標防御,通過SDN控制器為每次連接隨機分配不一樣的虛擬IP,SDN交換機實現主機虛擬IP和實際IP的轉換,而主機使用的實際IP不變,增加攻擊者持續攻擊的難度。不過,MTD無法應對基于rDNS和基于主機名字的掃描和攻擊,此外,IP轉換需要創建大量流表,會增加交換機開銷和網絡延遲。
Ransomware Mitigation[42]基于前期對勒索軟件特征的研究,提出使用SDN匹配DNS黑名單的方式實現實時的勒索軟件與控制者通信的攔截,通過DNS流量鏡像的方式在實現檢測的同時降低合法用戶的 DNS響應延遲,相比硬件防火墻,對網絡的影響更小,規則更新也更靈活快速。
AMQ[43]基于SDN的網絡感知能力進行動態調整,以檢測潛在的惡意軟件數據流并進行隔離,從而克服傳統的惡意軟件隔離系統只能處理靜態流的缺點。AMQ包括Bot Hunter和Threat Responder這2個安全模塊, Bot Hunter實時監控網絡狀態以檢測受感染的僵尸主機,Threat Responder在控制器的輔助下根據Bot Hunter檢測的結果實現受感染主機的隔離。
這里只列舉SDN在安全領域應用的一部分,更多基于 SDN的云安全應用有待研究人員和相關企業的進一步開發。
綜合上述調查和討論,本節對SDN安全應用需要解決的2個基礎問題進行總結:一是如何克服控制器多樣性帶來的SDN應用不兼容問題;二是如何在使用 SDN提供安全服務時降低對性能的影響。針對這2個問題,本文對當前這方面的研究進行了歸納和探討。
3.1 統一的開發環境
為了解決控制器多樣性帶來的 SDN安全應用不兼容問題,急需一個統一的開發環境進行SDN應用的開發。統一的開發環境一方面需要屏蔽不同控制器底層實現的差異,另一方面需要一個開發框架,提供安全應用開發的基本組件,并在最上層提供高級編程語言以方便應用開發。
FlowVisor[44]是一種網絡 hypervisor,試圖將網絡資源虛擬化,包括帶寬、拓撲、流量、設備CPU、流表等,FlowVisor是一個特殊的控制器,充當交換機和多個其他控制器之間的代理。通過抽象底層資源,利用切片靈活定義網絡資源,將不同切片進行有效隔離,然后交給不同的控制器管理。然而,FlowVisor沒有提供給租戶完全自主管理其網絡資源的能力,且網絡地址空間無法在不同租戶間共享。
跟 FlowVisor類似的還有 OpenVirtex[45],OpenVirtex將SDN網絡本身進行虛擬化,在提供有效隔離的基礎上,通過開放的北向 OpenFlow接口允許租戶使用自己的網絡操作系統(NOS,network operation system)來控制其網絡,非常適合跟云服務結合,向用戶提供從計算、存儲到網絡的完整服務和自主管理。
前兩者側重于底層結構的差異,對控制器之上的應用層開發關注不夠。由于不同控制器提供的接口各異,SDN安全應用很難同時運行于不同的控制器之上。為此,需要統一的開發平臺來實現應用的快速適配和統一開發。
FRESCO[46]采用模塊化設計,使用腳本語言定義模塊,方便開發SDN應用,其主要組成包括:1) FRESCO資源管理器,用于管理交換機的流,調度流表空間;2) 控制器中的FRESCO SEK模塊,用于協調流規則,保證安全流的優先級,實現流的認證;3) 應用層的 FRESCO開發環境,包括腳本到模塊轉換、數據庫管理和事件管理等。在 FRESCO開發平臺基礎上開發了幾個實例應用,包括掃描檢測、BOT檢測和P2P惡意軟件檢測,其核心是將傳統安全設備檢測結果通知給FRESCO應用,然后通過SDN控制器安裝特定流表進行處理和響應。
NetsecVisor[31]則在安全設備管理上更加具體,針對安全設備的添減、安全策略的定義、安全服務的申請,以及安全設備路由的規劃進行了較詳細的分析,不過并沒有解決多個安全設備的服務編排問題。比如,用戶同時申請串行的防火墻和并行的IDS服務,流量先經過IDS再經過防火墻檢,還是先經過防火墻再經過IDS是一個優先級的問題,因為經過防火墻過濾后的流量可能對IDS來說不夠完整,路徑規劃和導流時也需要考慮這類需求。
除了屏蔽 SDN底層差異、統一管理安全設備,基于SDN安全應用的開發還需要從效率和適應性角度通過編程語言來克服不同控制器的接口差異,以加速應用的開發和部署。這方面的研究包括Frenetic、Pyretic、NetCore、FML、Nettle、Procera等[47~52]。
Frenetic[47]是一種類似于SQL的SDN編程語言,將底層控制器控制指令進行抽象化(runtime system),開發者只需要關注頂層功能的設計,流表操作由runtime進行查詢及安裝,runtime具備流表沖突檢測(一個模塊的結果其他模塊要用)和更新功能(同時更新所有交換機上某個分組對應的流表),對于有重疊的規則,通過為規則分配優先級克服沖突。
Pyretic[48]類似于JAVA語言,基于Pyretic編寫的 SDN應用可以無需修改并運行于不同控制器之上。NetCore[49]提供了一種將分組轉發策略用高級語言表示的方法,可以用于安全策略到流表的轉換。其他SDN相關的編程語言還包括FML、Nettle、Procera[50~52]等,這類編程語言都是被動式的,在事件觸發后作為響應,只適用于特定的應用場景。
表6是對當前SDN應用開發環境的一個小結,由表6可知當前已經在各方面分別展開研究,但還沒有一個完整的解決方案出現。
3.2 流采樣技術
SDN集中控制的特點雖然便于網絡集中管理和安全監控,但也面臨控制器的性能瓶頸問題,針對該問題,一是研究多控制器的協同,包括層次化的控制器模型和分布式的控制器模型等;二是對網絡流進行高效的采樣,從而減少控制器需要處理的數據量,加快安全分析和響應的速度,同時保證采樣能夠充分代表原始數據,或包含足夠多感興趣的數據,以保證安全分析的準確性。
傳統的網絡數據分組采樣技術(如 sFlow)對流量統計特性的估計不如流準確,而且采樣間隔固定,缺乏靈活性。基于流的采樣越來越得到重視,由于 SDN交換機維持流表的詳細統計信息,可以把流表統計信息的查詢等同于流采樣。采樣方式可分為基于時間的采樣、基于報文數的采樣以及隨機采樣。基于時間的采樣可以轉換為OpenFlow協議中流表查詢的時間間隔,或流的timeout大小。基于報文數的采樣又可分為one-in-k和m-in-k,即離散采樣和連續采樣。隨機采樣是指對每個報文生成一個隨機數,當該數大于預設的閾值時對其采樣,否則不采樣。

表6 SDN應用開發環境
FleXam[53]的做法是擴展OpenFlow的action,添加采樣行為,通過參數可以指定采用隨機采樣或連續采樣,采樣既可發送給控制器也可轉發給單獨的機器處理。FleXam新定義的采樣行為有6個參數:destination指定采樣發往的位置,scheme指定采樣的方法,當為隨機采樣時,p表示采樣的概率;當為連續采樣時,用q、m、k參數表示跳過最開始的q個包,每m個包采取前k個。由于無需增加新的計數器也無需新的硬件支持,因此實現簡單,但對交換機本身的性能有一定影響。
通常流表的管理采用白名單和黑名單機制。白名單代表正常網絡服務,黑名單代表惡意數據流,剩下的大部分流都是通配流,OpenFlow提供通配流機制,對于既不存在于白名單,也不存在于黑名單中間的流進行統一操作,默認行為為轉發,然而通配流中其實可能包含隱藏的惡意數據分組。但是通配流數量巨大,每一個數據分組進行檢測的代價太高。Wildcard Sampling[54]針對通配流的采樣問題,修改了OpenFlow協議,增加采樣請求消息,將采樣作為一種action由交換機完成,對交換機本身的性能有一定要求。實驗表明,只有在以下的采樣速率,才不會對整體網絡性能有較大影響。
OpenSample[55]使用sFlow上報的信息,尋找2個相同的TCP流采樣,通過其序列號和時間戳信息估計分組速率,從而為流量工程提供依據,可用于路徑規劃和大流檢測。相比其他方式(輪詢和最大似然估計)速度快。OpenSample的理論依據是在一定條件下2個相同采樣出現的概率接近1,然而其適用范圍主要是大流檢測,采樣數據分組對高級威脅(如P2P、Web入侵等)缺乏代表性。
此外,OpenNetMon[36]、OpenWatch[28]和AdaptCount[29]均從流查詢的角度提出了自適應查詢的算法,通過比較當前流計數器跟歷史數據的變化動態調整流查詢的間隔,變化越大,查詢間隔越小,反之則越大。一定程度上減少了開銷,然而僅根據變化率調整粒度較粗,對流量工程較為有用,對安全應用則有必要進一步根據安全數據的變化來設計更為精確的調整算法。
Adaptive Sampling[56]為ONOS設計了一種自適應流采樣機制,將流分類為立即流、短流、中流和長流,對不同類型的流設置不同的采樣間隔,流越長采樣間隔越大,從而保證總體采樣數據的代表性。Adaptive Sampling相比固定間隔的采樣,采樣數減少約50%,但并沒有對采樣后的數據進行分析。
Sample&Pick[57]設計了一種兩步采樣法以降低采樣速率和交換機內存開銷,第一步通過簡單的采樣規則采樣以發現可疑流,第二步插入計數規則,對可疑流進行分組計數。最后,控制器輪詢該計數,交給入侵檢測算法進行檢測。存在的問題是第一步只能發現簡單可疑流,對復雜惡意流無檢測能力。
考慮 IDS處理能力的限制,Sampling for IDS[20]提出捕獲失敗率這個指標,并通過數據建模將惡意流量采樣問題轉化為在IDS處理能力的約束下使惡意流量捕獲失敗率最小的最優化問題。捕獲失敗率是指多個SDN交換機節點上采樣得到的數據分組都不包含惡意流數據的概率。由于該最優化問題依賴于已知惡意流的速率,因此需要根據IDS檢測的結果實時更新該速率,從而更新實時采樣率。在ODL上的實驗驗證了該采樣算法在入侵檢測時比固定采樣的方式更為快速。
表7總結了以上采樣方法的主要實現途徑和缺點,當前研究主要存在以下2個問題:一是部分流采樣的實現依賴于硬件性能,二是采樣缺乏對于不同流量的自適應性。現有自適應流采樣算法的動態調整策略粒度不夠細,采樣率計算方法過于復雜,有待于進一步改進。
云計算的安全服務是用戶最關心的問題,然而,如何將網絡安全作為一種服務交付給用戶一直是云計算企業比較頭疼的問題。過去數年出現了很多這方面的概念,包括安全即服務(SECaaS[58])、軟件定義安全(SDSec[59])、網絡安全虛擬化[31]等。這些服務模型大多關注某個特定的安全服務類型,如IDS、訪問控制等。此外,多數安全服務模型只關注安全本身,而不注意安全服務模型跟業務模型的有機結合,在實現安全的同時缺乏對性能和管理成本的綜合考慮。鑒于此,本文提出一種基于 SDN的云安全服務模型 SDCSec(software defined cloud security)。

表7 SDN流采樣方法
如圖2所示,SDCSec云安全服務模型將云安全服務作為一種資源供用戶使用,用戶可在自己的客戶端像管理計算資源和網絡資源一樣管理自己的云安全資源。用戶在申請云安全服務后,云管理平臺調用安全資源管理組件將用戶的安全服務申請進行編排,以克服不同安全應用的沖突。云安全應用基于 SDN控制器對網絡資源集中控制和編程實現,包括防火墻、DDoS檢測、IDS/IPS等。此外,SDCSec還通過監控虛擬機的遷移行為實現安全策略的同步遷移。SDCSec的核心是安全策略的管理,包括為了克服安全應用之間沖突而設置的安全策略優先級劃分和策略沖突檢測模塊,為了保證虛擬機在遷移后安全服務依然可用的安全策略遷移模塊,以及為了將安全策略轉換為SDN交換機流表項,從而控制網絡行為的策略流表轉換模塊。

圖2 SDCSec云安全服務模型
需要指出的是,SDCSec是一個初步的云安全服務模型,具體每一個模塊的實現還需要深入研究,如SDN控制器與當前云平臺網絡管理模塊的集成、虛擬遷移狀態的監控,以及策略沖突檢測等。最終目的是將安全資源跟計算資源、網絡資源、存儲資源一起以服務的方式交付給用戶,實現完整的云服務解決方案。
基于SDN的云安全應用受到了廣泛關注,當前也有很多這方面的研究,但依然存在不少有待研究人員解決的問題。基于上文對現有安全應用的討論,筆者提出一些有待改進和探索的研究點,供相關研究人員參考。
1) 基于SDN的新型云安全應用
SDN技術跟云計算有很多共同點,如靈活調度、集中管理、可編程等,兩者的結合在提高云數據中心的管理效率、發揮集中可控的優勢方面具有重大應用前景。雖然目前已有很多此方面的研究,但多集中于將傳統安全機制用SDN進行實現,以提高效率。針對云計算特有的安全問題,如多租戶隔離問題、云存儲訪問控制問題、云內攻擊問題等有待進一步深入研究。此外,如何跟現有的云安全機制進行結合以提供全面的安全即服務功能,是推廣落實這類應用的必經之路。
2) SDN安全策略的轉換和遷移問題
基于 SDN的云安全應用大多通過將安全策略轉換成相應的流表來實現,而由于流表定義的限制,并非所有安全策略都能一對一地轉換成流表項。以防火墻為例,傳統防火墻可以通過端口范圍來定義防火墻策略,而 OpenFlow一條流表項只能匹配一個端口號,如果用多條流表項實現必然會大大增加交換機的流數目,不僅占用寶貴的流空間,而且由于匹配項增多,會降低數據分組處理的速度。
此外,考慮云計算環境的特殊性,虛擬機經常在不同主機之間進行調度和遷移,基于SDN的安全應用也需要考慮策略遷移的問題。一種可能的方法是當虛擬機遷移時 SDN控制器將安全應用對應的安全策略同步遷移到目標位置新的控制器上,不過這要求SDN控制器能夠檢測到虛擬機遷移事件,以及不同控制器之間安全應用的協同和通信機制。具體的實現有待研究人員的進一步探索。
3) SDN安全設備管理和安全服務編排
基于SDN/NFV的云安全應用可能利用現有的硬件安全設備,因此需要加強安全設備的管理。安全設備的管理一方面需要統一的接口方便控制器和安全設備之間的通信,另一方面要有合理的安全通信和訪問控制機制,防止未授權的訪問。此外,多個安全服務的編排對實際應用來說也非常關鍵。一方面,需要根據安全設備的類型分配優先級,串聯設備的優先級一般要高于并聯設備;另一方面,要克服不同安全服務之間策略的沖突問題。雖然NETSECVISOR支持安全設備的注冊和安全服務的申請,其并沒有考慮控制器和安全設備之間的通信問題,也沒有考慮存在多個安全設備時安全服務的編排問題。
4) SDN自適應流采樣算法與分組采樣的結合
為了克服 SDN控制器跟交換機之間的性能瓶頸,當前有很多工作基于流采樣來提高基于SDN安全應用的效率,第4節已經進行了討論。然而,當前的采樣方法一類是基于輪詢方式,無法應對云環境中動態變化的網絡流量,尤其是突發式流量,且容易被攻擊者探測和繞過。另一類采樣方法是基于流計數變化的動態調整算法,將流計數(如報文數、IP變化等)統計信息作為網絡狀態變化的象征,動態調整流查詢間隔或采樣率,雖然一定程度上能夠在提高性能的同時檢測網絡狀態的變化,但對于網絡應用層的攻擊缺適應性,如腳本攻擊、應用層DDoS攻擊等。此類攻擊并不會在流表中產生顯著的變化,需要通過深度分組檢測報文內容。因此,有必要結合分組采樣和流采樣技術以達到最佳檢測效果。
5) SDN控制器本身安全問題
SDN控制器是軟件定義網絡的核心,由于其集中控制特性,其本身的安全性對網絡的整體安全有重要的影響,部署于其上的安全應用也依賴于控制器的安全和可靠性。當前已有很多這方面的研究,如控制器漏洞修復、控制器組件隔離、分布式多控制器結構等,文獻[60]對其進行了很好的總結和展望,這里不再贅述。
雖然已有一些關于 SDN安全方面的綜述文章,但多從基于SDN的網絡安全和SDN本身的安全這2個方面展開,沒有具體到某一類安全問題進行詳細的分析和論述。前者相關的綜述有文獻[61,62],后者相關的綜述有文獻[63,64]。
文獻[61]主要對SDN本身的安全問題和現有解決思路進行探討,包括 SDN安全控制器的開發、控制器可組合安全模塊庫的開發和部署、控制器DoS/DDoS攻擊防御方法、流規則的合法性和一致性檢測、北向接口的安全性和應用程序安全性。類似的綜述文章還有文獻[62]。SDN本身的安全問題不是本文論述的重點。
文獻[63]對基于SDN的防火墻、網絡監控和分析方面的工作進行了歸納總結,其側重于對安全模型的分類,缺少對現有工作不足的分析。文獻[64]則通過分析 SDN帶來的新特性及其在信息安全方面的應用展開論述,是基于特征的分類總結,相比之下,本文的工作則是基于應用的分類總結。
對比可知,本文的特色是面向SDN在云安全這一個具體領域的現有工作進行論述,在對這些工作進行基于應用分類的基礎上,針對云的特點和安全需求對現有研究的優缺點進行總結,并提出了未來研究的一些方向。
SDN的出現極大地方便了網絡安全應用的開發,其動態、靈活的特點跟云計算能夠很好地結合,為云安全提供了新的解決思路。本文總結了目前基于SDN云安全應用的研究,對其進行了分類,對每一類安全應用順著其發展脈絡分析了相關工作的優缺點,并進行了總結。另外,針對當前云安全服務模型不夠完善、不能跟計算和網絡服務有機整合的問題,提出了一種基于SDN的云安全服務模型 SDCSec。最后,針對當前研究的不足,對基于SDN云安全應用的未來發展方向做了一些展望,供相關研究人員參考。
[1] MCKEOWN N, ANDERSON T, BALAKRISHNAN H, et al. OpenFlow: enabling innovation in campus networks[J]. ACM SIGCOMM Computer Communication Review, 2008, 38(2): 69-74.
[2] KOERNER M, KAO O. Oftables: a distributed packet fil-ter[C]// 2014 6th International Conference on Communication Systems and Networks (COMSNETS). 2014.
[3] JIA X, WANG J K H. Distributed firewall for P2P network in data center[C]//ICCE-China Workshop (ICCE-China), IEEE. 2013: 15-19.
[4] SUH M, PARK S H, LEE B, et al. Building firewall over the software-defined network controller[C]//The 16th International Con-ference on Advanced Communication Technology, IEEE. 2014: 744-748.
[5] PORRAS P, SHIN S, YEGNESWARAN V, et al. A security enforcement kernel for OpenFlow networks[C]//The First Workshop on Hot Topics in Software Defined Networks, ACM. 2012: 121-126.
[6] HU H, HAN W, AHN G J, et al. FlowGuard: building robust firewalls for software-defined networks[C]//The Third Workshop on Hot Topics in Software Defined Networking. 2014: 97-102.
[7] 王鵑, 王江, 焦虹陽, 等. 一種基于OpenFlow的SDN訪問控制策略實時沖突檢測與解決方法[J]. 計算機學報, 2015, 38(4): 872-883.
WANG J, WANG J, JIAO H Y, et al. A method of openflow-based real-time conflict detection and resolution for SDN access control policies[J]. Chinese Journal of Computers, 2015, 38(4): 872-883.
[8] BRAGA R, MOTA E, PASSITO A. Lightweight DDoS flooding attack detection using NOX/OpenFlow[C]//2010 IEEE 35th Conference on Local Computer Networks (LCN). 2010: 408-415.
[9] KRISHNAN R, KRISHNASWAMY D, MCDYSAN D. Behavioral security threat detection strategies for data center switches and routers[C]//2014 IEEE 34th International Conference on Distributed Computing Systems Workshops (ICDCSW). 2014: 82-87.
[10] MOUSAVI S M, ST-HILAIRE M. Early detection of DDoS attacks against SDN controllers[C]// 2015 International Conference on Computing, Networking and Communications (ICNC). 2015: 77-81.
[11] WANG B, ZHENG Y, LOU W, et al. DDoS attack protection in the era of cloud computing and software-defined networking[J]. Computer Networks, 2015, 81: 308-319.
[12] WANG H, XU L, GU G. FloodGuard: a DoS attack prevention extension in software-defined networks[C]//2015 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks. 2015: 239-250.
[13] FAYAZ S K, TOBIOKA Y, SEKAR V, et al. Bohatei: flexible and elastic DDoS defense[C]//24th Usenix Security Symposium (USENIX Security 15). 2015: 817-832.
[14] CHUNG C J, KHATKAR P, XING T, et al. NICE: network intrusion detection and countermeasure selection in virtual network systems[J]. IEEE Transactions on Dependable and Secure Computing, 2013, 10(4): 198-211.
[15] XING T, HUANG D, XU L, et al. Snortflow: a OpenFlow-based intrusion prevention system in cloud environment[C]//2013 Second GENI Research and Educational Experiment Workshop (GREE). 2013: 89-92.
[16] XING T, XIONG Z, HUANG D, et al. SDNIPS: enabling soft-ware-defined networking based intrusion prevention system in clouds[C]//The 10th International Conference on Network and Service Management (CNSM) and Workshop. 2014: 308-311.
[17] YOON C, PARK T, LEE S, et al. Enabling security functions with SDN: a feasibility study[J]. Computer Networks, 2015, 85: 19-35.
[18] JEONG C, HA T, NARANTUYA J, et al. Scalable network intrusion detection on virtual SDN environment[C]//2014 IEEE 3rd International Conference on Cloud Networking (CloudNet). 2014: 264-265.
[19] HA T, YOON S, RISDIANTO A C, et al. Suspicious flow for warding for multiple intrusion detection systems on software-defined networks[J]. IEEE Network, 2016, 30(6): 22-27.
[20] HA T, KIM S, AN N, et al. Suspicious traffic sampling for intrusion detection in software-defined networks[J]. Computer Networks, 2016.
[21] 崔競松, 郭遲, 陳龍, 等. 創建軟件定義網絡中的進程級縱深防御體系結構[J]. 軟件學報, 2014, 25(10): 2251-2265.
CUI J S, GUO C, CHEN L, et al. Establishing process-level defense-in-depth framework for software defined networks[J]. Journal of Software, 2014, 25(10): 2251-2265.
[22] SHIN Y, SON K, PARK H. SDN-based security in virtualized environments for cloud computing[J]. Life Science Journal, 2014, 11(7): 642-647.
[23] MEHDI S A, KHALID J, KHAYAM S A. Revisiting traffic ano maly detection using software defined networking[C]//The International Workshop on Recent Advances in Intrusion Detection. 2011: 161-180.
[24] GIOTIS K, ARGYROPOULOS C, ANDROULIDAKIS G, et al. Combining OpenFlow and sFlow for an effective and scalable anomaly detection and mitigation mechanism on SDN environ-ments[J]. Computer Networks, 2014, 62: 122-136.
[25] JASINSKA E. sFlow–I can feel your traffic[C]//23C3: 23rd Chaos Communication Congress. 2006.
[26] GIOTIS K, ANDROULIDAKIS G, MAGLARIS V. Leveraging SDN for efficient anomaly detection and mitigation on legacy networks[C]//2014 Third European Workshop on Software Defined Networks. 2014: 85-90.
[27] 左青云, 陳鳴, 王秀磊, 等. 一種基于SDN的在線流量異常檢測方法[J]. 西安電子科技大學學報, 2015, 42(1): 155-160.
ZUO Q, CHEN M, WANG X L, et al. Online traffic anomaly detection method for SDN[J]. Journal of Xidian University, 2015, 42(1): 155-160.
[28] ZHANG Y. An adaptive flow counting method for anomaly detection in SDN[C]//The 9th ACM Conference on Emerging Networking Experiments and Technologies. 2013: 25-30.
[29] GARG G, GARG R. Security of networks using efficient adaptive flow counting for anomaly detection in SDN[M]//Artificial Intelligence and Evolutionary Computations in Engineering Systems. 2016: 667-674.
[30] SHIN S, GU G. CloudWatcher: network security monitoring using OpenFlow in dynamic cloud networks (or: how to provide security monitoring as a service in clouds?)[C]//2012 20th IEEE International Conference on Network Protocols (ICNP). 2012: 1-6.
[31] SHIN S, WANG H, GU G. A first step toward network security virtualization: from concept to prototype[J]. IEEE Transactions on Information Forensics and Security, 2015, 10(10): 2236-2249.
[32] ZHANG Y, SINGH V, WANG Y, et al. FlowSense: light-weight networking sensing with OpenFlow: U.S. Patent 8,918,502[P]. 2014-12-23.
[33] CHOWDHURY S R, BARI M F, AHMED R, et al. Payless: a low cost network monitoring framework for software defined net-works[C]//2014 IEEE Network Operations and Management Symposium (NOMS). 2014: 1-9.
[34] ZAALOUK A, KHONDOKER R, MARX R, et al. Orchsec: an orchestrator-based architecture for enhancing network-security using network monitoring and SDN control functions[C]//2014 IEEE Network Operations and Management Symposium (NOMS). 2014: 1-9.
[35] TOOTOONCHIAN A, GHOBADI M, GANJALI Y. OpenTM: traffic matrix estimator for OpenFlow networks[C]//The International Conference on Passive and Active Network Measurement. 2010: 201-210.
[36] VAN-ADRICHEM N L M, DOERR C, KUIPERS F A. Opennetmon: network monitoring in OpenFlow software-defined networks[C]//2014 IEEE Network Operations and Management Symposium (NOMS). 2014: 1-8.
[37] PHEMIUS K, BOUET M. Monitoring latency with Open-Flow[C]// The 9th International Conference on Network and Service Management (CNSM 2013). 2013: 122-125.
[38] KEKELY L, KU?ERA J, PU? V, et al. Software defined monitoring of application protocols[J]. IEEE Transactions on Computers, 2016, 65(2): 615-626.
[39] KAPOOR R D, CALABRESE A D, DUBEY R K, et al. Sample netflow for network traffic data collection: U.S. Patent 7,193, 968[P]. 2007-3-20.
[40] HAN W, ZHAO Z, DOUPé A, et al. HoneyMix: toward SDN-based Intelligent Honeynet[C]//The 2016 ACM International Workshop on Security in Software Defined Networks & Network Function Virtualization. 2016: 1-6.
[41] JAFARIAN J H, AL-SHAER E, DUAN Q. OpenFlow random host mutation: transparent moving target defense using software defined networking[C]//The First Workshop on Hot Topics in Software Defined Networks. 2012: 127-132.
[42] CABAJ K, MAZURCZYK W. Using software-defined networking for ransom ware mitigation: the case of cryptoWall[J]. arXiv preprint arXiv:1608.06673, 2016.
[43] MCBRIDE M, COHN M, DESHPANDE S, et al. SDN security considerations in the data center[J]. Open Networking Foundation ONF Solution Brief, 2013.
[44] SHERWOOD R, GIBB G, YAP K K, et al. Flowvisor: a network virtualization layer[J]. OpenFlow Switch Consortium, 2009: 1-13.
[45] AL-SHABIBI A, DE-LEENHEER M, GEROLA M, et al. Open-VirteX: make your virtual SDNs programmable[C]//The 3rd Workshop on Hot Topics in Software Defined Networking. 2014: 25-30.
[46] SHIN S, PORRAS P A, YEGNESWARAN V, et al. FRESCO: modular composable security services for software-defined networks[C]//NDSS. 2013.
[47] FOSTER N, GUHA A, REITBLATT M, et al. Languages for software-defined networks[J]. IEEE Communications Magazine, 2013, 51(2): 128-134.
[48] REICH J, MONSANTO C, FOSTER N, et al. Modular sdn programming with pyretic[J]. Technical Reprot of USENIX, 2013.
[49] MONSANTO C, FOSTER N, HARRISON R, et al. A compiler and run-time system for network programming languages[C]//ACM SIGPLAN Notices. 2012: 217-230.
[50] HINRICHS T L, GUDE N S, CASADO M, et al. Practical declarative network management[C]//The 1st ACM Workshop on Research on Enterprise Networking. 2009: 1-10.
[51] VOELLMY A, HUDAK P. Nettle: Taking the sting out of pro-gramming network routers[C]//The International Symposium on Practical Aspects of Declarative Languages. 2011: 235-249.
[52] VOELLMY A, KIM H, FEAMSTER N. Procera: a language for high-level reactive network control[C]//The first Workshop on Hot Topics in Software Defined Networks. 2012: 43-48.
[53] SHIRALI-SHAHREZA S, GANJALI Y. FleXam: flexible sampling extension for monitoring and security applications in Open-Flow[C]// The second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking. 2013: 167-168.
[54] WETTE P, KARL H. Which flows are hiding behind my wildcard rule? adding packet sampling to OpenFlow[J]. ACM SIGCOMM Computer Communication Review, 2013, 43(4): 541-542.
[55] SUH J, KWON T T, DIXON C, et al. OpenSample: a low-latency, sampling-based measurement platform for commodity SDN[C]// 2014 IEEE 34th International Conference on Distributed Computing Systems (ICDCS). 2014: 228-237.
[56] TAESANG C. Adaptive flow monitoring[C]//Open Networking Summit. 2016.
[57] AFEK Y, BREMLER-BARR A, LANDAU F S, et al. Sampling and large flow detection in SDN[C]//ACM SIGCOMM Computer Communication Review. 2015: 345-346.
[58] HUSSAIN M, ABDULSALAM H. SECaaS: security as a service for cloud-based applications[C]//The Second Kuwait Conference on e-Services and e-Systems. 2011: 8.
[59] AL-AYYOUB M, JARARWEH Y, BENKHELIFA E, et al. SDSecurity: a software defined security experimental frame-work[C]// 2015 IEEE International Conference on Communication Workshop (ICCW). 2015: 1871-1876.
[60] AHMAD I, NAMAL S, YLIANTTILA M, et al. Security in software defined networks: a survey[J]. IEEE Communications Surveys & Tutorials, 2015, 17(4): 2317-2346.
[61] 王蒙蒙, 劉建偉, 陳杰, 等. 軟件定義網絡:安全模型、機制及研究進展[J]. 軟件學報, 2016, 27(4): 969-992.
WANG M M, LIU J W, CHEN J, et al. Software defined networking: security model, threats and mechanism[J]. Journal of Software, 2016, 27(4): 969-992.
[62] COUGHLIN M. A survey of SDN security research[J]. University of Colorado Boulder, 2014.
[63] FRAN?OIS J, DOLBERG L, FESTOR O, et al. Network security through software defined networking: a survey[C]//The Conference on Principles, Systems and Applications of IP Telecommunications. 2014: 6.
[64] SHIN S, XU L, HONG S, et al. Enhancing network security through software defined networking (SDN)[C]//2016 25th International Conference on Computer Communication and Networks (ICCCN). 2016: 1-9.
Research on SDN-based cloud security application
SHI Jiang-yong, YANG Yue-xiang, LI Wen-hua, WANG Sen
(School of Computer Science, National University of Defense Technology, Changsha 410072, China)
SDN decoupled the control plane and data plane of traditional network, making the network programmable and simplifying the development of network applications. A comprehensive survey was made to current studies on SDN-based cloud security applications. Based on classification of the applications, the advantages and disadvantages of each application were studied and each category was summarized. What’s more, a service model of cloud security based on SDN was proposed, to overcome the inefficient of current works and integrate security with network service. Lastly, some suggestions about the future development of SDN-based cloud security applications were made.
SDN, cloud computing, cloud security, application development
The National Natural Science Foundation of China (No.61170286)
TP393
A
10.11959/j.issn.2096-109x.2017.00165

施江勇(1990-),男,湖南岳陽人,國防科技大學博士生,主要研究方向為虛擬化和SDN安全。

楊岳湘(1965-),男,湖南岳陽人,國防科技大學研究員、博士生導師,主要研究方向為網絡安全、云安全和移動安全。

李文華(1983-),男,河南周口人,國防科技大學工程師,主要研究方向為云計算和數據中心管理。

王森(1995-),男,陜西咸陽人,國防科技大學本科生,主要研究方向為信息化建模與處理。
2017-03-05;
2017-04-24。通信作者:施江勇,shijiangyong@nudt.edu.cn
國家自然科學基金資助項目(No.61170286)