Revival Hijack – PyPI ellátási lánc támadás
Egy új, a Python Package Index (PyPI) nyilvántartást célzó ellátási lánc támadási technikát használnak ki kiberszereplők, hogy megpróbáljanak beszivárogni szervezetekbe. A kampány a Revival Hijack kódnevet kapta a szoftverellátási lánc biztonságával foglalkozó JFrog cégtől, amely szerint a támadási módszerrel 22 000 meglévő PyPI csomagot lehet eltéríteni, és „több százezer” rosszindulatú csomagletöltést eredményezhet. Ezek a csomagok több mint 100 000 letöltéssel rendelkeznek, vagy több mint hat hónapja aktívak. „Ez a támadási technika a PyPI szoftvercsomagok eltérítését foglalja magában azáltal, hogy manipulálják az újraregisztrálás lehetőségét, miután az eredeti tulajdonos eltávolította őket a PyPI indexéből” – írják a JFrog biztonsági kutatói, Andrey Polkovnychenko és Brian Moussalli.
A támadás lényege, hogy a PyPI adattárában közzétett Python-csomagok eltávolításra kerülhetnek, így a törölt projektek nevei bármely más felhasználó számára elérhetővé válnak. A JFrog által megosztott statisztikák szerint havonta átlagosan 309 csomagot távolítanak el. Ez számos okból történhet: A karbantartás hiánya (azaz abandonware), a csomag újrakiadása más néven, vagy ugyanazon funkciók bevezetése a hivatalos könyvtárakba vagy a beépített API-kba. Ez egy jövedelmező támadási felületet is jelent, amely hatékonyabb, mint a typosquatting, és amelyet egy támadó a saját fiókjait használva kihasználhat arra, hogy ugyanazon a néven és magasabb verziószámmal rosszindulatú csomagokat tegyen közzé, hogy megfertőzze a fejlesztői környezeteket.
Az „egykor biztonságos” csomag frissítését a legújabb verzióra sok felhasználó biztonságos műveletnek tekinti. Bár a PyPI rendelkezik a szerző megszemélyesítése és a gépelési kísérletek elleni intézkedésekkel, a JFrog elemzése szerint a „pip list –outdated” parancs futtatása a hamisított csomagot az eredeti csomag új verziójaként listázza, ahol az előbbi egy teljesen más szerzőtől származó másik csomagnak felel meg. Még aggasztóbb, hogy a „pip install -upgrade” parancs futtatása a valódi csomagot a hamis csomaggal helyettesíti anélkül, hogy akár csak egy figyelmeztetés is érkezne, hogy a csomag szerzője megváltozott, ami potenciálisan hatalmas szoftverellátási lánc kockázatnak teszi ki a gyanútlan fejlesztőket.