公开仓库中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%)。

  图片来源 : https://www.federacy.com/docker_image_vulnerabilities

在较新的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(转载)

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/163739

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。