2 针对容器软件供应链的攻击案例
从用户角度来看,容器镜像在获取途径上,我们将其分为“从公共仓库获取”以及“从私有仓库获取”两种,那么对于从公共仓库获取的镜像,最重要的两个脆弱性问题:一方面是镜像中软件的安全漏洞问题;另一方面是镜像内的挖矿程序、后门程序、病毒、木马等恶意程序。
2.1 镜像漏洞利用
镜像漏洞利用指的是镜像本身存在漏洞时,使用镜像创建并运行的容器也通常会存在 相同漏洞,攻击者利用镜像中存在的漏洞去攻击容器,往往具有事半功倍的效果。
例如,Alpine 是一个轻量化的 Linux 发行版,基于 musl libc 和 busybox 构建而成。由 于其体积较小,因此以 Alpine 为基础镜像构建软件是非常流行的。但 Alpine 镜像曾曝出一个漏洞:CVE-2019-5021。在 3.3 ~ 3.9 版本的 Alpine 镜像中,root 用户密码被设置为空,攻击者可能在攻入容器后借此提升到容器内部 root 权限。
官方对此的回应是,Alpine 镜像使用 busybox 作为核心工具链,通过 /etc/security
限制了可以登入 root 用户的 tty 设备。除非是用户主动安装 shadow 和 linux-pam 来代替默认工具链,否则这个漏洞并不好利用。
但是,安全防护注重全面性,具有明显的短板效应。假如用户真的出于某种需求替换了默认工具链呢?那么进入容器的攻击者借助此漏洞就能直接获得容器内部 root 权限了。
FORM alpine:3.5
RUN apk add --no-cache shadow
RUN adduser -S non_root
USER non_root
2.2 镜像投毒
镜像投毒是一个宽泛的话题。它指的是攻击者通过某些方式,如上传恶意镜像到公开 仓库、入侵系统后上传镜像到受害者本地仓库,以及修改镜像名称并假冒正常镜像等,欺骗、诱导受害者使用攻击者指定的恶意镜像创建并运行容器,从而实现入侵或利用受害者的主机进行恶意活动的行为。
根据目的不同,常见的镜像投毒有三种类型:投放恶意挖矿镜像、投放恶意后门镜像和投放恶意 exploit 镜像
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论