A PyPI adattárban található Python csomagok 46%-a potenciálisan nem biztonságos kódot tartalmaz.

A kutatói csoport a Turkui Egyetemtől (Finnország) közzétette a PyPI adattárban található csomagok potenciálisan veszélyes konstrukciók használatának elemzésének eredményeit, amelyek sebezhetőségek megjelenéséhez vezethetnek. Az elemzés során 197 ezer csomagban 749 ezer potenciális biztonsági problémát azonosítottak. A csomagok 46%-ában legalább egy ilyen probléma található. A leggyakrabban előforduló problémák közé tartoznak a kivételek kezelésével és a kód beszúrására lehetőséget adó megoldásokkal kapcsolatos hiányosságok.

A felderített 749 ezer probléma közül 442 ezer (41%) jelentéktelen, 227 ezer (30%) mérsékelt veszélyességű, és 80 ezer (11%) veszélyes. Néhány csomag kiemelkedik a tömegből, és több ezer problémát tartalmaz: például a PyGGI csomagban 2589 problémát találtak, főként a 'try-except-pass' konstrukció alkalmazásával kapcsolatban, míg az appengine-sdk csomagban 2356 problémát azonosítottak. Nagy számú problémát találunk a genie.libs.ops, pbcore és genie.libs.parser csomagokban is.

Fontos megemlíteni, hogy az eredmények automatizált statikus elemzés alapján készültek, amely nem veszi figyelembe a különböző konstrukciók alkalmazásának kontextusát. A bandit nevű eszköz fejlesztője, amelyet a kód beolvasására használtak, véleményt nyilvánított, hogy a viszonylag magas hamis pozitív arány miatt az ellenőrzési eredményeket nem lehet közvetlenül sebezhetőségekként értelmezni anélkül, hogy minden probléma további manuális felülvizsgálaton ne menne keresztül.

Például az elemző biztonsági problémának tekinti a megbízhatatlan véletlenszám-generátorok és hash-algoritmusok, például az MD5 alkalmazását, miközben a kódban az ilyen algoritmusok biztonságot nem befolyásoló célokra is használhatók. Az elemző továbbá problémának tekinti a külső adatok biztonságtalan funkciókban, mint például a pickle, yaml.load, subprocess és eval történő kezelését, de ez a használat nem feltétlenül kapcsolódik sebezhetőséghez, és az adott funkciók alkalmazása valójában megvalósítható biztonsági fenyegetés nélkül.

A kutatásban használt ellenőrzések közé tartozik:

  • Potenciálisan nem biztonságos funkciók, mint az exec, mktemp, eval, mark_safe stb. használata.
  • Nem biztonságos fájlhozzáférési jogok beállítása.
  • Hálózati aljzat csatlakoztatása minden hálózati interfészhez.
  • A kódban keményen megadott jelszavak és kulcsok használata.
  • Előre meghatározott ideiglenes könyvtár használata.
  • A pass és continue használata az összes kivételt kezelő catch-all stílusú kezelőkben;
  • Webalkalmazások futtatása Flask webkeretrendszer alapján engedélyezett hibakeresési módban.
  • Biztonságtalan adatdeszerializáló módszerek használata.
  • MD2, MD4, MD5 és SHA1 hash-függvények használata.
  • A biztonságtalan DES titkosító algoritmusok és titkosítási módok használata.
  • Biztonságtalan HTTPSConnection megvalósítás bizonyos Python verziókban.
  • file:// séma megadása az urlopen-ban.
  • Pszeudo-véletlen szám generátorok használata a kriptográfiai feladatok végrehajtásakor.
  • Telnet protokoll használata.
  • Biztonságtalan XML elemzők használata.

Továbbá megjegyzetik, hogy 8 rosszindulatú csomagot fedeztek fel a PyPI könyvtárban. A problémás csomagok több mint 30 ezerszer letöltésre kerültek, mielőtt törölték volna őket. A rosszindulatú tevékenység elrejtésére és az egyszerű statikus elemzők figyelmeztetéseinek kijátszására Base64 kódolást alkalmaztak a kódrészletek blokkolására és a dekódolás utáni végrehajtásra eval hívás révén.

A noblesse, genesisbot, are, suffer, noblesse2 és noblessev2 csomagokban olyan kódot találtak, amely a Chrome és Edge böngészőkben tárolt hitelkártya számok és jelszavak elkobzására, valamint a Discord alkalmazásból származó account tokenek továbbítására, és rendszeradatok, például a képernyő tartalmának képernyőképeinek küldésére szolgál. A pytagora és pytagora2 csomagokban lehetőség volt külső végrehajtható kód letöltésére és végrehajtására is.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster