The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"В каталоге Python-пакетов PyPI выявлено 10 вредоносных библи..."
Отправлено opennews, 15-Сен-17 21:43 
Центр национальной компьютерной безопасности Словакии опубликовал (http://www.nbu.gov.sk/skcsirt-sa-20170909-pypi/) уведомление о выявлении 10 вредоносных пакетов в каталоге PyPI (https://pypi.python.org). Имена вредоносных пакетов выбраны похожими на популярные Python-библиотеки, но отличаются незаметными сразу деталями. Например, вредоносные пакеты urllib и urlib3 камуфлируют под известную библиотеку urllib3. Примечательно, что используемый при создании данных модулей метод тайпсквотинга (https://www.opennet.ru/opennews/art.shtml?num=44576) известен уже давно, в том числе в PyPI ранее уже размещался и удалялся вредоносный пакет с именем urllib, но какой-либо защиты от повторной регистрации предпринято не было.


Распространяющие вредоносные пакеты злоумышленники рассчитывают на невнимательность разработчиков, которые по недосмотру устанавливают фиктивные пакеты (например, более логичным выглядит поставить urllib и bzip вместо настоящих urllib3 и bzip2). Периодически после жалоб пользователем вредоносные пакеты вычищаются из PyPI, но затем добавляются вновь. Выявленная порция вредоносных пакетов была помещена в PyPI в июне и за несколько месяцев данные модули по ошибке были задействованы в различных новых приложениях.


Вредоносные пакеты включают в себя копию кода оригинальной библиотеки, но отличаются модифицированным установочным скриптом setup.py. В момент установки модуля активируется вредоносная вставка, которая отправляет сведения о подставном пакете, пользователе и хосте на внешний сервер. Например, при установке пакета urllib-1.21.1 пользователем root на хосте testmachine, будет отправлена строка
"Y:urllib-1.21.1 root testmachine", которая дополнительно маскируется при помощи операции XOR и кодирования методом base64.


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


Список подставных модулей:


-  acqusition (загружен 2017-06-03 01:58:01, подражает acquisition)
-  apidev-coop (загружен 2017-06-03 05:16:08, подражает apidev-coop_cms)
-  bzip (загружен 2017-06-04 07:08:05, подражает bz2file)
-  crypt (загружен 2017-06-03 08:03:14, подражает crypto)
-  django-server (загружен 2017-06-02 08:22:23, подражает django-server-guardian-api)
-  pwd (загружен 2017-06-02 13:12:33, подражает pwdhash)
-  setup-tools (загружен 2017-06-02 08:54:44, подражает setuptools)
-  telnet (загружен 2017-06-02 15:35:05, подражает telnetsrvlib)
-  urlib3 (загружен 2017-06-02 07:09:29, подражает urllib3)
-  urllib (загружен 2017-06-02 07:03:37, подражает urllib3)

Для проверки их наличия можно воспользоваться командой:

   pip list --format=legacy | egrep '^(acqusition|apidev-coop|bzip|crypt|django-server|pwd|setup-tools|telnet|urlib3|urllib)'

После отправки уведомления администраторам PyPI выявленные модули были немедленно удалены.  Уже установленные пользователями пакеты требуют ручного удаления. При этом должных мер по предотвращению появления подобных вредоносных моделей в PyPI не принято, так как энтузиасты легко смогли разместить (https://www.pytosquatting.org/) фиктивный модуль  urllib2 (https://pypi.python.org/pypi/urllib2/1505291288.714008), который находится в PyPI и  поныне. Кроме  urllib2 было размещено (https://www.pytosquatting.org/) ещё 20 пакетов с именами подобными random, codecs, smtplib и т.п. Только для одного urllib2 зафиксировано 1144 попыток установки за день. Всего 20 подставных модулей за несколько дней попытались установить 6861 раз. Подобная статистика в целом близка к результатам, полученным в результате прошлогоднего эксперимента (https://www.opennet.ru/opennews/art.shtml?num=44576) по тайпсквотингу в PyPI.


URL: https://news.ycombinator.com/item?id=15256121
Новость: http://www.opennet.ru/opennews/art.shtml?num=47211

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру