ایک تجزیہ کار شائع کیا گیا ہے جس نے NPM اور PyPI میں 200 نقصان دہ پیکجوں کی نشاندہی کی ہے۔

OpenSSF (اوپن سورس سیکیورٹی فاؤنڈیشن)، جسے لینکس فاؤنڈیشن نے تشکیل دیا تھا اور جس کا مقصد اوپن سورس سافٹ ویئر کی سیکیورٹی کو بہتر بنانا تھا، نے اوپن پروجیکٹ پیکیج تجزیہ متعارف کرایا، جو پیکیجز میں بدنیتی پر مبنی کوڈ کی موجودگی کا تجزیہ کرنے کے لیے ایک نظام تیار کرتا ہے۔ پروجیکٹ کوڈ گو میں لکھا گیا ہے اور اپاچی 2.0 لائسنس کے تحت تقسیم کیا گیا ہے۔ مجوزہ ٹولز کا استعمال کرتے ہوئے NPM اور PyPI ریپوزٹریوں کے ابتدائی اسکین نے ہمیں 200 سے زیادہ پہلے سے ناقابل شناخت نقصان دہ پیکجوں کی شناخت کرنے کی اجازت دی۔

شناخت شدہ پریشانی والے پیکجوں کا بڑا حصہ پراجیکٹس کے اندرونی غیر عوامی انحصار (انحصار کنفیوژن اٹیک) کے ساتھ ناموں کے چوراہے میں ہیرا پھیری کرتا ہے یا ٹائپو کوٹنگ کے طریقے استعمال کرتا ہے (مقبول لائبریریوں کے ناموں سے ملتے جلتے ناموں کو تفویض کرنا)، اور اسکرپٹ کو بھی کال کرتا ہے جو بیرونی میزبانوں تک رسائی حاصل کرتے ہیں۔ تنصیب کے عمل. پیکیج اینالیسس کے ڈویلپرز کے مطابق، زیادہ تر شناخت شدہ پریشانی والے پیکجز بگ باؤنٹی پروگراموں میں حصہ لینے والے سیکورٹی محققین کے ذریعہ بنائے گئے تھے، کیونکہ بھیجا گیا ڈیٹا صارف اور سسٹم کے نام تک محدود ہے، اور کارروائیاں واضح طور پر انجام دی جاتی ہیں، بغیر کسی کوشش کے۔ ان کے رویے کو چھپائیں.

بدنیتی پر مبنی سرگرمی والے پیکجوں میں شامل ہیں:

  • PyPI پیکیج discordcmd، جو raw.githubusercontent.com، Discord API اور ipinfo.io پر غیر معمولی درخواستیں بھیجنے کو ریکارڈ کرتا ہے۔ مخصوص پیکیج نے گٹ ہب سے بیک ڈور کوڈ ڈاؤن لوڈ کیا اور اسے ڈسکارڈ ونڈوز کلائنٹ ڈائرکٹری میں انسٹال کیا، جس کے بعد اس نے فائل سسٹم میں ڈسکارڈ ٹوکنز کو تلاش کرنے اور حملہ آوروں کے زیر کنٹرول بیرونی ڈسکارڈ سرور پر بھیجنے کا عمل شروع کیا۔
  • colorsss NPM پیکیج نے ڈسکارڈ اکاؤنٹ سے بیرونی سرور کو ٹوکن بھیجنے کی بھی کوشش کی۔
  • NPM پیکیج @roku-web-core/ajax - انسٹالیشن کے عمل کے دوران اس نے سسٹم کے بارے میں ڈیٹا بھیجا اور ایک ہینڈلر (ریورس شیل) لانچ کیا جس نے بیرونی کنکشنز کو قبول کیا اور کمانڈز لانچ کیں۔
  • PyPI پیکیج secrevthree - ایک مخصوص ماڈیول درآمد کرتے وقت ایک ریورس شیل شروع کیا۔
  • NPM پیکیج random-vouchercode-generator - لائبریری کو درآمد کرنے کے بعد، اس نے ایک بیرونی سرور کو ایک درخواست بھیجی، جس نے کمانڈ اور وہ وقت واپس کر دیا جس وقت اسے چلایا جانا چاہیے۔

پیکیج تجزیہ کا کام نیٹ ورک کنکشن قائم کرنے، فائلوں تک رسائی، اور کمانڈ چلانے کے لیے سورس کوڈ میں کوڈ پیکجوں کا تجزیہ کرنے پر آتا ہے۔ مزید برآں، ابتدائی طور پر بے ضرر سافٹ ویئر کی ریلیز میں سے ایک میں بدنیتی پر مبنی داخلوں کے اضافے کا تعین کرنے کے لیے پیکجوں کی حالت میں تبدیلیوں کی نگرانی کی جاتی ہے۔ ریپوزٹریز میں نئے پیکجوں کی ظاہری شکل پر نظر رکھنے اور پہلے پوسٹ کیے گئے پیکجز میں تبدیلیاں کرنے کے لیے، پیکج فیڈز ٹول کٹ استعمال کی جاتی ہے، جو NPM، PyPI، Go، RubyGems، Packagist، NuGet اور Crate repositories کے ساتھ کام کو یکجا کرتی ہے۔

پیکیج کے تجزیے میں تین بنیادی اجزاء شامل ہیں جو مل کر اور الگ الگ استعمال کیے جا سکتے ہیں:

  • پیکیج فیڈز کے ڈیٹا کی بنیاد پر پیکیج کے تجزیہ کا کام شروع کرنے کے لیے شیڈولر۔
  • ایک تجزیہ کار جو براہ راست پیکج کی جانچ کرتا ہے اور جامد تجزیہ اور متحرک ٹریسنگ تکنیکوں کا استعمال کرتے ہوئے اس کے رویے کا جائزہ لیتا ہے۔ ٹیسٹ الگ تھلگ ماحول میں کیا جاتا ہے۔
  • ایک لوڈر جو ٹیسٹ کے نتائج کو BigQuery اسٹوریج میں رکھتا ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں