K8S安全風(fēng)險(xiǎn)及防護(hù)建議
Kubernetes(K8S)是一個(gè)可移植、可擴(kuò)展的開源平臺(tái),用于管理容器化的工作負(fù)載和服務(wù),方便進(jìn)行聲明式配置和自動(dòng)化。一個(gè)Kubernetes集群通常包含跨多臺(tái)計(jì)算機(jī)運(yùn)行的控制平面和多個(gè)工作節(jié)點(diǎn)(node),控制平面用于管理集群中的node,node用于運(yùn)行工作負(fù)載。

自從2014年首次發(fā)布以來(lái),Kubernetes受到了越來(lái)越多的關(guān)注和廣泛的應(yīng)用。目前,它已成為云原生應(yīng)用程序開發(fā)和部署的標(biāo)準(zhǔn)之一,被許多大型企業(yè)和組織廣泛采用,如谷歌、微軟、亞馬遜、IBM、阿里巴巴、騰訊等。根據(jù)CNCF的調(diào)查顯示,截至2021年11月,全球有超過(guò)90%的企業(yè)和組織正在使用Kubernetes進(jìn)行容器編排和管理。
針對(duì)Kubernetes的攻擊愈演愈烈
近年來(lái),針對(duì)K8S的攻擊事件逐漸增加,成為了安全領(lǐng)域的一個(gè)重要話題。根據(jù)一些安全廠商和研究機(jī)構(gòu)的報(bào)告,K8S的攻擊事件占比情況如下:
Trend Micro發(fā)布的《2021年1-6月全球云安全報(bào)告》顯示,2021年上半年,云容器和Kubernetes攻擊的比例達(dá)到了43%。攻擊者的目的是獲取敏感信息、竊取憑據(jù)、傳播惡意軟件等。
Aqua Security發(fā)布的《2020年云原生安全報(bào)告》中指出,針對(duì)Kubernetes的攻擊事件在2020年增長(zhǎng)了26%。其中,最常見(jiàn)的攻擊包括未經(jīng)身份驗(yàn)證的訪問(wèn)、挖礦、拒絕服務(wù)、數(shù)據(jù)泄露等。
CNCF(Cloud Native Computing Foundation)發(fā)布的《2021年技術(shù)調(diào)查報(bào)告》中指出,65%的受訪者認(rèn)為容器和Kubernetes面臨的安全風(fēng)險(xiǎn)是他們使用云原生技術(shù)時(shí)最大的擔(dān)憂之一。另外,55%的受訪者認(rèn)為Kubernetes容易受到攻擊。
綜合來(lái)看,K8S的攻擊案例驗(yàn)證了未來(lái)的主流攻擊趨勢(shì),那就是?集權(quán)設(shè)施將會(huì)成為未來(lái)攻擊者的主要攻擊對(duì)象。集權(quán)安全值得企業(yè)安全負(fù)責(zé)人們重點(diǎn)關(guān)注。
常見(jiàn)的Kubernetes威脅來(lái)源
在針對(duì)K8S的攻擊日益激烈的情況下,攻擊來(lái)源也表現(xiàn)出了多樣化,根據(jù)調(diào)研目前它正面臨著來(lái)自供應(yīng)鏈、惡意攻擊者、內(nèi)部成員的攻擊以及黑客組織等的威脅。

