雲平臺安全的三個發展趨勢

傳統IT架構發展到雲架構的今天,傳統信息安全的分散割據化、對應用的封閉化、硬件盒子化已不再適合新一代應用的需求。未來信息安全與應用的跨界融合是主流方向,而這種融合又催生了信息安全三個維度的發展方向。

本文從當今信息安全產業割據化、封閉化、硬件化的三個特點入手,結合典型雲平臺架構分析了信息安全和雲平臺之間日趨嚴重的鴻溝,並提出了對應的解決思路,即信息安全的三個發展趨勢:信息安全自身發展的縱深防禦(Defense in Depth)、由應用與信息安全二者融合驅動的軟件定義信息安全(Software Defined Infomation Security)、由虛擬化技術和信息安全二者結合驅動的安全設備虛擬化(Security Device Virtualization),這三者結合後形成了一套更安全、敏捷、經濟的雲平臺安全體系。

一、傳統信息安全和雲計算的興起。

在傳統的信息安全時代主要採用隔離作爲安全的手段,具體分爲物理隔離、內外網隔離、加密隔離,實踐證明這種隔離手段針對傳統IT架構能起到有效的防護。同時這種隔離爲主的安全體系催生了一批以硬件銷售爲主的安全公司,例如各種FireWall(防火牆)、IDS/IPS(入侵檢測系統/入侵防禦系統)、WAF(Web應用防火牆)、UTM(統一威脅管理)、SSL網關、加密機等。在這種隔離思想下,並不需要應用提供商參與較多信息安全工作,在典型場景下是由總集成商負責應用和信息安全之間的集成,而這導致了長久以來信息安全和應用相對獨立的發展,尤其在國內這兩個領域的圈子交集並不大。結果,傳統信息安全表現出分散割據化、對應用的封閉化、硬件盒子化的三個特徵。

但隨着雲計算的興起,這種隔離爲主體思想的傳統信息安全在新的IT架構中已經日益難以應對了。在NIST(美國國家標準技術研究所)的規範中雲計算被分爲三層,SaaS解決了應用軟件的即買即開即用,IaaS解決了承載應用所需計算資源的動態變化,而PaaS解決應用在全生命週期變化所帶來的問題。本文重點分析更爲基礎的IaaS和PaaS。

二、公有云場景下隔離原則失效,縱深防禦是必然趨勢。

公有云的典型場景是多租戶共享,但和傳統IT架構相比,原來的可信邊界徹底被打破了,威脅可能直接來自於相鄰租戶。當然聰明的人們在小心翼翼的設計,防止虛機逃逸、防止租戶間網絡監聽、防止每個單點功能上的漏洞,但是例外情況總是會有的。

在典型開源IaaS平臺-OpenStack應用場景中,很多租戶通過Hypervisor(虛擬機監視器)共享同一個物理操作系統的計算資源,在一張共享的二層網絡上實現網絡的區隔。以OpenStack的G版本爲例,攻擊者一旦通過某0day漏洞實現虛擬逃逸到宿主機(即OpenStack中的Nova節點),攻擊者就可以讀取這臺宿主機上所有虛擬機的內存,從而可以控制這臺宿主機上的所有虛擬機。同時更致命的是,整個OpenStack節點間通訊的API默認都是可信的,因此可以從這臺宿主機與集羣消息隊列交互,進而集羣消息隊列會被攻擊者控制,最終一舉端掉整個OpenStack集羣。

接着說PaaS,主流PaaS普遍採用進程隔離的container技術(例如Linux內核中的lxc),這種技術的安全成熟度還不如Hypervisor,攻擊原理同上述OpenStack,這裏暫不展開。從功能上,主流PaaS一般針對應用的源代碼管理、持續集成、部署、運維做自動化處理,而從安全角度看這意味着可信邊界的弱化,比如說一旦持續集成這個節點被攻擊者控制,後續的部署、生產環境運維都會直接暴露給攻擊者。因此,雲的快速和自動化在這裏是一把雙刃劍,如果存在漏洞,危害的發生同樣很快。

