Netflix发现了严重的Kubernetes HTTP / 2漏洞

在了解互联网的HTTP / 2协议如何工作的时候,Netflix工程师发现了Kubernetes的一系列漏洞。主要的漏洞是在用Go语言编写的net / https库中找到的。因为这些漏洞在这个特定的库中被发现,所以Kubernetes的每个版本和每个组件都会受到影响。

在了解互联网的HTTP / 2协议如何工作的时候,Netflix工程师发现了Kubernetes的一系列漏洞。主要的漏洞是在用Go语言编写的net / https库中找到的。因为这些漏洞在这个特定的库中被发现,所以Kubernetes的每个版本和每个组件都会受到影响。Kubernetes产品安全委员会已经将这两个漏洞打分为7.5分(表示很严重)。这两个漏洞是:

——CVE-2019-9512 Ping Flood。这使攻击者能够向HTTP / 2 peer发送连续的ping请求,从而使peer创建内部响应队列。发生这种情况时,可以占用服务器的CPU和内存,这可能导致拒绝服务。

——CVE-2019-9514 Reset Flood。这使攻击者能够打开多个流,这些流用于发送从peer请求RS_STREAM帧的无效请求。如果peer不正确地对RST_STREAM帧进行排队,就会占用服务器的CPU和内存,这可能导致拒绝服务。

所有八个漏洞都会影响Kubernetes。虽然还在等待NIST的分析,Kubernetes已经发布了以下版本的补丁:

Kubernetes v1.15.3 – go1.12.9

Kubernetes v1.14.6 – go1.12.9

Kubernetes v1.13.10 – go1.11.13

用户必须将Kubernetes的每个实例升级到上述迭代之一,否则,它们将容易受到攻击。当然,升级Kubernetes实例的方式取决于它们的部署方式(在数据中心服务器上,或通过Google Cloud、AWS等)。请务必查阅有关部署升级过程的官方Kubernetes文档。

这些漏洞如何运作

每个Kubernetes漏洞都通过以下步骤工作:

——恶意客户端请求易受攻击的服务器执行生成响应的X。

——客户端拒绝阅读回复。

——该拒绝操纵服务器的队列管理代码。

——如果服务器处理其队列不当,客户端可以强制让它在处理请求时消耗过多的CPU周期和内存。

上述步骤会引发拒绝服务,从而导致服务器崩溃。

请务必注意,这些漏洞(如Netflix所述)不允许攻击者修改或泄露敏感信息。相反,发现的缺陷允许在易受攻击的服务器上执行拒绝服务(DoS)。

K8s的复杂性

Canonical的产品总监Stephan Fabel对Kubernetes的漏洞进行了说明:“对于最近对K8s的拒绝服务攻击,有趣的是,这并不是K8s独有的缺陷。但它确实说明了K8s是一个复杂的应用程序。这些软件包已打了补丁或正在被整个生态系统修补。”

Fabel提醒管理员,Kubernetes本身不是一个孤岛。“Kubernetes不是独立的,它的安全性也不是。通过保护从操作系统到应用程序和网络的整个部署,Kubernetes可以安全。系统更新(无人值守升级)、基于角色的访问控制、本地防火墙(ufw)和网络分段等工具可以帮助实现这一目标。这些不是特定于K8s,所有系统都需要分层安全方法。”

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

本文来自信息化观察者网,转载请注明出处。

 

扫码加入本站知识星球小密圈,获取1万+行业最新精选报告。

注:本站文章除标明原创外,均来自网友投稿及分享,如有侵权请联系dongxizhiku@163.com删除。

         

发表评论