1、供應(yīng)鏈風(fēng)險(xiǎn)
供應(yīng)鏈包含構(gòu)成最終產(chǎn)品的任何元素,從組件到用于管理集群的第三方服務(wù)或軟件,這些風(fēng)險(xiǎn)有很多來(lái)源,而且通常很難解決。
在 2019 年,Harbor作為一個(gè)Kubernetes基礎(chǔ)架構(gòu)下的開源倉(cāng)庫(kù),其曾遭受到了供應(yīng)鏈攻擊。攻擊者通過(guò)Harbor的供應(yīng)鏈漏洞,注入惡意Docker鏡像,這些鏡像被部署在Kubernetes集群中,最終導(dǎo)致Kubernetes集群的安全受到威脅。
2、惡意攻擊者
惡意攻擊者可以利用Kubernetes架構(gòu)組件中的漏洞和錯(cuò)誤配置,例如控制平面、工作節(jié)點(diǎn)或容器化應(yīng)用程序。
2018年,黑客入侵了Tesla公司的Kubernetes集群,并利用集群中的計(jì)算資源進(jìn)行加密貨幣挖掘。這次攻擊的原因是由于Tesla在使用Kubernetes時(shí)未采取適當(dāng)?shù)陌踩胧?/p>
3、內(nèi)部威脅
內(nèi)部威脅可以是管理員、用戶,甚至是云服務(wù)提供商。對(duì)組織的Kubernetes基礎(chǔ)設(shè)施具有特殊訪問(wèn)權(quán)限的內(nèi)部人員可能會(huì)濫用這些特權(quán)。
2019年,加拿大的電商平臺(tái)Shopify遭受了內(nèi)部員工的K8S攻擊。該員工修改了K8S配置文件,使得攻擊者能夠在Shopify的K8S集群中創(chuàng)建新的管理用戶,并竊取用戶數(shù)據(jù)。
Kubernetes攻擊面
K8S作為一種開源的容器編排平臺(tái),已經(jīng)成為了云原生應(yīng)用開發(fā)和部署的重要基礎(chǔ)設(shè)施之一。但同時(shí),K8S也因其高度復(fù)雜的架構(gòu)和眾多組件,成為了攻擊者攻擊的目標(biāo)之一。那么,攻擊者采用何種方式攻擊K8S?
以下是微軟官方在2021年給出的K8S威脅矩陣圖,詳細(xì)地呈現(xiàn)了攻擊者在每個(gè)階段使用的技術(shù),從左到右通過(guò)執(zhí)行每個(gè)階段的攻擊方式也呈現(xiàn)了成果擴(kuò)大的過(guò)程。

隨著攻擊技術(shù)的發(fā)展,每個(gè)攻擊階段的攻擊技術(shù)也更加豐富。接下來(lái)對(duì)K8S攻擊過(guò)程中的一些重要攻擊階段進(jìn)行詳細(xì)介紹。
初始訪問(wèn)(Initial Access)
初始訪問(wèn)是指攻擊者在進(jìn)入系統(tǒng)前獲得的第一步訪問(wèn)權(quán)限。在Kubernetes中,攻擊者可以通過(guò)多種方式進(jìn)行初始訪問(wèn)。其中,一種常見(jiàn)的方式是通過(guò)針對(duì)公網(wǎng)暴露的Kubernetes API Server進(jìn)行攻擊。
另外攻擊者還常用容器內(nèi)漏洞入侵、kubeconfig file泄露、etcd未授權(quán)訪問(wèn)、惡意鏡像等方式,進(jìn)行前期的信息收集工作,以獲得初始權(quán)限。
命令執(zhí)行(Execution)
在Kubernetes中,命令執(zhí)行通常是指攻擊者通過(guò)各種手段在容器或節(jié)點(diǎn)上執(zhí)行任意命令。比如攻擊者可通過(guò)容器中運(yùn)行的SSH服務(wù)執(zhí)行命令,如果攻擊者通過(guò)暴力破解或者其他方法獲得了容器的有效憑證,他們就可以通過(guò)SSH獲得對(duì)容器的遠(yuǎn)程訪問(wèn)。
另外,如果容器自身存在漏洞,那么攻擊者也會(huì)通過(guò)漏洞執(zhí)行命令。命令執(zhí)行方式多種多樣,常見(jiàn)的執(zhí)行命令的攻擊還有創(chuàng)建后門Pod、利用API Server執(zhí)行命令、通過(guò)Sidecar注入執(zhí)行命令、通過(guò)curl執(zhí)行容器命令等。

權(quán)限維持(Persistence)
在Kubernetes中,攻擊者利用權(quán)限維持來(lái)獲取對(duì)系統(tǒng)的長(zhǎng)期控制。例如,攻擊者可以通過(guò)向容器鏡像中添加惡意代碼來(lái)創(chuàng)建一個(gè)具有相同標(biāo)簽的deployment或ReplicaSet。這樣,當(dāng)新的Pod創(chuàng)建時(shí),它將自動(dòng)更新為攻擊者的容器鏡像。攻擊者可以在該容器中添加后門或其他惡意代碼,以確保他們?cè)谝院蟮脑L問(wèn)中能夠維持其權(quán)限。
針對(duì)權(quán)限維持的其它利用方式包括掛載主機(jī)路徑、K8s cronjob、Shadow API Server等,這些攻擊方式常常被攻擊者使用。

