Контакты
Подписка
МЕНЮ
Контакты
Подписка

Эксперт представил метод атаки, эксплуатирующий файл setup.py в модулях Python для запуска вредоносонго кода при установке пакета

Эксперт представил метод атаки, эксплуатирующий файл setup.py в модулях Python для запуска вредоносонго кода при установке пакета

Эксперт представил метод атаки, эксплуатирующий файл setup.py в модулях Python для запуска вредоносонго кода при установке пакета


05.09.2018



Язык программирования Python позволяет инсталляцию пакетов, которые затем могут быть включены в состав приложения для расширения его возможностей. При запуске программы исполняется и код в пакетах, однако этот код также может выполняться в процессе установки самого пакета. Как продемонстрировал исследователь под псевдонимом mschwager, данная особенность может быть использована для запуска вредоносного кода.

 Специалист разработал метод атаки, эксплуатирующий файл setup.py в модулях Python для запуска кода при установке пакета. Используя данный метод, атакующий может разместить в пакете вредоносный код, исполняемый с привилегиями суперпользователя, хотя не всем пактам необходим столь высокий уровень разрешений. В подтверждение теории mschwager разработал PoC-код, который опубликовал на GitHub.

 Обычно модули Python устанавливаются с помощью менеджера пакетов pip, запускающего конфигурационный файл setup.py. Как правило, данному файлу уделяется мало внимания, поскольку он нужен только для добавления модуля. В связи с этим пользователи менее склонны анализировать конфигурационный файл, что предоставляет злоумышленнику легкую возможность инфицировать устройства без модификации модуля, пояснил в интервью ресурсу BleepingComputer аналитик Malwarebytes, известный в Сети как Tigzy.

 Более того, код в пакетах Python может никогда не выполниться, если приложению не нужен данный функционал. Однако внедрение вредоносного кода в setup.py позволит злоумышленнику незаметно установить вредоносное ПО, невзирая, используется Python-пакет или нет.

 Случаи внедрения вредоносных библиотек Python в каталоги нередки. К примеру, осенью минувшего года в хранилище пакетов PyPI были выявлены десять вредоносных библиотек. Для их загрузки злоумышленики применили метод, известный как тайпсквоттинг, то есть использовали имена, схожие с названиями легитимных пакетов, но с "опечаткой", например, "urlib" вместо "urllib".

 Pip — система управления пакетами, которая используется для установки и управления программными пакетами, написанными на Python.

Securitylab