PyPI ശേഖരത്തിലെ 46% പൈത്തൺ പാക്കേജുകളിൽ സുരക്ഷിതമല്ലാത്ത കോഡ് അടങ്ങിയിരിക്കുന്നു

തുർക്കു സർവകലാശാലയിലെ (ഫിൻലാൻഡ്) ഒരു കൂട്ടം ഗവേഷകർ, അപകടസാധ്യതകളിലേക്ക് നയിച്ചേക്കാവുന്ന അപകടകരമായ നിർമ്മിതികളുടെ ഉപയോഗത്തിനായി PyPI ശേഖരണത്തിലെ പാക്കേജുകളുടെ വിശകലനത്തിന്റെ ഫലങ്ങൾ പ്രസിദ്ധീകരിച്ചു. 197 ആയിരം പാക്കേജുകളുടെ വിശകലനത്തിൽ, 749 ആയിരം സുരക്ഷാ പ്രശ്നങ്ങൾ തിരിച്ചറിഞ്ഞു. 46% പാക്കേജുകൾക്കും അത്തരം ഒരു പ്രശ്നമെങ്കിലും ഉണ്ട്. ഏറ്റവും സാധാരണമായ പ്രശ്നങ്ങളിൽ, ഒഴിവാക്കൽ കൈകാര്യം ചെയ്യുന്നതുമായി ബന്ധപ്പെട്ട പോരായ്മകളും കോഡ് പകരം വയ്ക്കാൻ അനുവദിക്കുന്ന ഫീച്ചറുകളുടെ ഉപയോഗവും ഉൾപ്പെടുന്നു.

കണ്ടെത്തിയ 749 ആയിരം പ്രശ്‌നങ്ങളിൽ 442 ആയിരം (41%) ചെറുകിട, 227 ആയിരം (30%) മിതമായ പ്രശ്‌നങ്ങൾ, 80 ആയിരം (11%) അപകടകരമായവ എന്നിങ്ങനെ ലേബൽ ചെയ്‌തു. ചില പാക്കേജുകൾ ജനക്കൂട്ടത്തിൽ നിന്ന് വേറിട്ടുനിൽക്കുകയും ആയിരക്കണക്കിന് പ്രശ്‌നങ്ങൾ ഉൾക്കൊള്ളുകയും ചെയ്യുന്നു: ഉദാഹരണത്തിന്, PyGGI പാക്കേജ് 2589 പ്രശ്‌നങ്ങൾ തിരിച്ചറിഞ്ഞു, പ്രധാനമായും “ട്രൈ-ഒഴികെ-പാസ്” നിർമ്മാണത്തിന്റെ ഉപയോഗവുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു, കൂടാതെ appengine-sdk പാക്കേജ് 2356 പ്രശ്‌നങ്ങൾ കണ്ടെത്തി. genie.libs.ops, pbcore, genie.libs.parser പാക്കേജുകളിലും ധാരാളം പ്രശ്നങ്ങൾ ഉണ്ട്.

ചില ഘടനകളുടെ പ്രയോഗത്തിന്റെ സന്ദർഭം കണക്കിലെടുക്കാത്ത ഓട്ടോമേറ്റഡ് സ്റ്റാറ്റിക് വിശകലനത്തെ അടിസ്ഥാനമാക്കിയാണ് ഫലങ്ങൾ ലഭിച്ചത് എന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്. കോഡ് സ്കാൻ ചെയ്യാൻ ഉപയോഗിച്ച ബാൻഡിറ്റ് ടൂൾകിറ്റിന്റെ ഡെവലപ്പർ, തെറ്റായ പോസിറ്റീവുകളുടെ ഉയർന്ന എണ്ണം കാരണം, ഓരോ ലക്കത്തിന്റെയും അധിക മാനുവൽ അവലോകനം കൂടാതെ സ്കാൻ ഫലങ്ങൾ കേടുപാടുകൾ നേരിട്ട് കണക്കാക്കാൻ കഴിയില്ലെന്ന് അഭിപ്രായം പ്രകടിപ്പിച്ചു.

ഉദാഹരണത്തിന്, അനലൈസർ വിശ്വസനീയമല്ലാത്ത റാൻഡം നമ്പർ ജനറേറ്ററുകളുടെയും MD5 പോലുള്ള ഹാഷിംഗ് അൽഗോരിതങ്ങളുടെയും ഉപയോഗം ഒരു സുരക്ഷാ പ്രശ്‌നമായി കണക്കാക്കുന്നു, അതേസമയം കോഡിൽ അത്തരം അൽഗോരിതങ്ങൾ സുരക്ഷയെ ബാധിക്കാത്ത ആവശ്യങ്ങൾക്കായി ഉപയോഗിക്കാം. Pickle, yaml.load, subprocess, eval a problem തുടങ്ങിയ സുരക്ഷിതമല്ലാത്ത ഫംഗ്ഷനുകളിലെ ബാഹ്യ ഡാറ്റയുടെ ഏതെങ്കിലും പ്രോസസ്സിംഗ് അനലൈസർ പരിഗണിക്കുന്നു, എന്നാൽ ഈ ഉപയോഗത്തിൽ ഒരു അപകടസാധ്യത ഉണ്ടാകണമെന്നില്ല, വാസ്തവത്തിൽ ഈ ഫംഗ്‌ഷനുകളുടെ ഉപയോഗം ഒരു സുരക്ഷാ ഭീഷണിയുമില്ലാതെ നടപ്പിലാക്കാൻ കഴിയും. .

പഠനത്തിൽ ഉപയോഗിച്ച പരിശോധനകളിൽ:

  • സുരക്ഷിതമല്ലാത്ത ഫംഗ്‌ഷനുകൾ ഉപയോഗിക്കുന്നത് എക്‌സിക്, എംകെടെംപ്, എവൽ, മാർക്ക്_സേഫ് മുതലായവ.
  • ഫയലുകൾക്കുള്ള ആക്സസ് അവകാശങ്ങളുടെ സുരക്ഷിതമല്ലാത്ത ക്രമീകരണം.
  • എല്ലാ നെറ്റ്‌വർക്ക് ഇന്റർഫേസുകളിലേക്കും ഒരു നെറ്റ്‌വർക്ക് സോക്കറ്റ് അറ്റാച്ചുചെയ്യുന്നു.
  • കോഡിൽ കർശനമായി വ്യക്തമാക്കിയിട്ടുള്ള പാസ്‌വേഡുകളുടെയും കീകളുടെയും ഉപയോഗം.
  • ഒരു മുൻനിശ്ചയിച്ച താൽക്കാലിക ഡയറക്ടറി ഉപയോഗിക്കുന്നു.
  • ക്യാച്ച്-ഓൾ-സ്റ്റൈൽ ഒഴിവാക്കൽ ഹാൻഡ്‌ലറുകളിൽ പാസ് ഉപയോഗിക്കുകയും തുടരുകയും ചെയ്യുക;
  • ഡീബഗ്ഗിംഗ് മോഡ് പ്രവർത്തനക്ഷമമാക്കി ഫ്ലാസ്ക് വെബ് ഫ്രെയിംവർക്കിനെ അടിസ്ഥാനമാക്കിയുള്ള വെബ് ആപ്ലിക്കേഷനുകൾ സമാരംഭിക്കുന്നു.
  • സുരക്ഷിതമല്ലാത്ത ഡാറ്റ ഡീരിയലൈസേഷൻ രീതികൾ ഉപയോഗിക്കുന്നു.
  • MD2, MD4, MD5, SHA1 എന്നീ ഹാഷ് ഫംഗ്ഷനുകൾ ഉപയോഗിക്കുന്നു.
  • സുരക്ഷിതമല്ലാത്ത DES സൈഫറുകളുടെയും എൻക്രിപ്ഷൻ മോഡുകളുടെയും ഉപയോഗം.
  • പൈത്തണിന്റെ ചില പതിപ്പുകളിൽ സുരക്ഷിതമല്ലാത്ത HTTPSC കണക്ഷൻ നടപ്പിലാക്കലിന്റെ ഉപയോഗം.
  • urlopen-ൽ ഫയൽ:// സ്കീം വ്യക്തമാക്കുന്നു.
  • ക്രിപ്‌റ്റോഗ്രാഫിക് ജോലികൾ ചെയ്യുമ്പോൾ സ്യൂഡോറാൻഡം നമ്പർ ജനറേറ്ററുകൾ ഉപയോഗിക്കുന്നു.
  • ടെൽനെറ്റ് പ്രോട്ടോക്കോൾ ഉപയോഗിക്കുന്നു.
  • സുരക്ഷിതമല്ലാത്ത XML പാർസറുകൾ ഉപയോഗിക്കുന്നു.

കൂടാതെ, PyPI ഡയറക്‌ടറിയിൽ 8 ക്ഷുദ്ര പാക്കേജുകൾ കണ്ടെത്തിയതായി ശ്രദ്ധിക്കാം. നീക്കംചെയ്യുന്നതിന് മുമ്പ്, പ്രശ്നമുള്ള പാക്കേജുകൾ 30 ആയിരത്തിലധികം തവണ ഡൗൺലോഡ് ചെയ്തു. പാക്കേജുകളിലെ ലളിതമായ സ്റ്റാറ്റിക് അനലൈസറുകളിൽ നിന്ന് ക്ഷുദ്രകരമായ പ്രവർത്തനം മറയ്ക്കുന്നതിനും മുന്നറിയിപ്പുകൾ മറികടക്കുന്നതിനും, Base64 ഉപയോഗിച്ച് കോഡ് ബ്ലോക്കുകൾ എൻകോഡ് ചെയ്യുകയും ഒരു eval കോൾ ഉപയോഗിച്ച് ഡീകോഡ് ചെയ്ത ശേഷം എക്സിക്യൂട്ട് ചെയ്യുകയും ചെയ്തു.

noblesse, genesisbot, are, wonder, noblesse2, noblessev2 പാക്കേജുകളിൽ Chrome, Edge ബ്രൗസറുകളിൽ സംഭരിച്ചിരിക്കുന്ന ക്രെഡിറ്റ് കാർഡ് നമ്പറുകളും പാസ്‌വേഡുകളും തടസ്സപ്പെടുത്തുന്നതിനുള്ള കോഡ് അടങ്ങിയിരിക്കുന്നു, കൂടാതെ ഡിസ്‌കോർഡ് ആപ്ലിക്കേഷനിൽ നിന്ന് അക്കൗണ്ട് ടോക്കണുകൾ കൈമാറുകയും സ്‌ക്രീൻ ഉള്ളടക്കങ്ങളുടെ സ്‌ക്രീൻഷോട്ടുകൾ ഉൾപ്പെടെ സിസ്റ്റം ഡാറ്റ അയയ്ക്കുകയും ചെയ്യുന്നു. pytagora, pytagora2 പാക്കേജുകളിൽ മൂന്നാം കക്ഷി എക്സിക്യൂട്ടബിൾ കോഡ് ലോഡ് ചെയ്യാനും പ്രവർത്തിപ്പിക്കാനുമുള്ള കഴിവ് ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.

അവലംബം: opennet.ru

ഒരു അഭിപ്രായം ചേർക്കുക