權(quán)限提升(Privilege Escalation)
Kubernetes中的權(quán)限提升攻擊是指攻擊者通過(guò)各種手段提升其在集群中的權(quán)限。一旦攻擊者成功地提升了其權(quán)限,就可以對(duì)整個(gè)集群進(jìn)行更多的攻擊,比如訪問(wèn)其他資源、執(zhí)行惡意代碼等。例如,攻擊者可以創(chuàng)建一個(gè)特權(quán)容器,該容器可以訪問(wèn)宿主機(jī)上的資源,并在該容器內(nèi)執(zhí)行命令,從而使其獲得更高的權(quán)限。
另外,掛載根目錄逃逸、容器內(nèi)訪問(wèn)Docker.sock逃逸、docker漏洞逃逸、篡改ServiceAccount等方式也被經(jīng)常使用。

橫向移動(dòng)(Lateral Movement)
橫向移動(dòng)是指攻擊者利用已經(jīng)獲得的某個(gè)系統(tǒng)或賬戶的權(quán)限,在整個(gè)網(wǎng)絡(luò)中移動(dòng)并尋找其他系統(tǒng)或賬戶,以便進(jìn)一步擴(kuò)大攻擊面和獲取更高的權(quán)限。在Kubernetes中,攻擊者可以利用各種漏洞和配置錯(cuò)誤來(lái)獲取對(duì)一個(gè)或多個(gè)節(jié)點(diǎn)的訪問(wèn)權(quán)限,然后通過(guò)控制這些節(jié)點(diǎn)來(lái)進(jìn)行橫向移動(dòng)。
例如,攻擊者可以通過(guò)利用kubelet的漏洞或未經(jīng)授權(quán)的憑據(jù)訪問(wèn)節(jié)點(diǎn),并在這些節(jié)點(diǎn)上啟動(dòng)惡意容器或修改已有容器的配置。一旦攻擊者獲得了節(jié)點(diǎn)的訪問(wèn)權(quán)限,他們可以掃描網(wǎng)絡(luò)并尋找其他容器或節(jié)點(diǎn),以便進(jìn)一步擴(kuò)大攻擊范圍。其它的橫向攻擊方式有通過(guò)容器逃逸進(jìn)行橫向、Cluster內(nèi)網(wǎng)滲透、竊取憑證攻擊云服務(wù)等。

總的來(lái)說(shuō),攻擊者可以通過(guò)利用K8S集群內(nèi)各組件的漏洞或者未經(jīng)適當(dāng)保護(hù)的訪問(wèn)權(quán)限來(lái)進(jìn)一步深入攻擊,這可能會(huì)導(dǎo)致敏感數(shù)據(jù)泄露、服務(wù)中斷、系統(tǒng)崩潰等嚴(yán)重后果。
ITDR保護(hù)K8S集群
針對(duì)K8S的攻擊日益激烈,如何避免K8S不被攻擊值得大家思考,保護(hù)K8S中的敏感數(shù)據(jù)意義重大。為了保護(hù)您的K8S集群,可采用中安網(wǎng)星的ITDR平臺(tái)進(jìn)行全方位的保護(hù)。
ITDR(身份威脅檢測(cè)與響應(yīng))平臺(tái)是中安網(wǎng)星推出的針對(duì)身份威脅檢測(cè)與響應(yīng)高級(jí)威脅分析平臺(tái)。主要圍繞Identity及Infrastructure為核心進(jìn)行防護(hù),涵蓋主流身份基礎(chǔ)設(shè)施及集權(quán)設(shè)施,圍繞從攻擊的事前加固、事中監(jiān)測(cè),事后阻斷出發(fā),產(chǎn)品的設(shè)計(jì)思路覆蓋攻擊者活動(dòng)的全生命周期。
事前,利用ITDR內(nèi)置引擎對(duì)K8S集群中的不合理配置項(xiàng)、K8S相關(guān)的歷史漏洞進(jìn)行主動(dòng)發(fā)現(xiàn),在遭受惡意攻擊之前,提前加固K8S集群,不給攻擊者以可乘之機(jī)。
事中,通過(guò)融合圖計(jì)算、身份欺騙等技術(shù),對(duì)K8S進(jìn)行全方位的監(jiān)測(cè),及時(shí)發(fā)現(xiàn)針對(duì)K8S的漏洞利用、身份竊取等風(fēng)險(xiǎn),在遭受攻擊的第一時(shí)間及時(shí)發(fā)現(xiàn)攻擊者,對(duì)攻擊行為進(jìn)行阻斷。結(jié)合威脅狩獵思想,將身份蜜罐技術(shù)應(yīng)用于ITDR平臺(tái)中,為反制攻擊者提供保證。

事后,對(duì)攻擊事件進(jìn)行取證調(diào)查,禁用不合理的用戶,清理危險(xiǎn)的憑據(jù),根據(jù)基線事件對(duì)K8S進(jìn)行加固。
