Каталог пакетов 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К показов



