NPM продолжает иметь проблемы с безопасностью, и теперь одна из них затронула систему обновлений.

Несколько дней тому назад GitHub выявил два инцидента в инфраструктуре репозитория пакетов NPM, из них подробно говорится, что 2 ноября сторонние исследователи безопасности в рамках программы Bug Bounty обнаружили уязвимость в репозитории NPM. что позволяет публиковать новую версию любого пакета, даже если он не авторизован для выполнения таких обновлений.

Уязвимость возникла из-за неправильной проверки авторизации в коде микросервисов. тот обрабатывает запросы к NPM. Служба авторизации выполнила проверку разрешений для пакетов на основе данных, переданных в запросе, но другая служба, которая загружала обновление в репозиторий, решила опубликовать пакет на основе содержимого метаданных в загруженном пакете.

Таким образом, злоумышленник может запросить публикацию обновления для своего пакета, к которому у него есть доступ, но указать в самом пакете информацию о другом пакете, который в конечном итоге будет обновлен.

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

Существует две основные категории событий публикации вредоносных программ, которые происходят в экосистеме npm: вредоносные программы, которые публикуются из-за взлома учетной записи, и вредоносные программы, которые злоумышленники публикуют через свои собственные учетные записи. Несмотря на то, что получение высокоэффективных учетных записей является относительно редким явлением, по сравнению с прямыми вредоносными программами, размещенными злоумышленниками с использованием их собственных учетных записей, получение учетных записей может иметь далеко идущие последствия при нацеливании на популярных сопровождающих пакетов. Несмотря на то, что наше время обнаружения и реагирования на приобретение популярных пакетов в недавних инцидентах составляло всего 10 минут, мы продолжаем развивать наши возможности обнаружения вредоносных программ и стратегии уведомления в сторону более проактивной модели реагирования.

Проблема она была исправлена ​​через 6 часов после сообщения об уязвимости, но уязвимость присутствовала в NPM дольше чем покрывают журналы телеметрии. GitHub заявляет, что не было никаких следов атак с использованием этой уязвимости. с сентября 2020, но нет гарантии, что проблема не использовалась ранее.

Второй инцидент произошел 26 октября. В ходе технической работы с базой данных сервиса replicant.npmjs.com, Выявлено, что в базе данных есть конфиденциальные данные, доступные для внешней консультации, раскрывая информацию об именах внутренних пакетов, которые были упомянуты в журнале изменений.

Информация об этих именах может использоваться для проведения атак зависимостей на внутренние проекты (В феврале такая атака позволила запустить код на серверах PayPal, Microsoft, Apple, Netflix, Uber и 30 других компаний.)

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

Напомним, согласно исследованию, проведенному в 2020 году, только 9.27% менеджеров пакетов используют двухфакторную аутентификацию для защиты доступа, а в 13.37% случаев при регистрации новых учетных записей разработчики пытались повторно использовать скомпрометированные пароли, которые фигурируют в известных паролях. .

Во время проверки надежности используемых паролей доступ к 12% учетных записей в NPM (13% пакетов) был вызван использованием предсказуемых и тривиальных паролей, таких как «123456». Среди проблем были 4 учетных записи пользователей 20 самых популярных пакетов, 13 учетных записей, пакеты которых загружались более 50 миллионов раз в месяц, 40 - более 10 миллионов загрузок в месяц и 282 учетных записи более 1 миллиона загрузок в месяц. Учитывая загрузку модулей в цепочке зависимостей, компрометация ненадежных учетных записей может затронуть до 52% всех модулей в NPM в целом.

Наконец, если вам интересно узнать об этом больше вы можете проверить детали По следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.