什么?Docker容器里面有恶意软件!这比你想象的来得更常见!

云头条 / 2018年08月06日 04:18

互联网+

研究人员表示,“软件监狱”可能隐藏恶意的攻击有效载荷。

研究人员警告,Docker容器是掩饰恶意软件感染的最佳环境。

以色列安全初创公司Aqua Security的两名研究人员迈克尔·彻尼(Michael Cherny)和萨奇·达尔西(Sagie Dulce)在拉斯维加斯召开的2017年黑帽美国大会上登台发言,表示不法分子可以滥用Docker API,进而远程执行代码、绕开安全防线(https://www.blackhat.com/docs/us-17/thursday/us-17-Cherny-Well-That-Escalated-Quickly-How-Abusing-The-Docker-API-Led-To-Remote-Code-Execution-Same-Origin-Bypass-And-Persistence_wp.pdf)。

作为一种测试代码的方式,Docker在开发人员当中颇受欢迎,它让整个IT堆栈(操作系统、固件和应用程序)得以在一个名为容器的封闭环境中运行。虽然这种结构对于测试代码有莫大的吸引力,但也可能被攻击者滥用,让恶意软件得以在公司内部四处感染。

研究人员解释道,如果攻击者找到下手的开发人员,不仅可以在公司网络里面运行恶意软件代码,还可以在权限提升的情况下这么做。

攻击过程如下:欺骗受害者打开实际上由攻击者控制的网页,然后使用REST API调用来执行Docker Build命令,创建一个将执行任意代码的容器。借助一种名为“主机重新绑定”(Host Rebinding)的手法,攻击者就可以绕过同源策略(Same-Origin Policy)保护机制,获得访问底层Moby Linux虚拟机的root权限。

因此,攻击者可窃取开发人员的登录信息,在开发人员的计算机上运行恶意软件,或者将恶意软件注入到容器映像本身里面;那样一来,每当容器启动,恶意软件就会到处感染。

两位作者写道:“攻击完成后,攻击者将获得持续的代码,可以完全访问受害者的网络。代码在Moby Linux虚拟机里面运行,因而很难被察觉。”

敞开大门

导致攻击更为糟糕的是通常为容器和开发人员帐户赋予了级别很高的系统访问权。Docker在开发人员的PC上本地运行时,它们很容易受到像跨站请求伪造漏洞这类攻击的影响,这种漏洞随后可以利用系统缺陷,比如TCP请求的处理。

两名研究人员指出:“关键是,安装Docker for Windows的每个开发人员实际上直接在本地机器上运行Docker。原因在于,即使Docker守护程序和容器在虚拟机里面运行,Docker客户软件也与主机端守护程序进行通信。”

Aqua Security的两名研究人员表示,他们已经向Docker报告了其中一个攻击途径:易受攻击的TCP组件,Docker已发布了更新以补救缺陷。

不过彻尼和达尔西表示,还可以利用Docker中的其他缺陷,不仅可以感染容器,还可以感染系统上运行的主机及其他虚拟机。

“扫描映像以清除可能被利用的恶意代码或漏洞,这点很重要。此外,运行时保护机制可确保你的容器‘循规蹈矩’,没有执行任何恶意操作。”返回搜狐,查看更多

责任编辑:

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。