云原生安全風(fēng)險(xiǎn)“避坑”指南丨IDCF

來(lái)源:靈雀云
《第四期(2021-2022)傳統(tǒng)行業(yè)云原生技術(shù)落地調(diào)研報(bào)告——金融篇》 下載地址:公眾號(hào)后臺(tái)回復(fù) “云原生落地報(bào)告” 獲取
靈雀云資深產(chǎn)品經(jīng)理溫磊,在沙龍上分享了云原生時(shí)代下的安全挑戰(zhàn)及落地實(shí)踐。他指出,隨著云原生進(jìn)入快速發(fā)展期,越來(lái)越多的企業(yè)步入云原生化進(jìn)程,但傳統(tǒng)基于邊界的防護(hù)模型已不能完全滿(mǎn)足云原生安全的需求,基于安全“左移”原則的DevSecOps應(yīng)運(yùn)而生,將從DevOps全流程為企業(yè)的業(yè)務(wù)系統(tǒng)注入安全風(fēng)險(xiǎn)免疫能力。
云原生時(shí)代的安全新機(jī)遇
云原生技術(shù)實(shí)踐聯(lián)盟(CNBPA)在近日發(fā)布的《第四期(2021-2022)傳統(tǒng)行業(yè)云原生技術(shù)落地調(diào)研報(bào)告——金融篇》中指出:安全“左移”——云原生安全策略成 2022 金融科技新焦點(diǎn)。

以容器、微服務(wù)、服務(wù)網(wǎng)格為代表的云原生技術(shù)正在被廣泛使用,重塑了云端應(yīng)用的設(shè)計(jì)、開(kāi)發(fā)、部署和運(yùn)行模式,實(shí)現(xiàn)了自動(dòng)化、易管理、可觀測(cè)的全新DevOps體系,使開(kāi)發(fā)者和運(yùn)維人員能夠最大限度地提高生產(chǎn)力,更敏捷、更高效、更安全地進(jìn)行應(yīng)用迭代。
然而,云原生給業(yè)務(wù)帶來(lái)敏捷積極影響的同時(shí),也帶來(lái)了全新的安全挑戰(zhàn):
以容器為載體的云原生應(yīng)用實(shí)例極大地縮短了應(yīng)用生命周期;
微服務(wù)化拆分帶來(lái)應(yīng)用間交互式端口的指數(shù)級(jí)增長(zhǎng)以及組件間設(shè)計(jì)復(fù)雜度的陡升;
多服務(wù)實(shí)例共享操作系統(tǒng)帶來(lái)了單個(gè)漏洞的集群化擴(kuò)散風(fēng)險(xiǎn);
談及云原生安全,不少人還停留在傳統(tǒng)安全意識(shí)和觀念,關(guān)注Web攻防、系統(tǒng)攻防、密碼暴力破解等。然而,安全總是具有“短板效應(yīng)”,有時(shí),一個(gè)簡(jiǎn)單的端口暴露、未授權(quán)訪(fǎng)問(wèn)沒(méi)及時(shí)處理就為攻擊者提供了不費(fèi)吹灰之力長(zhǎng)驅(qū)直入的機(jī)會(huì)。
此外,云原生技術(shù)架構(gòu)帶來(lái)的風(fēng)險(xiǎn),在未來(lái)數(shù)年內(nèi),可能會(huì)成為攻擊者關(guān)注和利用的重點(diǎn),進(jìn)而發(fā)動(dòng)針對(duì)云原生系統(tǒng)的攻擊。傳統(tǒng)基于邊界的防護(hù)模型已不能完全滿(mǎn)足云原生的安全需求,這就要求我們必須探索出一條更適合云原生時(shí)代的持續(xù)安全之路。
避坑指南:云原生安全風(fēng)險(xiǎn)一覽
眾所周知,只有通過(guò)全面了解云原生面臨的安全風(fēng)險(xiǎn),才能夠更精準(zhǔn)、更快速地搭建更可靠的云原生安全防護(hù)模型。以下就是備受大家關(guān)注的六大云原生安全風(fēng)險(xiǎn),來(lái)看看你入坑了嗎?