再說大數據,安全圈有種說法,“大數據時代最先受益的是駭客”。以前還要逐個攻破,現在數據集中了,直接可以一鍋端了。集中化的大量數據,帶着N個副本存儲在不同的IDC,在大量的分佈式節點上計算着,數據的所有者如何確保自己的數據是安全的?大數據加上公有云,如果缺乏有效的安全防護,將會成爲駭客們的盛宴。

因此從信息安全自身發展來看,縱深防禦(Defense in Depth,以下簡稱DiD)是經典信息安全防禦體系在新IT架構變革下的必然發展趨勢。原有的可信邊界日益削弱、攻擊平面也在增多,過去的單層防禦(Single Layer Defense)已經難以維繫,而縱深防禦體系能大大增強信息安全的防護能力。縱深防禦兩個主要特性是【觀點來自@phreaker】:

1. 多點聯動防禦。在過去的安全體系,每個安全節點各自爲戰,沒有實質性的聯動。而如果這些安全環節能協同作戰、互補不足,則會帶來更好的防禦效果。例如FireWall、IDS/IPS、WAF、UTM、SIEM(安全信息和事件管理)等之間的有機聯動,可以更加準確的鎖定入侵者。

2. 入侵容忍技術(Intrusion Tolerance Technology)。以OpenStack爲例,我們假設虛擬逃逸是存在的。因此我們的設計原則是:即使攻擊者控制了某臺Nova節點,我們會通過安全設計手段避免攻擊者進一步攻擊OpenStack消息隊列,或攻擊這臺Nova的其他虛機。

現狀信息安全產業,普遍是單層防禦,而非縱深防禦,其中一個原因由於安全廠商的分散割據化造成的,例如FireWall、IDS/IPS、WAF、UTM、SIEM、PKI(公鑰基礎設施)、SSL網關、代碼審計、終端安全、加密機等不同廠商,同時這種安全廠商的分散割據化現狀也會阻礙縱深防禦的進一步發展。如何把分散割據的各安全廠商的能力有效整合形成聯動,是需要我們深思的,也許接下來要探討的軟件定義信息安全會是一個手段。

三、安全設備的封閉化阻礙了安全發展,未來安全設備的開放化是趨勢。

在過去的許多年,傳統安全廠商呈現了封閉化特徵。雖然設計了大量安全軟件,例如FirwWall中的規則實現、IDS中的業務邏輯,但這些軟件並不是爲用戶設計的,而是被安全廠商寫死在安全硬件設備中、作爲軟硬件捆綁的一體化對外服務。這樣導致了用戶無法靈活的利用安全軟件來結合自己的業務場景做深入結合,例如針對特定應用場景下的流量清洗。同時傳統安全廠商的這種封閉性,也阻礙了各個安全設備之間聯動整合,進而難以形成聯動防禦。

封閉化的安全設備,從某種意義上維護了傳統安全廠商的利益,但是卻損害了用戶的利益。而從用戶的角度來看,未來安全設備的開放化、可編程化很可能是個趨勢,軟件定義信息安全(Software Defined Infomation Security,以下簡稱SDIS)這個概念正是爲用戶的這種訴求而生。SDIS強調安全硬件設備的可編程化,這樣使得用戶可以靈活的把安全硬件設備和應用場景化、深入結合、聯動防禦。所謂Software Defined,不僅是應用軟件與安全設備的API級互動,更重要的是各安全設備之間、或縱深防禦大腦系統與安全設備之間的API級聯動,這樣纔能有效的構建縱深防禦。從這一點上,也可以說SDIS爲構建縱深防禦體系提供了可能。而從應用軟件威脅的角度看,新的攻擊方式是更加高級、上層的方式。例如針對某電商網站高價值商品的惡意下單攻擊,具體做法是網站一搞促銷,攻擊者就用註冊好的賬號搶光高價值商品、但卻延遲支付,對付這種攻擊方式的一種解決思路就是讓應用軟件的惡意下單檢測模塊與FireWall互動。

