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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.