1. 容器網(wǎng)絡(luò)安全風(fēng)險(xiǎn)
網(wǎng)絡(luò)的細(xì)粒度劃分增加了訪(fǎng)問(wèn)控制和分離管控難度。
云原生環(huán)境下,服務(wù)細(xì)粒度劃分,業(yè)務(wù)依賴(lài)關(guān)系復(fù)雜,如果容器網(wǎng)絡(luò)層不能跟隨業(yè)務(wù)關(guān)系實(shí)現(xiàn)細(xì)粒度訪(fǎng)問(wèn)控制策略,就會(huì)帶來(lái)權(quán)限放大風(fēng)險(xiǎn)。比如:無(wú)需被外網(wǎng)訪(fǎng)問(wèn)的業(yè)務(wù)被默認(rèn)設(shè)置了外網(wǎng)訪(fǎng)問(wèn)權(quán)限、容器網(wǎng)絡(luò)可以無(wú)限制的訪(fǎng)問(wèn)宿主機(jī)節(jié)點(diǎn)的下層網(wǎng)絡(luò)等,攻擊者將利用這些漏洞,獲取權(quán)限外甚至核心系統(tǒng)的訪(fǎng)問(wèn)控制權(quán)限,實(shí)現(xiàn)越權(quán)甚至提權(quán)攻擊。
此外,云原生網(wǎng)絡(luò)既有東西向流量、又有南北向流量,服務(wù)間流量訪(fǎng)問(wèn)頻繁;且多服務(wù)實(shí)例共享操作系統(tǒng),一個(gè)存在漏洞的服務(wù)被黑客攻陷將會(huì)導(dǎo)致同一宿主機(jī)上的其他服務(wù)受影響,如果Pod、ns之間、沒(méi)有做好網(wǎng)絡(luò)隔離策略,外部攻擊就能從高風(fēng)險(xiǎn)實(shí)例逃逸,伴隨東西向流量在集群網(wǎng)絡(luò)內(nèi)部的實(shí)例間進(jìn)行橫向攻擊,致使威脅在集群內(nèi)擴(kuò)散。比如:有些容器平臺(tái)采用underlay模式網(wǎng)絡(luò)插件,使得容器IP與節(jié)點(diǎn)IP共享同一網(wǎng)絡(luò)平面,在業(yè)務(wù)IP最終暴露給最終用戶(hù)同時(shí),管理控制臺(tái)會(huì)面臨被入侵的風(fēng)險(xiǎn)。
2. 編排及組件安全風(fēng)險(xiǎn)
云原生編排組件存在漏洞及管控風(fēng)險(xiǎn)增加入侵概率。
首先,非法提權(quán)暗含潛在安全隱患,如果普通用戶(hù)獲得管理員權(quán)限或者Web用戶(hù)直接提權(quán)成管理員用戶(hù),編排工具可能存在多種漏洞導(dǎo)致此類(lèi)攻擊。比如:如果系統(tǒng)中存在一個(gè)K8s的提權(quán)漏洞,允許攻擊者在擁有集群內(nèi)低權(quán)限的情況下提升至K8s api server的權(quán)限;通過(guò)構(gòu)造一個(gè)對(duì)K8s api server的特殊請(qǐng)求,攻擊者就能以K8s api server身份向后端服務(wù)器發(fā)送任意請(qǐng)求,實(shí)現(xiàn)權(quán)限提升。
其次,編排工具組件眾多、各組件配置復(fù)雜,配置復(fù)雜度的提升增加了不安全配置的概率,而不安全配置引起的風(fēng)險(xiǎn)不容小覷,可能會(huì)導(dǎo)致編排工具中賬戶(hù)管理薄弱,或部分賬戶(hù)在編排工具中享有很高特權(quán),入侵這些賬戶(hù)可能會(huì)導(dǎo)致整個(gè)系統(tǒng)遭到入侵。
再者,容器在默認(rèn)狀態(tài)下并未對(duì)容器內(nèi)進(jìn)程的資源使用國(guó)值做限制,以Pod為單位的容器編排管理工具也是如此。資源使用限制的缺失,導(dǎo)致環(huán)境面臨資源耗盡的攻擊風(fēng)險(xiǎn),攻擊者可以通過(guò)在容器內(nèi)運(yùn)行惡意程序,或?qū)θ萜鞣?wù)發(fā)起拒絕服務(wù)攻擊占用大量宿主機(jī)資源,從而影響宿主機(jī)和宿主機(jī)上其他容器的正常運(yùn)行。
3. 鏡像安全風(fēng)險(xiǎn)
鏡像構(gòu)建部署過(guò)程不規(guī)范引入安全風(fēng)險(xiǎn)。
首先,在傳統(tǒng)模式中,部署的軟件在其運(yùn)行的主機(jī)上“現(xiàn)場(chǎng)”更新;與此不同,容器則必須在上游的鏡像中進(jìn)行更新,然后重新部署。因此,容器化環(huán)境的常見(jiàn)風(fēng)險(xiǎn)之一就是用于創(chuàng)建容器的鏡像版本存在漏洞,從而導(dǎo)致所部署的容器存在漏洞。
其次,鏡像配置不當(dāng)可能會(huì)讓系統(tǒng)面臨攻擊危險(xiǎn),例如,鏡像未使用特定用戶(hù)賬號(hào)進(jìn)行配置導(dǎo)致運(yùn)行時(shí)擁有的權(quán)限過(guò)高;鏡像含SSH守護(hù)進(jìn)程導(dǎo)致容器面臨不必要的網(wǎng)絡(luò)風(fēng)險(xiǎn)等。
此外,鏡像及容器技術(shù)一個(gè)主要的特點(diǎn)就是方便移植和部署,云原生用戶(hù)可以將符合OCI標(biāo)準(zhǔn)的第三方鏡像輕松部署到自己的生產(chǎn)環(huán)境中。因此,攻擊者可將含有惡意程序的鏡像上傳至公共鏡像庫(kù),誘導(dǎo)用戶(hù)下載并在生產(chǎn)環(huán)境中部署運(yùn)行,從而實(shí)現(xiàn)其攻擊目的。
4. 鏡像倉(cāng)庫(kù)安全風(fēng)險(xiǎn)
鏡像倉(cāng)庫(kù)模式增加云原生軟件供應(yīng)鏈風(fēng)險(xiǎn)來(lái)源。
首先,鏡像倉(cāng)庫(kù)安全風(fēng)險(xiǎn)主要涉及倉(cāng)庫(kù)賬號(hào)及其權(quán)限的安全管理、鏡像存儲(chǔ)備份,傳輸加密、倉(cāng)庫(kù)訪(fǎng)問(wèn)記錄與審計(jì)等,這些方面如果存在加固或配置策略不足的問(wèn)題,就可能導(dǎo)致鏡像倉(cāng)庫(kù)面臨鏡像泄露、篡改、破壞等風(fēng)險(xiǎn)。例如,垂直越權(quán)漏洞,因注冊(cè)模塊對(duì)參數(shù)校驗(yàn)不嚴(yán)格,導(dǎo)致攻擊者可以通過(guò)注冊(cè)管理員賬號(hào)來(lái)接管Harbor 鏡像倉(cāng)庫(kù),從而寫(xiě)入惡意鏡像。實(shí)際使用中,用戶(hù)往往會(huì)將鏡像倉(cāng)庫(kù)作為有效且獲得批準(zhǔn)的軟件源,因此,鏡像倉(cāng)庫(kù)遭到入侵將極大增加下游容器和主機(jī)的被入侵風(fēng)險(xiǎn)。
除此之外,鏡像倉(cāng)庫(kù)面臨的另一個(gè)重要安全問(wèn)題就是保證容器鏡像從鏡像倉(cāng)庫(kù)到用戶(hù)端的完整性。如果用戶(hù)以明文形式拉取鏡像,在與鏡像倉(cāng)庫(kù)交互的過(guò)程中極易遭遇中間人攻擊,導(dǎo)致拉取的鏡像在傳輸過(guò)程中被篡改或被冒名發(fā)布惡意鏡像,則會(huì)造成鏡像倉(cāng)庫(kù)和用戶(hù)雙方的安全風(fēng)險(xiǎn)。
5. 運(yùn)行時(shí)安全風(fēng)險(xiǎn)
容器特性增加了容器運(yùn)行時(shí)逃逸風(fēng)險(xiǎn)和威脅范圍。
首先,用戶(hù)可以通過(guò)修改容器環(huán)境配置或在運(yùn)行容器時(shí)指定參數(shù)來(lái)縮小或擴(kuò)大約束。如果用戶(hù)為不完全受控的容器提供了某些危險(xiǎn)的配置參數(shù),就為攻擊者提供了一定程度的逃逸可能性,包括未授權(quán)訪(fǎng)問(wèn)帶來(lái)的容器逃逸風(fēng)險(xiǎn),特權(quán)模式運(yùn)行帶來(lái)的容器逃逸風(fēng)險(xiǎn)。
其次,將宿主機(jī)上的敏感文件或目錄掛載到容器內(nèi)部,尤其是那些不完全受控的容器內(nèi)部,往往會(huì)帶來(lái)安全問(wèn)題。在某些特定場(chǎng)景下,為了實(shí)現(xiàn)特定功能或方便操作,人們會(huì)選擇將外部敏感卷掛載入容器。隨著應(yīng)用的逐漸深化,掛載操作變得愈加廣泛,由此而來(lái)的安全問(wèn)題也呈現(xiàn)上升趨勢(shì)。例如:掛載Docker Socket、掛載宿主機(jī)進(jìn)程文件系統(tǒng)引入的容器逃逸風(fēng)險(xiǎn)等。
再者,相關(guān)程序漏洞,指的是那些參與到容器生態(tài)中的服務(wù)端、客戶(hù)端程序自身存在的漏洞。例如 CVE-2019-5736 正是這樣一個(gè)存在于runC 的容器逃逸漏洞。
更重要的一點(diǎn)是,容器的內(nèi)核和宿主機(jī)共享,且容器技術(shù)本身建立在Linux Namespace和Linux Cgroups兩項(xiàng)關(guān)鍵技術(shù)之上,所以L(fǎng)inux內(nèi)核本身所產(chǎn)生的漏洞會(huì)導(dǎo)致容器逃逸。Linux 內(nèi)核漏洞危害極大、影響范圍極廣,是各種攻防話(huà)題下不可忽視的一環(huán)。近年來(lái),Linux 系統(tǒng)曝出過(guò)不少存在提權(quán)隱患的內(nèi)核漏洞,典型的就是臟牛漏洞(DirtyCOWCVE-2016-5195)。
6. 新用云形態(tài)帶來(lái)新的安全風(fēng)險(xiǎn)
隨著企業(yè)數(shù)字化轉(zhuǎn)型進(jìn)程的不斷深化,IT架構(gòu)從以傳統(tǒng)數(shù)據(jù)中心為核心向以云計(jì)算為承載轉(zhuǎn)變,多云、混合云、分布式云成為主要形態(tài),以數(shù)據(jù)中心內(nèi)部和外部進(jìn)行劃分的安全邊界被打破,IT架構(gòu)面臨更多安全信任危機(jī)。
這方面的風(fēng)險(xiǎn)主要包括:資源暴露面增大,工作負(fù)載可信程度難以保證;分布式應(yīng)用架構(gòu)導(dǎo)致東西流量激增,默認(rèn)可信的風(fēng)險(xiǎn)大;數(shù)字化工作空間擴(kuò)展,終端和身份可信狀況都需要把控。
DevSecOps:更讓企業(yè)放心的云原生安全防護(hù)模型
在新技術(shù)、新生態(tài)、新業(yè)務(wù)、新市場(chǎng)需求的不斷沖擊下,企業(yè)對(duì)業(yè)務(wù)應(yīng)用的要求變成了“更快的迭代速度、更高的服務(wù)質(zhì)量、以及更強(qiáng)的安全性”,企業(yè)安全開(kāi)發(fā)運(yùn)維模式逐漸向更敏捷、更穩(wěn)健、更安全的DevSecOps新模式轉(zhuǎn)型。在“Everything Shift Left”的大背景下,DevSecOps則完美地滿(mǎn)足了當(dāng)前企業(yè)敏捷安全開(kāi)發(fā)運(yùn)維的需求趨勢(shì),能夠有效防范上述安全風(fēng)險(xiǎn),被廣泛認(rèn)為是云原生時(shí)代更讓企業(yè)放心的安全防護(hù)模型。

首先,在進(jìn)行云原生安全防護(hù)模型時(shí),企業(yè)應(yīng)該遵循安全“左移”設(shè)計(jì)原則。所謂安全“左移”,即盡量早地暴露安全問(wèn)題從而減小被攻擊面,越早發(fā)現(xiàn)問(wèn)題就能用越小的成本去規(guī)避安全風(fēng)險(xiǎn),將云原生安全管控融入到 DevOps的全流程中,從開(kāi)發(fā)到上線(xiàn)全生命周期覆蓋。
比如:在上線(xiàn)前的開(kāi)發(fā)過(guò)程中,可以先進(jìn)行代碼安全掃描、以及黑盒、灰盒測(cè)試;在構(gòu)建鏡像倉(cāng)庫(kù)后,進(jìn)行鏡像深度掃描、鏡像簽名類(lèi)工作;在上線(xiàn)后,進(jìn)行容器配置檢查、監(jiān)控容器運(yùn)行時(shí)的異常行為;通過(guò)早期定位安全問(wèn)題,提前進(jìn)行排查,最終減少攻擊面和潛在的運(yùn)行風(fēng)險(xiǎn)。

在安全“左移”原則基礎(chǔ)之上,我們可以從以下4個(gè)維度,進(jìn)一步構(gòu)建基于DevSecOps的云原生安全架構(gòu)模型:
基礎(chǔ)設(shè)施安全:主要是IaaS層的安全,包括計(jì)算安全、網(wǎng)絡(luò)安全、存儲(chǔ)安全等。
云原生計(jì)算環(huán)境安全:在鏡像安全方面,針對(duì)鏡像安全風(fēng)險(xiǎn)可以進(jìn)行鏡像掃描、鏡像簽名、敏感信息掃描,針對(duì)鏡像及鏡像傳輸過(guò)程中的安全,可以進(jìn)行鏡像倉(cāng)庫(kù)訪(fǎng)問(wèn)控制、鏡像倉(cāng)庫(kù)安全通信等;在運(yùn)行時(shí)安全方面,可以進(jìn)行容器運(yùn)行時(shí)異常行為分析,如發(fā)生敏感掛載等問(wèn)題時(shí)可以進(jìn)行有效監(jiān)控,并及時(shí)做出容器隔離等安全響應(yīng);在編排及組件安全方面,可以增加CIS等安全基線(xiàn)掃描、針對(duì)K8s集群的漏洞掃描、敏感信息加密、訪(fǎng)問(wèn)控制、對(duì)命名空間之間、Pod之間的資源隔離與限制;在容器網(wǎng)絡(luò)安全方面,可以制定和主機(jī)或外部服務(wù)之間的訪(fǎng)問(wèn)控制策略、更細(xì)粒度的網(wǎng)絡(luò)隔離、以及網(wǎng)絡(luò)入侵行為的監(jiān)控。
云原生應(yīng)用開(kāi)發(fā)運(yùn)營(yíng)安全:在微服務(wù)安全方面,可以進(jìn)行微服務(wù)的API安全治理、微服務(wù)之間的訪(fǎng)問(wèn)控制和安全通信;在研發(fā)運(yùn)營(yíng)安全方面,要更關(guān)注安全設(shè)計(jì)、代碼安全、制品安全,同時(shí)可以進(jìn)行靜態(tài)應(yīng)用測(cè)試、動(dòng)態(tài)應(yīng)用測(cè)試、交互式應(yīng)用測(cè)試,盡早規(guī)避安全風(fēng)險(xiǎn),并進(jìn)行運(yùn)行時(shí)安全配置;在數(shù)據(jù)安全方面,可以通過(guò)數(shù)據(jù)加密、數(shù)據(jù)備份、數(shù)據(jù)脫敏,來(lái)保障安全性。
安全管理:在整體云原生平臺(tái)構(gòu)建以及K8s集群管理過(guò)程中,企業(yè)還應(yīng)該關(guān)注安全審計(jì)、用戶(hù)權(quán)限管理、安全策略、監(jiān)控管理、密鑰管理等一系列相關(guān)配置。
在實(shí)踐方面,以某全國(guó)性大型銀行為例,該銀行全棧云容器平臺(tái)作為驅(qū)動(dòng)金融數(shù)字基礎(chǔ)設(shè)施建設(shè)的重要引擎,通過(guò)建立上述安全“左移”的云原生安全防護(hù)模型,踐行安全可靠的DevSecOps理念,實(shí)現(xiàn)了企業(yè)級(jí)的全生命周期自適應(yīng)安全、IT系統(tǒng)智能化檢測(cè)、可靠的容器安全管理、敏捷化DevSecOps流程、零信任安全風(fēng)險(xiǎn)評(píng)估,大大提升了其業(yè)務(wù)系統(tǒng)的安全風(fēng)險(xiǎn)免疫能力,構(gòu)筑了強(qiáng)大的云原生安全防線(xiàn)。

下周一晚8點(diǎn) ,【冬哥有話(huà)說(shuō)】, 邀請(qǐng)到英捷創(chuàng)軟 咨詢(xún)服務(wù)總監(jiān) 薄濤老師,分享《企業(yè)DevOps一體化平臺(tái)建設(shè)思路 - 終極形態(tài)是什么?》。
希望通過(guò)本次分享可以讓大家在DevOps工具建設(shè)過(guò)程中少走一些彎路。
精彩內(nèi)容,不容錯(cuò)過(guò)


