在 xz 的上游 tarball 中发现恶意代码,自 5.6.0 版本开始。通过一系列复杂的混淆手段,liblzma 构建过程从源代码中一个伪装的测试文件中提取出预构建的目标文件,并利用该文件修改 liblzma 代码中的特定函数。
这导致 liblzma 库被修改,任何与该库链接的软件均可利用此库,拦截并修改与该库的数据交互。本仓库提供两个快速脚本,用于检查您的 Kubernetes Pod 和 Docker 容器是否受到易受攻击的最新版本 liblzma5(5.6.0 或 5.6.1)的影响。
致谢:https://www.openwall.com/lists/oss-security/2024/03/29/4,我所使用的检测脚本基于此。
更多详情请查看:
https://nvd.nist.gov/vuln/detail/CVE-2024-3094
https://gist.github.com/thesamesam/223949d5a074ebc3dce9ee78baad9e27
https://www.theregister.com/2024/03/29/malicious_backdoor_xz/
https://sysdig.com/blog/cve-2024-3094-detecting-the-sshd-backdoor-in-xz-utils/
如果您需要实际的易受攻击容器进行测试:
https://hub.docker.com/layers/library/debian/experimental-20240311/images/sha256-81992d9d8eb99b5cde98ba557a38a171e047b222a767dc7ec0ffe0a194b1c469?context=explore
使用 Trivy 创建 SBOM:
trivy image --format cyclonedx --output result.json debian:experimental-20240311@sha256:16cc2b09c44d991d36f63153f13a7c98fb7da6bd2ba9d7cc0f48baacb7484970
检查 liblzma5:
cat result.json | grep liblzma5 "bom-ref": "pkg:deb/debian/[email protected]?arch=amd64&distro=debian-trixie%2Fsid", "name": "liblzma5", "purl": "pkg:deb/debian/[email protected]?arch=amd64&distro=debian-trixie%2Fsid", "value": "[email protected]" "pkg:deb/debian/[email protected]?arch=amd64&distro=debian-trixie%2Fsid", "pkg:deb/debian/[email protected]?arch=amd64&distro=debian-trixie%2Fsid", "ref": "pkg:deb/debian/[email protected]?arch=amd64&distro=debian-trixie%2Fsid", "pkg:deb/debian/[email protected]?arch=amd64&distro=debian-trixie%2Fsid", sha256:16cc2b09c44d991d36f63153f13a7c98fb7da6bd2ba9d7cc0f48baacb7484970
使用手动脚本检查容器中的漏洞虽然具有信息性,但并非最佳方案,且缺乏全面的云原生应用保护平台(CNAPP)如 Falco 所具备的可扩展性、彻底性和实时监控能力。
CNAPP 提供自动化的持续安全评估和策略执行,覆盖您的云原生技术栈,确保更强大的安全态势管理,同时最大程度减少人工干预。