• XSS.stack #1 – первый литературный журнал от юзеров форума

Уязвимости в сканерах безопасности образов Docker-контейнеров

INC.

REVERSE SIDE OF THE MEDAL
Эксперт
Регистрация
02.02.2008
Сообщения
3 950
Реакции
1 872
Опубликованы результаты тестирования инструментов для определения неисправленных уязвимостей и выявления проблем с безопасностью в образах изолированных контейнеров Docker. Проверка показала, что в 4 из 6 известных сканеров образов Docker присутствовали критические уязвимости, позволяющие атаковать непосредственно сам сканер и добиться выполнения своего кода в системе, в отдельных случаях (например, при использовании Snyk) с правами root.

Для атаки злоумышленнику достаточно инициировать проверку своего Dockerfile или manifest.json, включающего специально оформленные метаданные, или разместить внутри образа файлы Podfile и gradlew. Прототипы эксплоитов удалось подготовить для систем WhiteSource, Snyk, Fossa и Anchore. Наилучшую безопасность показал пакет Clair, изначально написанный с оглядкой на обеспечение безопасности. Проблем также не выявлено в пакете Trivy. В итоге сделан вывод, что сканеры Docker-контейнеров следует запускать в изолированных окружения или использовать только для проверки собственных образов, а также проявлять осторожность при подключении подобных инструментов к автоматизированным системам непрерывной интеграции.

В FOSSA, Snyk и WhiteSource уязвимость была связана с вызовом внешнего пакетного менеджера для определения зависимостей и позволяла организовать выполнение своего кода через указание команд touch и system в файлах gradlew и Podfile.

В Snyk и WhiteSource дополнительно были найдены уязвимости, связанные с организацией запуска системных команд при разборе Dockerfile (например, в Snyk через Dockefile можно было заменить утилиту /bin/ls, вызываемую сканером, а в WhiteSurce можно было подставить код через аргументы в форме "echo ';touch /tmp/hacked_whitesource_pip;=1.0'").

В Anchore уязвимость была вызвана использованием утилиты skopeo для работы с docker-образами. Эксплуатация сводилась к добавлению в файл manifest.json параметров вида '"os": "$(touch hacked_anchore)"', которые подставляются при вызове skopeo без должного экранирования (вырезались только символы ";&<>", но допускалась конструкция "$()").


• Source: https://medium.com/@matuzg/testing-docker-cve-scanners-part-2-5-exploiting-cve-scanners-b37766f73005

• Exploit: https://github.com/gmatuz/cve-scanner-exploiting-pocs

Тем же автором проведено исследование эффективности выявления неисправленных уязвимостей сканерами безопасности docker-контейнеров и уровень ложных срабатываний. Ниже показаны результаты тестирования 73 образов, содержащих известные уязвимости, а также дана оценка эффективности определения наличия типовых приложений в образах (nginx, tomcat, haproxy, gunicorn, redis, ruby, node).

часть 1: https://medium.com/@matuzg/testing-...what-they-mean-for-your-security-77fc4eb1b2cf

часть 2: https://medium.com/@matuzg/testing-...-2-how-good-is-package-detection-f68d7230b830

часть 3: https://medium.com/@matuzg/testing-...t-3-test-it-yourself-conclusions-6de868124d3d

55e2a0f283b3.png


0023e54ead19.png
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх