Netflix發(fā)現(xiàn)了嚴(yán)重的Kubernetes HTTP / 2漏洞

開(kāi)源云中文社區(qū)
在了解互聯(lián)網(wǎng)的HTTP / 2協(xié)議如何工作的時(shí)候,Netflix工程師發(fā)現(xiàn)了Kubernetes的一系列漏洞。主要的漏洞是在用Go語(yǔ)言編寫(xiě)的net / https庫(kù)中找到的。因?yàn)檫@些漏洞在這個(gè)特定的庫(kù)中被發(fā)現(xiàn),所以Kubernetes的每個(gè)版本和每個(gè)組件都會(huì)受到影響。

在了解互聯(lián)網(wǎng)的HTTP / 2協(xié)議如何工作的時(shí)候,Netflix工程師發(fā)現(xiàn)了Kubernetes的一系列漏洞。主要的漏洞是在用Go語(yǔ)言編寫(xiě)的net / https庫(kù)中找到的。因?yàn)檫@些漏洞在這個(gè)特定的庫(kù)中被發(fā)現(xiàn),所以Kubernetes的每個(gè)版本和每個(gè)組件都會(huì)受到影響。Kubernetes產(chǎn)品安全委員會(huì)已經(jīng)將這兩個(gè)漏洞打分為7.5分(表示很嚴(yán)重)。這兩個(gè)漏洞是:

——CVE-2019-9512 Ping Flood。這使攻擊者能夠向HTTP / 2 peer發(fā)送連續(xù)的ping請(qǐng)求,從而使peer創(chuàng)建內(nèi)部響應(yīng)隊(duì)列。發(fā)生這種情況時(shí),可以占用服務(wù)器的CPU和內(nèi)存,這可能導(dǎo)致拒絕服務(wù)。

——CVE-2019-9514 Reset Flood。這使攻擊者能夠打開(kāi)多個(gè)流,這些流用于發(fā)送從peer請(qǐng)求RS_STREAM幀的無(wú)效請(qǐng)求。如果peer不正確地對(duì)RST_STREAM幀進(jìn)行排隊(duì),就會(huì)占用服務(wù)器的CPU和內(nèi)存,這可能導(dǎo)致拒絕服務(wù)。

所有八個(gè)漏洞都會(huì)影響Kubernetes。雖然還在等待NIST的分析,Kubernetes已經(jīng)發(fā)布了以下版本的補(bǔ)丁:

Kubernetes v1.15.3 - go1.12.9

Kubernetes v1.14.6 - go1.12.9

Kubernetes v1.13.10 - go1.11.13

用戶必須將Kubernetes的每個(gè)實(shí)例升級(jí)到上述迭代之一,否則,它們將容易受到攻擊。當(dāng)然,升級(jí)Kubernetes實(shí)例的方式取決于它們的部署方式(在數(shù)據(jù)中心服務(wù)器上,或通過(guò)Google Cloud、AWS等)。請(qǐng)務(wù)必查閱有關(guān)部署升級(jí)過(guò)程的官方Kubernetes文檔。

這些漏洞如何運(yùn)作

每個(gè)Kubernetes漏洞都通過(guò)以下步驟工作:

——惡意客戶端請(qǐng)求易受攻擊的服務(wù)器執(zhí)行生成響應(yīng)的X。

——客戶端拒絕閱讀回復(fù)。

——該拒絕操縱服務(wù)器的隊(duì)列管理代碼。

——如果服務(wù)器處理其隊(duì)列不當(dāng),客戶端可以強(qiáng)制讓它在處理請(qǐng)求時(shí)消耗過(guò)多的CPU周期和內(nèi)存。

上述步驟會(huì)引發(fā)拒絕服務(wù),從而導(dǎo)致服務(wù)器崩潰。

請(qǐng)務(wù)必注意,這些漏洞(如Netflix所述)不允許攻擊者修改或泄露敏感信息。相反,發(fā)現(xiàn)的缺陷允許在易受攻擊的服務(wù)器上執(zhí)行拒絕服務(wù)(DoS)。

K8s的復(fù)雜性

Canonical的產(chǎn)品總監(jiān)Stephan Fabel對(duì)Kubernetes的漏洞進(jìn)行了說(shuō)明:“對(duì)于最近對(duì)K8s的拒絕服務(wù)攻擊,有趣的是,這并不是K8s獨(dú)有的缺陷。但它確實(shí)說(shuō)明了K8s是一個(gè)復(fù)雜的應(yīng)用程序。這些軟件包已打了補(bǔ)丁或正在被整個(gè)生態(tài)系統(tǒng)修補(bǔ)。”

Fabel提醒管理員,Kubernetes本身不是一個(gè)孤島。“Kubernetes不是獨(dú)立的,它的安全性也不是。通過(guò)保護(hù)從操作系統(tǒng)到應(yīng)用程序和網(wǎng)絡(luò)的整個(gè)部署,Kubernetes可以安全。系統(tǒng)更新(無(wú)人值守升級(jí))、基于角色的訪問(wèn)控制、本地防火墻(ufw)和網(wǎng)絡(luò)分段等工具可以幫助實(shí)現(xiàn)這一目標(biāo)。這些不是特定于K8s,所有系統(tǒng)都需要分層安全方法。”

原文鏈接:https://thenewstack.io/netflix-discovers-severe-kubernetes-http-2-vulnerabilities/

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無(wú)評(píng)論