作為一種新興的計算模式,云計算能夠將各種各樣的資源以服務的方式通過網絡交付給用戶。這些服務包括種類繁多的互聯網應用、運行這些應用的平臺,以及虛擬化后的計算和存儲資源。由于云計算應用的用戶信息資源的高度集中,存在的風險以及帶來的安全事件后果也較傳統應用高出很多。自“棱鏡門”事件以來,各國政府對云安全的重視也已上升為國家基礎設施安全的高度。對政府而言,提高云服務的安全防護能力,提高事中檢測能力和事后追責處置能力,是政府推動云計算落地發展的所要面對的首要問題之一;對普通用戶而言,其對云平臺的安全性的顧慮也是當前制約云計算發展的主要因素之一,能否確保云計算平臺中用戶數據的機密性、完整性、可用性,將很大程度影響用戶是否愿意將其數據和應用向云計算平臺進行遷移。
從技術的角度來看,云計算不僅僅是一種新的概念,并行計算和虛擬化是實現云計算應用的主要技術手段。由于硬件技術的快速發展,使得一臺普通的物理服務器所具有的性能遠遠超過普通的單一用戶對硬件性能的需求。因此,通過虛擬化的手段,將一臺物理服務器虛擬為多臺虛擬機,提供虛擬化服務成為了構建公有云和企業私有云的技術基礎。在以虛擬化技術為基礎構建的公有云或私有云的服務系統中,傳統網絡安全的解決方案不能夠提供可隨被服務計算資源同步彈性擴展的按需服務能力,并且多租戶問題也使得在物理邊界消失的虛擬網絡很難為不同安全要求的用戶提供不同級別的安全服務。
VMware在2012年提出了軟件定義數據中心(Software-defined DataCenter, SDDC)[1]的概念,是把數據中心所有的傳統物理硬件的資源進行虛擬化、軟件化,目的是為了能夠通過統一的軟件管理平臺對所有虛擬化的資源進行統一的動態管理,從而真正實現NIST所定義的云計算[2]中的按需服務、彈性擴展等特性。軟件定義網絡(Software-defined Networking, SDN)[3]是由美國斯坦福大學Clean Slate研究組的Emulex提出的一種新型網絡創新架構,利用OpenFlow協議,把路由器的控制平面(control plane)從數據平面(data plane)中分離出來,以軟件方式實現,這個架構可以讓網絡管理員,在不改動硬件設備的前提下,以中央控制方式,用程序重新規劃網絡,為控制網絡流量提供了新的方法,也提供了核心網絡及應用創新的良好平臺。云安全聯盟(Cloud Security Alliance,CSA)則針對云計算環境中的邊界消失問題提出了軟件定義邊界(Software Defined Perimeter,SDP)[4]的概念,SDP描述了一種加密安全架構,該架構采用了類似VPN的認證和加密方法,利用一個安全流程便可確定云環境中服務和應用的有效性,其使命是為云安全建立最佳實踐和相關標準。
可以看出,無論是哪種軟件定義的概念,都具有“業務實現軟件化”、“業務流程解耦合”、“業務策略集中可控”這三種特性,即滿足此三種特性的業務實現框架就可以認為其具有軟件定義的能力。在實踐中,業務實現軟件化目的是能夠在業務實現過程中動態的部署,比如動態生成和部署執行計算任務的虛擬機;業務流程解耦合目的是為了能夠精細化控制和業務流程的動態組裝,比如虛擬機計算、網絡、存儲資源的動態裝配;業務策略集中可控目的是為了能夠基于全局視角,感知業務需求,實現按需和優化,如SDN中的控制層對整個網絡中流轉發規則的管控。因此對于軟件定義X(Software-defined X, SDX),這里軟件定義對于X的價值在于使得X的業務實現對其所在環境具有更高的適配性,能夠動態、按需、靈活的匹配環境變化帶來的對X的業務管控的需求,即軟件定義賦予了X能夠根據其所在環境和業務需求按需而變的能力。
在傳統的網絡環境中,安全解決方案在實施的過程中通常可以分為規劃、部署、采集、分析、響應幾個過程?!耙巹潯笔菍τ脩衄F有業務環境安全需求的獲取,并制定具有針對性的安全解決方案,包括選擇安全產品、選擇部署位置等;“部署”是基于安全解決方案把安全產品接入到用戶的業務環境中,并進行相應的配置;“采集”是在安全產品部署完成后,開始從用戶的業務環境中獲取需要處理的信息,這些信息根據不同的安全產品可能包括用戶操作系統內的進程一級的信息、業務系統、操作系統和安全產品的日志信息、網絡流(netflow)和網絡數據包信息、用戶資產拓撲信息等;“分析”是安全產品對其所獲取到的信息執行相應的算法進行處理的過程;“響應”是對分析結果的響應處理,包括展現、預警、配置安全策略等。
在傳統環境的安全解決方案中,安全防護的對象是物理的主機和網絡,安全任務的承擔者是相應安全產品。在軟件定義的云計算環境中,被安全保護的對象通過軟件定義了,意味著這些對象在云計算環境中以虛擬化的方式存在,是軟件形態而非硬件形態,因此能夠被動態的調整、彈性擴展,這將導致被保護對象所需的安全服務能力和安全服務所保護的物理邊界都是動態變化的。在這種環境中,安全需求的規劃過程不再是一次性完成的,而會隨著租戶業務域的變化而隨時變化;安全產品部署過程將隨著安全需求而改變,并且安全產品的部署位置、時間都需要能夠適應動態變化的被保護對象;物理邊界的消失使得信息的采集過程需要對軟件定義出的邊界具有識別能力,而不再是簡單的鏡像端口;安全產品中的分析功能往往占用很高的計算資源,這使得把安全產品軟件化后部署在虛擬化環境中,也將消耗很多本該用于用戶業務系統的計算資源,這就要求分析功能需要盡可能的被從虛擬化環境中解耦合出來或者采取非7×24小時的方式按需啟動;采集和分析的靈活性,不僅提高了對安全分析結果的響應要求,也增加了智能響應和協同可能,如通過網絡檢測和分析定位故障點后,按需啟動主機檢測和掃描的協同響應方式。由此可見,安全解決方案的整個實施過程中每個實踐環節都受到云計算環境的影響,具有隨需而變的需求,因此需要以軟件定義的框架去實施整個安全解決方案,使之能夠適應云計算的彈性多變的環境,為云的用戶提供按需的、精準的、可靠的安全服務能力。
為了讓安全解決方案在云計算環境中有效、可用,必須讓安全解決方案實施的所有過程具有軟件定義的特性,使之能夠適應隨需而變的業務環境,因此軟件定義安全就要求能夠把安全實施的整個過程中不可管控的部分解耦合,并且將其中無法在硬件形態下被管控的部分進行軟件化。那么在云計算環境下,若一個安全系統同時具有軟件定義規劃、軟件定義部署、軟件定義采集、軟件定義分析和軟件定義響應的能力,則可以認為該安全系統是一種具有軟件定義能力、符合軟件定義安全框架的安全系統。顯然這對于如殺毒、掃描等軟件類安全產品比較容易實現,而對于入侵檢測、防火墻等硬件類安全產品具有極高的挑戰,因此實現一個具有軟件定義安全能力的系統或產品,首先就需要考慮把硬件形態的安全產品進行功能解耦合和組件軟件化。
以入侵檢測產品為例,傳統的物理硬件入侵檢測系統在云計算網絡環境中已經難以找到合適的接入點,硬件入侵檢測系統通常只能靜態地接入到物理網絡中的一個固定的位置上,通過端口鏡像獲得固定物理鏈路上的網絡流量。而在云計算環境中,入侵檢測系統所需要檢測的目的虛擬機可能會分布在不同的物理主機內,虛擬機的位置還將受到虛擬機遷移策略的影響,而隨時有可能發生改變,并且虛擬交換機的存在也使得部分同屬一個物理主機上的虛擬機間的網絡流量可以不通過物理網絡而直接在虛擬交換機內部進行交換,這都使得硬件入侵檢測系統對網絡流量的監控出現不完整性。
以虛擬機形態的安全產品來防護虛擬化網絡的安全是現在大多數安全廠商采用的方案之一,然而這種方案并非能真正到達軟件定義安全的目的,首先若采用虛擬機形態的入侵檢測系統來對目的虛擬機進行“貼身防護”(即把入侵檢測虛擬機與被保護的業務虛擬機部署在同一個虛擬交換機上),雖然能夠解決虛擬交換機內部流量的不可見問題,但是完全功能的虛擬機入侵檢測產品將會消耗虛擬化平臺很高的資源,隨著其防護能力的加強,對資源的消耗也將進一步加強;其次虛擬機形態的入侵檢測系統并不具有全局的拓撲視角,因此入侵檢測虛擬機只能對其所在物理主機內的業務虛擬機提供入侵檢測服務,如果其所需要檢測的對象(如一個邏輯的安全域內的一組業務虛擬機)不全位于同一臺物理主機內,將不得不在所有存在這些業務虛擬機的物理主機上都部署入侵檢測虛擬機,并且還需要同步匯總這些分布在不同物理主機上的安全虛擬機的信息才能夠得到完整的安全域的安全狀態;除此以外,另外一個從根本上難以得到解決的問題是安全產品并不僅僅是入侵檢測系統,還包括了如入侵防御、Web應用網關、審計等很多種不同的產品,顯然把這些功能都裝進一臺虛擬機是不現實的,那么要想實現完整的安全解決方案,就需要多產品間的配合工作,這樣就需要把所有無法通過硬件的形態獲取虛擬化環境內信息的安全產品都放入虛擬機內,部署在虛擬化環境中,這顯然是不可行的方案,因為這些本身對計算資源需求極高的安全產品將搶占大量的本該屬于業務系統的虛擬化計算資源。
圖1 符合軟件定義框架的安全實踐模型
圖2 軟件定義采集——導流分流匯聚
圖3 系統部署結構圖
對比本文提出的軟件定義概念的特性,僅把入侵檢測產品放入虛擬機只做到了軟件化,并不是完整的軟件定義,因此我們需要從整個安全的實施過程來對其進行改造,才能使之具有軟件定義的軟件化、解耦合和集中可控這三種特點。圖1給出了一種符合軟件定義框架的安全實踐模型,按照此模型把虛擬機形態的入侵檢測系統按照功能進行解耦合,解耦合后的入侵檢測系統分成配置響應層、網絡流操控層和業務分析層。其中,配置響應層用于對入侵檢測系統策略配置和告警結果展示分析的功能,對應于安全實施流程中的響應過程。網絡流操控層作為流量采集器以虛擬機的方式部署在用戶的業務網絡中,每臺物理主機內部署一個這樣的流量采集虛擬機,用于抓取該物理主機內所有虛擬機間的網絡流量,并根據安全域的策略對流量進行按需的分類導引。圖2給出了這個導流分類匯聚的原理圖,邊界混雜的流量被進行統一的按軟件定義的域邊界分類、再以軟件定義的域邊界對應的安全設備抓包口為目的進行匯聚,從而實現了在安全實施流程中軟件定義采集的過程。通過網絡流導引技術把通過流量采集虛擬機采集到的網絡流量按照所屬安全域轉發到對應的物理入侵檢測系統上,這里的物理入侵檢測系統承擔了對采集到的數據的分析和展現功能,對應安全實施流程中的分析過程。在整個體系結構的最上層,建立一個統一的安全管理中心,通過虛擬化管理中心提供的API接口收集全局拓撲信息,以軟件配置的方式定義建立在物理拓撲信息上的安全域,根據安全域中虛擬機的物理位置按需的部署采集器,并為安全域分配物理安全設備,實現安全實施流程中的規劃和部署過程。這樣就實現了一個完整的包括規劃、部署、采集、分析和響應的軟件定義的安全解決方案的實施流程。圖3給出了整個系統的部署示意圖,被從物理硬件上解耦合出來的采集功能能夠被部署到虛擬化環境的內部以獲得物理硬件設備無法采集到的流量,在解耦出去采集功能后,硬件的入侵檢測設備不再需要考慮具體的部署接入位置,而是可以接入在大二層的虛擬化環境中的任何位置上,其流量將不在是被動的流經其所監控的交換機端口,而是被主動推送到其抓包口上,租戶的安全策略管理門戶即安全管理中心,該設備可以以軟件或硬件的方式接入在虛擬化環境中,該設備作為整個軟件定義安全系統的大腦,控制著上整個軟件定義安全的規劃、部署、采集、分析和相應的過程。
通過表1對比說明符合軟件定義特性的入侵檢測系統和虛擬機形態的入侵檢測系統在解決虛擬化環境具體安全問題上的能力區別:
表1兩種入侵檢測系統方案對比表
兩種入侵檢測系統方案對比表 | ||
虛擬化安全問題 | 虛擬機形態安全產品方案 | 軟件定義的安全方案 |
流量可見性問題 | 全流量可見 | 全流量可見 |
安全域流量完整性問題 | 無法對應跨物理機的安全域,只能檢測一臺物理機內的虛擬機 | 可以跨物理機獲取安全域的全部流量 |
適應動態拓撲能力 | 適應動態拓撲的性能較低,需要根據被保護的虛擬機的創建而實時創建,當被保護虛擬機遷移時,也需要實時跟隨遷移,代價較高,并且無全局視角,需要手動操作 | 每臺物理機部署一臺抓取流量用的流量采集虛擬機即可,該虛擬機不遷移,當被保護虛擬機遷移時,只根據安全管理中心的命令自動同步安全策略,代價很低 |
安全域邊界劃分問題 | 不能區分網絡流所屬安全域,只能按照虛擬交換機的鏡像功能抓取流量 | 在采集虛擬機處通過軟件定義,劃分了安全域邊界,網絡流導入分析引擎時,是按照劃分后的邊界進行的導流 |
占用虛擬化資源問題 | 占用資源隨著分析功能的增加而提高,在部署多個虛擬機形態的安全產品后,將占用極大的計算資源 | 每臺物理機最多只部署一個采集虛擬機,在虛擬化環境中只占用數據包捕獲和導出所需的計算資源,占用資源可控,且較低 |
入侵檢測系統自身性能問題 | 自身性能受到虛擬化環境的影響較大,難以達到硬件物理設備的性能水平 | 采用帶外的硬件作為分析組件,能夠達到和傳統物理網絡相同的性能 |
本文歸納總結了軟件定義模型的三個特征:軟件化、解耦合、集中可控。從安全實施的角度給出了一個軟件定義安全的實踐模型,該模型以軟件定義的規劃、部署過程來集中管控整個安全實施流程,通過解耦合采集、分析和響應過程來配合集中管控策略的動態變化能力,通過軟件化的采集器組件保證對虛擬化環境的監控粒度,而利用硬件形態的分析組件保證安全業務的執行效率。本文所提出的軟件定義安全的實踐方法以入侵檢測系統為例,但不僅僅適用于入侵檢測系統,同時也廣泛的適用于大多數硬件形態的網絡安全設備,可以作為云計算安全解決方案的實施模板。
在下期中,我們將繼續從軟件定義安全的角度討論:如何讓物理安全產品能夠以服務的方式提供按需的安全服務能力,如何讓軟件形態的安全產品也更加適應云計算的動態變化計算環境,如何對建立合理的云計算環境中的問責追溯技術環境,如何確保安全產品在虛擬化環境中不對用戶業務系統產生資源競爭威脅,如何強化傳統SOC在云計算環境中的能力,使之起到云計算安全管理中心的作用。
[1] SDDC – Software-defined Data Center. http://www.vmware.com/cn/software-defined-datacenter/index.html
[2] Robert B. Bohn, John Messina, Fang Liu, Jin Tong, Jian Mao, “NIST Cloud Computing Reference Architecture,” services, pp.594-596, 2011 IEEE World Congress on Services, 2011.
[3] Boris Koldehofe, Frank Dürr,Muhammad Adnan Tariq and Kurt Rothermel. The Power of Software-defined Networking: Line-rate Content-based Routing Using OpenFlow. In Proceedings of the 7th MW4NG Workshop of the 13th International Middleware Conference 2012.
[4] Software Defined Perimeter (SDP) Specification v1.0. https://cloudsecurityalliance.org/download/sdp-specification-v1-0/
上一篇:面向Web中間件的業務審計系統
下一篇:大數據安全分析漫談