04.07.2022

GitHub раскрыл данные о взломе инфраструктуры NPM и выявлении открытых паролей в логах

Компания GitHub опубликовала результаты разбора атаки, в результате которой 12 апреля злоумышленники получили доступ к облачным окружениям в сервисе Amazon AWS, используемым в инфраструктуре проекта NPM. Анализ инцидента показал, что атакующие получили доступ к резервным копиям хоста skimdb.npmjs.com и в том числе к резервной копии БД с учётными данными примерно 100 тысяч пользователей NPM по состоянию на 2015 год, включающим хэши паролей, имена и email.

Хэши паролей были созданы с использованием алгортимов PBKDF2 или SHA1 с солью, которые в 2017 году были замены на более стойкий к подбору bcrypt. После выявления инцидента охваченные утечкой пароли были сброшены, а пользователям отправлено уведомление о необходимости установки нового пароля. Так как с 1 марта в NPM включена обязательная двухфакторная верификация с подтверждением по email опасность компрометации пользователей оценивается как незначительная.

Кроме того, в руки атакующих попали все манифест-файлы и метаданные приватных пакетов по состоянию на апрель 2021 года, CSV-файлы с актуальным списком всех имён и версий приватных пакетов, а также содержимое всех приватных пакетов двух клиентов GitHub (имена не раскрываются). Что касается самого репозитория, то анализ следов и верификация хэшей пакетов не выявил внесения атакующими изменений в NPM-пакеты и публикации фиктивных новых версий пакетов.

Атака была совершена 12 апреля с использованием украденных токенов OAuth, сгенерированных для двух сторонних GitHub-интеграторов — Heroku и Travis-CI. Воспользовавшись токенами атакующие смогли извлечь из приватных репозиториев GitHub ключ для доступа к API Amazon Web Services, используемый в инфраструктуре проекта NPM. Полученный ключ позволил получить доступ к данным, хранящимся в сервисе AWS S3.

Дополнительно раскрыты сведения о ранее выявленных серьёзных проблемах с конфиденциальностью при обработке данных пользователей на серверах NPM — во внутренних логах в открытом виде сохранялись пароли некоторых пользователей NPM, а также токены доступа к NPM. В ходе интеграции NPM с системой ведения логов GitHub разработчики не обеспечили вырезание конфиденциальной информации из помещаемых в лог запросов к сервисам NPM. Утверждается, что недоработка была устранена, а логи очищены ещё до атаки на NPM. Доступ к логам, включающим открытые пароли, имели лишь отдельные сотрудники GitHub.

Источник.