Експерти з кібербезпеки компанії JFrog виявили нову загрозу для розробників Python, яку назвали Revival Hijack. Ця атака використовує вразливість у системі управління пакетами PyPI, дозволяючи зловмисникам реєструвати нові проекти з іменами раніше видалених пакетів для здійснення атак на ланцюжки поставок.
Масштаб загрози Revival Hijack
За оцінками дослідників, ця методика потенційно могла бути використана для захоплення близько 22 000 пакетів PyPI. Це, в свою чергу, могло призвести до сотень тисяч завантажень шкідливого коду користувачами, які довіряли відомим іменам пакетів.
Причини вразливості
Вразливість виникає через те, що імена видалених з PyPI пакетів стають доступними для повторної реєстрації. При видаленні проекту розробники отримують лише попередження про можливі наслідки, але не існує механізму, який би запобігав повторному використанню імен популярних пакетів.
Приклад атаки Revival Hijack
Дослідники JFrog навели конкретний приклад такої атаки. Пакет pingdomv3 був видалений з PyPI 30 березня 2024 року. Того ж дня зловмисники перехопили ім’я пакета і опублікували оновлення, яке містило обфускований Python-троян, націлений на CI/CD-середовище Jenkins.
Заходи протидії від JFrog
Щоб знизити ризики від Revival Hijack, фахівці JFrog вжили превентивних заходів. Вони створили нові Python-проекти під обліковим записом security_holding, “зайнявши” імена найбільш популярних видалених пакетів. Версії цих пакетів були встановлені на 0.0.0.1, щоб запобігти автоматичним оновленням у користувачів.
Результати заходів
Через три місяці після впровадження цих заходів JFrog виявили, що їхні “захоплені” пакети були завантажені майже 200 000 разів. Це сталося через автоматичні скрипти та помилки користувачів, що демонструє масштаб потенційної загрози.
Рекомендації щодо захисту
Для захисту від атак типу Revival Hijack експерти рекомендують користувачам та організаціям вжити наступних заходів:
- Застосовувати “пінінг” пакетів, фіксуючи певні перевірені версії
- Перевіряти цілісність пакетів перед встановленням
- Проводити аудит вмісту пакетів
- Відстежувати зміну власників пакетів
- Звертати увагу на нетипову активність оновлень
Загроза Revival Hijack підкреслює важливість пильності та дотримання принципів безпеки при роботі з відкритими репозиторіями програмного забезпечення. Розробникам та адміністраторам систем слід регулярно оновлювати свої знання про нові види кіберзагроз та впроваджувати багаторівневий підхід до захисту своїх проектів та інфраструктури.