公共容器镜像,指可以从Docker Hub、quay.io 等公共容器镜像仓库获取的镜像,包括攻击者在内的任何人都可以创建公共镜像仓库,并上传恶意镜像,因此公共镜像存在很高的风险系数。
《Sysdig 2022 Cloud‐Native Security and Usage Report》报告显示,目前全球高达61%的镜像来自于公共镜像仓库,相比上一年上涨15%。
公共镜像
不得不关注的供应链安全风险
- 历史公共镜像存在安全问题的比例更高
公共镜像提供者不一定会及时修复存在的安全问题,尤其是一部分版本较老的历史镜像,因为各种各样的业务需求导致不得不保留其发布时的状态,因此历史镜像存在高危漏洞的可能性更高,使用时要慎重。
据阿里云云安全中心对近一年新增的130万+公共镜像追踪分析发现,新增镜像存在漏洞的比例约为5.6%;而据Prevasio公司2020年发布的报告显示,Docker Hub 400万镜像中51%存在漏洞,如此高比例与400万镜像中大部分为历史镜像有绝对关系。
- 公共镜像的提供者不一定可信
存在被植入后门木马、挖矿程序等各种风险。即使是软件官方提供的镜像,也存在构建过程中被攻击注入后门的可能性。
据阿里云云安全中心跟踪发现,近一年新增的130万+公共镜像中,恶意镜像约8000+,恶意镜像拉取总量超千万次。
- 公共镜像可能存在密钥密码等敏感信息泄露问题
这类信息虽然不会对使用者造成直接影响,但是可能会被用于攻击镜像提供者所在的平台,一旦平台被攻破,也有可能在软件构建处植入后门从而影响下游。
近年来,阿里云云安全中心持续对全球公共镜像仓库镜像进行分析,截止目前已经积累了数百万的公共镜像,并实时跟踪最新公共镜像。
为共同营造良好的网络空间环境,阿里云云安全中心将容器镜像检测能力免费开放,让更多的企业和个人开发者在遇到容器安全事件时能第一时间排查问题,快速应急!
三大检测引擎+数万漏洞库加持
确保检测结果可信
恶意公共镜像查询平台背后对接云查杀、WebShell、恶意脚本等三大检测引擎与超4万漏洞库,具备极高的检出率和的极低的误报水平。其中恶意文件检出率高达99.96%,支持百类以上敏感文件检测,有效识别密钥凭证等多种敏感信息;支持对Bash、Python、Perl、PowerShell、Bat、Vbs、Java等脚本语言检测。
检测结果全面,助于安全事件快速应急
通过该查询平台可以对公共镜像进行软件成分分析,获得该镜像存在的漏洞信息、恶意文件,是否符合合规基线等,便于发生安全事件时快速确定风险点位。
联动云沙箱,恶意进程行为动态分析
镜像扫描包含恶意文件的检测结果,对于恶意可执行文件,可直接点击哈希链接查看该文件在云沙箱的分析结果,阿里云云沙箱基于高性能的环境仿真和全面的动态行为分析,帮助用户看清恶意程序的进程、网络、文件、系统调用等多种行为,为事前预防、事中阻断、事后回溯提供有效信息。
多场景使用
满足企业和个人不同需求
场景1 公共镜像安全检测
无论企业还是个人开发者,在使用公共镜像前,可在该平台查询镜像,获取该镜像是否存在漏洞、风险配置、恶意文件等信息,以保证后续基于镜像构建的容器环境安全。
场景2 恶意镜像快速定位
当容器业务环境中突然出现未知公共镜像启动时,通过在镜像情报平台查询镜像信息,快速了解该镜像是否恶意,便于及时做出处置决策。
典型应用案例
攻击者如何利用公共仓库作恶
据阿里云云安全中心观察,攻击者会利用公共镜像仓库伪装成kubernetes网络组件或系统镜像执行挖矿程序。
近期两个比较典型的案例:
• 11月2日某攻击者在dockerhub创建了镜像仓alpineyyf/alpinc和alpineyyf/aplinc,并上传恶意镜像,阿里云镜像信息查询平台当天识别并追踪了该恶意镜像。
• 11月3日攻击者上传恶意镜像至第三个镜像仓alpineyyf/apline,当天17点云安全中心检测到云上某用户的自建kubernetes集群被攻击者利用启动了该恶意镜像。攻击者将pod命名为kube-flannels-,试图伪装成kubernetes网络组件flannel。阿里云通过云安全中心第一时间向用户发送了告警通知。
• 11月4日攻击者上传了挖矿镜像alpineyyf/aplinr:latest
• 11月9日攻击者上传了恶意镜像alpineyyf/aplins:latest,该镜像下载量已达到50K+以上。阿里云镜像信息查询平台对该恶意镜像成功捕获。
11到12月,另一攻击者在Docker Hub注册多个账户并上传带挖矿程序的恶意镜像,在命名上伪装成常见系统和软件名称,如下
阿里云镜像信息查询平台对上述恶意镜像成功捕获。