恶意软件就在Docker容器中?

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

研究人员们警告称,Docker容器很可能成为恶意软件感染的完美掩饰环境。

在本届于拉斯维加斯召开的2017美国黑帽大会上,Aqu Security公司研究人员Michael Cherny与Sagie Dulce指出,Docker API可被用于实现远程代码执行与安全机制回避等目的。

作为开发人员群体当中人气极高的代码测试方案,Docker能够建立起一套完整的IT堆栈(包含操作系统、固件以及应用程序),用以在容器这一封闭环境当中进行代码运行。尽管其结构本身非常适合实现代码测试,但容器技术亦可能被攻击者用于在企业环境内进行恶意软件感染。

研究人员们解释称,攻击者不仅能够在企业网络之内运行恶意软件代码,同时亦可在过程当中配合较高执行权限。

在攻击当中,恶意一方往往会诱导受害者打开受控网页,而后使用REST API调用执行Docker Build命令,借以建立起能够执行任意代码的容器环境。通过一种名为“主机重绑定”的技术,攻击者能够绕过同源政策保护机制并获得底层Moby Linux虚拟机当中的root访问能力。

如此一来,攻击者将能够窃取开发者登录凭证、在开发者设备上运行恶意软件或者将恶意软件注入至容器镜像之内,进而在该容器的每一次启动当中实现感染传播。

作者们解释称,“在攻击完成之后,攻击者将获取到受害者网络的完全访问能力,并在其中驻留持久代码。由于这部分代码运行在Moby Linux虚拟机当中,因此很难被检测发现。”

门扉大开

更令人忧心的是,容器与开发者帐户往往拥有高级系统访问权限。当在本地开发者的PC设备上运行Docker时,其极易受到跨站点伪造攻击等入侵手段的影响,意味着攻击者将能够利用TCP请求处理等安全缺陷实现恶意目的。

研究人员们指出,“事实上,每一位安装有Docker for Windows的开发者都会在基本地设备上直接运行Docker。这主要是因为,即使Docker守护程序与容器运行在虚拟机环境之下,Docker客户端仍然能够同主机守护程序进行通信。”

Aqua Security公司表示其已经将其中一种攻击向量——即存在安全缺陷的TCP组件——上报至Docker方面,对方则发布了更新对其进行修复。

然而,Cherny与Dulce表示Docker当中还存在着其它一些可资利用的漏洞,这不仅可被用于感染容器,同时亦会影响到系统上运行的其它虚拟机乃至主机设备。

“大家必须对镜像进行扫描以消除可被利用的恶意软件或者安全漏洞。另外,运行时保护机制能够帮助您的容器拥有与预期相符的运作效果,且不致执行任何恶意行为。”

本文转自d1net(转载)

目录
相关文章
|
20天前
|
Docker 容器
进入Docker容器中
进入Docker容器中
33 2
|
1月前
|
Java Go 开发者
Docker容器技术简介及其与Go语言的结合点
【2月更文挑战第23天】本文首先概述了Docker容器技术的核心概念和优势,接着探讨了Go语言与Docker容器技术的结合点。通过阐述Docker的轻量级、可移植性和版本控制等特性,以及Go语言在容器化应用中的优势,本文旨在说明两者结合能够实现更高效、灵活的应用开发和部署。
|
1月前
|
Oracle 关系型数据库 数据库
|
8天前
|
Linux Docker 容器
docker 容器常用命令
docker 容器常用命令
11 0
|
17天前
|
Kubernetes 网络协议 Docker
Docker 容器的DNS
Docker 容器的DNS
23 1
|
20天前
|
关系型数据库 MySQL Nacos
【深入浅出Nacos原理及调优】「实战开发专题」采用Docker容器进行部署和搭建Nacos服务以及“坑点”
【深入浅出Nacos原理及调优】「实战开发专题」采用Docker容器进行部署和搭建Nacos服务以及“坑点”
45 1
|
24天前
|
监控 数据可视化 虚拟化
Docker容器常用命令笔记分享
Docker容器常用命令笔记分享
50 2
|
1月前
|
消息中间件 Linux 开发工具
rabbitmq使用docker容器挂载宿主机配置文件时无法访问控制台
rabbitmq使用docker容器挂载宿主机配置文件时无法访问控制台
|
1月前
|
JavaScript Shell Docker
|
1月前
|
Kubernetes Go 开发者
Go语言与Docker容器结合的实践应用与案例分析
【2月更文挑战第23天】本文通过分析实际案例,探讨了Go语言与Docker容器技术结合的实践应用。通过详细阐述Go语言在容器化环境中的开发优势,以及Docker容器技术在Go应用部署中的重要作用,本文旨在为读者提供Go语言与Docker容器结合的具体实现方法和实际应用场景。