云安全將成為純安全問(wèn)題
關(guān)于云安全的未來(lái),高德納(Gartner)有兩個(gè)比較有意思的論斷:
論斷1:網(wǎng)絡(luò)安全的未來(lái)在云中
隨著云計(jì)算的日益普及,企業(yè)上云已經(jīng)成為必然的趨勢(shì)。Gartner曾作出一個(gè)預(yù)測(cè):在2020年前,50%的企業(yè)將業(yè)務(wù)工作流放到本地需要作為異常事件進(jìn)行審批。公司“無(wú)云”的策略會(huì)和現(xiàn)在“無(wú)網(wǎng)絡(luò)”的策略一樣少??梢?jiàn),云計(jì)算將成為企業(yè)各項(xiàng)應(yīng)用必不可少的服務(wù)平臺(tái)和基礎(chǔ)設(shè)施,那么討論網(wǎng)絡(luò)安全怎么做,就必須要考慮面向云計(jì)算的網(wǎng)絡(luò)安全怎么做,例如虛擬網(wǎng)絡(luò)隔離、東西向的入侵檢測(cè),等等。
?論斷2:云安全會(huì)變成單純的安全(Cloud security becomes … just security)
云計(jì)算與各行各業(yè)IT基礎(chǔ)設(shè)施進(jìn)一步融合,云或是基礎(chǔ),或是組件。例如,5G、邊緣計(jì)算和工業(yè)互聯(lián)網(wǎng),都需要云計(jì)算技術(shù)構(gòu)建云化的基礎(chǔ)設(shè)施或編排平臺(tái),那么這些新型系統(tǒng)的基礎(chǔ)設(shè)施安全,其實(shí)本質(zhì)上就是云計(jì)算IaaS/PaaS/CaaS的安全;此外,如欺騙技術(shù)、靶場(chǎng)技術(shù)等新的網(wǎng)絡(luò)安全機(jī)制,或多或少地使用了虛擬化、容器等技術(shù),因而,這些云計(jì)算技術(shù)融入后,就形成了新的、普適的安全技術(shù),即“just security”。
一方面,云化的基礎(chǔ)設(shè)施和平臺(tái)需要安全防護(hù),用傳統(tǒng)安全手段賦能云計(jì)算;另一方面,云計(jì)算的各種新技術(shù)、新理念(如軟件定義、虛擬化、容器、編排和微服務(wù)等),也在深刻變革著當(dāng)前的安全技術(shù)發(fā)展路線,因而,未來(lái)的云安全,一定會(huì)將“云”這個(gè)定語(yǔ)去除,等價(jià)于安全本身,即安全技術(shù)必然覆蓋云計(jì)算場(chǎng)景,安全技術(shù)必然利用云計(jì)算技術(shù)。
云計(jì)算的下半場(chǎng):云原生計(jì)算
如很多其他新技術(shù)一樣,云計(jì)算起源于美國(guó),但千萬(wàn)不要照搬美國(guó)的云計(jì)算發(fā)展過(guò)程到國(guó)內(nèi)復(fù)制一套相似的產(chǎn)品。事實(shí)上,在云計(jì)算的上半場(chǎng),即從云計(jì)算誕生至今,中美兩國(guó)走了兩條不同的發(fā)展路線,這與各自國(guó)情是有密切關(guān)系的。
具體而言,美國(guó)的云計(jì)算發(fā)展路線是先SaaS(Software as a Service,軟件即服務(wù))后IaaS(Infrastructure as a Service,基礎(chǔ)設(shè)施即服務(wù))。SaaS是最早的云計(jì)算服務(wù)形態(tài)。早在1999年,前甲骨文(Oracle)執(zhí)行官馬克·貝尼奧夫(Marc Benioff)就創(chuàng)辦了Salesforce,這是當(dāng)前最大的客戶關(guān)系管理(CRM) SaaS服務(wù)提供商。經(jīng)過(guò)20年的發(fā)展,美國(guó)的SaaS服務(wù)已經(jīng)深入企業(yè)業(yè)務(wù),平均每個(gè)企業(yè)會(huì)用到1427個(gè)云服務(wù),每名員工平均會(huì)用到36個(gè)云服務(wù)。SaaS的安全防護(hù)主要是以云端接入安全代理(CASB)為主,因而國(guó)外的CASB市場(chǎng)巨大,然而其挑戰(zhàn)在于需要適配大量SaaS服務(wù),所以這個(gè)市場(chǎng)的玩家目前主要是Skyhigh、Netskope等巨頭。
近幾年來(lái),隨著企業(yè)進(jìn)一步將業(yè)務(wù)云化,特別是將IT基礎(chǔ)設(shè)施替換為IaaS服務(wù)中的虛擬計(jì)算資源,通過(guò)軟件定義廣域網(wǎng)(SDWAN)連接分支結(jié)構(gòu)、云端資源,形成全棧云化、全分支機(jī)構(gòu)云化的趨勢(shì)。此時(shí),雖然IaaS整體營(yíng)收還遠(yuǎn)不及SaaS,但其增長(zhǎng)率激增,2019年的公有IaaS服務(wù)增長(zhǎng)率達(dá)到了37.3%,遠(yuǎn)超云服務(wù)總體增長(zhǎng)率(17.5%)。如亞馬遜云服務(wù)(AWS)這樣的公有IaaS,其安全防護(hù)主要是利用亞馬遜(Amazon)提供的各類(lèi)接口,在虛擬網(wǎng)絡(luò)、虛擬機(jī)層面提供網(wǎng)絡(luò)和終端防護(hù),Gartner把虛擬機(jī)層面的安全防護(hù)技術(shù)稱為云工作負(fù)載保護(hù)平臺(tái)(CWPP)。
中國(guó)的云計(jì)算發(fā)展是從虛擬化起步,從私有云到公有行業(yè)云,走出了具有中國(guó)特色的發(fā)展路線。里程碑是開(kāi)源的IaaS項(xiàng)目Openstack在國(guó)內(nèi)興起,國(guó)內(nèi)廠商,如華為、華三、EasyStack等企業(yè)基于Openstack研發(fā)了各自的云平臺(tái),此時(shí)國(guó)內(nèi)的云計(jì)算需求主要是將硬件服務(wù)器虛擬化,再加入多租戶管理、網(wǎng)絡(luò)隔離等需求,因而,多數(shù)云計(jì)算服務(wù)商提供的是私有云的解決方案。通常商用私有云系統(tǒng)是封閉的,缺乏對(duì)網(wǎng)絡(luò)流量按需控制的應(yīng)用接口,因而,針對(duì)這類(lèi)私有云的安全機(jī)制多為安全資源池,通過(guò)路由、VLAN或開(kāi)放網(wǎng)絡(luò)接口將流量牽引到資源池進(jìn)行處理。隨著節(jié)約成本、集約化管理和提供增值服務(wù)等需求的進(jìn)一步增強(qiáng),具有云平臺(tái)開(kāi)發(fā)能力的服務(wù)商基于前述的私有云平臺(tái),提供了公有IaaS的服務(wù)。然而,這種公有IaaS服務(wù)與AWS、阿里云不太一樣,它們具有鮮明的行業(yè)特性。例如,為政府提供的政務(wù)云,會(huì)將所有下屬政府機(jī)構(gòu)的服務(wù)器遷移到新的云平臺(tái)上,提供政務(wù)相關(guān)的服務(wù)。這樣的公有IaaS服務(wù),本質(zhì)上還是前述的OpenStack系的系統(tǒng),封裝了自服務(wù)功能,并提供行業(yè)相關(guān)的合規(guī)服務(wù)和增值服務(wù),因而其安全防護(hù)技術(shù)也可以基于安全資源池之上,提供面向租戶的安全即服務(wù)(Security as a Service)。
但總體而言,這樣的上云實(shí)踐只是“形”上的改變,還遠(yuǎn)沒(méi)有到“神”上的變化。過(guò)去兩年的行業(yè)發(fā)展表明,無(wú)論是中國(guó)還是美國(guó),云計(jì)算的新增長(zhǎng)點(diǎn)已經(jīng)都轉(zhuǎn)向云原生相關(guān)的領(lǐng)域,如容器即服務(wù)(CaaS)、編排技術(shù)、微服務(wù)、DevOps等,至此云計(jì)算進(jìn)入下半場(chǎng)。其驅(qū)動(dòng)力無(wú)外乎兩方面:
1.應(yīng)用快速交付和開(kāi)發(fā)運(yùn)營(yíng)一體化,DevOps的開(kāi)發(fā)運(yùn)營(yíng)模式已經(jīng)深入人心,由開(kāi)發(fā)團(tuán)隊(duì)驅(qū)動(dòng)的容器化部署、應(yīng)用編排等,事實(shí)上提出了新型的云交付模式。
2.新型IT基礎(chǔ)設(shè)施部署,如5G、工業(yè)互聯(lián)網(wǎng)和邊緣計(jì)算場(chǎng)景下,資源受限,有資源虛擬化等需求,大量使用了容器、編排和微服務(wù)等技術(shù),也使得云原生應(yīng)用未來(lái)可期。
云原生相關(guān)的技術(shù)棧在過(guò)去3~5年中得到了快速發(fā)展,以Docker、Kubernetes、Istio為代表的容器運(yùn)行時(shí)、編排系統(tǒng)、服務(wù)網(wǎng)格已經(jīng)成為事實(shí)上的標(biāo)準(zhǔn),而API網(wǎng)關(guān)、無(wú)服務(wù)框架也在快速演進(jìn)中??深A(yù)計(jì),未來(lái)5年內(nèi),云原生相關(guān)的技術(shù)會(huì)在互聯(lián)網(wǎng)企業(yè)、金融、運(yùn)營(yíng)商等行業(yè)得到大量應(yīng)用。筆者認(rèn)為云原生就是云計(jì)算的下半場(chǎng)。誰(shuí)贏得云原生的賽道,誰(shuí)才真正贏得了云計(jì)算。
原生安全:基于云原生、無(wú)處不在的安全
如果說(shuō)云安全的未來(lái)等價(jià)于純安全,而云計(jì)算的下半場(chǎng)是云原生,那不妨也做個(gè)推論:云原生的未來(lái)也會(huì)等價(jià)于原生安全。那么,什么樣的安全才是原生安全呢?筆者認(rèn)為原生安全有兩個(gè)特點(diǎn):基于云原生,無(wú)處不在。即,使用了云原生的技術(shù),能適用于各類(lèi)場(chǎng)景。
原生安全的發(fā)展會(huì)有三個(gè)階段,如圖1所示:
1. 安全賦能于云原生體系,構(gòu)建云原生的安全能力。當(dāng)前云原生技術(shù)發(fā)展迅速,但相應(yīng)的安全防護(hù)匱乏,就連最基礎(chǔ)的鏡像安全、安全基線都不盡如人意。因而應(yīng)該研究如何將現(xiàn)有成熟的安全能力,如隔離、訪問(wèn)控制、入侵檢測(cè)、應(yīng)用安全,應(yīng)用于云原生環(huán)境,構(gòu)建安全的云原生系統(tǒng)。
2. 云原生的新特性,例如輕快不變的基礎(chǔ)設(shè)施、彈性服務(wù)編排、開(kāi)發(fā)運(yùn)營(yíng)一體化等,具有諸多優(yōu)點(diǎn)。因而,安全廠商會(huì)開(kāi)始研究如何將這些能力賦能于傳統(tǒng)安全產(chǎn)品,通過(guò)軟件定義安全的架構(gòu),構(gòu)建原生安全架構(gòu),從而提供彈性、按需、云原生的安全能力,提高“防護(hù)-檢測(cè)-響應(yīng)”閉環(huán)的效率。
3. 當(dāng)安全設(shè)備或平臺(tái)云原生化后,就能提供(云)原生的安全能力,不僅適用于通用云原生場(chǎng)景、5G、邊緣計(jì)算等場(chǎng)景,甚至可以獨(dú)立部署在大型電商等需要輕量級(jí)、高彈性傳統(tǒng)場(chǎng)景,最終成為無(wú)處不在的安全。
圖1 原生安全的演進(jìn)
安全左移與右移
如果考慮云原生應(yīng)用的生命周期,則應(yīng)關(guān)注DevOps的整個(gè)閉環(huán)(見(jiàn)圖2),即從開(kāi)發(fā)、編譯、持續(xù)集成/持續(xù)部署(CI/CD),到運(yùn)行時(shí)運(yùn)營(yíng)。由于容器的生命周期極其短暫,對(duì)于攻守雙方來(lái)說(shuō),在短期內(nèi)都無(wú)法應(yīng)用現(xiàn)有的武器庫(kù)或安全機(jī)制,所以在云原生安全的初期,攻擊者會(huì)關(guān)注代碼、第三方庫(kù)和鏡像這些生命周期長(zhǎng)的資產(chǎn),而防守者也應(yīng)該關(guān)注安全編碼、開(kāi)源軟件脆弱性管理、鏡像和倉(cāng)庫(kù)脆弱性評(píng)估,以及安全基線核查,這些安全機(jī)制基本上處于DevOps的左邊的閉環(huán),因而我們將這些安全舉措稱為安全左移,以區(qū)別于傳統(tǒng)在運(yùn)行時(shí)做的安全運(yùn)營(yíng)工作。事實(shí)上,過(guò)去兩年,國(guó)內(nèi)外很大一部分容器安全解決方案都聚焦在這部分內(nèi)容。
圖2 DevOps閉環(huán)
當(dāng)然,攻防永遠(yuǎn)是成本和收益之間的平衡,如果防守方能做好對(duì)長(zhǎng)生命周期資產(chǎn)的持續(xù)風(fēng)險(xiǎn)和脆弱性評(píng)估和緩解,那么攻擊者的成本顯然會(huì)升高,那他們下一步就會(huì)借助自動(dòng)化的攻擊手段,嘗試在運(yùn)行時(shí)攻擊微服務(wù)、無(wú)服務(wù)和容器,進(jìn)而借助短暫存在的容器橫向移動(dòng)尋找其他可持久化的資源。那么此時(shí),容器工作載荷的行為分析、容器網(wǎng)絡(luò)的入侵檢測(cè)、服務(wù)網(wǎng)格的API安全和業(yè)務(wù)安全,則又會(huì)成為防守者的新重點(diǎn),此時(shí),我們將這種重點(diǎn)放在運(yùn)行時(shí)的安全思路稱為安全右移。
無(wú)論是安全左移還是安全右移,其實(shí)都是考慮到云原生環(huán)境中的脆弱性、面臨的威脅和風(fēng)險(xiǎn),在有限的安全投入前提下,做出當(dāng)前最有利的安全方案。
總體而言,云原生的(安全)技術(shù)棧如圖3所示,可見(jiàn),云原生安全不只是獨(dú)立的容器、編排或微服務(wù),而應(yīng)該完整地考慮整個(gè)云計(jì)算系統(tǒng)的所有組件及其安全功能需求。
圖3 云原生安全技術(shù)棧
運(yùn)行時(shí)安全
從技術(shù)實(shí)現(xiàn)來(lái)看,運(yùn)行時(shí)安全比開(kāi)發(fā)安全更難,本節(jié)重點(diǎn)討論如何實(shí)現(xiàn)運(yùn)行時(shí)安全,主要分為異常行為檢測(cè)、安全防護(hù)和API/業(yè)務(wù)安全三方面。
異常行為檢測(cè)
攻擊者對(duì)云原生系統(tǒng)的攻擊,可以分為已知威脅和未知威脅。對(duì)容器而言,最危險(xiǎn)的已知威脅莫過(guò)于容器逃逸,文獻(xiàn)討論了從文件鏈接、容器運(yùn)行時(shí)、宿主機(jī)操作系統(tǒng)內(nèi)核等多個(gè)層面實(shí)現(xiàn)的容器逃逸,對(duì)于這類(lèi)攻擊,從內(nèi)核層面捕獲進(jìn)程、網(wǎng)絡(luò)等各種行為,通過(guò)規(guī)則即可及時(shí)發(fā)現(xiàn)潛在的逃逸行為。
而對(duì)未知的攻擊而言,最好的辦法就是為容器的正常行為建立基線。通常運(yùn)行微服務(wù)的容器只運(yùn)行少數(shù)進(jìn)程,且行為可預(yù)測(cè),所以建立的基線能夠很好地刻畫(huà)相關(guān)容器的行為,進(jìn)而可以在運(yùn)行時(shí)及時(shí)發(fā)現(xiàn)偏離基線的可疑行為。
圖4 偏移行為基線的可疑行為
安全防護(hù)
運(yùn)行時(shí)安全防護(hù)可分為面向容器的安全防護(hù)和面向微服務(wù)/服務(wù)網(wǎng)格的安全防護(hù)。在容器層面,主要關(guān)心的是容器組建的網(wǎng)絡(luò)中是否存在入侵行為,例如針對(duì)容器及其打開(kāi)服務(wù)的偵查、橫向移動(dòng),此時(shí)通??墒褂锰貦?quán)容器的方式,部署網(wǎng)絡(luò)入侵檢測(cè)組件,即可實(shí)現(xiàn)微隔離、訪問(wèn)控制、網(wǎng)絡(luò)流量監(jiān)控、入侵檢測(cè)和防護(hù)等功能,如圖5所示。
圖5 基于特權(quán)容器的容器安全防護(hù)
在微服務(wù)和服務(wù)網(wǎng)格層面,則需要考慮將安全能力部署到服務(wù)網(wǎng)格中的每個(gè)微服務(wù)最近側(cè),因而使用邊車(chē)(Sidecar)的方式,將安全微網(wǎng)關(guān)部署在應(yīng)用容器旁,如圖6所示,這樣可以實(shí)現(xiàn)應(yīng)用的認(rèn)證授權(quán)、通信加密等應(yīng)用層面的安全防護(hù)等功能。
圖6 基于Sidecar的微服務(wù)安全防護(hù)
API和業(yè)務(wù)安全
業(yè)務(wù)安全是離客戶最近且價(jià)值最大的安全功能,然而云原生場(chǎng)景非常復(fù)雜,很難有統(tǒng)一的業(yè)務(wù)安全模型;此外,在微服務(wù)和服務(wù)網(wǎng)格的場(chǎng)景下,服務(wù)之間大部分是通過(guò)API調(diào)用實(shí)現(xiàn),這與當(dāng)前Web應(yīng)用存在大量人機(jī)交互完全不同,因而API安全在云原生場(chǎng)景下也存在很大的差異。
從技術(shù)上看,要實(shí)現(xiàn)API和業(yè)務(wù)安全,第一步是獲得API調(diào)用的可觀察能力(visibility),當(dāng)前有很多開(kāi)源項(xiàng)目具有這樣的能力,但其在開(kāi)發(fā)、構(gòu)建過(guò)程中的侵入性各有不同,如表1所示。一般而言,侵入性越強(qiáng),其最后獲得的API請(qǐng)求信息越多,但在既有開(kāi)發(fā)流程和項(xiàng)目中的部署越難。
其中Jaeger通過(guò)在代碼中插樁的方式,能夠獲得所有調(diào)用順序和參數(shù),因而理論上就能建立非常精準(zhǔn)的API調(diào)用參數(shù)和序列的基線,而Sidecar反向代理的方式無(wú)法獲得調(diào)用序列,只能通過(guò)分析,啟發(fā)式地獲得近似基線,其上限可以逼近Jaeger所得到的基線。至于具體采用哪種觀測(cè)方法,則取決于客戶側(cè)的部署情況。
原生安全:未來(lái)的安全
我們?cè)谇懊嬲劦?,如果云原生安全成為原生安全,那就說(shuō)明云原生已經(jīng)融入到了各行各業(yè),成為普適的云計(jì)算場(chǎng)景。事實(shí)上,隨著國(guó)家大力推動(dòng)新基建戰(zhàn)略,包括5G、物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)等信息基礎(chǔ)設(shè)施,云計(jì)算、人工智能等新技術(shù)基礎(chǔ)設(shè)施,數(shù)據(jù)中心等計(jì)算基礎(chǔ)設(shè)施等。而這些基礎(chǔ)設(shè)施,未來(lái)或多或少都會(huì)與云原生技術(shù)有所聯(lián)系。
例如在邊緣計(jì)算的場(chǎng)景下,目前行業(yè)中主流的開(kāi)源邊緣計(jì)算平臺(tái),如OpenNess、KubeEdge和StarlingX均采用了容器和編排技術(shù),并且可以提供第三方微服務(wù)。我們將前面所提到的云原生安全技術(shù)棧移植到這三個(gè)邊緣計(jì)算系統(tǒng)中,證明是完全可行的。圖7展示了面向KubeEdge的安全防護(hù)原型系統(tǒng)。
圖7 KubeEdge安全防護(hù)原型系統(tǒng)
而在5G核心網(wǎng)中,我們發(fā)現(xiàn)在切片技術(shù)應(yīng)用中,資源層會(huì)使用虛擬化和容器技術(shù),如一些開(kāi)源的5G核心網(wǎng)項(xiàng)目也在使用容器編排技術(shù)。事實(shí)上,一些主流的商用5GC網(wǎng)元也采用了容器技術(shù);而控制層則會(huì)通過(guò)RESTful/HTTP協(xié)議進(jìn)行通信。
可見(jiàn)5G核心網(wǎng)的網(wǎng)元自身防護(hù),則可以使用前述云原生安全技術(shù)棧進(jìn)行加固和防護(hù);而網(wǎng)元的業(yè)務(wù)側(cè)安全,有可以借助前述API/業(yè)務(wù)安全的基線方式刻畫(huà)正常網(wǎng)元業(yè)務(wù),進(jìn)而發(fā)現(xiàn)可以的網(wǎng)元請(qǐng)求。
當(dāng)新基建推動(dòng)大量云化基礎(chǔ)設(shè)施采用了云原生的技術(shù)路線,當(dāng)云原生的安全能力可以部署在云化或非云化的環(huán)境中,那我們真的可以說(shuō),未來(lái)的安全就是“原生安全”。