Представители GitHub сообщают, что более детально изучили недавнюю атаку, в ходе которой неизвестные лица использовали ворованные токены OAuth (выпущенные Heroku и Travis-CI) для загрузки данных из чужих репозиториев. Выяснилось, что злоумышленники украли учетные данные примерно от 100 000 учетных записей npm.

Напомню, что об этой атаке стало известно еще в апреле текущего года, причем атаку заметили лишь тогда, когда хакеры уже похитили данные десятков организаций. Атаку выявили специалисты GitHub Security, обнаружив несанкционированный доступ к инфраструктуре GitHub npm, когда злоумышленники использовали скомпрометированный ключ API AWS. Этот ключ хакеры, вероятно, получили после изучения ряда частных репозиториев npm с использованием украденных токенов.

Тогда в компании заверили, что хакеры точно получили токены не путем компрометации GitHub или его систем, так как эти токены вообще не хранятся GitHub в пригодных для использования форматах.

После обнаружения инцидента GitHub, Travis CI и Heroku отозвали все токены OAuth, чтобы блокировать дальнейшие попытки атак.

Как теперь показало проведенное GitHub расследование, злоумышленники украли следующие данные из облачного хранилища npm:

  • около 100 000 имен пользователей, хэшей паролей и email-адресов из архива за 2015 год (резервная копия БД skimdb.npmjs.com,);
  • набор файлов CSV, в который вошли все манифесты и метаданные приватных пакетов по состоянию на 7 апреля 2021 года;
  • имена и semVer опубликованных версий всех приватных пакетов по состоянию на 10 апреля 2022 года;
  • приватные пакеты двух неназванных организаций.

Разработчики пишут, что хотя упомянутые парольные хэши были сгенерированы с использованием слабых алгоритмов (PBKDF2 или SHA1 с солью) и могли быть взломаны, попытки захвата учетных записей должны автоматически блокироваться email-верификацией, которая с 1 марта 2022 года активна для всех учетных записей, если те не используют 2ФА.

Также подчеркивается, что после анализа логов и проверки хэшей для всех версий пакетов npm GitHub эксперты пришли к выводу, что «злоумышленники не модифицировали какие-либо опубликованные пакеты и не публиковали новые версии существующих пакетов».

К настоящему моменту GitHub уже сбросил все пароли пострадавших пользователей npm, а также уведомляет о случившемся все организации и пользователей, чьи данные могли украсть злоумышленники.

Источник: xakep