賈創輝,胡思才,胡容
(1.四川大學計算機學院,成都 610065;2.78123 部隊,成都 610031)
隨著大數據、云計算等新興互聯網技術的快速發展,傳統網絡在網絡安全性、靈活性和可擴展性方面等方面的瓶頸越來越突出。軟件定義網絡(SDN)作為一種新的網絡體系結構,實現了控制層面和數據層面的解耦,其通過提供給應用層和轉發層的接口構建了開放的、可編程的網絡環境,通過控制層的集中路由策略制定、分配,實現了網絡的集中管理[1]。傳統網絡缺乏統一管理、可擴展性差、靈活度低、數據升級速度慢等缺點在軟件定義網絡架構中得到了很好的解決。軟件定義網絡作為一個新興事物,其特有的集中控制和開放性為研究網絡安全提供了新的思路,同時也帶來了新的安全挑戰。
按照軟件定義網絡的邏輯體系構成,其技術特點可以概括為以下三個方面:①集中控制。軟件定義網絡將控制平面從傳統交換機中提取出來,通過SDN 控制器對全網設備進行集中管控,實現了對網絡的全局控制。②可編程性。SDN 的可編程性主要體現在控制層在北向通道為開發者提供了一套強大的編程接口。開發者可以通過編程接口實現對網絡配置、路由策略、安全策略等的個性化定制,提高了網絡的靈活性。③控制和轉發分離。數控分離是SDN 的核心思想之一,SDN 架構中將網絡設備分割為數據和控制兩個平面,兩個部分通過開放的接口協議互相連接,其中轉發平面由受控轉發的設備組成,轉發方式以及業務邏輯由控制平面負責[2]。
SDN 體系結構有利于構建相對安全的網絡環境,中心化的控制器能夠及時地掌握網絡狀態的全局信息,利用安全監控、流量分析等應用模塊能夠較好地進行安全評估,并根據實際情況制定相應的安全策略,通過南向接口下發部署安全策略。同時,邏輯中心化的控制器顛覆了傳統網絡的管理和部署方式,也會帶來相應的網絡安全威脅和挑戰。一方面,SDN 的集中控制方式促使控制器成為網絡安全的焦點,集中控制所帶來的安全風險將帶給整個網絡以致命的影響。目前,控制層與應用層、控制層與轉發層之間仍然缺乏完整有效的安全解決方案,可編程性所帶來的新的安全風險將使網絡安全更加復雜化。另一方面,集中控制以及轉控分離又在使得網絡在流轉發、策略執行、風險監測等安全領域有著天然的優勢。可以說SDN 在網絡安全方面既有其獨特的挑戰,又充滿著機遇。
與傳統網絡相比,軟件定義網絡的主要安全問題處理差異體現在兩個方面:一是數據流的控制方式有差異。軟件定義網絡中,數據流的流向是由控制層所制定的規則決定的,數據流通過特定安全設備的方式具有較大的靈活性,而傳統網絡中,數據流通過特定安全設備的方式使確定的。二是獲取網絡安全狀況信息的方式有差異。在SDN 中,控制器可以實時獲取網絡的全局信息,可以及時、準確地分析整個網絡的動態情況。而在傳統網絡中,網絡全局信息的獲取要復雜和困難許多,網管單元要逐層接受網絡設備的狀態信息,進行綜合分析和評估后展示出來。
軟件定義網絡的安全形勢主要體現在:
一方面,SDN 技術具有其先天優勢,其集中控制、全局視圖、多維度控制等優點是傳統網絡所無法比擬的,這使得網絡的運營方、管理方可以更加方便、準確的對網絡進行維護和運行,給傳統網絡安全問題的改善帶來了新的機遇,SDN 還提供了應對安全漏洞的新的機會,其通過對數據流的集中審查,可以更方便地識別安全敏感的信息流,并對這些信息流采用差別化傳輸、隔離惡意業務流等方式,應對網絡安全問題,為SDN 提供更加安全的網絡環境。
另一方面,SDN 技術因其架構特點也面臨著諸多新的安全挑戰,SDN 架構容易獲取網絡全局信息,這也使得攻擊者可以通過控制器獲取整個網絡的安全狀態信息,進行有效的網絡攻擊。隨著SDN 技術的不斷發展,依照其設計模式,SDN 在網絡信息保護、應用程序管理、模塊處理流程等方面暴露了諸多安全問題。首當其沖的便是控制器安全,控制器作為SDN 核心,一旦失效整個網絡崩潰,邏輯集中的控制器容易造成單點故障,很容易就成為惡意攻擊的目標。SDN 架構也可能造成安全漏洞的成倍放大,隱私侵犯頻發或者其他網絡安全事件。
同時,如惡意數據流、交換機流表篡改、應用軟件漏洞、數據管理機密性與可用性威脅等傳統網絡中常見的攻擊在SDN 中依然可能發生。
本文根據SDN 的邏輯架構,從SDN 控制層、應用層、接口、轉發層等4 個方面對SDN 這種新型的網絡體系架構所面臨的安全風險及安全問題特點進行分析,SDN 各邏輯層所面臨的安全風險和所關注的安全問題各有側重,有些安全問題是SDN 架構特有的安全問題,也有些安全問題是傳統網絡安全問題的延伸。
控制層是SDN 的核心部分,也是目前安全防護的薄弱環節。控制層是一系列網絡實體組成,這些網絡實體一般包含虛擬機、操作系統、SDN 控制器等。SDN控制層可以生成網絡的路由信息,并更新處理網絡狀態的變化事件[3]。SDN 控制器可以實時訪問和獲取網絡的全局信息,但是其在設計初期并沒有針對安全問題進行優先處理方案,目前,SDN 中只有針對特定安全威脅的安全方案,缺乏完整的控制器安全保護策略。
SDN 控制器集中負責著整個網絡的網絡配置、控制策略、路由策略等網絡核心信息,這就使得SDN 控制器相較于傳統網絡核心設備具有著更大的風險隱患,網絡攻擊造成的損失將被成倍的放大,控制器癱瘓或者被控制也將影響整個網絡。控制層的安全風險主要有以下特征:首先,集中式的控制模式使得控制器天然的成為攻擊者攻擊的高價值目標,攻擊者對控制器的攻擊很容易造成較大的網絡安全事件。其次,控制層任務的復雜性使其很容易陷入非法訪問、身份認證、惡意流規則注入等安全風險,很容易遭受資源耗盡攻擊。同時控制器自身配置缺陷等安全風險也是控制層安全的重要組成部分。最后,按照部署方式,控制器常常部署在通用計算機或服務器上,這就使得控制器還面臨著與傳統服務器相同的安全風險,例如數據溢出攻擊等。
SDN 的接口安全包含負責控制層與轉發層協議通信的南向接口安全和負責控制層與應用層通信的北向接口安全,南向接口協議以OpenFlow 協議為主,北向接口是SDN 開放性的具體體現,用戶可以通過應用層提供的接口,設計和控制SDN 控制器,開發相應的SDN 服務,部署相關應用。
當前,南向接口安全威脅集中體現在OpenFlow 協議中,在南向通道中,OpenFlow 協議所采用的SSL/TSL對傳輸數據進行加密的方式,其安全性并不高,1.3.0 以后版本將SL/TSL 加密設置為可選擇項更加劇了南向通道的安全風險,南向通道安全難以得到有效保證。與此同時,OpenFlow 協議本身的安全漏洞也是南向接口安全風險的重要組成部分。綜上,南向接口安全風險包括竊聽、控制器假冒等[4]。
目前,北向接口還是各大廠商獨自作戰,缺乏統一的行業標準。而隨著SDN 技術的逐步發展,北向接口的標準化也開始成為熱點。相較于南向接口,控制層與應用層之間建立的北向接口安全性更加的脆弱。網絡攻擊者可以利用北向通道開放的接口對控制器進行攻擊,對控制器的信息進行非法訪問,對于攻擊者來說,北向接口的攻擊閾值更低。北向接口面臨著像數據泄露、非法訪問、身份認證等安全風險。
SDN 架構在北向通道通過控制層向應用層提供了豐富的編程接口,開發者可以利用提供的API 開發相關的應用服務,放置在SDN 中運行。
目前,應用審計認證并不完善,SDN 缺乏有效的應用授權機制和惡意代碼檢測機制,很容易導致惡意程序泛濫。同時,各應用程序之間可能存在的策略沖突也是SDN 應用層安全需要解決的問題,應用策略沖突檢測機制的缺失可能導致應用之間發送的流量策略會相互影響,造成網絡的不穩定,對網絡安全帶來影響。
轉發層主要是由負責數據轉發的路由器及其連接線路組成,控制層通過南向通道協議將數據轉發規則下發給轉發層,轉發層負責高效率的執行數據轉發任務。其主要威脅包括:DDoS/DoS 攻擊、惡意/虛假流規則注入、虛假控制等。
同時在轉發層,網絡的狀態是隨著變化著的,控制層負責提供了網絡的狀態和配置信息,網絡攻擊者可以通過制造惡意流規則,改變數據流的轉發路徑,便可以輕松繞開網絡安全設備的監控,從而將威脅擴展到全網。
SDN 網絡極大程度的降低了網絡管理的復雜度,增強了用戶的體驗,可以進一步促進網絡服務的更新和精細化的網絡控制,其在數據中心網絡中正在迅猛發展。隨著SDN 技術逐漸成熟,SDN 架構優勢更加凸顯,軟件定義網絡可以更加全面的控制網絡流量,這使得在流量安全防護方面將有更加有效的解決方案。軟件定義網絡也能幫助改善源IP 地址驗證,提高網絡的溯源能力。同時,SDN 自身所帶來的安全性問題,隨著其不斷的部署開發和廣泛應用,已經變得越來越緊迫。SDN 在安全領域可以說是機遇與風險并存,只有真正解決安全問題,SDN 技術才能夠真正“落地”,成為未來主流網絡技術。