PyPI приостанавливает регистрацию на фоне всплеска загрузки вредоносных пакетов, нацеленных на разработчиков

Teacher

Professional
Messages
2,677
Reputation
9
Reaction score
604
Points
113
Разработчики репозитория Python Package Index (PyPI) ненадолго приостановили регистрацию новых пользователей после наплыва вредоносных проектов, загруженных в рамках кампании по опечатыванию.

PyPI сообщила, что "создание нового проекта и регистрация нового пользователя" были временно приостановлены, чтобы смягчить последствия того, что, по ее словам, было "кампанией по загрузке вредоносного ПО". Инцидент был устранен 10 часов спустя, 28 марта 2024 года, в 12:56 по Гринвичу.

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

"Это многоступенчатая атака, вредоносная полезная нагрузка направлена на кражу криптовалютных кошельков, конфиденциальных данных из браузеров (cookies, данные расширений и т.д.) И различных учетных данных", - сказали исследователи Иегуда Гелб, Йосеф Харуш Кадури и Цачи Цорнстайн. "Кроме того, вредоносная полезная нагрузка использовала механизм сохранения, чтобы не допустить перезагрузки".

Выводы также были подтверждены независимой компанией Mend.io, которая отметила, что обнаружила более 100 вредоносных пакетов, нацеленных на библиотеки машинного обучения (ML), такие как Pytorch, Matplotlib и Selenium.

Разработка происходит по мере того, как репозитории с открытым исходным кодом все чаще становятся вектором атаки для злоумышленников, проникающих в корпоративные среды.

Опечаткваттинг - это хорошо документированный метод атаки, при котором злоумышленники загружают пакеты с именами, очень похожими на их законные аналоги (например, Matplotlib против Matplotlig или tensorflow против tensourflow), чтобы обманом заставить ничего не подозревающих пользователей загрузить их.

Было обнаружено, что эти обманчивые варианты – в общей сложности более 500 пакетов на одну контрольную точку – загружались с уникальной учетной записи, начиная с 26 марта 2024 года, что позволяет предположить, что весь процесс был автоматизирован.

"Децентрализованный характер загрузок, когда каждый пакет приписывается другому пользователю, усложняет попытки перекрестной идентификации этих вредоносных записей", - заявила израильская компания по кибербезопасности.

Вредоносный пакет


Компания по кибербезопасности Phylum, которая также отслеживала ту же кампанию, сообщила, что злоумышленники опубликовали -
  • 67 вариантов требований
  • 38 вариантов Matplotlib
  • 36 вариантов запросов
  • 35 вариаций colorama
  • 29 вариаций tensorflow
  • 28 вариаций selenium
  • 26 вариаций BeautifulSoup
  • 26 вариаций PyTorch
  • 20 разновидностей pillow
  • 15 вариаций asyncio
Пакеты, со своей стороны, проверяют, была ли операционная система установщика Windows, и если да, продолжают загружать и выполнять запутанную полезную нагрузку, полученную из домена, контролируемого субъектом ("funcaptcha[.]ru").

Вредоносное ПО действует как похититель, перемещая файлы, токены Discord, а также данные из веб-браузеров и криптовалютных кошельков на один сервер. Далее он пытается загрузить скрипт Python ("hvnc.py") в папку автозагрузки Windows для сохранения.

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

Это не первый раз, когда PyPI прибегает к подобной мере. В мае 2023 года он временно отключил регистрацию пользователей, обнаружив, что "количество злоумышленников и вредоносных проектов, созданных в индексе на прошлой неделе, превысило нашу способность своевременно реагировать на это".

PyPI приостановила регистрацию новых пользователей во второй раз в прошлом году 27 декабря по аналогичным причинам. Впоследствии, 2 января 2024 года, она была отменена.
 
Top