PyPI biltegiak segurtasunik gabeko kodea du

Turkuko Unibertsitateko ikertzaileak (Finlandia) ezagutarazi duela gutxi analisi baten emaitzak biltegiko paketeekin egin zuten egilea: PyPI ahultasunak sor ditzakeen eraikuntza arriskutsuak erabil ditzaten. Hori aztertzerakoan 197.000 pakete inguru egin ziren eta 749.000 segurtasun arazo posible identifikatu ziren.

Beste modu batera esanda, paketeen% 46k gutxienez arazo horietako bat du, eta arazo ohikoenen artean salbuespenak maneiatzearekin eta kodea ordezkatzeko gaitasunen erabilerarekin lotutakoak daude.

Identifikatutako 749 mila arazoetatik 442 mila (% 41) adingabe gisa markatu ziren, 227 mila (% 30) neurrizko arriskutsuak eta 80 mila (% 11) arriskutsuak.

Multzoa Python Package Index-en (PyPI) gordetako pakete guztien argazki batean oinarrituta dago ...

Arazo moten inguruan, hala nola salbuespenen tratamendua eta kode injekzio desberdinak izan dira arazo ohikoenak. Zentzu horretan, hariak modulua nabarmentzen da. Paketeen tamaina txikietan orokorrean hausnartuz, softwarearen tamainako metrikek ez dute analisiaren bidez agerian dauden arazo kopurua ondo aurreikusten. 

Pakete batzuk ohiz kanpokoak dira eta milaka arazo dituzte: Adibidez, 2589 arazo aurkitu dira PyGGI paketean, batez ere "try-except-pass" eraikuntzaren erabilerarekin lotuta, eta 2356 arazo aurkitu dira appengine-sdk paketean. Genie.libs.ops, pbcore eta genie.libs.parser paketeetan ere arazo asko daude.

Kontuan izan behar da emaitzak analisi estatiko automatizatuan oinarrituta lortu direla, eta horrek ez dituela kontuan hartzen zenbait egituren aplikazioaren testuingurua.

Kodea eskaneatzeko erabili zen Bandit garatzaileak iradoki zuen positibo faltsuen kopuru handia dela eta, leskaneatzearen emaitzak ezin dira ahultasun gisa hartu zuzenean arazo bakoitzaren eskuzko berrikuspen osagarririk egin gabe.

Adibidez, analizatzaileak fidagarriak ez diren ausazko zenbaki sorgailuen eta MD5 bezalako hash algoritmoen erabilera segurtasun kezkatzat jotzen du, kodean algoritmo horiek segurtasunari eragiten ez dioten helburuetarako erabil daitezke.

Analizatzaileak kanpoko datuen tratamendua dela ere uste du pickle, yaml.load, subprocess eta eval bezalako funtzio ez-seguruetan arazoa da, baina erabilera hori ez dago nahitaez ahultasun batekin lotuta eta, egia esan, funtzio horien erabilera segurtasun mehatxurik gabe inplementatutako arazoa izan daiteke.

Azterketan erabilitako kontrolen artean:

  • Seguru egon daitezkeen funtzioak exec, mktemp, eval, mark_safe, etab.
  • Fitxategiak atzitzeko eskubideen konfigurazio segurua.
  • Konektatu sareko entxufea sareko interfaze guztietara.
  • Pasahitzak eta gako enkriptatuak erabiltzea.
  • Aurretik definitutako aldi baterako direktorioa erabiliz.
  • Pass erabiliz eta jarraitu catch-all-style salbuespen kudeatzaileetan.
  • Abiarazi web aplikazioak Flask web esparruan oinarrituta arazketa modua gaituta.
  • Datuak deserializatzeko metodo ez seguruak erabiltzea.
  • MD2, MD4, MD5 eta SHA1 hash funtzioak erabiliz.
  • DES zifratu ez seguruen eta enkriptatze moduen erabilera.
  • Python bertsio batzuetan HTTPSConnection ez-segurua ezartzea.
  • Fitxategia zehazten: // schema in urlopen.
  • Erabili sasi-ausazko zenbaki sortzaileak zeregin kriptografikoak egitean.
  • Telnet protokoloa erabiliz.
  • Seguru ez dauden XML analizatzaileak erabiliz.

Gainera, PyPI direktorioko 8 pakete maltzurren detekzioa aipatzen da. Arazo paketeak 30 aldiz baino gehiago deskargatu ziren kendu aurretik. Aktibitate maltzurra ezkutatzeko eta paketeetan analizatzaile estatiko sinpleen abisuak ekiditeko, base kodearen kodeketa blokea erabili dugu Base64 formatua erabiliz eta ebaluazioa ebaluatu ondoren ebaluatu dugu deituz.

Noblesse, genesisbot, aurkitutako kodea pakete hauek dira, suff, noblesse2 eta noblessev2, Chrome eta Edge arakatzaileetan gordetako kreditu txartelen zenbakiak eta pasahitzak atzemateko, baita Discord aplikaziotik kontuko tokens transferitzeko eta sistematik datuak bidaltzeko, pantaila-argazkiak barne pantailaren edukia. … Pytagora eta pytagora2 paketeek hirugarrenen kode exekutagarria deskargatu eta exekutatzeko gaitasuna zuten.

Bukatzeko horri buruz gehiago jakiteko interesa baduzu, xehetasunak kontsultatu ditzakezu Hurrengo estekan.


Artikuluaren edukia gure printzipioekin bat dator etika editoriala. Akats baten berri emateko egin klik hemen.

Idatzi lehenengo iruzkina

Utzi zure iruzkina

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *

*

*

  1. Datuen arduraduna: Miguel Ángel Gatón
  2. Datuen xedea: SPAM kontrolatzea, iruzkinen kudeaketa.
  3. Legitimazioa: Zure baimena
  4. Datuen komunikazioa: datuak ez zaizkie hirugarrenei jakinaraziko legezko betebeharrez izan ezik.
  5. Datuak biltegiratzea: Occentus Networks-ek (EB) ostatatutako datu-basea
  6. Eskubideak: Edonoiz zure informazioa mugatu, berreskuratu eta ezabatu dezakezu.