Docker 容器镜像安全扫描器中的漏洞

发表 测试工具的结果,用于识别未修补的漏洞并识别隔离的 Docker 容器映像中的安全问题。 审计显示,六分之四的已知 Docker 镜像扫描器包含严重漏洞,这些漏洞使得可以直接攻击扫描器本身并在系统上实现其代码的执行,在某些情况下(例如,使用 Snyk 时)具有 root 权限。

要进行攻击,攻击者只需启动对其 Dockerfile 或 manifest.json(其中包括专门设计的元数据)的检查,或者将 Podfile 和 gradlew 文件放入映像中。 利用原型 设法准备 对于系统
白源, 斯尼克,
и
锚点。 该包装显示出最佳的安全性 清除,最初是出于安全考虑而编写的。 包裹中也没有发现任何问题。 特里维。 因此,得出的结论是,Docker 容器扫描程序应在隔离环境中运行或仅用于检查其自身的映像,并且在将此类工具连接到自动化持续集成系统时应谨慎行事。

在 FOSSA、Snyk 和 WhiteSource 中,该漏洞与调用外部包管理器以确定依赖性相关,并允许您通过在文件中指定 touch 和系统命令来组织代码的执行 毕业典礼 и 播客文件.

Snyk 和 WhiteSource 还拥有 成立 弱点, связанные 通过在解析 Dockerfile 时启动系统命令的组织(例如,在 Snyk 中,通过 Dockefile,可以替换扫描器调用的 /bin/ls 实用程序,在 WhiteSurce 中,可以通过参数替换代码形式“echo ';touch /tmp/hacked_whitesource_pip;=1.0 '”)。

锚定漏洞 被称为 使用实用程序 斯科佩奥 用于处理 docker 镜像。 操作归结为将诸如 '"os": "$(touch hacked_anchore)"' 之类的参数添加到manifest.json 文件中,这些参数在调用 skopeo 时被替换而没有正确的转义(仅删除了“;&<>”字符,但构造“$( )”)。

同一作者对使用 Docker 容器安全扫描器识别未修补漏洞的有效性以及误报水平进行了研究(部分1, 部分2, 部分3)。 下面是测试 73 个包含已知漏洞的镜像的结果,并评估了确定镜像中典型应用程序(nginx、tomcat、haproxy、gunicorn、redis、ruby、node)是否存在的有效性。

Docker 容器镜像安全扫描器中的漏洞

Docker 容器镜像安全扫描器中的漏洞

来源: opennet.ru

添加评论