Docker 再曝安全漏洞,这次是 PWD 的问题

栏目: 编程工具 · 发布时间: 5年前

内容简介:近日,网络安全公司 CyberArk 的研究人员发现了一种破解流行 Play-with-Docker(PWD)站点的方法,可绕过容器隔离边界限制,直接获取用户文件。不过,该错误配置目前已被修复。近年来,容器已成为应用程序部署越来越流行的方法,为运行和管理本地和云工作负载提供了一种灵活的工作方式。近日,安全公司 Cyber Ark 称发现PWD 主要提供在线资源,让开发人员可以轻松了解和使用流行的 Docker 容器应用程序技术。容器和应用程序在操作系统中是互相隔离的,常规状态是用户无法绕过容器隔离限制查看底

近日,网络安全公司 CyberArk 的研究人员发现了一种破解流行 Play-with-Docker(PWD)站点的方法,可绕过容器隔离边界限制,直接获取用户文件。不过,该错误配置目前已被修复。

近年来,容器已成为应用程序部署越来越流行的方法,为运行和管理本地和云工作负载提供了一种灵活的工作方式。近日,安全公司 Cyber Ark 称发现 Play-with-Docker 存在安全风险,攻击者可轻松访问主机系统资源。随后,研究人员向 Play-with-Docker 维护人员披露了此问题,目前该错误已得到解决。

PWD 主要提供在线资源,让开发人员可以轻松了解和使用流行的 Docker 容器应用程序技术。容器和应用程序在操作系统中是互相隔离的,常规状态是用户无法绕过容器隔离限制查看底层主机操作系统。

但是,该安全公司表示可以利用 Linux 容器的固有弱点绕开隔离限制,与在每个实例中加载内核的虚拟机不同,容器共享相同的内核代码,这是 Linux 容器和 Docker 得以快速和敏捷的原因,但这也是其致命弱点。

如何找到该漏洞?

研究团队通过使用 debugfs,这是一个预装操作系统的 Linux 工具,用于探测底层主机的文件系统,轻松查看主机硬盘信息,并可从主机文件系统获取文件以准备攻击。

研究人员表示,除此之外,只需读取容器上的文件,例如内部 proc/、dev/ 和 sys/,同样可以指向内核,通过查看容器中指向底层 Linux 内核的文件,研究人员可以绘制容器的边界并测试其权限。比如,用户可从容器读取有关底层主机 CPU 信息,加载 VM 类型,底层操作系统是否针对 Specter 和 Meltdown 的某些变体进行修补,Bios 版本等,还可通过检查容器用户的 Linux 功能来设置容器边界,看到容器用户被允许加载的 Linux 内核模块等。

都是容器权限的锅?

该问题与使用所谓的特权容器有关,Docker 使用特权标志来创建特权容器,但根据调查,PWD 使用特权容器,但没有正确保护它们。特权容器比非特权容器具有更多操作和访问权限控制。Docker 容器技术提供了许多帮助保护容器的机制,其中一种方法是使用所谓的用户命名空间。通过用户命名空间,研发人员可在 Docker 上运行各应用程序和进程,具有更多可见性和控制权限。

在许多情况下,应用程序需要比用户命名空间容器具备更多特权。保护容器隔离的一种方法是使用虚拟机 VM 管理程序进行额外的虚拟化抽象,VM 可以在虚拟操作系统与底层操作系统之间建立更严格的隔离边界。

如果 PWD 将每个容器放在单独的 VM 中,那么这次攻击就不会发生。研究表明,虚拟机和 Linux 容器之间的区别与漏洞直接有关。Linux 容器更加灵活,每个实例使用相同的内核代码,这就是造成漏洞的主要原因。

企业也可以通过多种方式选择在 VM 中运行容器。 例如,AWS 于 2018 年 11 月宣布 Firecracker 技术,作为隔离容器的虚拟机管理器(VMM)方法。 另一个选择是 Kata Containers,这是由 OpenStack 基金会维护的项目。此外,容器也可在传统虚拟化技术中运行,比如 VMware。

目前,PWD 方面通过阻止容器中的内核模块加载,避免了此次漏洞风险。但是,团队也在寻找更有用高效的辅助工具,最大限度降低和控制风险。

参考链接: https://www.eweek.com/security/researchers-reveal-play-with-docker-security-vulnerability


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Types and Programming Languages

Types and Programming Languages

Benjamin C. Pierce / The MIT Press / 2002-2-1 / USD 95.00

A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of typ......一起来看看 《Types and Programming Languages》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具