Software Defined的精髓在於打破了安全設備的生態封閉性,在儘量實現最小開放原則的同時,使得安全設備之間或安全設備與應用軟件有效地互動以提升整體安全性,而非簡單理解爲增加了安全設備的風險敞口。事實上在傳統安全設備的封閉生態下,如果違反了最小開放原則或存在其他缺陷,即使是一個不開放API的安全設備盒子也同樣有可能存在漏洞。而SDIS恰恰是爲了提升系統的整體安全性,而對個體安全設備做了必要的API開放。

SDIS不是一個具體的技術(相比較而言,SSL網關、WAF、加密機是具體的技術),SDIS是一種應用信息安全的設計理念,是一種架構思想,這種思想可以落地爲具體的架構設計。基於SDIS的設計理念,用戶的意志最重要,傳統安全設備廠商按照約定的SDIS規範(SDIS規範由甲方聯盟主導制定)提供細分領域的專業安全設備,同時市場上也會出現一些符合SDIS規範的白牌安全設備,用戶通過API級的互動,深度整合這些安全設備形成一個有機的整體,提升了整體安全性。舉個例子,實時採集環境中所有安全設備的日誌,經過一個智能的大腦系統分析(例如Splunk),是可以得出更有意義的結論,進而反饋給相關的安全設備。對用戶的另外一個好處是,如果SDIS驅使安全設備開放了標準接口,進而會培養一批市場上的垂直領域的專業安全服務商、或白牌安全設備廠商,那麼傳統安全設備廠家再也不能大包大攬了,用戶從此不再被安全設備廠家綁架。

如果對比流行的網絡技術-SDN(軟件定義網絡),SDIS技術架構也許會有如下模塊:SDIS南向接口(安全設備與大腦系統的API)、信息安全大腦系統(類似SDN的Controller)、SDIS北向接口(用戶與大腦系統的接口或界面)。再從軟件定義信息安全SDIS的概念命名來看,軟件二字既可以是應用軟件,也可以是縱深防禦的大腦系統。

四、虛擬化技術和安全設備的結合,驅動了雲上的安全設備虛擬化、混合化。

傳統安全廠商有硬件化的偏好,尤其是在國內,安全廠商傾向於做成盒子形式銷售,而非賣軟件+服務。典型的做法是,某安全廠商研發一套安全軟件,但把軟件預裝在一臺2U的Linux服務器上,再貼牌銷售。除了加密機等幾種特例,大多數的安全設備盒子並非特別針對硬件的定製或加速,其實就是把軟件和硬件搭配在一起而已。

而到了雲平臺上,成千上萬的多租戶共享着相同的物理資源,這種安全硬件盒子的方式已經難以滿足需求了。也許對一個傳統安全從業人員來說,公有云是一個安全令人堪憂的事物,但現狀是誰也無法阻擋公有云的蓬勃發展。因此在雲平臺上我們只能順應這種潮流,對傳統安全的硬件化進行必要的創新,在確保安全的前提下把安全軟件從硬件盒子裏搬出來放到雲中,這就是安全設備虛擬化(Security Device Virtualization,以下簡稱SDV)。SDN是安全硬件的軟化(例如Hypervisor化、或container化、或進程化),也即利用各種不同的虛擬化技術,藉助雲平臺上標準的計算單元創造一個安全設備。

SDV帶來的好處是大大降低了成本、同時提高了敏捷度、降低了成本、甚至提高了併發性能(比如利用scale out的橫向擴展和雲資源的彈性擴容)。但我們也要認識到,和硬件安全設備相比,SDV增加了攻擊平面、降低了可信邊界,需要我們小心翼翼的設計SDV的整個技術架構、在全生命週期中謹慎管理虛擬化安全設備,以避免帶來新的威脅。

事實上,雲平臺上的SDV也是一個被迫的選擇,舉個例子,假如如果沒有SDV,整個雲平臺使用一臺高性能硬件WAF去一刀切式的防護雲端的一萬個網站,針對不同業務的網站很難有效的定製規則,無疑是形同裸奔。與其裸奔,倒還不如有虛擬化的WAF實例針對不同業務的網站做有針對性的防護。當然在某些場景下,我們可以把傳統硬件安全設備和虛擬化安全設備做一個混合部署,把安全性和經濟性巧妙地結合起來。

