本篇文章1172字,读完约3分钟

背景新闻

runc运行时的容器有安全漏洞,攻击者可以通过恶意容器镜像等方法取得宿主机的根执行权限。

脆弱性原理

这次漏洞的典型攻击方法是恶意镜像。 恶意镜像将攻击函数隐藏为恶意动态库( libseccomp.so.2 ),并将执行命令指向/proc/self/exe。 runc动态编译后,将从容器镜像中加载动态链接库,并加载恶意动态库。 打开/ proc/self/exe runc时,会执行恶意动态链接库中的恶意程序,恶意程序会继承runc打开的文件句柄,因此会将主机上的runc保存到该文件 之后,再次执行与runc相关的指令时,会发生转义。

“华为云容器护航,无惧RunC逃逸漏洞”

影响范围

由于此漏洞会影响大部分容器,因此对于使用docker容器的核心组件runc的所有容器引擎都很有用。 其中影响最大的是多个顾客共享节点的场景,有可能通过某个顾客的渗透来控制节点,攻击整个集群。

华为cce集装箱服务: cce集装箱服务创建的kubernetes集群是单租户专用的,租户之间没有共享,影响范围小,需要关注多个顾客的场景。

cce使用的是华为自研的isula docker容器,其中runc使用静态编译方法加载依赖库。 这是因为用现在公开的攻击方法是无法侵入的。

但是,为了使集装箱服务运行更加安全,cce集装箱服务计划在近期内完成当前网络docker集装箱的自动升级,客户无需手动操作任何东西,升级过程不会影响运行中的集装箱业务。

华为cci容器实例服务: cci引擎使用华为isula kata容器引擎,在单节点提供多容器高虚拟机管理程序级别的隔离能力,而runc容器未使用。 因为这次的脆弱性不会影响cci。

修复的方法

华为cce集装箱服务:

最近,cce容器服务将无损地对正在运行的docker进行热升级。 将提供相应的修补程序版本,包括运行中的版本1.11.2、18.09等历史版本。 不需要更新到18.09版,已运行的容器不受影响。 请关注升级发布。

自制kubernetes或采用开源容器引擎:

将docker升级到18.09.2版。 由于开源docker在17.06版及更高版本中发生了很大变化,因此它与架构解耦和重建有关,这种方法可能会中断客户容器的业务。 建议进行充分验证,并在每个节点上逐步升级。

只需升级runc,即可在不中断发货区域业务的情况下运行docker版本,如17.06。 目前,runc政府尚未发布包含漏洞修复修补程序的新版本。 如果要单独升级runc,您可以自行编译。

此外,此docker官方修补程序使用高版本的linux内核的系统调用,对于某些低版本的内核可能会禁用。 如果修补程序已禁用,建议升级到3.17或更高版本的内核。 与官方修补程序相比,华为cce容器服务提供的修补程序进行了优化,并被验证为在多个版本的内核中有效。

标题:“华为云容器护航,无惧RunC逃逸漏洞”

地址:http://www.sdsxywx.com/sdss/7588.html