46% tal-pakketti Python fir-repożitorju PyPI fihom kodiċi potenzjalment mhux sigur

Grupp ta 'riċerkaturi mill-Università ta' Turku (il-Finlandja) ippubblika r-riżultati ta 'analiżi ta' pakketti fir-repożitorju PyPI għall-użu ta 'kostruzzjonijiet potenzjalment perikolużi li jistgħu jwasslu għal vulnerabbiltajiet. Matul l-analiżi ta '197 elf pakkett, ġew identifikati 749 elf problema ta' sigurtà potenzjali. 46% tal-pakketti għandhom mill-inqas problema waħda bħal din. Fost l-aktar problemi komuni hemm nuqqasijiet relatati mal-immaniġġjar tal-eċċezzjonijiet u l-użu ta 'karatteristiċi li jippermettu sostituzzjoni tal-kodiċi.

Mis-749 elf problema identifikati, 442 elf (41%) kienu ttikkettjati bħala minuri, 227 elf (30%) bħala problemi moderati u 80 elf (11%) bħala perikolużi. Xi pakketti jispikkaw mill-folla u fihom eluf ta 'problemi: pereżempju, il-pakkett PyGGI identifika 2589 problema, prinċipalment relatati mal-użu tal-kostruzzjoni "pprova-ħlief-pass", u l-pakkett appengine-sdk sab 2356 problema. Numru kbir ta' problemi huma wkoll preżenti fil-pakketti genie.libs.ops, pbcore u genie.libs.parser.

Għandu jiġi nnutat li r-riżultati nkisbu bbażati fuq analiżi statika awtomatizzata, li ma tqisx il-kuntest ta 'applikazzjoni ta' ċerti strutturi. L-iżviluppatur tal-bandit toolkit, li ntuża biex jiskennja l-kodiċi, esprima l-opinjoni li minħabba n-numru pjuttost għoli ta 'pożittivi foloz, ir-riżultati tal-iskannijiet ma jistgħux jitqiesu direttament bħala vulnerabbiltajiet mingħajr reviżjoni manwali addizzjonali ta' kull kwistjoni.

Pereżempju, l-analizzatur iqis l-użu ta 'ġeneraturi ta' numri każwali mhux affidabbli u algoritmi ta 'hashing, bħal MD5, bħala problema ta' sigurtà, filwaqt li fil-kodiċi tali algoritmi jistgħu jintużaw għal skopijiet li ma jaffettwawx is-sigurtà. L-analizzatur iqis ukoll kwalunkwe ipproċessar ta’ data esterna f’funzjonijiet mhux sikuri bħal pickle, yaml.load, subprocess u eval bħala problema, iżda dan l-użu mhux neċessarjament jinvolvi vulnerabbiltà u fil-fatt l-użu ta’ dawn il-funzjonijiet jista’ jiġi implimentat mingħajr theddida għas-sigurtà. .

Fost it-testijiet użati fl-istudju:

  • L-użu ta' funzjonijiet potenzjalment mhux sikuri exec, mktemp, eval, mark_safe, eċċ.
  • Issettjar mhux sigur tad-drittijiet ta' aċċess għall-fajls.
  • It-twaħħil ta' socket tan-netwerk mal-interfaces tan-netwerk kollha.
  • Użu ta 'passwords u ċwievet strettament speċifikati fil-kodiċi.
  • Bl-użu ta' direttorju temporanju predefinit.
  • Bl-użu pass u kompli fi catch-all-style exception handlers;
  • Tnedija ta' applikazzjonijiet tal-web ibbażati fuq il-qafas tal-web Flask bil-modalità ta' debugging attivata.
  • L-użu ta' metodi ta' deserialization tad-data mhux sikuri.
  • Juża l-funzjonijiet tal-hash MD2, MD4, MD5 u SHA1.
  • Użu ta' ċifraturi DES u modi ta' encryption mhux sikuri.
  • Użu ta' implimentazzjoni ta' HTTPSConnection mhux sikura f'xi verżjonijiet ta' Python.
  • Tispeċifika l-iskema file:// f'urlopen.
  • L-użu ta 'ġeneraturi ta' numri psewdorandom meta jwettqu kompiti kriptografiċi.
  • Bl-użu tal-protokoll Telnet.
  • Bl-użu ta' parsers XML mhux siguri.

Barra minn hekk, jista 'jiġi nnotat li 8 pakketti malizzjużi ġew skoperti fid-direttorju PyPI. Qabel it-tneħħija, pakketti problematiċi ġew imniżżla aktar minn 30 elf darba. Biex jinħbew attività malizzjuża u twissijiet ta 'bypass minn analizzaturi statiċi sempliċi f'pakketti, blokki ta' kodiċi ġew kodifikati bl-użu ta 'Base64 u eżegwiti wara dekodifikazzjoni permezz ta' sejħa eval.

Il-pakketti noblesse, genesisbot, huma, jbatu, noblesse2 u noblessev2 fihom kodiċi biex jinterċettaw in-numri tal-karti ta 'kreditu u l-passwords maħżuna fil-browsers Chrome u Edge, kif ukoll jittrasferixxu tokens tal-kont mill-applikazzjoni Discord u jibagħtu data tas-sistema, inklużi screenshots tal-kontenut tal-iskrin . Il-pakketti pytagora u pytagora2 kienu jinkludu l-abbiltà li jgħabbi u tesegwixxi kodiċi eżekutibbli ta 'parti terza.

Sors: opennet.ru

Żid kumment