五、DiD、SDIS、SDV三者是正交的,融合設計後能能形成完整的安全體系。

在雲平臺上,縱深防禦(DiD)、軟件定義信息安全(SDIS)、安全設備虛擬化(SDV)三者既是相互獨立的、正交的,又相互發生聯繫。如下圖所示: 

 

軟件定義信息安全(SDIS)和安全設備虛擬化(SDV)容易混爲一談,因此我們再做個進一步分析。SDIS強調安全設備的打破封閉性、提高可編程性,同時儘量收緊安全邊界(例如API最小開放、API調用有身份認證),SDIS強調各安全設備之間、或應用與安全設備的互動,以形成防護效果最大化。而SDV是從硬件虛擬化的角度來看的,純粹是爲了滿足在雲平臺上構建一個安全防禦單元,達到快捷、省錢、高性能的目的。

因此如果一個硬件安全設備本身有針對應用的API,那它也可以實現SDIS。反之即使一個安全防禦單元並沒有嚮應用開放API,這個安全防禦單元也仍然可以用虛擬化的方式構建(例如hypervisor 虛擬機、container容器、或一個進程)。爲了進一步證明SDV與SDIS是正交的,羅列出以下4種可能組合:

1)非SDV(硬件安全設備)+非SDIS(不向應用開放API):信息安全傳統架構; 
2)非SDV(硬件安全設備)+SDIS(嚮應用開放API):安全廠商的硬件安全設備嚮應用開放編程API; 
3)SDV(虛擬化的安全設備)+非SDIS(不向應用開放API):僅僅把安全廠商的硬軟件用虛擬化技術實現; 
4)SDV(虛擬化的安全設備)+SDIS(嚮應用開放API):安全廠商的安全設備是虛擬化的,同時也對應用開放了編程API;

六、SDIS和SDV帶來的潛在安全威脅及應對。

必須嚴肅正視的一點是,雖然SDIS和SDV帶來了很多好處,但同時增加了攻擊平面,例如針對安全設備開放API的攻擊、針對虛擬化安全設備的Hypervisor層的攻擊。因此我們要謹慎設計並把握三個原則:

1)收緊攻擊平面。例如大腦系統和安全設備的API互動,設計一個身份驗證機制,防止其他節點或惡意應用仿冒成大腦系統給安全設備發指令。

2)入侵容忍技術(Intrusion Tolerance Technology)。例如安全設備API開放最小化,同時針對敏感API的惡意調用行爲有檢測和報警模塊,這樣萬一大腦系統也被攻擊者控制,我們也留有一個應急處理機制。

3)對敏感業務強制人工審覈。例如大腦系統經過分析認爲某安全設備策略應當調整,接下來由經驗豐富的管理員人工確認這個策略調整。這也可以看作是一種半自動化。

事實上絕對意義上的安全也許是不存在的,因此我們要利用上述三個原則想方設法增大攻擊成本,最終使得攻擊者在權衡攻擊成本和竊取信息價值後選擇放棄。

綜上所述,在傳統IT架構發展到雲架構的今天,傳統信息安全的分散割據化、對應用的封閉化、硬件盒子化已不再適合新一代應用的需求了。信息安全和應用的關係亟待一場變革,從變革的目標看,信息安全與應用的跨界融合是主流方向,安全最終一定是由業務和應用驅動的。而這種安全和應用的跨界融合,催生了信息安全三個維度的發展方向:信息安全自身發展的縱深防禦(DiD)、由應用與信息安全二者融合驅動的軟件定義信息安全(SDIS)、由虛擬化技術和信息安全二者結合驅動的安全設備虛擬化(SDV)。信息安全在這三個維度演化出來的新技術融合以後,能否形成一套更安全、敏捷、經濟的下一代雲平臺安全體系?這需要我們進一步的實踐和探索。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章