Каталог пакетов PyPI содержал 10 вредоносных библиотек
Новости Отредактировано
Центр национальной компьютерной безопасности Словакии сообщил об обнаружении 10 вредоносных пакетов, расположенных в официальном репозитории пакетов PyPI.
2К открытий2К показов
В опубликованном заявлении говорится, что имена вредоносных пакетов выбраны похожими на настоящие Python-библиотеки. Разница только в незаметных на первый взгляд деталях: библиотека urllib3
может быть спутана с вредоносной urlib3
.
Распространяя подобные пакеты, злоумышленники рассчитывают на невнимательность пользователей при их установке. К примеру, логично выглядит установка фиктивного пакета bzip
вместо настоящего bzip2
. Это уже не первая подобная находка, однако до сих пор никакой дополнительной проверки по цифровой подписи не существует, также как и не налажен процесс проверки новых модулей.
Опасность фиктивных модулей
Фиктивные пакеты включают в себя копию кода оригинальных версий, но отличаются скриптом 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
).
Для проверки существования подобных пакетов на локальной машине можно воспользоваться командой:
Если такие модули найдены, рекомендуется их ручное удаление с машин. После уведомления о существовании подобных пакетов в каталоге PyPI они были незамедлительно удалены, но никаких мер предотвращения подобных загрузок не было принято.
2К открытий2К показов