本文從當(dāng)今信息安全產(chǎn)業(yè)割據(jù)化、封閉化、硬件化的三個特點入手,結(jié)合典型云平臺架構(gòu)分析了信息安全和云平臺之間日趨嚴(yán)重的鴻溝,并提出了對應(yīng)的解決思路,即信息安全的三個發(fā)展趨勢:信息安全自身發(fā)展的縱深防御(Defense in Depth)、由應(yīng)用與信息安全二者融合驅(qū)動的軟件定義信息安全(Software Defined Infomation Security)、由虛擬化技術(shù)和信息安全二者結(jié)合驅(qū)動的安全設(shè)備虛擬化(Security Device Virtualization),這三者結(jié)合后形成了一套更安全、敏捷、經(jīng)濟的云平臺安全體系。
一、傳統(tǒng)信息安全和云計算的興起。
在傳統(tǒng)的信息安全時代主要采用隔離作為安全的手段,具體分為物理隔離、內(nèi)外網(wǎng)隔離、加密隔離,實踐證明這種隔離手段針對傳統(tǒng)IT架構(gòu)能起到有效的防護。同時這種隔離為主的安全體系催生了一批以硬件銷售為主的安全公司,例如各種FireWall(防火墻)、IDS/IPS(入侵檢測系統(tǒng)/入侵防御系統(tǒng))、WAF(Web應(yīng)用防火墻)、UTM(統(tǒng)一威脅管理)、SSL網(wǎng)關(guān)、加密機等。在這種隔離思想下,并不需要應(yīng)用提供商參與較多信息安全工作,在典型場景下是由總集成商負(fù)責(zé)應(yīng)用和信息安全之間的集成,而這導(dǎo)致了長久以來信息安全和應(yīng)用相對獨立的發(fā)展,尤其在國內(nèi)這兩個領(lǐng)域的圈子交集并不大。結(jié)果,傳統(tǒng)信息安全表現(xiàn)出分散割據(jù)化、對應(yīng)用的封閉化、硬件盒子化的三個特征。
但隨著云計算的興起,這種隔離為主體思想的傳統(tǒng)信息安全在新的IT架構(gòu)中已經(jīng)日益難以應(yīng)對了。在NIST(美國國家標(biāo)準(zhǔn)技術(shù)研究所)的規(guī)范中云計算被分為三層,SaaS解決了應(yīng)用軟件的即買即開即用,IaaS解決了承載應(yīng)用所需計算資源的動態(tài)變化,而PaaS解決應(yīng)用在全生命周期變化所帶來的問題。本文重點分析更為基礎(chǔ)的IaaS和PaaS。
二、公有云場景下隔離原則失效,縱深防御是必然趨勢。
公有云的典型場景是多租戶共享,但和傳統(tǒng)IT架構(gòu)相比,原來的可信邊界徹底被打破了,威脅可能直接來自于相鄰租戶。當(dāng)然聰明的人們在小心翼翼的設(shè)計,防止虛機逃逸、防止租戶間網(wǎng)絡(luò)監(jiān)聽、防止每個單點功能上的漏洞,但是例外情況總是會有的。
在典型開源IaaS平臺-OpenStack應(yīng)用場景中,很多租戶通過Hypervisor(虛擬機監(jiān)視器)共享同一個物理操作系統(tǒng)的計算資源,在一張共享的二層網(wǎng)絡(luò)上實現(xiàn)網(wǎng)絡(luò)的區(qū)隔。以O(shè)penStack的G版本為例,攻擊者一旦通過某0day漏洞實現(xiàn)虛擬逃逸到宿主機(即OpenStack中的Nova節(jié)點),攻擊者就可以讀取這臺宿主機上所有虛擬機的內(nèi)存,從而可以控制這臺宿主機上的所有虛擬機。同時更致命的是,整個OpenStack節(jié)點間通訊的API默認(rèn)都是可信的,因此可以從這臺宿主機與集群消息隊列交互,進(jìn)而集群消息隊列會被攻擊者控制,最終一舉端掉整個OpenStack集群。
接著說PaaS,主流PaaS普遍采用進(jìn)程隔離的container技術(shù)(例如Linux內(nèi)核中的lxc),這種技術(shù)的安全成熟度還不如Hypervisor,攻擊原理同上述OpenStack,這里暫不展開。從功能上,主流PaaS一般針對應(yīng)用的源代碼管理、持續(xù)集成、部署、運維做自動化處理,而從安全角度看這意味著可信邊界的弱化,比如說一旦持續(xù)集成這個節(jié)點被攻擊者控制,后續(xù)的部署、生產(chǎn)環(huán)境運維都會直接暴露給攻擊者。因此,云的快速和自動化在這里是一把雙刃劍,如果存在漏洞,危害的發(fā)生同樣很快。
再說大數(shù)據(jù),安全圈有種說法,“大數(shù)據(jù)時代最先受益的是駭客”。以前還要逐個攻破,現(xiàn)在數(shù)據(jù)集中了,直接可以一鍋端了。集中化的大量數(shù)據(jù),帶著N個副本存儲在不同的IDC,在大量的分布式節(jié)點上計算著,數(shù)據(jù)的所有者如何確保自己的數(shù)據(jù)是安全的?大數(shù)據(jù)加上公有云,如果缺乏有效的安全防護,將會成為駭客們的盛宴。
因此從信息安全自身發(fā)展來看,縱深防御(Defense in Depth,以下簡稱DiD)是經(jīng)典信息安全防御體系在新IT架構(gòu)變革下的必然發(fā)展趨勢。原有的可信邊界日益削弱、攻擊平面也在增多,過去的單層防御(Single Layer Defense)已經(jīng)難以維系,而縱深防御體系能大大增強信息安全的防護能力。縱深防御兩個主要特性是【觀點來自@phreaker】:
1. 多點聯(lián)動防御。在過去的安全體系,每個安全節(jié)點各自為戰(zhàn),沒有實質(zhì)性的聯(lián)動。而如果這些安全環(huán)節(jié)能協(xié)同作戰(zhàn)、互補不足,則會帶來更好的防御效果。例如FireWall、IDS/IPS、WAF、UTM、SIEM(安全信息和事件管理)等之間的有機聯(lián)動,可以更加準(zhǔn)確的鎖定入侵者。
2. 入侵容忍技術(shù)(Intrusion Tolerance Technology)。以O(shè)penStack為例,我們假設(shè)虛擬逃逸是存在的。因此我們的設(shè)計原則是:即使攻擊者控制了某臺Nova節(jié)點,我們會通過安全設(shè)計手段避免攻擊者進(jìn)一步攻擊OpenStack消息隊列,或攻擊這臺Nova的其他虛機。
現(xiàn)狀信息安全產(chǎn)業(yè),普遍是單層防御,而非縱深防御,其中一個原因由于安全廠商的分散割據(jù)化造成的,例如FireWall、IDS/IPS、WAF、UTM、SIEM、PKI(公鑰基礎(chǔ)設(shè)施)、SSL網(wǎng)關(guān)、代碼審計、終端安全、加密機等不同廠商,同時這種安全廠商的分散割據(jù)化現(xiàn)狀也會阻礙縱深防御的進(jìn)一步發(fā)展。如何把分散割據(jù)的各安全廠商的能力有效整合形成聯(lián)動,是需要我們深思的,也許接下來要探討的軟件定義信息安全會是一個手段。
三、安全設(shè)備的封閉化阻礙了安全發(fā)展,未來安全設(shè)備的開放化是趨勢。
在過去的許多年,傳統(tǒng)安全廠商呈現(xiàn)了封閉化特征。雖然設(shè)計了大量安全軟件,例如FirwWall中的規(guī)則實現(xiàn)、IDS中的業(yè)務(wù)邏輯,但這些軟件并不是為用戶設(shè)計的,而是被安全廠商寫死在安全硬件設(shè)備中、作為軟硬件捆綁的一體化對外服務(wù)。這樣導(dǎo)致了用戶無法靈活的利用安全軟件來結(jié)合自己的業(yè)務(wù)場景做深入結(jié)合,例如針對特定應(yīng)用場景下的流量清洗。同時傳統(tǒng)安全廠商的這種封閉性,也阻礙了各個安全設(shè)備之間聯(lián)動整合,進(jìn)而難以形成聯(lián)動防御。
封閉化的安全設(shè)備,從某種意義上維護了傳統(tǒng)安全廠商的利益,但是卻損害了用戶的利益。而從用戶的角度來看,未來安全設(shè)備的開放化、可編程化很可能是個趨勢,軟件定義信息安全(Software Defined Infomation Security,以下簡稱SDIS)這個概念正是為用戶的這種訴求而生。SDIS強調(diào)安全硬件設(shè)備的可編程化,這樣使得用戶可以靈活的把安全硬件設(shè)備和應(yīng)用場景化、深入結(jié)合、聯(lián)動防御。所謂Software Defined,不僅是應(yīng)用軟件與安全設(shè)備的API級互動,更重要的是各安全設(shè)備之間、或縱深防御大腦系統(tǒng)與安全設(shè)備之間的API級聯(lián)動,這樣才能有效的構(gòu)建縱深防御。從這一點上,也可以說SDIS為構(gòu)建縱深防御體系提供了可能。而從應(yīng)用軟件威脅的角度看,新的攻擊方式是更加高級、上層的方式。例如針對某電商網(wǎng)站高價值商品的惡意下單攻擊,具體做法是網(wǎng)站一搞促銷,攻擊者就用注冊好的賬號搶光高價值商品、但卻延遲支付,對付這種攻擊方式的一種解決思路就是讓應(yīng)用軟件的惡意下單檢測模塊與FireWall互動。
Software Defined的精髓在于打破了安全設(shè)備的生態(tài)封閉性,在盡量實現(xiàn)最小開放原則的同時,使得安全設(shè)備之間或安全設(shè)備與應(yīng)用軟件有效地互動以提升整體安全性,而非簡單理解為增加了安全設(shè)備的風(fēng)險敞口。事實上在傳統(tǒng)安全設(shè)備的封閉生態(tài)下,如果違反了最小開放原則或存在其他缺陷,即使是一個不開放API的安全設(shè)備盒子也同樣有可能存在漏洞。而SDIS恰恰是為了提升系統(tǒng)的整體安全性,而對個體安全設(shè)備做了必要的API開放。
SDIS不是一個具體的技術(shù)(相比較而言,SSL網(wǎng)關(guān)、WAF、加密機是具體的技術(shù)),SDIS是一種應(yīng)用信息安全的設(shè)計理念,是一種架構(gòu)思想,這種思想可以落地為具體的架構(gòu)設(shè)計。基于SDIS的設(shè)計理念,用戶的意志最重要,傳統(tǒng)安全設(shè)備廠商按照約定的SDIS規(guī)范(SDIS規(guī)范由甲方聯(lián)盟主導(dǎo)制定)提供細(xì)分領(lǐng)域的專業(yè)安全設(shè)備,同時市場上也會出現(xiàn)一些符合SDIS規(guī)范的白牌安全設(shè)備,用戶通過API級的互動,深度整合這些安全設(shè)備形成一個有機的整體,提升了整體安全性。舉個例子,實時采集環(huán)境中所有安全設(shè)備的日志,經(jīng)過一個智能的大腦系統(tǒng)分析(例如Splunk),是可以得出更有意義的結(jié)論,進(jìn)而反饋給相關(guān)的安全設(shè)備。對用戶的另外一個好處是,如果SDIS驅(qū)使安全設(shè)備開放了標(biāo)準(zhǔn)接口,進(jìn)而會培養(yǎng)一批市場上的垂直領(lǐng)域的專業(yè)安全服務(wù)商、或白牌安全設(shè)備廠商,那么傳統(tǒng)安全設(shè)備廠家再也不能大包大攬了,用戶從此不再被安全設(shè)備廠家綁架。
如果對比流行的網(wǎng)絡(luò)技術(shù)-SDN(軟件定義網(wǎng)絡(luò)),SDIS技術(shù)架構(gòu)也許會有如下模塊:SDIS南向接口(安全設(shè)備與大腦系統(tǒng)的API)、信息安全大腦系統(tǒng)(類似SDN的Controller)、SDIS北向接口(用戶與大腦系統(tǒng)的接口或界面)。再從軟件定義信息安全SDIS的概念命名來看,軟件二字既可以是應(yīng)用軟件,也可以是縱深防御的大腦系統(tǒng)。
四、虛擬化技術(shù)和安全設(shè)備的結(jié)合,驅(qū)動了云上的安全設(shè)備虛擬化、混合化。
傳統(tǒng)安全廠商有硬件化的偏好,尤其是在國內(nèi),安全廠商傾向于做成盒子形式銷售,而非賣軟件+服務(wù)。典型的做法是,某安全廠商研發(fā)一套安全軟件,但把軟件預(yù)裝在一臺2U的Linux服務(wù)器上,再貼牌銷售。除了加密機等幾種特例,大多數(shù)的安全設(shè)備盒子并非特別針對硬件的定制或加速,其實就是把軟件和硬件搭配在一起而已。
而到了云平臺上,成千上萬的多租戶共享著相同的物理資源,這種安全硬件盒子的方式已經(jīng)難以滿足需求了。也許對一個傳統(tǒng)安全從業(yè)人員來說,公有云是一個安全令人堪憂的事物,但現(xiàn)狀是誰也無法阻擋公有云的蓬勃發(fā)展。因此在云平臺上我們只能順應(yīng)這種潮流,對傳統(tǒng)安全的硬件化進(jìn)行必要的創(chuàng)新,在確保安全的前提下把安全軟件從硬件盒子里搬出來放到云中,這就是安全設(shè)備虛擬化(Security Device Virtualization,以下簡稱SDV)。SDN是安全硬件的軟化(例如Hypervisor化、或container化、或進(jìn)程化),也即利用各種不同的虛擬化技術(shù),借助云平臺上標(biāo)準(zhǔn)的計算單元創(chuàng)造一個安全設(shè)備。
SDV帶來的好處是大大降低了成本、同時提高了敏捷度、降低了成本、甚至提高了并發(fā)性能(比如利用scale out的橫向擴展和云資源的彈性擴容)。但我們也要認(rèn)識到,和硬件安全設(shè)備相比,SDV增加了攻擊平面、降低了可信邊界,需要我們小心翼翼的設(shè)計SDV的整個技術(shù)架構(gòu)、在全生命周期中謹(jǐn)慎管理虛擬化安全設(shè)備,以避免帶來新的威脅。
事實上,云平臺上的SDV也是一個被迫的選擇,舉個例子,假如如果沒有SDV,整個云平臺使用一臺高性能硬件WAF去一刀切式的防護云端的一萬個網(wǎng)站,針對不同業(yè)務(wù)的網(wǎng)站很難有效的定制規(guī)則,無疑是形同裸奔。與其裸奔,倒還不如有虛擬化的WAF實例針對不同業(yè)務(wù)的網(wǎng)站做有針對性的防護。當(dāng)然在某些場景下,我們可以把傳統(tǒng)硬件安全設(shè)備和虛擬化安全設(shè)備做一個混合部署,把安全性和經(jīng)濟性巧妙地結(jié)合起來。
五、DiD、SDIS、SDV三者是正交的,融合設(shè)計后能能形成完整的安全體系。
在云平臺上,縱深防御(DiD)、軟件定義信息安全(SDIS)、安全設(shè)備虛擬化(SDV)三者既是相互獨立的、正交的,又相互發(fā)生聯(lián)系。如下圖所示:
軟件定義信息安全(SDIS)和安全設(shè)備虛擬化(SDV)容易混為一談,因此我們再做個進(jìn)一步分析。SDIS強調(diào)安全設(shè)備的打破封閉性、提高可編程性,同時盡量收緊安全邊界(例如API最小開放、API調(diào)用有身份認(rèn)證),SDIS強調(diào)各安全設(shè)備之間、或應(yīng)用與安全設(shè)備的互動,以形成防護效果最大化。而SDV是從硬件虛擬化的角度來看的,純粹是為了滿足在云平臺上構(gòu)建一個安全防御單元,達(dá)到快捷、省錢、高性能的目的。
因此如果一個硬件安全設(shè)備本身有針對應(yīng)用的API,那它也可以實現(xiàn)SDIS。反之即使一個安全防御單元并沒有向應(yīng)用開放API,這個安全防御單元也仍然可以用虛擬化的方式構(gòu)建(例如hypervisor 虛擬機、container容器、或一個進(jìn)程)。為了進(jìn)一步證明SDV與SDIS是正交的,羅列出以下4種可能組合:
1)非SDV(硬件安全設(shè)備)+非SDIS(不向應(yīng)用開放API):信息安全傳統(tǒng)架構(gòu);
2)非SDV(硬件安全設(shè)備)+SDIS(向應(yīng)用開放API):安全廠商的硬件安全設(shè)備向應(yīng)用開放編程API;
3)SDV(虛擬化的安全設(shè)備)+非SDIS(不向應(yīng)用開放API):僅僅把安全廠商的硬軟件用虛擬化技術(shù)實現(xiàn);
4)SDV(虛擬化的安全設(shè)備)+SDIS(向應(yīng)用開放API):安全廠商的安全設(shè)備是虛擬化的,同時也對應(yīng)用開放了編程API;
六、SDIS和SDV帶來的潛在安全威脅及應(yīng)對。
必須嚴(yán)肅正視的一點是,雖然SDIS和SDV帶來了很多好處,但同時增加了攻擊平面,例如針對安全設(shè)備開放API的攻擊、針對虛擬化安全設(shè)備的Hypervisor層的攻擊。因此我們要謹(jǐn)慎設(shè)計并把握三個原則:
1)收緊攻擊平面。例如大腦系統(tǒng)和安全設(shè)備的API互動,設(shè)計一個身份驗證機制,防止其他節(jié)點或惡意應(yīng)用仿冒成大腦系統(tǒng)給安全設(shè)備發(fā)指令。
2)入侵容忍技術(shù)(Intrusion Tolerance Technology)。例如安全設(shè)備API開放最小化,同時針對敏感API的惡意調(diào)用行為有檢測和報警模塊,這樣萬一大腦系統(tǒng)也被攻擊者控制,我們也留有一個應(yīng)急處理機制。
3)對敏感業(yè)務(wù)強制人工審核。例如大腦系統(tǒng)經(jīng)過分析認(rèn)為某安全設(shè)備策略應(yīng)當(dāng)調(diào)整,接下來由經(jīng)驗豐富的管理員人工確認(rèn)這個策略調(diào)整。這也可以看作是一種半自動化。
事實上絕對意義上的安全也許是不存在的,因此我們要利用上述三個原則想方設(shè)法增大攻擊成本,最終使得攻擊者在權(quán)衡攻擊成本和竊取信息價值后選擇放棄。
綜上所述,在傳統(tǒng)IT架構(gòu)發(fā)展到云架構(gòu)的今天,傳統(tǒng)信息安全的分散割據(jù)化、對應(yīng)用的封閉化、硬件盒子化已不再適合新一代應(yīng)用的需求了。信息安全和應(yīng)用的關(guān)系亟待一場變革,從變革的目標(biāo)看,信息安全與應(yīng)用的跨界融合是主流方向,安全最終一定是由業(yè)務(wù)和應(yīng)用驅(qū)動的。而這種安全和應(yīng)用的跨界融合,催生了信息安全三個維度的發(fā)展方向:信息安全自身發(fā)展的縱深防御(DiD)、由應(yīng)用與信息安全二者融合驅(qū)動的軟件定義信息安全(SDIS)、由虛擬化技術(shù)和信息安全二者結(jié)合驅(qū)動的安全設(shè)備虛擬化(SDV)。信息安全在這三個維度演化出來的新技術(shù)融合以后,能否形成一套更安全、敏捷、經(jīng)濟的下一代云平臺安全體系?這需要我們進(jìn)一步的實踐和探索。
免費訂閱“CSDN云計算”微信公眾號,實時掌握第一手云中消息!
CSDN作為國內(nèi)最專業(yè)的云計算服務(wù)平臺,提供云計算、大數(shù)據(jù)、虛擬化、數(shù)據(jù)中心、OpenStack、CloudStack、Hadoop、Spark、機器學(xué)習(xí)、智能算法等相關(guān)云計算觀點,云計算技術(shù),云計算平臺,云計算實踐,云計算產(chǎn)業(yè)資訊等服務(wù)。
作者簡介:白小勇,用友軟件電信事業(yè)部程序員。本文若干觀點來自逐鹿安全沙龍的群體智慧,該沙龍由多方用戶、應(yīng)用架構(gòu)師及安全研究人員組成,核心思想是安全與應(yīng)用的融合,做以業(yè)務(wù)為中心的應(yīng)用安全,我們會從一些獨特視角去思考安全,并試圖為企業(yè)信息安全建設(shè)做點有用的事。(責(zé)編/魏偉)