背景信息

基于runc运行时的容器存在安全漏洞,攻击者可以通过恶意容器镜像等方式获取宿主机root执行权限。漏洞CVE-2019-5736的详细信息,请参见

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5736

漏洞原理分析

本次漏洞典型的攻击方式是通过恶意镜像:在恶意镜像中,将攻击函数隐藏在恶意动态库如(libseccomp.so.2)中,并使执行命令指向/proc/self/exe。

当runc动态编译时,会从容器镜像中载入动态链接库,导致加载恶意动态库;当打开/prco/self/exe即runc时,会执行恶意动态链接库中的恶意程序,由于恶意程序继承runc打开的文件句柄,可以通过该文件句柄替换host上的runc。

此后,再次执行runc相关的命令,则会产生逃逸。

影响范围

  1. 本次漏洞对所有采用runc的容器引擎均生效,runc是Docker容器的核心组件,因此对绝大部分容器均会产生影响。其中主要影响的是多用户共享节点的场景,可导致某用户通过渗透进而控制节点并攻击整集群。

  2. 华为云CCE容器服务:
    CCE容器服务创建的Kubernetes集群属于单租户专属,不存在跨租户共享,影响范围较小,对于多用户场景需要关注。
    当前CCE采用华为优化的iSula Docker容器,其中RUNC采用静态编译,目前公开披露的攻击方法无法成功入侵。为确保容器服务安全稳定运行,CCE容器服务将会在近日对在运行Docker容器进行热升级。

  3. 华为云CCI容器实例服务:
    CCI引擎采用华为iSula Kata容器引擎,提供单节点上多容器高安全的hypervisor级别的隔离能力,并没有采用runc容器,因此本次漏洞将不会对CCI产生影响。

修复方法

    1. 华为云CCE容器服务:

      近日CCE容器服务会对运行的Docker进行无损热升级,包含正在运行的1.11.2, 17.06等历史版本均会提供对应补丁版本,无需更新到18.09版本,已运行容器将不受影响,请各位关注升级公告。

    2. 自建kubernetes或使用开源容器引擎:

      · 升级Docker到18.09.2版本, 由于开源Docker在17.06之后的版本做了较大变更,涉及架构解耦重构,该办法可能会导致用户容器业务中断,建议做好充分验证,并按节点逐步滚动升级。

      · 仅升级runc,对于17.06等Docker版本,可以不中断已运行业务,当前runc官方尚未发布包含漏洞修复补丁的新版本,如果要单独升级runc,用户可自行编译。

      · 另特别提醒,本次Docker官方补丁使用了高版本Linux内核的系统调用,在低版本内核部分版本上可能会失效,若补丁失效时,建议升级至3.17以上内核。华为云CCE容器服务提供的补丁针对官方补丁进行了优化适配,已验证在多版本内核上均可生效。

面对runc逃逸漏洞,华为云容器为您保驾护航的更多相关文章

  1. Forrester:华为云容器是容器混合云最佳选择

    近日,国际权威咨询机构Forrester发布<The Forrester New WaveTM: Public Cloud Enterprise Container Platforms, Q3 ...

  2. 华为云Volcano:让企业AI算力像火山一样爆发

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...

  3. 华为云对Kubernetes在Serverless Container产品落地中的实践经验

    华为云容器实例服务,它基于 Kubernetes 打造,对最终用户直接提供 K8S 的 API.正如前面所说,它最大的优点是用户可以围绕 K8S 直接定义运行应用. 这里值得一提是,我们采用了全物理机 ...

  4. 自动驾驶轻松开发?华为云ModelArts赋能智慧出行

    作为战略新兴产业,人工智能已经开始广泛应用于多个领域.近几年,科技公司.互联网公司等各领域的企业纷纷布局自动驾驶.那么,自动驾驶技术究竟发展得如何了?日前,华为云携手上海交通大学创新中心举办的华为云人 ...

  5. 本科阶段就挑战自动驾驶开发?华为云ModelArts帮你轻松实现!

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...

  6. 华为云PaaS首席科学家:Cloud Native +AI,企业数字化转型的最佳拍档

    近日,在2019华为全球分析师大会期间,华为云PaaS首席科学家熊英博士在+智能,见未来(华为云&大数据)的分论坛上,从云计算行业发展谈起,深入云原生发展趋势,对华为云智能应用平台做了深度解读 ...

  7. 腾讯云发布runC容器逃逸漏洞修复公告

    尊敬的腾讯云客户,您好:  近日,腾讯云安全中心监测发现轻量级容器运行环境runc被爆存在容器逃逸漏洞,攻击者可以在利用该漏洞覆盖Host上的runc文件,从而在Host上以root权限执行代码. 为 ...

  8. RunC容器逃逸漏洞席卷业界,网易云如何做到实力修复?

    近日,业界爆出的runC容器越权逃逸漏洞CVE-2019-5736,席卷了整个基于runC的容器云领域,大量云计算厂商和采用容器云的企业受到影响.网易云方面透露,经过技术团队的紧急应对,网易云上的容器 ...

  9. 华为云软件开发云:容器DevOps,原来如此简单!

    当开发团队把代码提交到 Git 应用仓库的那一刻,他们心里在想什么? 祈祷没有bug?渴望回家补觉?产品经理Go Die? 对,也不对.因为这只是最终发布万里长征的一小步,接下来要面对测试环境.生产环 ...

随机推荐

  1. xcode出现the file couldn't be opened怎么解决

    右键——show In finder——显示xcode包内容——将有数字的删除——把有用的xcode双击

  2. iOS算法题

    1兔子算法题 兔子可以跳一步2步或者3步,问跳到100有多少种跳法? // 兔子可以跳一步2步或者3步 // 问跳到100有几种跳法 /* 分析1 两个变量,X*2+Y*3=100. X最大为50,X ...

  3. springboot-mybatis-pagehelper(分页插件)

    依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://m ...

  4. 各种 Java Thread State 分析

    转自:https://www.cnblogs.com/zhengyun_ustc/archive/2013/03/18/tda.html 1,线程状态为“waiting for monitor ent ...

  5. Linux 学习笔记 1 使用最小的系统,从分区安装系统开始

    我们常用的linux系统在安装过程中大多都省略了对系统进行分区的操作,以至于后期,不了解什么是分区以及分区当中最基本的一些概念, 我们不说最细的知识,只求了解这个过程,那直接步入正题,开始第一节的学习 ...

  6. 火狐低版本中显示时间格式为:yyyy-MM-dd hh:mm:ss,出现NaN

    在低版本的火狐(43以下)和IE8中,显示时间格式为:yyyy-MM-dd hh:mm:ss,会出现NaN:原因是只支持yyyy/MM/dd hh:mm:ss; 所以在new Date('2018-0 ...

  7. @Value注入static属性

    1. 给参数注入,执行set方法 public class SendMessageCenter {     private static String message;    private stat ...

  8. 1、2 建立list(RestController),并postman测试

    1.主义实体类id   为String 类型(有用) @Entity(name = "t_student") public class Student { @Id private ...

  9. REDIS scan与sunionstore合并多集合数据

    实际业务场景: 现需求要将多个KEY的set集合数据合并到一个总集合中,思路:通过scan分批扫描满足条件的KEY,然后用sunionstore分批合并. 注意闭坑:此种解决方案只适用于待合并的集合K ...

  10. TCP三次握手和四次挥手及wireshark抓取

    TCP的三次握手与四次挥手的详细介绍: 三次握手: 第一次握手(SYN=1, seq=x): 客户端发送客户端发送一个 TCP 的 SYN 标志位置1的,指明客户端打算连接的服务器的端口,以及初始序号 ...