
Скрипты оболочки для обнаружения бэкдора CVE-2024-3094 в liblzma5 в подах Kubernetes и контейнерах Docker с генерацией SBOM через Trivy для сканирования уязвимостей цепочки поставок.
Вредоносный код был обнаружен в upstream-архивах xz, начиная с версии 5.6.0. Через серию сложных обфускаций процесс сборки liblzma извлекает предварительно собранный объектный файл из замаскированного тестового файла, присутствующего в исходном коде, который затем используется для модификации определённых функций в коде liblzma.
В результате получается модифицированная библиотека liblzma, которая может быть использована любым программным обеспечением, связанным с этой библиотекой, перехватывая и изменяя взаимодействие данных с этой библиотекой. Этот репозиторий содержит два быстрых скрипта для проверки ваших Pod'ов Kubernetes и 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
Создайте SBOM с помощью Trivy:
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 предлагают автоматизированную, непрерывную оценку безопасности и принудительное применение политик в вашем облачном стеке, обеспечивая более надёжное управление безопасностью с минимальным ручным вмешательством.