摘要:年月日,研究人員通過郵件列表披露了容器逃逸漏洞的詳情,根據的規定會在天后也就是年月日公開。在號當天已通過公眾號文章詳細分析了漏洞詳情和用戶的應對之策。
美國時間2019年2月11日晚,runc通過oss-security郵件列表披露了runc容器逃逸漏洞CVE-2019-5736的詳情。runc是Docker、CRI-O、Containerd、Kubernetes等底層的容器運行時,此次安全漏洞無可避免地會影響大多數Docker與Kubernetes用戶,也因此為整個業界高度關注。
漏洞披露后,Docker在第一時間發布了兩個版本18.06.2和18.09.2,這兩個版本都可以修復runc漏洞。Rancher Labs極速響應,Rancher Kubernetes管理平臺和RancherOS操作系統均在不到一天時間內緊急更新,是業界第一個緊急發布新版本支持Docker補丁版本的平臺,并持嚴謹態度在oss-security郵件列表披露漏洞后的五小時內連夜郵件通知所有Rancher用戶此次漏洞的詳情及應對之策。
更值得一提的是,盡管Docker發布了修復版本,但因為不是所有用戶都能輕易將生產環境中的Docker版本升至最新,Rancher幫忙將修復程序反向移植到所有版本的Docker并提供給用戶。且目前Docker官方提供的修復版本并不支持3.x內核(只兼容4.x內核),而runc的開發者特意向Rancher提交了支持3.x內核的PR,目前PR已合并,Rancher提供的方案現已可以支持3.x內核。
runc安全漏洞事件背景
runc是一個根據OCI(Open Container Initiative)標準創建并運行容器的CLI tool,目前Docker引擎內部也是基于runc構建的。2019年2月11日,研究人員通過oss-security郵件列表披露了runc容器逃逸漏洞的詳情,根據OpenWall的規定EXP會在7天后也就是2019年2月18日公開。
此漏洞允許以root身份運行的容器以特權用戶身份在主機上執行任意代碼。這意味著容器可能會破壞Docker主機(覆蓋Runc CLI),而所需要的只是能夠使用root來運行容器。攻擊者可以使用受感染的Docker鏡像或對未受感染的正在運行的容器運行exec命令。
Rancher在12號當天已通過公眾號文章詳細分析了漏洞詳情和用戶的應對之策。相信目前大部分用戶已經對漏洞已經有了初步的了解,甚至在Github上已經有人提交了EXP代碼。Rancher在第一時間完成了補丁修復,并向企業用戶推送的修復方案。同時在我們也收到了大量來自社區用戶在后臺的提問,為了疏解種種謎團,這篇后續文章,我們將選取大家重點關注的一些熱點疑問進行進一步的解答。
熱點問題
非特權容器也能發起攻擊嗎?
答案是肯定的,Rancher安全團隊在第一時間做了一些測試,即使運行容器時不使用privileged參數,一樣可以發起攻擊。因為這個漏洞核心要素在于,容器內的用戶是否對runc有訪問權限, 容器內默認是root用戶,只是這個root是受限制的root,但是它是具有對runc的訪問權限,所以一定可以發起攻擊。
主機上不用root用戶啟動容器可以避免攻擊嗎?
答案是無法避免,如上一個問題分析,它和容器內的用戶有關,至于在主機上以什么用戶啟動無關。Rancher安全團隊在Ubuntu系統上做了測試,即使使用ubuntu用戶啟動容器, 依然可以完成對runc的替換。
更新官方Docker的注意事項
Docker也在第一時間發布了兩個版本18.06.2和18.09.2,這兩個版本都可以修復runc漏洞,但是你需要注意的是他們都只兼容4.x內核,如果你的系統依然使用的3.x內核, 請謹慎使用,因為它基本不會起作用,甚至可能導致額外的問題。
Ubuntu 14.04 customers using a 3.13 kernel will need to upgrade to a supported Ubuntu 4.x kernel
參考兩個版本的RN:
https://docs.docker.com/engin...
https://docs.docker.com/engin...
Kubernetes用戶怎么辦?
使用K8s的用戶都很清楚,K8s并不能兼容太高的Docker版本,所以更新官方Docker版本是很難的一件事,為此K8s官方特意發表了一篇Blog:https://kubernetes.io/blog/20... 。 主要思想就是,不要在容器中使用root,它推薦的方案是使用PodSecurityPolicy。當然很多用戶修改PodSecurityPolicy后可能會引發各種問題,所以它也推薦用戶更新Docker。 同時它也提到,不能更新Docker的用戶,可以使用Rancher提供的方案,Rancher為每個版本都移植了補丁:
If you are unable to upgrade Docker, the Rancher team has provided backports of the fix for many older versions at github.com/rancher/runc-cve.
如何使用Rancher提供的補丁?
如上一個問題提到的,用戶可以直接訪問https://github.com/rancher/ru... 來獲取方案,值得一提的是Rancher為3.x和4.x內核用戶都提供了補丁版本。
To install, find the runc for you docker version, for example Docker 17.06.2 for amd64 will be runc-v17.06.2-amd64.
For Linux 3.x kernels use the binaries that end with no-memfd_create. Then replace the docker-runc on your host with the patched one.
如何正確使用EXP?
首先不建議大家廣泛傳播EXP,因為它每暴露一次,就為整體環境增加了一絲風險,我們可以研究學習但是不要惡意傳播。 我們在后臺看到有些人問到,他們使用了某些EXP代碼,攻擊沒有成功,想知道是不是自己的系統是安全的,不用考慮升級。 Rancher安全團隊也查看了一些外部公開的EXP,有些EXP是不完整的,它可能只能在某些環境上起作用。 比如利用libseccomp的EXP,就無法在靜態編譯的runc上起作用,我們使用了一些公開的EXP就無法在RancherOS上完成攻擊。 雖然不同版本的Docker都使用runc,但是不同的操作系統使用runc的方式不同,有的使用static runc,有的使用dynamic runc。 所以不能以某些公開的EXP的執行結果為標準,來判斷自己系統是否存在漏洞。
守護用戶的K8S之路
Rancher Kubernetes平臺擁有著超過一億次下載量,我們深知安全問題對于用戶而言的重要性,更遑論那些通過Rancher平臺在生產環境中運行Docker及Kubernetes的數千萬用戶。
2018年年底Kubernetes被爆出的首個嚴重安全漏洞CVE-2018-1002105,就是由Rancher Labs聯合創始人及首席架構師Darren Shepherd發現的。
2019年1月Kubernetes被爆出儀表盤和外部IP代理安全漏洞時,Rancher Labs也是第一時間向用戶響應,確保了所有Rancher 2.x和1.6.x的用戶都完全不被漏洞影響。
負責、可靠、快速響應、以用戶為中心,是Rancher始終不變的初心;在每一次業界出現問題時,嚴謹踏實為用戶提供相應的應對之策,也是Rancher一如既往的行事之道。未來,Rancher也將一如既往支持與守護在用戶的K8S之路左右,確保大家安全、穩妥、無虞地繼續前進??
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27686.html
摘要:爆出中等嚴重性安全漏洞拒絕服務漏洞。本文將進行漏洞解讀和情景再現,并分享漏洞修復方案,用戶來看應對之策了漏洞美國當地時間年月日,社區發布了拒絕服務的漏洞,即有寫入權限的用戶在寫入資源時會導致過度消耗資源,此漏洞被評級為中等嚴重性。 Kubernetes爆出中等嚴重性安全漏洞——Kubernetes API Server拒絕服務漏洞CVE-2019-1002100。 本文將進行漏洞解讀和...
摘要:今天,發布了一系列補丁版本,修復新近發現的兩個安全漏洞命令安全漏洞和端口映射插件漏洞。因為端口映射插件是嵌入到版本中的,只有升級至新版本的才能解決此問題。現在修復之后,將端口映射插件的規則由最優先變為附加,則可以讓流量優先由規則處理。 今天,Kubernetes發布了一系列補丁版本,修復新近發現的兩個安全漏洞CVE-2019-1002101(kubectl cp命令安全漏洞)和CVE-...
摘要:網易云技術團隊則迅速完成分析和測試,并以最高優先級處理該漏洞,緊急上線了漏洞修復方案,最終完全消除了該漏洞可能產生的影響,確保了公有云服務的安全性。 近日,業界爆出的runC容器越權逃逸漏洞CVE-2019-5736,席卷了整個基于runC的容器云領域,大量云計算廠商和采用容器云的企業受到影響。網易云方面透露,經過技術團隊的緊急應對,網易云上的容器服務已經被成功修復,網易云公有云客戶在...
摘要:漏洞披露后,在第一時間發布了,用戶可升級到此版本以修復該漏洞。年年底被爆出的首個嚴重安全漏洞,就是由聯合創始人及首席架構師發現的。年月被爆出儀表盤和外部代理安全漏洞時,也是第一時間向用戶響應,確保所有和的用戶都完全不被漏洞影響。 runC是一個根據OCI(Open Container Initiative)標準創建并運行容器的CLI工具,目前Docker引擎內部也是基于runc構建的。...
摘要:中國論壇提案征集月日截止論壇讓用戶開發人員從業人員匯聚一堂,面對面進行交流合作。贊助方案出爐多元化獎學金現正接受申請即將首次合體落地中國 2月11日早上有宣布關于runc中的容器逃逸漏洞。我們希望為Kubernetes用戶提供一些指導,以確保每個人都安全。 Runc是什么? 簡單來說,runc是一個低層工具,它負責大量生成Linux容器。Docker、Containerd和CRI-O等...
閱讀 3878·2021-09-27 13:36
閱讀 4554·2021-09-22 15:12
閱讀 3063·2021-09-13 10:29
閱讀 1826·2021-09-10 10:50
閱讀 2360·2021-09-03 10:43
閱讀 518·2019-08-29 17:10
閱讀 442·2019-08-26 13:52
閱讀 3249·2019-08-23 14:37