11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

runC 爆严重安全漏洞,主机可被攻击!使用容器的快打补丁

  • 2019-02-12
  • 本文字数:1294 字

    阅读完需:约 4 分钟

runC爆严重安全漏洞,主机可被攻击!使用容器的快打补丁

容器的安全性一直是容器技术的一个短板。关于容器最大的安全隐患是攻击者可以使用恶意程序感染容器,更严重时可以攻击主机系统。


2 月 11 日,安全研究员 Adam Iwaniuk 和 BorysPopławski 发现了容器运行时 runC 的一个安全漏洞,这个漏洞可以让上述情况发生。Aleksa Sarai,SUSE 的容器高级软件工程师同时也是 Runc 的维护者,纰漏了这个漏洞(CVE-2019-5736)。


漏洞详情

runC 是一个开源命令行工具,用于运行容器,是 Docker,Kubernetes 等依赖容器的应用程序的底层容器运行时。runC 由 Docker 公司开发,现在已作为 OCI 规范被广泛使用。如果你正在使用容器,那么有很大的可能是在 runC 上运行它们。


此次爆出的漏洞允许恶意容器覆盖主机上的 RunC 二进制文件,以在主机上获取 root 级别的代码执行,让攻击者能够以 root 身份运行任何命令。


攻击方式是将容器中的目标二进制文件替换为返回的 runC 二进制文件,攻击者可以通过附加特权容器(将其连接到终端)或使用恶意镜像启动并使其自行执行。


但是 Linux 内核通常不允许在 runC 执行过程中主机上的 runC 二进制文件被覆盖。


这时候攻击者可以使用 O_PATH 标志打开/ proc / self / exe的文件描述符,然后继续通过/ proc / self / fd / <nr>重新打开二进制文件O_WRONLY并在一个单独进程中的繁忙 loop 里尝试写入。Sarai 解释说,最终,当 runC 二进制文件退出时攻击就成功了。


结果可能会比你想象的还糟。红帽的容器技术产品经理 Scott McCarty 警告大家:


runC 和 Docker 中安全漏洞(CVE-2019-5736)的披露说明了许多 IT 管理员和 CxO 面临着糟糕的情况。容器代表向共享系统的转变,其中来自不同用户的应用程序都在同一 Linux 主机上运行。利用此漏洞意,恶意代码可能会肆意蔓延,不仅影响单个容器,还会影响整个容器主机,最终会破坏主机上运行的成百上千个容器。像这种影响各种互连生产系统的级联漏洞可能会成为企业 IT 的世界末日场景…而这正是这个漏洞可能产生的结果。


及时打补丁

除了 runC,Sarai 在报告还说明了这个漏洞还可能会影响到 LXC 和 Apache Mesos。所以,如果你正在运行任何类型的容器,需要尽快打补丁。Sarai 已经 push 了一个 git 提交来修复这个漏洞:


https://github.com/opencontainers/runc/commit/0a8e4117e7f715d5fbeef398405813ce8e88558b


Docker 刚刚发布的18.09.2版本也修复了该漏洞。


Linux 发行版 Debian 和 Ubuntu 正在修复该漏洞。AWS 和 Google Cloud 已发布安全通知,建议客户更新各种受影响服务的容器。


大多数(如果不是全部)云容器系统都容易受到这种潜在攻击。 例如,AWS 表示,现在已有一个适用于亚马逊 Linux 的补丁,但仍在为亚马逊 ECS,EKS 和 AWS Fargate 推出补丁。


McCarty 说这不是第一个主要的容器运行时安全漏洞,也不会是最后一个。


就像去年 Spectre/Meltdown 代表了安全研究从软件架构向处理器架构转变一样,我们应该期待 runC 这样的低级别容器运行时和 Docker 这样的容器引擎现在也会受到研究人员和潜在恶意行为者的额外关注。


参考链接:


https://www.theregister.co.uk/2019/02/11/docker_container_flaw/


https://www.zdnet.com/article/doomsday-docker-security-hole-uncovered/


2019-02-12 11:545058
用户头像
张婵 InfoQ 技术编辑

发布了 87 篇内容, 共 48.7 次阅读, 收获喜欢 217 次。

关注

评论

发布
暂无评论
发现更多内容

实践解析丨如何通过 WebAssembly 在 Web 进行实时视频人像分割

声网

大前端 WebRTC webassembly

使用数据库乐观锁的方式解决数值累加的问题

陈靓-哲露

学习下服务器端漏洞,受益匪浅!

网络安全学海

运维 网络安全 信息安全 漏洞扫描 渗透测试·

微观管理?

escray

学习 极客时间 朱赟的技术管理课 7月日更

模块三作业

燕燕 yen yen

架构训练营

药物研发使用北鲲云高性能计算平台,有效解决研发效率问题

北鲲云

极光开发者周刊【No.0723】

极光JIGUANG

结构化流-Structured Streaming(八-下)

数据与智能

spark 流式计算框架 structuredStreaming

继续

IT蜗壳-Tango

7月日更

《人这一辈子,都在为认知闭环买单》读后感---刘润

Changing Lin

58字节常量池面试题,你如何应对?

卢卡多多

intern 字符串 7月日更

怎么才能写出100个用户体验的关键时刻?

石云升

读书笔记 用户体验 关键时刻 7月日更

可以同时管理公有云和私有云资源的软件哪个好?

行云管家

公有云 私有云 云管平台 云资源

Apache Druid 简介

HoneyMoose

什么是 Druid

HoneyMoose

【等保知识】等保测评机构申请条件,所需资料以及流程

行云管家

等保 堡垒机 行云管家 等保测评

上线仅7天,GitHub已标星48.4k!原来是阿里巴巴内部《高并发系统设计》

Java redis 编程 架构 面试

C# 三个Timer

喵叔

7月日更

6月热点:BML全新升级WebIDE编程环境,度目智能视频分析盒G1上新

百度大脑

人工智能 BML

阿里数据中台底座的12年建设实践

阿里云大数据AI技术

网络攻防学习笔记 Day83

穿过生命散发芬芳

网络攻防 7月日更

【得物技术】得物开放平台进阶之路

得物技术

安全 后端 平台 订单

Android Flutter 多实例实践

网易云信

flutter 架构

我学编程时最后悔的事!

程序员鱼皮

Java c++ Python 大前端 后端

线上教育培训机构如何推广自己

石头IT视角

Linux之cal命令

入门小站

Linux

在线条码生成器

入门小站

工具

启动、内存、卡顿三大分析,用户体验就用它?

友盟全域数据

App

runC爆严重安全漏洞,主机可被攻击!使用容器的快打补丁_安全_张婵_InfoQ精选文章