Репозиторият на Python пакети PyPI (Python Package Index) временно е забранил регистрацията на нови потребители и създаването на нови проекти поради непрекъснатата масова загрузка на зловредни пакети в хода на автоматизирана атака. Блокировката беше въведена след като на 26 и 27 март в репозитория бяха качени 566 пакета със зловреден код, стилизирани като 16 популярни Python библиотеки.
Имената на пакетите са формирани с помощта на type-squatting, т.е. назначаване на подобни имена, различаващи се с отделни символи, например, temsorflow вместо tensorflow, requyests вместо requests, asyincio вместо asyncio и т.н. При провеждане на такива атаки злоумышлениците разчитат на небрежни потребители, които са направили печатна грешка или не са забелязали различия в името при търсене или преминаване по линк от форуми и чатове, в които злонамерените лица оставят заблуждаващи инструкции.
Зловредните пакети са основани на кода на легитимни библиотеки, в който са вградени отделни промени, които инсталират зловреден софтуер, който търси и изпраща конфиденциални данни и файлове, съдържащи пароли, ключове за достъп, криптовалутни портфейли, токени и сесийни Cookie. Зловредният код е вграден във файла setup.py, който се изпълнява по време на инсталацията на пакета. По време на активацията вкараната промяна изтегля основните зловредни компоненти от външни източници. сървър.
През два дни злонамерените лица качиха 29 зловредни варианта на пакета tensorflow, 26 — BeautifulSoup, 26 — PyGame, 15 — SimpleJson, 38 — Matplotlib, 26 — PyTorch, 67 — CustomTKInter, 28 — selenium, 17 — playwright, 15 — asyncio и 67 — requirements. Допълнително бяха установени отделни случаи на фалшифициране на библиотеките requests, py-cord, colorama, capmonstercloudclient, pillow и bip-utils.
Отделно се отбелязва атаката срещу общността Top.gg, наброяваща 170 хиляди потребители. В хода на атаката злонамереното лице успяло да компрометира акаунта на GitHub на един от разработчиците на top.gg, чрез кражба на браузърни Cookie. Нападателят също добавил три пакета в репозитория PyPI и регистрирал домейни pypihosted.org и pythanhosted.org, на които е организирана огледална структура за разпространение на зловредна зависимост към пакетите.
Чрез хакнат акаунт в GitHub репозиторята на проекта top.gg, в който беше разположен Python обвивка над API Top.gg, беше направена промяна, добавяща файл requirements.txt. В файла беше поставен списък на зависимостите, където под прикритието на сваляне на зависимост от огледало имаше линк към зловреден клонинг на пакета „colorama“, разположен на фалшив домейн pypihosted.org, с надеждата, че разработчиците няма да забележат разликата с легитимния домейн pythonhosted.org, от който обикновено се свалят пакети от PyPI.
Източник: opennet.ru
