公开仓库中Docker镜像的漏洞分析结果发布-阿里云开发者社区

开发者社区> boxti> 正文

公开仓库中Docker镜像的漏洞分析结果发布

简介:
+关注继续查看

Federacy的一名研究人员发布了一项报告,该报告分析了公开仓库中Docker镜像的漏洞。24%的镜像发现了明显的漏洞,其中基于Ubuntu的镜像漏洞最多,而基于Debian的镜像漏洞最少。

这项研究扫描了133个公开Docker仓库中的91个,其中每个仓库都有一个添加‘latest’标记的镜像,底层的镜像是一个主Linux分发版本并且带有可运行的包管理器。这里,使用了一个修改过的vuls开源漏洞扫描器来扫描镜像。vuls是用Go语言编写的,支持Linux和FreeBSD。数据是通过Federacy内部构建的工具进行分析的。鉴于vuls还不支持Alpine和静态二进制文件,它们就从本次分析中排除了出去。计分是按照CVSS v2标准计算得出的。

在扫描到的所有镜像中,其中的24%存在较为明显的漏洞,在这些漏洞中,11%的风险等级为高,13%的风险为中等,剩余的被视为潜在漏洞。扫描的Linux分发版本包括Ubuntu、Debian和RHEL。基于Ubuntu的镜像在严重漏洞总数上的占比最高(27%),而Debian则是漏洞最少的分发版本(8%)。但是,基础的Ubuntu镜像并未包含任何已知的漏洞,这也就是说,所报告的这些漏洞是因为镜像创建者安装了其他的包和/或配置发生了变更引发的。另外,在官方仓库中,Debian是占据主导地位的基础分发镜像(79%),Ubuntu占据了16%,而RHEL与这两者相比,其样本要小得多(4%)。

20170411060359283.png

在较新的Debian和Ubuntu释放版本中,所发现的问题都更少一些。其中的一个原因可能是在较新的分发版本中,安装的包更少,因此所造成的攻击面(attack surface)就会更小。在此之前,有一份类似的报告指出了Docker Hub镜像上30%的高优先级漏洞。

整体而言,最常见的漏洞是SSL Death Alert,对于Ubuntu也是如此,这种漏洞可能会导致基于GnuTLS、OpenSSL和NSS编译的软件产生DoS攻击,这样的软件就包括nginx。而对于Debian,最常见的是一个很严重的漏洞,但是它不太可能影响到大多数人,因为它涉及到缓存计时攻击(timing attacks)和对系统的本地访问。

对于Docker镜像扫描来说,vuls并不是唯一可用的扫描器。vuls在运行时会查询包管理器,从而得到安装的包、版本和变更日志。然后,它会将变更日志CVE与国际漏洞数据库(National Vulnerability Database,NVD)进行比对。另外的一个扫描器是Clair,它被Quay.io镜像库和Kubernetes社区所采用,用于它们所维护的所有镜像的扫描。除此之外,还有商业供应商比如Twistlock,它与各种云平台实现了集成。

尽管这个报告讨论了镜像所存在的风险,但是并没有提及如何解决它们的细节。其中的一些建议就是在镜像的构建过程中安装包更新、在包运行的时候自动更新以及在镜像的构建过程中添加漏洞分析过程。还有一个建议就是使用Alpine Linux或类似的分发版本,或者是构建静态二进制的镜像。  


 


  

本文转自d1net(转载)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
微软下周2将发布13个补丁 修复26个安全漏洞
2月5日消息,微软在星期四发布的下周补丁星期二简要介绍中称,微软将修复26个安全漏洞,其中包括Windows中的一个严重的安全漏洞、一个影响32位版本内核的安全漏洞和Office软件中的一些安全漏洞。
679 0
Docker入门-搭建docker私有仓库
Docker Hub 目前Docker官方维护了一个公共仓库Docker Hub,其中已经包括了数量超过15000个镜像。大部分需求都可以通过在Docker Hub中直接下载镜像来使用。 注册登录 可以在https://hub.docker.com 免费注册一个Docker账号。
4283 0
MongDB查询性能分析——explain 结果详解
MongoDB 提供 db.collection.explain(), cursort.explain() 及 explain 命令获取查询计划及查询计划执行统计信息。 explain 结果将查询计划以阶段树的形式呈现。 每个阶段将其结果(文档或索引键)传递给父节点。 叶节点访问集合或索引。 中间节点操纵由子节点产生的文档或索引键。 根节点是MongoDB从中派生结果集的最后阶段。 阶段操作描述,例:
28 0
+关注
boxti
12535
10037
文章
1327
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载