0day-атака через GCP Composer: что должны знать все разработчики

Специалисты из компании Tenable выявили серьёзную уязвимость в Google Cloud Platform (GCP) Composer, которая могла использоваться для удалённого выполнения кода в реальных атаках.

GCP Composer – это управляемый сервис для автоматизации и управления рабочими процессами в облаке, широко используемый для организации данных и запуска приложений в распределённых средах. Он даёт возможность пользователям создавать сложные сценарии обработки данных, обеспечивая интеграцию с другими сервисами Google Cloud.

Уязвимость получила кодовое имя CloudImposer и была связана с тактикой атак на цепочки поставок, известной как Dependency Confusion. Лив Матан, исследователь по безопасности из Tenable, поясняет, что злоумышленники могли перехватить внутренние зависимости, которые Google предустанавливает на всех экземплярах GCP Composer, что открывало возможность внедрения вредоносного кода в облачные рабочие процессы.

Dependency Confusion – это метод атаки, при котором менеджеры пакетов скачивают поддельный пакет с публичного репозитория вместо внутреннего, если у поддельного пакета версия выше. Эта уязвимость была впервые описана исследователем Алексом Бирсаном в 2021 году и уже успела вызвать серьёзные инциденты в цепочках поставок программного обеспечения.

По данным Tenable, проблема заключалась в том, что злоумышленники могли загружать поддельный пакет в публичный репозиторий Python Package Index (PyPI) под названием “google-cloud-datacatalog-lineage-producer-client”. Этот пакет мог автоматически устанавливаться на все экземпляры GCP Composer с повышенными правами доступа, что создавало широкие возможности для злоумышленников.

Несмотря на то, что GCP Composer использует фиксированные версии пакетов, исследователи обнаружили, что при использовании команды “pip install” с аргументом “–extra-index-url” система отдаёт приоритет публичным репозиториям, что позволяло злоумышленникам провести атаку подмены зависимостей. В результате они могли бы не только выполнить произвольный код, но и получить доступ к учётным данным и другим сервисам Google Cloud.

После ответственного раскрытия проблемы в январе 2024 года компания Google уже в мае выпустила исправление. Теперь пакеты загружаются исключительно из частных репозиториев, а для дополнительной защиты введена проверка контрольных сумм. Google также рекомендовала разработчикам использовать аргумент “–index-url” вместо “–extra-index-url”, чтобы минимизировать риск атак на цепочку поставок.

Public Release.