东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

400 万 Docker 镜像中,51% 的镜像存在高危漏洞

  • 2021-01-14
  • 本文字数:2197 字

    阅读完需:约 7 分钟

400万Docker镜像中,51%的镜像存在高危漏洞

通过扫描 Docker Hub 中的 400 万个容器镜像,Prevasio 发现 ,其中有 51%的镜像存在高危漏洞,并且有 6432 个镜像包含病毒或恶意程序。

 

据悉,Prevasio 是一家聚焦容器安全的网络安全创业公司。数月前,这家公司宣布对托管在 Docker Hub 上的 400 万个容器镜像完成了扫描。



扫描结果 令人大吃一惊:

 

  • 在 400 万个容器镜像中,超过一半的容器镜像存在一个或多个高危漏洞。


  • 6432 个危险镜像占 Docker Hub 公开可利用镜像总数的 0.16%,它们累计被下载了超过 3 亿次;


  • 有些原始的镜像并非恶意的,但是在下载时,它们却被植入脚本来运行挖矿的源代码,在编译后执行。

最大的互联网公共应用仓库:Docker Hub


Prevasio 报告称,“自从容器技术在 20 年前被发明以来,世界在如何构建、部署和管理应用上见证了一个革命性的飞跃。”

 

今天,随着云原生时代的到来,容器技术越来越受欢迎。

 

目前,Docker Hub 上有超过 400 万个公开的 Docker 容器镜像。据悉,仅在 2020 年 1 月,Docker Hub 中的 Docker 镜像拉取次数(下载)就高达 80 亿,并且还在不断增加。2020 年全年,Docker 镜像的拉取次数(下载)将近 1000 亿次,远远超过了 Google Play 270 万 Android 应用一年 840 亿次的下载次数。

 

毫无疑问,Docker Hub 已经成为最大的互联网公共应用仓库。



有业内专家对 InfoQ 表示,“虽然镜像仓库的规模呈指数级增长,但是其安全形势却不容乐观。”

 

在 2019 年,开源安全公司 Snyk 发现,10 大最流行的 Docker 镜像中,每个镜像至少有 30 个安全漏洞。

 

科技媒体 ZDNet 此前发表了一篇名为《Docker malware is now common, so devs need to take Docker security seriously》的文章。文章开篇写道,“随着云原生技术的流行,网络犯罪团队开始瞄准 Docker 和 Kubernetes 系统。”


以恶意软件为例。过去几年,有些恶意软件会扫描用于 Docker 的服务器,比如 Doki、Ngrok、Kinsing(H2miner)、XORDDOS、AESDDOS、Team TNT、Xanthe 等。这些恶意软件专门搜寻将 Docker 管理 API 暴露在网上的服务器,利用它们部署恶意的 OS 镜像,从而植入后门或安装加密货币挖矿程序。

Docker Hub 中的安全风险


有专业人士指出,Docker Hub 中存在四类安全风险:

 

  • 泛滥的矿机程序;

 

  • 通过公开的制品库(像 npm 等)传播的恶意程序;

 

  • 开发者在镜像中大量使用 GoLang、PowerShell 这样的跨平台语言,也给攻击者提供了捷径。攻击者只需通过一种攻击方式和语言就可以在跨平台的主机上随意执行;

 

  • 一些镜像可能不直接包含恶意程序或漏洞,而是部署了给攻击者提供入侵工具的平台框架或是在运行时刻动态下载攻击脚本,从而避开常规的静态镜像安全扫描。

 

目前,Docker Hub 中最常见的一类安全风险是加密货币挖矿。比如,在 2018 年,安全厂商 Fortinet 与 Kromtech 发现 17 个受感染的 Docker 容器,它们以公开可下载镜像的形式存在,其中包含可用于挖掘加密货币的程序。后续调查发现,这些镜像的下载次数高达 500 万次,这意味着黑客能将命令注入这些不安全的容器中,从而将相关代码注入到其他合法的 Web 应用程序中。

 

2020 年 8 月,Palo Alto 安全团队发现有攻击者在 Docker 容器中注入木马,进行劫持挖矿,并使用 Docker Hub 分发恶意镜像。一个名为 azurenql 的 Docker Hub 账号从 2019 年 10 月开始一直处于活动状态,并托管了六个用于包含挖掘 Monero 的恶意木马。镜像中的挖矿木马通过使用 ProxyChains 和 Tor 的网络匿名化工具来逃避网络检测。账户上托管的镜像累计拉取次数超过 200 万,攻击者至少赚取了 36000 美元。

 

有些容器镜像看似安全,实则不然,它会在运行时下载恶意负载。

 

众所周知,每个 Docker 镜像包都有运行应用程序所需的依赖项。因此,应用程序可以在任何平台、操作系统和基础结构上以相同的方式运行,恶意应用程序也能以同样的方式部署。攻击者使用 Docker Hub/Quay 等公共容器注册中心来存储和传递恶意容器镜像。由于 Docker Hub 是大多数 Docker 主机的默认注册表,因此经常用于存储和传递恶意镜像。这些恶意镜像被作为容器直接安装并运行在受损主机上,它们通常只是窃取 CPU、内存或网络资源,而不会损害同一主机上的其他容器或进程。

 

对企业而言,镜像安全风险会直接影响其线上业务的安全稳定性,企业赖以生存的基础设施可能因为镜像构建流程中不经意的几行代码沦为矿机。

七大措施保障镜像安全

 

无论对开发团队,还是对企业来说,容器镜像的安全性至关重要。那么,可以采取哪些措施呢?有专业人士给出以下建议:

 

第一,权限隔离,实行细粒度的访问控制;

 

第二,使用镜像扫描工具,动态更新漏洞库,实时监控和发现镜像漏洞;

 

第三,建立完备的仓库操作审计;

 

第四,实行镜像签名;

 

第五,镜像最小化;

 

第六,使用可信的容器镜像,绝不从不可信的公开仓库中下载镜像;

 

第七,规范化镜像构建:不要泄露敏感信息(证书密钥、密码、认证 token 等),COPY 比 ADD 更安全,当 COPY 嵌套目录时注意其中的敏感信息,使用 linter 工具提高 dockerfile 质量。

 

企业需要规范业务开发流程,面向云原生零信任的网络环境,面向容器技术和 K8s 带来的敏捷、弹性和可扩展等特性,升级自己的安全防护技术,提升防护意识,保证软件供应链的安全性。

 

有专业人士对 InfoQ 记者说:“在云原生的大背景下,除了 Docker 镜像和其他云原生制品的供应链安全外,对于提供服务的云厂商和部署业务应用的企业,它们还需要关注底层基础设施的安全性和业务应用在运行时刻的安全。”

2021-01-14 12:003299
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 334.8 次阅读, 收获喜欢 1794 次。

关注

评论

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

waves插件更新,Waves V14系统及支持的主机一览

魔仙苹果mac堡

waves下载 waves14

Golang中如何使用Singleflight库进行并发请求合并

Jack

Redis桌面管理用什么工具好?

真大的脸盆

Mac Mac 软件 桌面管理工具

C++虚函数详解:多态性实现原理及其在面向对象编程中的应用

小万哥

c++ 程序员 面试 后端 开发

Focus Matrix for Mac(智能任务管理器)

Rose

mac软件下载 Focus Matrix 任务管理器

软件测试 | MTV开发模式

测吧(北京)科技有限公司

测试

玛雅Maya 2024 发布 maya2024破解

魔仙苹果mac堡

maya2024下载 maya2024新功能 maya2024安装教程

Mac 触控增强神器:BetterTouchTool如何使用?

Rose

苹果软件下载 BetterTouchTool破解 BetterTouchTool教程 Mac 触控增强神器

苹果Mac最佳卸载程序和清理助手:App Cleaner & Uninstaller

Rose

mac系统清理优化软件 苹果系统清理 App Cleaner

Macos媒体播放器 Movist Pro 针对 macOS 13 Ventura 进行了优化

Rose

Movist Pro 中文版 Movist Pro下载 Macos媒体播放器 视频播放器下载

Pratt Parsing - 自顶向下的算符优先级

乌龟哥哥

三周年连更

架构训练营模块一作业

Geek_3d7c4d

架构训练营

Office Mac升级提醒如何去掉?关闭Microsoft AutoUpdate弹框提示

Rose

许可证 Office 2019中文版 Office Mac office更新 office2021下载

Django笔记二十三之case、when操作条件表达式搜索、更新等操作

Hunter熊

Python MySQL django case when

什么是人工智能领域模型的 Presence Penalty 参数?

Jerry Wang

人工智能 机器学习 深度学习 强化学习 三周年连更

macbook触摸板怎么按右键

魔仙苹果mac堡

MacBook 触控板

SVN管理工具Cornerstone意外退出怎么办?

魔仙苹果mac堡

SVN管理工具 cornerstone 4破解 Cornerstone mac版 Cornerstone意外退出

深入理解 TypeScript 的 type 以及 type 与 interface 和 class 的区别

Lee Chen

typescript

【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的Redis延时队列的功能组件

洛神灬殇

redis 分布式 延时队列 redisson 三周年连更

Django笔记二十二之多数据库操作

Hunter熊

Python django database

一套前后台全部开源的H5商城送给大家

越长大越悲伤

开源 java‘

Smart Disk Image Utilities for Mac(智能磁盘镜像工具)

魔仙苹果mac堡

Smart Disk Mac磁盘管理

必知必会的JavaScript前端面试题篇(一),不看后悔!

控心つcrazy

Java IO流详解

timerring

Java

站点可靠性工程SRE最佳实践 -- 黄金监控信号

俞凡

SRE

面对“失业焦虑”我们可以做些什么?让 AI 帮助自己变得更强大! | 社区征文

Jerry Wang

人工智能 机器学习 程序员 ChatGPT 三周年征文

班迪录屏Bandicam 绿色版

源字节1号

开源 软件开发 小程序开发

开源相亲小程序

源字节1号

开源 软件开发 小程序开发

macOS硬盘如何格式转换?用Tuxera NTFS就够了!

Rose

ntfs FAT32

Java实现坦克大战2.0

timerring

Java

Go常用设计模式(下)

海风极客

三周年连更

400万Docker镜像中,51%的镜像存在高危漏洞_安全_万佳_InfoQ精选文章