PyPI مخزن ۾ Python پيڪيجز جو 46٪ ممڪن طور تي غير محفوظ ڪوڊ تي مشتمل آهي

ترڪي يونيورسٽي (فنلينڊ) جي محققن جو هڪ گروپ PyPI مخزن ۾ پيڪيجز جي تجزيي جا نتيجا شايع ڪيا جيڪي ممڪن طور تي خطرناڪ تعميرات جي استعمال لاءِ جيڪي نقصانن جو سبب بڻجي سگهن ٿا. 197 هزار پيڪيجز جي تجزيي دوران، 749 هزار امڪاني سيڪيورٽي مسئلن جي نشاندهي ڪئي وئي. 46٪ پيڪيجز ۾ گهٽ ۾ گهٽ هڪ اهڙو مسئلو آهي. سڀ کان وڌيڪ عام مسئلن ۾ شامل آهن استثنيٰ سنڀالڻ سان لاڳاپيل نقص ۽ خاصيتن جو استعمال جيڪي ڪوڊ متبادل جي اجازت ڏين ٿيون.

749 هزار مسئلن جي نشاندهي ڪئي وئي، 442 هزار (41٪) معمولي طور تي، 227 هزار (30٪) معتدل مسئلا ۽ 80 هزار (11٪) خطرناڪ طور تي ليبل ڪيا ويا. ڪجھ پيڪيجز ميڙ مان نڪرندا آھن ۽ ھزارين مسئلن تي مشتمل آھن: مثال طور، PyGGI پيڪيج 2589 مسئلن جي نشاندهي ڪئي، خاص طور تي "ڪوشش-سواء-پاس" تعمير جي استعمال سان لاڳاپيل، ۽ ايپينجائن-sdk پيڪيج 2356 مسئلا ڏٺا. genie.libs.ops، pbcore ۽ genie.libs.parser پيڪيجز ۾ پڻ وڏي تعداد ۾ مسئلا موجود آهن.

اهو نوٽ ڪيو وڃي ٿو ته نتيجا حاصل ڪيا ويا خودڪار جامد تجزيي جي بنياد تي، جيڪي ڪجهه خاص ڍانچي جي درخواست جي حوالي سان حساب ۾ نٿا ڪن. بينڊٽ ٽول ڪٽ جي ڊولپر، جيڪو ڪوڊ اسڪين ڪرڻ لاءِ استعمال ڪيو ويو، راءِ جو اظهار ڪيو ته غلط مثبتن جي ڪافي وڏي تعداد جي ڪري، اسڪين نتيجن کي هر مسئلي جي اضافي دستيابي جائزي کان سواءِ سڌو سنئون نقصانن تي غور نٿو ڪري سگهجي.

مثال طور، تجزيه نگار ناقابل اعتبار بي ترتيب نمبر جنريٽر ۽ هيشنگ الگورتھم جي استعمال کي سمجهي ٿو، جهڙوڪ MD5، هڪ سيڪيورٽي مسئلو آهي، جڏهن ته ڪوڊ ۾ اهڙا الگورٿمس انهن مقصدن لاءِ استعمال ٿي سگهن ٿا جيڪي سيڪيورٽي کي متاثر نه ڪن. تجزيه ڪندڙ خارجي ڊيٽا جي ڪنهن به پروسيسنگ کي غير محفوظ ڪمن جهڙوڪ pickle، yaml.load، subprocess ۽ eval ۾ به هڪ مسئلو سمجهي ٿو، پر اهو استعمال ضروري ناهي ته ڪو خطرو شامل هجي ۽ حقيقت ۾ انهن افعال جو استعمال بغير ڪنهن سيڪيورٽي خطري جي لاڳو ڪري سگهجي ٿو. .

مطالعي ۾ استعمال ٿيل تجربن مان:

  • ممڪن طور تي غير محفوظ افعال استعمال ڪندي exec، mktemp، eval، mark_safe، وغيره.
  • فائلن لاء رسائي جي حقن جي غير محفوظ سيٽنگ.
  • سڀني نيٽ ورڪ انٽرفيس کي نيٽ ورڪ ساکٽ سان ڳنڍڻ.
  • پاسورڊ ۽ چيڪن جو استعمال سختي سان ڪوڊ ۾ بيان ڪيو ويو آهي.
  • اڳواٽ بيان ڪيل عارضي ڊاريڪٽري استعمال ڪندي.
  • ڪيچ-آل-اسٽائل استثنا هينڊلر ۾ پاس ۽ جاري رکڻ جو استعمال؛
  • فلاسڪ ويب فريم ورڪ تي ٻڌل ويب ايپليڪيشنن کي لانچ ڪرڻ سان ڊيبگنگ موڊ کي فعال ڪيو ويو.
  • غير محفوظ ڊيٽا کي ختم ڪرڻ جا طريقا استعمال ڪندي.
  • MD2، MD4، MD5 ۽ SHA1 هيش افعال استعمال ڪري ٿو.
  • غير محفوظ ڊي اي ايس سيفرز ۽ انڪرپشن طريقن جو استعمال.
  • Python جي ڪجهه ورزن ۾ غير محفوظ HTTPS ڪنيڪشن لاڳو ڪرڻ جو استعمال.
  • urlopen ۾ فائل // اسڪيم جي وضاحت ڪريو.
  • pseudorandom نمبر جنريٽر استعمال ڪندي جڏهن cryptographic ڪمن کي انجام ڏيو.
  • Telnet پروٽوڪول استعمال ڪندي.
  • غير محفوظ XML parsers استعمال ڪندي.

اضافي طور تي، اهو نوٽ ڪري سگهجي ٿو ته 8 بدسلوڪي پيڪيجز PyPI ڊاريڪٽري ۾ لڌا ويا. ختم ڪرڻ کان اڳ، مشڪلاتي پيڪيجز 30 هزار ڀيرا وڌيڪ ڊائون لوڊ ڪيا ويا. بدسلوڪي سرگرمي کي لڪائڻ لاءِ ۽ پيڪيجز ۾ سادي جامد تجزيه نگارن کان ڊيڄاريندڙن کان پاسو ڪرڻ لاءِ، بيس 64 استعمال ڪندي ڪوڊ بلاڪ انڪوڊ ڪيا ويا ۽ ايول ڪال استعمال ڪندي ڊيڪوڊنگ کان پوءِ عمل ڪيو ويو.

noblesse, genesisbot, are, pain, noblesse2 ۽ noblesev2 پيڪيجز ڪروم ۽ ايج برائوزرز ۾ محفوظ ڪيل ڪريڊٽ ڪارڊ نمبرن ۽ پاسورڊس کي روڪڻ لاءِ ڪوڊ تي مشتمل آهن، انهي سان گڏ ڊسڪارڊ ايپليڪيشن مان اڪائونٽ ٽوڪن کي منتقل ڪرڻ ۽ سسٽم ڊيٽا موڪلڻ، بشمول اسڪرين جي مواد جا اسڪرين شاٽ. pytagora ۽ pytagora2 پيڪيجز ۾ ٽئين پارٽي جي قابل عمل ڪوڊ لوڊ ڪرڻ ۽ عمل ڪرڻ جي صلاحيت شامل آهي.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو