runC 爆严重漏洞,使用容器的快打补丁

by admin on 2020年2月26日

澳门新葡亰信誉平台游戏 1

澳门新葡亰信誉平台游戏 2

runC 是 Docker,Kubernetes
等依赖容器的应用程序的底层容器运行时,此次爆出的严重安全漏洞可使攻击者以
root 身份在主机上执行任何命令。

根据 TECHERATI 网站报道,Atredis
Partners 公司的安全研究人员 Charles Holmes 在 Kubernetes
中发现了一个新的漏洞,如果利用该漏洞,攻击者可以将恶意容器放置到用户工作站上。 该漏洞影响
Kubernetes 的 kubectl
命令行工具,而这个工具是让用户在容器和用户机器之间复制文件。

影响所有版本的Kubernetes的两个高危漏洞可能让未经授权的攻击者可以触发拒绝服务(DoS)状态,Kubernetes这个开源系统用于处理容器化的应用程序。

容器的安全性一直是容器技术的一个短板。关于容器最大的安全隐患是攻击者可以使用恶意程序感染容器,更严重时可以攻击主机系统。2月11日,安全研究员通过
oss-security
邮件列表披露了
runc 容器逃逸漏洞的详情,而这个漏洞可能让上述情况发生。

容器调度器 Kubernetes 在确立为多云部署之后,就大受开发人员的喜爱,根据
JetBrains 的报告,29% 的开发人员现在使用
Kubernetes。所以漏洞的出现会引起很多人关注。

Kubernetes的开发团队已经发布了修补版本,以堵住这些新发现的安全漏洞,并阻止潜在攻击者钻漏洞的空子。

澳门新葡亰信誉平台游戏 3

Kubernetes ProductSecurity Committee (Kubernetes
产品安全委员会)的代表人 Joel Smith ,将该漏洞与 CVE-2019-1002101
漏洞联系在一起,CVE-2019-1002101
是在今年3月发现的漏洞,也使攻击者能够通过 kubectl
嵌入恶意容器,而最初解决这个问题并不完整。

Kubernetes最初由谷歌使用Go开发而成,旨在帮助使主机集群上的容器化工作负载和服务的部署、扩展和管理实现自动化。

runC 由 Docker 公司开发,现在已作为 OCI
规范被广泛使用。如果你正在使用容器,那么有很大的可能是在 runC
上运行它们。此次爆出的漏洞允许恶意容器覆盖主机上的 RunC
二进制文件,以在主机上获取 root 级别的代码执行,让攻击者能够以 root
身份运行任何命令。

Joel Smith 说,攻击者可以将恶意代码嵌入容器的 tar
二进制文件中,这可能允让他们在调用 kubectl
时将文件写入用户计算机上的任何路径,不过,最新的漏洞可以通过将 kubectl
升级到 1.12.9、1.13.6 和 1.14.2 或更高版本来修复。

它通过将应用程序容器组织到pod、节点(物理或虚拟机)和集群来实现这一点,多个节点构成由主系统(master)管理的集群,主系统负责协调与集群有关的任务,比如扩展、调度或更新应用程序。

澳门新葡亰信誉平台游戏 ,攻击方式是将容器中的目标二进制文件替换为返回的 runC
二进制文件,攻击者可以通过附加特权容器(将其连接到终端)或使用恶意镜像启动并使其自行执行。但是
Linux 内核通常不允许在 runC 执行过程中主机上的 runC 二进制文件被覆盖。

(文/开源中国)    

安全漏洞影响所有Kubernetes版本

这时候攻击者可以使用 O_PATH
标志打开/ proc / self / exe的文件描述符,然后继续通过/ proc / self / fd / <nr>重新打开二进制文件O_WRONLY并在一个单独进程中的繁忙
loop 里尝试写入。Sarai 解释说,最终,当 runC
二进制文件退出时攻击就成功了。

Kubernetes产品安全委员会的Micah
Hausler在Kubernetes安全问题公告列表上透露:“Go语言的net/http库中发现了一个安全问题,影响了Kubernetes的所有版本和所有组件。”

红帽的容器技术产品经理 Scott McCarty 警告大家:

“这些漏洞可能导致采用HTTP或HTTPS侦听器的任何进程面临DoS,”所有版本的Kubernetes都受到影响。

runC 和 Docker 中安全漏洞(CVE-2019-5736)的披露说明了许多 IT 管理员和
CxO
面临着糟糕的情况。容器代表向共享系统的转变,其中来自不同用户的应用程序都在同一
Linux
主机上运行。利用此漏洞意,恶意代码可能会肆意蔓延,不仅影响单个容器,还会影响整个容器主机,最终会破坏主机上运行的成百上千个容器。像这种影响各种互连生产系统的级联漏洞可能会成为企业
IT 的世界末日场景…… 而这正是这个漏洞可能产生的结果。

Netflix在8月13日宣布发现了多个漏洞,这些漏洞使本身支持HTTP/2通信的服务器暴露在DoS攻击面前。

大多数云容器系统都容易受到这种潜在攻击。除了
runC,报告还说明了这个漏洞还可能会影响到 LXC 和 Apache
Mesos。如果你正在运行任何类型的容器,需要尽快打补丁。该安全研究员已经
push 了一个
git
提交来修复这个漏洞。另外,Docker 刚刚发布的 18.09.2
版本也修复了该漏洞;Linux
发行版 Debian 和 Ubuntu 正在修复该漏洞。AWS 和 Google Cloud
已发布安全通知,建议客户更新各种受影响服务的容器。

在Netflix与安全公告一同发布的八个CVE中,其中两个还影响Go和旨在服务于HTTP/2流量(包括
/healthz)的所有Kubernetes组件。

McCarty 表示,这不是第一个主要的容器运行时安全漏洞,也不会是最后一个。

标为CVE-2019-9512和CVE-2019-9514的这两个漏洞已被Kubernetes产品安全委员会定为CVSS
v3.0基础分7.5;这两个漏洞使“不可信任的客户端可以分配无限量的内存,直到服务器崩溃。”

就像去年 Spectre/Meltdown
代表了安全研究从软件架构向处理器架构转变一样,我们应该期待 runC
这样的低级别容器运行时和 Docker
这样的容器引擎,现在也会受到研究人员和潜在恶意行为者的额外关注。

CVE-2019-9512 Ping
Flood:攻击者向HTTP/2对等体(peer)发送连续ping,导致对等体建立内部响应队列。这可能消耗过多的CPU、内存或CPU和内存——这取决于该数据的队列多高效,从而可能导致拒绝服务攻击。CVE-2019-9514
Rest
Flood:攻击者打开多路数据流,并在每路数据流上发送无效请求,从而从对等体获得RST_STREAM帧数据流。这会消耗过多的内存、CPU或CPU和内存——这取决于对等体如何将RST_STREAM帧列入队列,从而可能导致拒绝服务攻击。

参考:zdnet,theregister,高效开发运维

升级Kubernetes集群

如开头所述,Kubernetes已经发布了补丁来堵住漏洞,建议所有管理员尽快升级到补丁版本。

开发团队已发布了使用新版本和修补版Go构建的以下Kubernetes版本,以帮助管理员应对漏洞:

Kubernetes v1.15.3 go1.12.9Kubernetes v1.14.6 go1.12.9Kubernetes
v1.13.10 go1.11.13

Kubernetes管理员可使用Kubernetes集群管理页面(-cluster/cluster-management/#upgrading-a-cluster)上适用于所有平台的升级说明来升级集群。

原文标题:Severe Flaws in Kubernetes Expose All Servers to DoS
Attacks,作者:Sergiu Gatlan

作者:布加迪编译来源:51CTO

声明:本网站发布的内容以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:hyg@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处::西部数码资讯门户
Kubernetes的严重漏洞将所有服务器暴露在DoS攻击面前!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图