በPyPI ማከማቻ ውስጥ 46% የሚሆኑት የፓይዘን ጥቅሎች ደህንነቱ ያልተጠበቀ ኮድ ይይዛሉ

የቱርኩ ዩኒቨርሲቲ (ፊንላንድ) የተመራማሪዎች ቡድን በ PyPI ማከማቻ ውስጥ ወደ ተጋላጭነት ሊመሩ የሚችሉ አደገኛ ግንባታዎችን ለመጠቀም የታሸጉ ጥቅሎችን ትንተና ውጤት አሳትሟል። በ197ሺህ ፓኬጆች ትንተና 749ሺህ የጸጥታ ችግሮች ሊፈጠሩ እንደሚችሉ ተጠቁሟል። 46% ፓኬጆች ቢያንስ አንድ እንደዚህ አይነት ችግር አለባቸው. በጣም ከተለመዱት ችግሮች መካከል ለየት ያለ አያያዝ እና ኮድን ለመተካት የሚያስችሉ ባህሪያትን መጠቀም ጋር የተያያዙ ጉድለቶች ናቸው.

ከተለዩት 749 ሺህ ችግሮች ውስጥ 442 ሺህ (41%) ቀላል፣ 227 ሺህ (30%) መካከለኛ እና 80 ሺህ (11%) አደገኛ ናቸው ተብሏል። አንዳንድ ፓኬጆች ከህዝቡ ጎልተው የሚታዩ እና በሺዎች የሚቆጠሩ ችግሮችን ይዘዋል፡- ለምሳሌ የፒጂጂአይ ፓኬጅ 2589 ችግሮችን ለይቷል፣በዋነኛነት ከ"ሙከራ-ከማለፍ-ማለፊያ" ግንባታ አጠቃቀም ጋር የተገናኘ እና የ appengine-sdk ጥቅል 2356 ችግሮችን አግኝቷል። ብዙ ቁጥር ያላቸው ችግሮች በጂኒ.libs.ops፣ pbcore እና genie.libs.parser ጥቅሎች ውስጥም አሉ።

ውጤቶቹ የተገኙት በራስ-ሰር የማይንቀሳቀስ ትንታኔ ላይ በመመርኮዝ መሆኑን ልብ ሊባል ይገባል, ይህም የተወሰኑ መዋቅሮችን የመተግበር ሁኔታን ግምት ውስጥ አያስገባም. ኮዱን ለመቃኘት ያገለገለው የባንዲት መሣሪያ ኪት ገንቢ፣ ትክክለኛ ከፍተኛ ቁጥር ያላቸው የውሸት አወንታዊ ጉዳዮች ምክንያት የእያንዳንዱ እትም ተጨማሪ በእጅ ካልተገመገመ የፍተሻ ውጤቶቹ በቀጥታ እንደ ተጋላጭነት ሊወሰዱ እንደማይችሉ ሃሳቡን ገልጿል።

ለምሳሌ፣ ተንታኙ አስተማማኝ ያልሆኑ የዘፈቀደ ቁጥር ማመንጫዎችን እና እንደ MD5 ያሉ ሃሺንግ ስልተ ቀመሮችን መጠቀም የደህንነት ችግር እንደሆነ አድርጎ ይቆጥረዋል፣ በኮዱ ውስጥ ግን እነዚህ ስልተ ቀመሮች ደህንነትን ላልተነካ ዓላማዎች ሊውሉ ይችላሉ። ተንታኙ እንደ pickle፣ yaml.load፣ subprocess እና eval በመሳሰሉት ደህንነታቸው ያልተጠበቁ ተግባራት ውስጥ ማንኛውንም የውጭ ውሂብ ሂደትን እንደ ችግር ይመለከታል፣ ነገር ግን ይህ አጠቃቀም የግድ ተጋላጭነትን አያካትትም እና በእርግጥ የእነዚህን ተግባራት አጠቃቀም ያለ የደህንነት ስጋት ሊተገበር ይችላል። .

በጥናቱ ውስጥ ጥቅም ላይ ከዋሉት ፈተናዎች መካከል፡-

  • አደገኛ ሊሆኑ የሚችሉ ተግባራትን exec፣ mktemp፣ eval፣ mark_safe፣ ወዘተ መጠቀም።
  • ለፋይሎች የመዳረሻ መብቶች ደህንነቱ ያልተጠበቀ ቅንብር።
  • የአውታረ መረብ ሶኬት ከሁሉም የአውታረ መረብ በይነገጾች ጋር ​​በማያያዝ ላይ።
  • በኮዱ ውስጥ በጥብቅ የተገለጹ የይለፍ ቃሎችን እና ቁልፎችን መጠቀም።
  • አስቀድሞ የተወሰነ ጊዜያዊ ማውጫ በመጠቀም።
  • ማለፊያ መጠቀም እና በመያዝ-ሁሉንም-ቅጥ የማይካተቱ ተቆጣጣሪዎች ውስጥ ይቀጥሉ;
  • በፍላስክ ድር ማዕቀፍ ላይ በመመስረት የድር መተግበሪያዎችን ማረም ሁነታ ነቅቷል።
  • ደህንነቱ ያልተጠበቀ የውሂብ ማጥፋት ዘዴዎችን በመጠቀም።
  • MD2፣ MD4፣ MD5 እና SHA1 hash ተግባራትን ይጠቀማል።
  • ደህንነታቸው ያልተጠበቁ የDES ምስጠራዎች እና የምስጠራ ሁነታዎች አጠቃቀም።
  • በአንዳንድ የፓይዘን ስሪቶች ውስጥ ደህንነቱ ያልተጠበቀ HTTPSconnection ትግበራን መጠቀም።
  • በ urlopen ውስጥ የፋይሉን:// እቅድ በመግለጽ ላይ።
  • ክሪፕቶግራፊክ ስራዎችን በሚሰሩበት ጊዜ የውሸት ቁጥር ማመንጫዎችን መጠቀም።
  • የቴልኔት ፕሮቶኮልን በመጠቀም።
  • ደህንነታቸው ያልተጠበቁ የኤክስኤምኤል ተንታኞች በመጠቀም።

በተጨማሪም፣ በPyPI ማውጫ ውስጥ 8 ተንኮል አዘል ጥቅሎች መገኘታቸውን ልብ ሊባል ይችላል። ከመውጣቱ በፊት, ችግር ያለባቸው ፓኬጆች ከ 30 ሺህ ጊዜ በላይ ወርደዋል. ተንኮል አዘል እንቅስቃሴዎችን ለመደበቅ እና በጥቅሎች ውስጥ ካሉ ቀላል የማይንቀሳቀሱ ተንታኞች ማስጠንቀቂያዎችን ለማለፍ ፣የኮድ ብሎኮች Base64 ን በመጠቀም ኮድ ተሰጥቷቸዋል እና የኢቫል ጥሪን በመጠቀም ከመፍታት በኋላ ተፈፃሚ ሆነዋል።

የ noblesse, genesisbot, ናቸው, መከራ, noblesse2 እና noblessev2 ጥቅሎች በ Chrome እና Edge አሳሾች ውስጥ የተከማቹ የክሬዲት ካርድ ቁጥሮችን እና የይለፍ ቃላትን ለመጥለፍ ኮድ ይዘዋል, እንዲሁም የመለያ ምልክቶችን ከ Discord መተግበሪያ ለማስተላለፍ እና የማያ ገጽ ይዘቶች ቅጽበታዊ ገጽ እይታዎችን ጨምሮ የስርዓት ውሂብን ይልካሉ . የ pytagora እና pytagora2 ጥቅሎች የሶስተኛ ወገን ተፈፃሚ ኮድ የመጫን እና የማስፈጸም ችሎታን አካተዋል።

ምንጭ: opennet.ru

አስተያየት ያክሉ