پیری انحصار کنفیوژن حملوں کے لیے سافٹ ویئر سپلائی چین کی حکمت عملی

پیری انحصار کنفیوژن حملوں کے لیے سافٹ ویئر سپلائی چین کی حکمت عملی

پیری انحصار کنفیوژن کے لیے سافٹ ویئر سپلائی چین کی حکمت عملی پلیٹو بلاکچین ڈیٹا انٹیلی جنس پر حملہ کرتی ہے۔ عمودی تلاش۔ عی

"نام میں کیا رکھا ہے؟ جس کو ہم گلاب کہتے ہیں کسی اور نام سے بھی خوشبو آتی ہے۔ جب شیکسپیئر نے یہ الفاظ (رومیو اینڈ جولیٹ، ایکٹ 2، سین 2) 1596 میں لکھے تو وہ کہہ رہے تھے کہ نام صرف ایک کنونشن ہے۔ اس کا کوئی باطنی معنی نہیں ہے۔ جولیٹ رومیو سے محبت کرتی ہے کہ وہ کون ہے، اپنے نام کے لیے نہیں۔

لیکن یہ جانے بغیر، شیکسپیئر انحصار کنفیوژن حملوں کو بھی بیان کر رہا تھا۔

انحصار کی الجھن اس وقت ہوتی ہے جب آپ اپنے کوڈ میں جو پیکیج استعمال کر رہے ہیں وہ آپ کے نہیں ہوتے ہیں۔ ان کا ایک ہی نام ہے، لیکن یہ آپ کا کوڈ نہیں ہے جو پروڈکشن میں چل رہا ہے۔ ایک ہی نام، لیکن ایک پیکج گلاب کی طرح مہک رہا ہے اور دوسرے سے بدبو آ رہی ہے۔

حالیہ تحقیقی رپورٹس کا تخمینہ ہے کہ 41% سے 49% تنظیمیں انحصار کنفیوژن حملوں کے خطرے میں ہیں۔ OX Security کی نئی تحقیق سے پتہ چلتا ہے کہ جب کسی تنظیم کو انحصار کنفیوژن حملے کا خطرہ ہوتا ہے، تو اس کے 73% اثاثے کمزور ہوتے ہیں۔ تحقیق درمیانے سائز اور بڑی تنظیموں پر مرکوز تھی (1K+, 8K+، 80K+ ملازمین) شعبوں کی ایک وسیع رینج میں — فنانس، گیمنگ، ٹیکنالوجی، اور میڈیا — اور ہر سائز کی تنظیموں میں ہر شعبے میں خطرہ پایا۔ تحقیق میں یہ بھی پتہ چلا ہے کہ تقریباً تمام ایپلی کیشنز جن میں 1 بلین سے زیادہ صارفین ہیں وہ انحصار استعمال کر رہے ہیں جو انحصار کنفیوژن کا شکار ہیں۔

اس مضمون کا مقصد آپ کو انحصار کی الجھنوں اور اسے روکنے کے طریقے کو سمجھنے میں مدد کرنا ہے۔

ڈبل، ڈبل

انحصار (جسے پیکجز بھی کہا جاتا ہے) آپ کے سافٹ ویئر کی تعمیر کے بلاکس ہیں۔ عام طور پر سافٹ ویئر کے یہ ٹکڑے، چاہے پوری کمیونٹیز یا کسی کمپنی کے اندر تیار کیے گئے ہوں، ایک عام اور ضروری کام انجام دیتے ہیں۔

پیکیج مینیجر اکثر انحصار کو انسٹال کرنے اور انہیں اپ ڈیٹ رکھنے کے لیے استعمال ہوتے ہیں۔ وہ پیکج کے نام کے لیے پبلک اور پرائیویٹ رجسٹریوں کو اسکین کرتے ہیں اور دیگر تمام چیزیں برابر ہونے کی وجہ سے اعلیٰ ترین ورژن نمبر کا انتخاب کرتے ہیں۔ حملہ آور عوامی رجسٹری پر اسی نام لیکن اعلیٰ ورژن کے ساتھ "ڈمی" پیکج رکھ کر اس کا فائدہ اٹھاتے ہیں۔

جب ایک پیکج مینیجر دو ایک جیسے پیکجوں میں آتا ہے، ایک پبلک رجسٹری میں اور دوسرا پرائیویٹ رجسٹری میں، یہ کنفیوژن کا سبب بنتا ہے - اس لیے اس کا نام "انحصار کنفیوژن" ہے۔ چونکہ دونوں پیکج ایک جیسے ہیں، اس لیے مینیجر خود بخود ایک اعلی ورژن کے ساتھ انسٹال کرنے کا انتخاب کرے گا۔ - اس صورت میں، حملہ آور کا بدنیتی پر مبنی پیکیج۔

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

محنت اور پریشانی

انحصار کنفیوژن حملے کے مختلف طریقے ہیں۔

  • نام کی جگہ۔ ایک عوامی رجسٹری میں بدنیتی پر مبنی سافٹ ویئر لائبریری کو اپ لوڈ کرکے — جیسے Python Package Index (PyPI) یا JavaScript's این پی ایم رجسٹری - یہ ہے کہ اسی طرح کا نام دیا ایک قابل اعتماد، اندرونی طور پر استعمال شدہ لائبریری میں، وہ سسٹم جو نام کی جگہ/URL چیک کو چھوڑ دیتے ہیں یا نجی رجسٹری سے بازیافت کرنے پر مجبور نہیں کرتے ہیں، غلطی سے نقصان دہ کوڈ کو کھینچ سکتے ہیں۔ دی PyTorch انحصار کنفیوژن کا حالیہ واقعہ ایسی ہی ایک مثال ہے۔
  • DNS سپوفنگ۔ DNS سپوفنگ جیسی تکنیک کا استعمال کرتے ہوئے، سسٹمز کو ہدایت کی جا سکتی ہے کہ وہ نقصان دہ ذخیروں سے انحصار کو کھینچیں جبکہ یہ ظاہر کرتے ہوئے کہ جائز داخلی URLs/راستوں جیسا دکھائی دیتا ہے۔
  • سکرپٹ تعمیر/انسٹال اسکرپٹ میں ترمیم کرکے یا مسلسل انضمام/مسلسل ترسیل (CI/CD) پائپ لائن کنفیگریشنز، سسٹمز کو مقامی ریپوزٹری کے بجائے نقصان دہ ذریعہ سے سافٹ ویئر انحصار ڈاؤن لوڈ کرنے کے لیے دھوکہ دیا جا سکتا ہے۔

چیزیں اچھی طرح سے اور دیکھ بھال کے ساتھ کی گئیں۔

انحصار کی الجھنوں سے بچانے کے لیے، ان طریقوں کو قائم کریں۔

  • پیکیج مینیجر میں پالیسیاں مرتب کریں۔ پیکیج مینیجرز کو نجی پیکیج پر عوامی پیکیج کو ترجیح دینے سے منع کریں۔
  • ہمیشہ ایک .npmrc فائل شامل کریں۔ اگر آپ مقبول NPM کو بطور پیکیج مینیجر استعمال کر رہے ہیں، تو ہمیشہ ایک .npmrc فائل شامل کریں جو یہ بتاتی ہے کہ مخصوص تنظیم کے دائرہ کار کے تحت پیکجز کو کہاں سے لانا ہے۔
  • عوامی رجسٹری میں پیکیج کا نام محفوظ کریں۔ انحصار کنفیوژن حملوں سے بچانے کا ایک اور طریقہ یہ ہے کہ پیکیج کا نام عوامی رجسٹری میں محفوظ کر لیا جائے تاکہ ہائی جیکرز اسے استعمال نہ کر سکیں اور اس وجہ سے، پیکیج مینیجر کو ایک بدنیتی پر مبنی پیکج انسٹال کرنے کے لیے "ٹرک" نہ کر سکیں۔

انحصار کنفیوژن حملوں سے مکمل طور پر حفاظت کے لیے، تنظیموں کو ہمیشہ استعمال کرنا چاہیے۔ تمام داخلی پیکجوں کے لیے تنظیم کے دائرہ کاریہاں تک کہ جب آپ کی داخلی رجسٹری میں شائع ہو رہا ہو۔ تنظیم کے دائرہ کار کو NPM کی پبلک رجسٹری میں بھی رجسٹر کیا جانا چاہیے، اس طرح کسی کو بھی دائرہ کار کو ہائی جیک کرنے اور الجھن کا فائدہ اٹھانے سے روکا جائے۔

پیکیج کے نام بھی عوامی طور پر رجسٹر کیے جائیں۔ اگر کوئی تنظیم مقبول PIP کو Python کے انحصار کے لیے پیکیج مینیجر کے طور پر استعمال کر رہی ہے، مثال کے طور پر، اسے ایک سخت لاحقہ کے ساتھ اندرونی پیکجز بنانے چاہئیں جو قابل شناخت ہوں اور تمام پروجیکٹس پر کام کریں۔ اسی نام کے ساتھ ایک خالی پیکج پبلک رجسٹری PyPI پر بطور پلیس ہولڈر اپ لوڈ کریں۔

عوامی رجسٹری میں پیکیج کا نام محفوظ کرنے کی ایک اور وجہ یہ ہے کہ اگر کوئی اور اسے محفوظ رکھتا ہے (بد نیتی سے یا نہیں)، ڈویلپرز کو نجی رجسٹری میں پیکیج کے تمام ناموں کو تبدیل کرنا پڑے گا جو ابھی تک عوامی رجسٹری میں محفوظ ہونا باقی ہے۔ یہ ایک طویل اور تکلیف دہ عمل ہوسکتا ہے۔

یہ نوٹ کرنا ضروری ہے کہ تمام پیکج رجسٹریاں صارفین کو پیکیج کے نام محفوظ کرنے کی اجازت نہیں دیتی ہیں، اس لیے یقینی بنائیں کہ آپ کو ایسا کوئی مل جاتا ہے۔

باہر نکلیں، ریچھ کا تعاقب

انحصار کنفیوژن حملے عالمی سطح پر تنظیموں کے لیے ایک سنگین اور آسنن سائبر سیکیورٹی خطرہ ہیں۔ تمام تنظیموں میں سے تقریباً نصف خطرے میں ہیں، اور ان تنظیموں کے 73% اثاثے بے نقاب ہیں۔ اس بڑھتے ہوئے خطرے کا مقابلہ کرنے کے لیے، تنظیموں کو مضبوط حفاظتی اقدامات کو نافذ کرنا چاہیے اور سائبر سیکیورٹی کے بہترین طریقوں کو اپنانا چاہیے۔

شیکسپیئر کے گلاب نے سینکڑوں سالوں سے انحصار کنفیوژن حملوں کے خطرے کو پیش کیا ہوگا، لیکن بارڈ کا ایک اور اقتباس ان کے خلاف تحفظ کے لیے کچھ حکمت رکھتا ہے: "ہر آنکھ اپنے لئے بات چیت کرے اور کسی ایجنٹ پر بھروسہ نہ کرے۔" (مچ ایڈو اباؤٹ نتھنگ، ایکٹ 2، سین 1)

ٹائم اسٹیمپ:

سے زیادہ گہرا پڑھنا