هي هڪ ۾ ٽيون قسط آهي مضمونن جو سلسلو سافٽ ويئر سپلائي چين حملي جي سڀ کان وڌيڪ عام قسم بابت: اهي جيڪي عوامي رجسٽري جو غلط استعمال ڪن ٿا کليل ذريعو سافٽ ويئر جا حصا. پوئين قسط ۾ تجزيو ڪرڻ کان پوءِ “خراب پيڪيجز جي اناٽومي: رجحانات ڇا آهن؟"خراب اداڪار ڪيئن نئين يا موجوده شايع ٿيل حصن ۾ بدسلوڪي رويي کي داخل ڪن ٿا، اسان پنهنجي فائر فائٽنگ جيڪٽ پائڻ ۽ جانچڻ لاءِ تيار آهيون ته اسان ڪيئن ڪاميابي سان هن طريقي سان پهچائيندڙ بدسلوڪي سافٽ ويئر کي بلاڪ ڪري سگهون ٿا، يا متبادل طور تي، هڪ امڪاني طور تي سنگين سائبر واقعي سان ڊيل ڪري سگهون ٿا ڇاڪاڻ ته اسان غلط طريقو اختيار ڪيو آهي."
گھڻن سيڪيورٽي جي ڄاڻ رکندڙ ماهرن وٽ هن خطري کي ڪيئن سنڀالجي ان بابت خيال آهن. اسان سيڪيورٽي مئنيجرن کي بنا ڪنهن هٻڪ جي چوندا ٻڌو آهي ته SCA اوزار اڳ ۾ ئي توهان کي ٻڌائين ٿا ته ڪڏهن هڪ پيڪيج ورزن مالويئر آهي. يا اهو ته اهي مشهور، انتهائي نظرثاني ٿيل سافٽ ويئر حصن تي ڀاڙين ٿا، جتي ڪنهن به مالويئر کي فوري طور تي ڳوليو ويندو ۽ هٽايو ويندو. اهي خودڪار طريقي سان ڪمزوري جي اصلاح حاصل ڪرڻ لاءِ اوپن مائنر/پيچ ورزن استعمال ڪندا آهن، ۽ اهو اوپن سورس انحصار تي خطري کي گهٽائڻ جو مناسب، تجويز ڪيل طريقو آهي، "جلد پيچ ڪرڻ، گهڻو ڪري پيچ ڪرڻ”اصول.
هن قسط ۾، اسين جائزو وٺنداسين ته اهي خيال ڇو غلط آهن، ۽ ڪيئن اهڙيون غلط فهميون هن حملي جي طريقي جي مقبوليت ۾ حصو وٺي رهيون آهن، ۽ تنظيمن کي هڪ وڏي خطري جو تجربو ٿي رهيو آهي. اسان ان سان ختم ڪنداسين ته ڇا ڪم ڪري ٿو، ۽ ڪهڙيون ڪوششون ۽ وسيلا شامل آهن.
عام غلط فهميون
سافٽ ويئر سيڪيورٽي سان اسان جي سفر دوران، اسان حملي جي ٽيڪنڪ کي ترقي ڪندي ۽ سيڪيورٽي جي شعور رکندڙ ماڻهن جي خيالن جي هڪ وسيع رينج ڏٺي. تنظيمون اڪثر ڪري غلط سمجهنديون آهن ته هن خطري جي خلاف ڇا ڪم ڪري ٿو، تنهن ڪري پهريان اسين جانچ ڪنداسين ته ڇا ڪم نٿو ڪري، هيٺ ڏنل، مڪمل نه، غلط فهمين جي فهرست ۾ شامل ڪيو ويو آهي.
غلط فهمي #1: SCA اوزار اڳ ۾ ئي خراب حصن جي رپورٽ ڪن ٿا
ڇوته! پر حقيقت کان پوءِ... جڏهن شايد تمام دير ٿي چڪي هجي جيڪڏهن عنصر سافٽ ويئر جي تعمير ۾ استعمال ڪيو ويو هجي، ۽ خراب اداڪار اڳ ۾ ئي ڊولپر ۾ قدم رکي چڪا آهن يا CI/CD ميزبان. راز شايد ڪڍيا ويا هجن، اضافي مالويئر ڊائون لوڊ ۽ انسٽال ڪيا ويا هجن، ۽ شايد مخالف پاسي کان هليو ويو هجي ۽ اڳ ۾ ئي ٻئي هنڌ رسائي حاصل ڪري چڪو هجي.
سافٽ ويئر ڪمپوزيشن تجزيو (SCA) اوزار ممڪن ڄاتل سڃاتل ڪمزورين جي سڃاڻپ لاءِ ٺاهيا ويا هئا. جديد اوزار سگنل-شور جي تناسب کي وڌائي هڪ بهترين ڪم ڪن ٿا، اهو طئي ڪندي ته ڇا ڪمزوري اصل ۾ رسائي لائق آهي يا استحصال لائق آهي. پر اهي نئين مالويئر جي خلاف بيڪار آهن. هڪ خراب جزو کي صفر ڏينهن جي ڪمزوري جي طور تي سوچيو: صرف جڏهن ان جي خراب رويي جو پتو لڳايو ويندو آهي، جزو کي هولڊنگ رجسٽري کي رپورٽ ڪيو ويندو آهي، جيڪو سيڪيورٽي ٽيم جي جائزي کان پوءِ خراب طور تي تصديق ڪيو ويندو آهي ۽ رجسٽري مان هٽايو ويندو آهي. [1].
انهيءَ موقعي تي، دنيا (بشمول SCAs) ڄاڻي ٿو ته جزو (يا موجوده جزو جي ڪجهه نسخن) کي انسٽال ڪرڻ يا استعمال ڪرڻ سٺي ڳالهه ناهي. پر اهو تڏهن ٿيندو آهي جڏهن جزو رجسٽري مان دستياب نه هوندو آهي.. اهو ڄاڻڻ سٺو آهي ته مون وٽ ٽئين پارٽي جي حصن ۾ ڪمزوريون آهن، يا اهي حصا به جيڪي رجسٽري پاران خراب طور تي درجه بندي ڪيا ويا هئا، پر بدقسمتي سان SCA يا عام آڊٽ اوزار هن حوالي سان مدد نٿا ڪن. جيستائين SCA/ آڊٽ ٽول واقعي اڳ ۾ ئي ڄاڻي سگهي ٿو ته ڪو جزو خراب آهي ان کان اڳ جو اهو توهان جي تنظيم ۾ استعمال ٿئي..
ياد رکو، خراب اوپن سورس حصن جي خلاف ڪنهن به حل کي انهن کي ڳولڻ گهرجي. پرواز دوران، جڏهن جزو رجسٽري ۾ شايع ٿئي ٿو ۽ جڏهن جزو (ورزن) پهريون ڀيرو توهان جي تنظيم ۾ استعمال ٿئي ٿو. ۽ ان ۾ منتقلي جزا شامل آهن.
غلط فهمي #2: تعمير وقت تي انسٽاليشن اسڪرپٽ کي ڪنٽرول ڪرڻ اوپن سورس حصن کان بدسلوڪي رويي کي روڪي ٿو.
مختلف پيڪيج مئنيجر اسڪرپٽ هلائڻ جي صلاحيت پيش ڪن ٿا (جزو ٽاربال ۾ شامل آهن) [2]), جائز سببن جي ڪري، جيئن مختلف پليٽ فارمن تي گهربل شيون مرتب ڪرڻ، ڪوڊ ٺاهڻ، يا ٽيسٽ هلائڻ، ۽ اسان سڀني کي ڄاڻڻ گهرجي ته جيڪڏهن خراب اسڪرپٽ کي ٽاربال ۾ شامل ڪيو وڃي ته انهن کي خراب اداڪارن طرفان غلط استعمال ڪري سگهجي ٿو، يا جيڪڏهن حملو ڪندڙ سٺي جي بدران خراب اسڪرپٽ هلائي سگهي ٿو.
اهو ڄاڻڻ سان، اسان پيڪيج مئنيجر کي اسڪرپٽ کي نظرانداز ڪرڻ لاءِ ترتيب ڏئي سگهون ٿا. مثال طور، NPM سان -اسڪرپٽ کي نظرانداز ڪريو پرچم (يا هڪ ترتيب واري ملڪيت ۾ .npmrc فائل) انسٽاليشن دوران اسڪرپٽ کي ڇڏي ڏئي ٿو. اهو ڪجهه مسئلا پيدا ڪري سگهي ٿو ڇاڪاڻ ته اسڪرپٽ هلائڻ ڪيترن ئي ماحولياتي نظامن ۾ عام آهي: ڪجهه پيڪيج مئنيجر اسڪرپٽ جي عمل کي غير فعال ڪرڻ جي اجازت به نٿا ڏين (اشارو: پرامپٽ "ڪهڙا پيڪيج مئنيجر انسٽال اسڪرپٽ جي عملدرآمد کي غير فعال ڪرڻ جي اجازت نٿا ڏين؟"توهان جي پسنديده AI ۾). پر اهو عام طور تي تحفظ نٿو ڏئي (اسان کي اهو لاڳو ڪرڻ جي ضرورت آهي ته اسڪپ ڊس ايبل ڪنفيگريشن هر هنڌ موجود هجي).
۽ جڏهن خراب رويو انسٽال اسڪرپٽ ۾ نه پر رن ٽائم تي عمل ڪرڻ لاءِ سافٽ ويئر ۾ موجود هوندو آهي، ته پوءِ هي آپشن اڪيلو اسان جي حفاظت نٿو ڪري.
غلط فهمي #3: ورجن پننگ خراب حصن کي انسٽال ٿيڻ کان روڪي ٿي.
شروعاتي پيچنگ ۽ اڪثر سان گڏ هڪ واپار آهي کليل ورجن (سيڪيورٽي فڪسس لاءِ دستياب ٿيڻ تي پيڪيج مئنيجر کي خودڪار طريقي سان نوان اپڊيٽ انسٽال ڪرڻ جي اجازت ڏيڻ) ۽ ورجن پننگ (هڪ مقرر ٿيل ورزن تي سافٽ ويئر لاءِ سڀئي سڌي ۽ منتقلي انحصار هجڻ). سيڪيورٽي اصول ضدي ۽ ڪڏهن ڪڏهن متضاد آهن، جيئن "پيچ جلدي، پيچ اڪثر" سان ٿئي ٿو ۽ "اپ گريڊنگ کي هلڪو نه وٺڻ گهرجي". ڪجهه پيڪيج مئنيجر سفارش ڪيل طريقي سان سرور رينجز سان خودڪار اپڊيٽ ڪندا آهن. بهترين جيڪڏهن توهان پڻ خراب اپڊيٽ حاصل ڪرڻ چاهيو ٿا! ها، سيڪيورٽي فڪس حاصل ڪرڻ لاءِ اجزاء کي اپڊيٽ ڪيو وڃي جيڪي جلد کان جلد ڪمزورين کي بند ڪن، پر ... ڪڏهن به پيڪيج مئنيجر کي اهو خودڪار طريقي سان ڪرڻ نه ڏيو.
غلط فهمي #4: قابل اعتماد حصن جو استعمال محفوظ آهي. ڪو به نقصانڪار نسخو فوري طور تي ڳوليو ويندو، ظاهر ڪيو ويندو ۽ هٽايو ويندو.
ڪنهن جزو تي ڇو اعتبار ڪيو وڃي ٿو؟ شايد ان ڪري جو اهو تمام گهڻو مشهور آهي، ڪيتريون ئي اکيون ڪمزورين کي ڳولي رهيون آهن، سار سنڀال لاءِ حصو وٺندڙن جو هڪ وڏو تعداد، ڪيترن ئي بنيادي سنڀاليندڙن سان جيڪي سڀني جو احتياط سان جائزو وٺندا آهن. pull requests. حقيقت بلڪل مختلف آهي. ڪجهه ضروري جزا هڪ واحد، غير ادا ڪيل ڊولپر طرفان برقرار رکيا ويندا آهن. وڏي پيماني تي استعمال ٿيندڙ فريم ورڪ آهن ڪجھ باقاعده حصو وٺندڙ، تيزي سان گهٽجندڙ تعداد سان commitفي سنڀاليندڙ (مشهور منصوبن ۾ حصو وٺندڙن جي هڪ ڊگهي دم هوندي آهي جيڪي ڪجهه ڊرائيو بائي انجام ڏيندا آهن) commit ۽ ڪڏهن به واپس نه ايندا). ۽ هڪ ئي سنڀاليندڙ سان مشهور منصوبا گهڻا آهن.
تصور ڪريو ته پاڻ چئو ٿا "او، اسان اسپرنگ بوٽ / اينگولر / ري ايڪٽ / پائي ٽارچ / آفيشل بيس ڊوڪر تصويرون استعمال ڪري رهيا آهيون، تنهنڪري توهان جيڪو خطرو ڳالهائي رهيا آهيو اهو تمام گهٽ آهي." شايد اهو سچ آهي، اسان سيڪيورٽي وينڊرز هر وقت ڊيڄاريندڙ آهيون، ۽ هڪ قابل بحث خطري کي گهٽائڻ لاءِ ترقياتي ٽيمن سان مداخلت ڪرڻ بيوقوفي آهي. توهان شايد خطري جي قبوليت واري پيراگراف (ايندڙ حصي ۾) ڏانهن ٽپو ڏيڻ لاءِ لالچ ۾ اچي سگهو ٿا ۽ سڀ ڪجهه ٿي ويو آهي. بدقسمتي سان، سڀ کان وڌيڪ مشهور جزا خراب اداڪارن لاءِ نشانو آهن، ۽ مثال طور، مشهور پائي ٽارچ لائبريري تي حملو ڪيو ويو ماضي ۾.
"فوري طور تي مليو، ظاهر ڪيو ويو، ۽ هٽايو ويو". عوامي رجسٽري مان هڪ نئين خراب جزو کي هٽائڻ ۾ ڏينهن لڳن ٿا. رجسٽريون سٺي لاءِ، هڪ جزو ورزن کي هٽائڻ بابت محتاط آهن. اسان جو تجربو اهو آهي ته هڪ ڀيرو اسان جي طرفان رپورٽ ٿيڻ کان پوءِ، متاثر ٿيل نسخي کي هٽائڻ لاءِ رجسٽري جو وچين وقت 39 ڪلاڪ آهي، هڪ ڏينهن ۽ اڌ کان وڌيڪ. اهڙا خراب جزا آهن جيڪي رجسٽري ۾ اسان جي شروعاتي رپورٽنگ کان هڪ هفتو پوءِ هٽائڻ کان اڳ آهن. ۽ ڪجهه حالتن ۾، جزو صرف متاثر ٿيل يا واقعي جي جواب ڏيڻ واري ڪمپني جي جزو سان لاڳاپيل واقعي جي رپورٽ ڪرڻ کان پوءِ هٽايو ويندو آهي.
خراب جزن جي خلاف ڇا ڪم نٿو ڪري
ڪو به غير مخصوص طريقو بُري طرح ناڪام ٿيندو. اهو يقيني آهي ته توهان هن خطري سان لاڳاپيل خطري لاءِ اثرائتي جوابي تدبيرون فراهم نه ڪري رهيا آهيو.
روايتي SCA اوزار توهان کي سڃاتل مالويئر بابت ٻڌائين ٿا پر انهن ۾ هڪ وڏي ايڪسپوزر ونڊو آهي. جيستائين اهي مالويئر جي ڳولا کي فعال طور تي خراب حصن جي زبردستي بلاڪنگ سان انجام نه ڏئي رهيا آهن، اهي هن خطري جي خلاف ڪم نٿا ڪن.
انسٽاليشن اسڪرپٽ کي غير فعال ڪرڻ مدد ڪري سگھي ٿو پر ان کي هر هنڌ لاڳو ڪرڻ جي ضرورت آهي جتي هڪ جزو انسٽال ڪرڻ جي ضرورت آهي. ورجن پننگ سان به ساڳيو، ڇاڪاڻ ته ورجن کي هميشه لاءِ محفوظ شروعاتي حالت مان پن نه ٿو ڪري سگهجي.
اهو فرض ڪرڻ ته مشهور حصن کي ايتري ڌيان ملي ٿو جو انهن کي سپلائي چين حملي ۾ غير ارادي رويي سان نه ٿو لڳائي سگهجي بغير ڪنهن به نقصان کي روڪڻ لاءِ تقريبن فوري طور تي ڳولا ڪرڻ جي، اهو بيوقوفي ۽ خطرناڪ آهي. توهان ڪناري تي رهڻ نٿا چاهيو، ڇا؟
جيڪڏهن توهان هن نقطي تي روڪيو، ته پوءِ خطري جي قبوليت اهو صرف هڪ ئي ڪم آهي جيڪو توهان ڪري سگهو ٿا: هي هڪ ڊي آهيcisآئن جيڪو توهان جي خطري جي ماڊل / خطري جي تشخيص ۾ دستاويز ڪرڻ جي ضرورت آهي، جنهن ۾ خطري کي قبول ڪرڻ جو منطق ۽ ان جي امڪاني اثر شامل آهن. انتظاميا ۽ ٻين لاڳاپيل ڌرين کي ان بابت آگاهي ڏيندي شعور وڌايو. ڪجهه اتفاقي جڏهن ڪو خراب جزو انسٽال ٿيل هجي يا توهان جي سافٽ ويئر ۾ شامل هجي ته ان جي منصوبابندي ڪري سگهجي ٿي، پر اهو ڏکيو آهي ڇاڪاڻ ته حملي آورن کي ڪيترائي رستا پيروي ڪرڻا آهن. خراب جزو جي استعمال جي بنياد تي سپلائي چين حملي جي تفصيل واقعي جي عوامي ظاهر کي ڊرامائي طور تي تبديل ڪندي، جيڪو شايد توهان جي تنظيم جي ريگيوليٽري فريم ورڪ تحت لازمي آهي. توهان شايد ان کي پڻ خطاب ڪري سگهو ٿا معاوضي وارا ڪنٽرول or منتقلي جو خطرو مثال طور انشورنس سان.
جڏهن ته، اهڙا ڪنٽرول آهن جيڪي خطري کي حل ڪن ٿا ۽ جيڪڏهن توهان خطري جي قبوليت کان مطمئن نه آهيو ته انهن تي غور ڪيو وڃي. مهرباني ڪري پڙهو.
خراب حصن جي استعمال سان حملن جي خلاف ڇا ڪم ڪندو آهي؟
سولڊ ورزن هينڊلنگ
ڪنٽرول ٿيل ۽ باخبر ورجن بمپس سان ورجن پننگ هڪ بهترين طريقو آهي، جيڪو مالويئر حاصل ڪرڻ کان سواءِ ڪمزورين کي ختم ڪرڻ جي ضرورت کي متوازن ڪري ٿو. پر غلط فهمي #3 ياد رکو: صرف ورجن پننگ نئين ورجن مان ايندڙ خراب ڪوڊ کي بلاڪ ڪرڻ لاءِ ڪافي ناهي، ڇاڪاڻ ته توهان کي مستقبل ۾ ڪنهن به سڌي يا اڻ سڌي انحصار ۾ ورجن کي اپڊيٽ ڪرڻ جي ضرورت پوندي. ان وقت توهان کي ڪافي مضبوط ثبوت جي ضرورت آهي ته سڀني تبديل ٿيل ورجن ۾ مالويئر شامل نه آهي.
شروعاتي چتاءُ
خراب حصن جي مسئلي جو هڪ طريقو هڪ ابتدائي خبرداري وارو نظام آهي (هتي نالو ڏنو ويو آهي مالويئر جي شروعاتي خبرداري يا MEW)، جتي شايع ٿيل نوان نسخا (نئين يا موجوده حصن لاءِ) هڪ ڳولا واري انجن ذريعي تجزيو ڪيا ويندا آهن، جيڪو جڏهن ڪافي ثبوت ملي ويندا آهن ته نئين نسخي کي ممڪن طور تي نقصانڪار قرار ڏئي سگهي ٿو.
هتي خودڪار عمل ضروري آهي، ڇاڪاڻ ته موجوده اشاعت جي شرح تي سڀني نون حصن جو دستي طور تي جائزو وٺڻ ناممڪن آهي. تنهن ڪري، ڳولا واري انجن کي مختلف طريقن کي گڏ ڪرڻ جي ضرورت آهي، شايد جامد، متحرڪ، ۽ صلاحيت جو تجزيو، صارف جي شهرت، ۽ جزو ميٽا ڊيٽا ۽ ٽاربال مواد جي وچ ۾، يا ٽاربال ۽ ذريعو ذخيري جي وچ ۾ فرق مان ايندڙ ثبوت شامل آهن جتي جزو سمجهيو ويندو آهي.
هتي هڪ آهي ڊارڪ زون اشاعت جي وقت ۽ جڏهن انجن جزو جي مواد جو تجزيو ڪري ٿو، پر اهو ڪجهه منٽن کان وڌيڪ نه هجڻ گهرجي. اسڪيم کي تبديل ڪري سگهجي ٿو، مثال طور، سافٽ ويئر بلڊ ۾ انسٽال ڪرڻ ۽ استعمال ڪرڻ جي اجازت ڏيڻ کان اڳ نون حصن جي تجزيو جي انتظار ۾. pipelines، يا ضرورت پوڻ تي انهن جو تجزيو ڪريو. ڏنل نسخي تي هڪ جزو ناقابل تبديلي آهي [3]، تنهنڪري ان جو صرف هڪ ڀيرو تجزيو ڪرڻ جي ضرورت آهي.
مڪمل خودڪار ممڪن ناهي، ۽ ممڪن طور تي خراب حصن لاءِ سيڪيورٽي جائزو جي ضرورت آهي. ڊجيٽل علاج جي حامي کان خبردار رهو: اي آءِ ۽ مشين لرننگ ايتري ترقي يافته نه آهن جو آخري لفظ وٺي سگهن جڏهن اهو تصديق ڪرڻ جي ڳالهه اچي ته ڇا ڪنهن شڪي جزو ۾ مالويئر آهي. يقيناً، مشين لرننگ حاصل ڪيل خام ثبوتن مان ان پٽ جزو کي درجه بندي ڪرڻ ۾ ڊيٽيڪشن انجن ۾ اهم ڪردار ادا ڪري ٿي، پر هڪ ڀيرو جزو "قرنطين" ٿي ويندو آهي ته آخري لفظ سيڪيورٽي ٽيم پاران دستي جائزو تي هوندو آهي جيڪو خراب حصن ۾ تجربو رکي ٿو. اهو ڪنهن به امڪاني مالويئر جي تصديق ڪري ٿو يا ان کي محفوظ طور تي ٻيهر درجه بندي ڪري ٿو. ۽ وقت جي مدت ڪلاڪن جي حد ۾ آهي.
رجسٽري خراب ورزن/جزو تي رپورٽ ڪري ٿي؛ رجسٽري پوءِ تصديق ڪرڻ لاءِ پنهنجو جائزو وٺندي آهي ۽ عوامي ظاهر ڪرڻ ۽ رجسٽري مان هٽائڻ لاءِ اڳتي وڌندي آهي. ڪجهه رجسٽريون هڪ سيڪيورٽي هولڊنگ پيڪيج رکنديون آهن. هتي وقت جي حد اشاعت کان وٺي ڏينهن يا هفتا آهن، جيڪو 'وقت گذارڻ'يا'نمائش واري دري' گھڻن خراب حصن لاءِ. '
ڇا اهو ڄاڻڻ ممڪن آهي ته ڪو جزو نسخو خراب آهي؟
تنهن ڪري ابتدائي خبرداري لاءِ، اسان کي هن سوال جو اطمينان بخش جواب ڏيڻ جي ضرورت آهي: مان ڪيئن ڄاڻان ٿو ته لائبريري يا پيڪيج (نه) خراب آهي؟ خراب رويي جا ڪافي ثبوت ڪيئن گڏ ڪجي؟ ممڪن آهي، پر ڏکيو، ڇاڪاڻ ته مخالف ڳولا کان بچڻ لاءِ تمام گهڻي چالاڪي استعمال ڪندا آهن. مختلف طريقا آهن، هر هڪ جا فائدا ۽ نقصان آهن.
جامد تجزيو سڀني عملدرآمد رستن جي جانچ ڪري سگھي ٿو، حملي آورن پاران استعمال ٿيندڙ ٽيڪنڪ جي جانچ ڪري سگھي ٿو بغير جزو کي هلائڻ جي، ۽ پري پروسيسنگ ڪم انجام ڏئي سگھي ٿو جهڙوڪ ڊي-مبهم ڪرڻ يا سمجھڻ. جيئن ته حملي آور پنهنجي شرارت کي لڪائڻ جي ڪوشش ڪندا آهن، مبهم ڪرڻ جون ڪوششون واقعي مالويئر جو ثبوت آهن (پر ياد رکو ته جائز جزا دانشورانه ملڪيت کي محفوظ رکڻ لاءِ ڪوڊ کي مبهم ڪندا آهن، "کليل ذريعو”). مضبوط مبهم حملن سان صرف انتهائي نفيس حملن جي هڪ اقليت کي سينڊ باڪسنگ جي ضرورت آهي، پر اهڙي مضبوط مبهم بدانتظامي جي هڪ واضح نشاني آهي. مهرباني ڪري نوٽ ڪريو ته روايتي SAST اوزار غير ارادي ڪمزورين لاءِ ٺاهيا ويا هئا، نه ته پوئين دروازن وانگر بدسلوڪي ارادي لاءِ.
متحرڪ تجزيو جزو هلائي ٿو ۽ رن ٽائم کي اوزار طور استعمال ڪندي جواب جي جانچ ڪري ٿو، عام طور تي هڪ سينڊ باڪس ماحول فراهم ڪندي. ڪجهه حالتن هيٺ شروع ٿيندڙ خراب رويي شايد اڻڄاتل گذري سگهي ٿو: مهرباني ڪري نوٽ ڪريو ته مالويئر چوري جي طريقن کي استعمال ڪري سگهي ٿو جهڙوڪ ورچوئلائيزيشن/سينڊ باڪس چوري صرف ان وقت چالو ڪرڻ لاءِ جڏهن جاچ هيٺ نه هجي، ۽ ڪنهن به جامد تجزياتي انجن لاءِ بدسلوڪي سرگرمي جي هڪ واضح نشاني پڻ.
صلاحيتن جو تجزيو اهو غور ڪري ٿو ته جزو ڇا ڪري ٿو: اهو ڪٿي ڳنڍجي ٿو، ڪهڙن فائلن تائين رسائي حاصل ڪري ٿو، ڪهڙا حڪم يا پروگرام هلايا وڃن ٿا، ٽرمينل يا ڊوائيس I/O ڪيو ويو، يا ڪهڙا سسٽم ڪال ڪيا ويا آهن. رويي جي هن فنگر پرنٽنگ جو مقابلو (موجوده جزو لاءِ) ورزن ۾ ڪري سگهجي ٿو، تنهن ڪري جڏهن غير متوقع رويي جو پتو پوي ٿو، ته اهو ثبوت نئين ورزن ۾ داخل ٿيندڙ امڪاني خراب سرگرمي جي شڪ کي وڌائي سگهي ٿو. هي طريقو انهن ٽرائيج قدمن تي عمل ڪري ٿو جيڪي سيڪيورٽي تجزيه نگار امڪاني مالويئر سان منهن ڏيڻ تي عمل ڪن ٿا: هڪ معائنو استعمال ڪندي تارون يا ساڳيا اوزار. هي طريقو خراب رويي کي ڳولي ٿو بغير ڪنهن به ٽرگرنگ حالتن جي ۽ ڪم ڪري ٿو جڏهن ڪو به سورس ڪوڊ موجود ناهي.
حوالي سان تجزيو جزو ڪيئن شايع ٿيو ۽ ڪنهن پاران ان بابت معلومات گڏ ڪري ٿو. خراب اداڪارن جون مهمون اڪثر ڪري هڪ نئون صارف اڪائونٽ (اڪائونٽ) استعمال ڪنديون آهن جيڪي ڪنهن به سخت چڪاس جي عمل جي تابع نه هونديون آهن. ماضي جي سرگرمي کي ٽريڪ ڪرڻ سان بنيادي صارف ۾ بصيرت ملي سگهي ٿي، گهڻو ڪري انهن بي ضابطگين لاءِ جيڪي شايد ڪنهن امڪاني سمجهوتي جو اشارو ڏين. شهرت ڪمائڻ تمام ڏکيو آهي ۽ وڃائڻ تمام آسان آهي! هڪ صارف جنهن وٽ ماضي جي ڪا به سرگرمي ناهي، غير جانبدار آهي، پر ڪرما بدڪار جي پيروي ڪندو آهي. هيڪٽيوسٽ، يا عام استعمال ڪندڙ جن جي اشاعت جي سند چوري ڪئي وئي آهي انهن کي احتياط سان ٽريڪ ڪيو وڃي.
هڪ ٻي لاڳاپيل معلومات جزو ٽاربال ٺاهڻ لاءِ استعمال ٿيندڙ سورس ريپوزٽري ۽ ٽاربال جي مواد جي وچ ۾ ڪا به تضاد آهي. ۽ سٺين طريقن تي عمل ڪندي، جهڙوڪ پبلڪ رجسٽري ۾ شايع ٿيل جزو جي نسخن سان ملندڙ سورس ريپوزٽري ۾ ٽيگ يا رليز ٺاهڻ. جڏهن سورس ريپوزٽري هڪ خاص تي commit رليز سان ٽيگ ٿيل آهي، ۽ پوءِ اوچتو هڪ نسخو ان جي پيروي ڪرڻ ۾ ناڪام ٿئي ٿو، اهو اڪيلو مضبوط ثبوت آهي ته جزو خراب ٿي سگهي ٿو: خراب اداڪار جزو شايع ڪرڻ لاءِ استعمال ٿيندڙ اڪائونٽ سان سمجهوتو ڪيو هوندو، پر سورس ڪوڊ ريپوزٽري ۾ ڪا به لکڻ جي اجازت نه آهي). ڪيترائي حملا معمول طور تي انهن قاعدن کي استعمال ڪندي ڳوليا ويندا آهن: مثال طور، ليجر حملو انهن لائينن سان آساني سان ڳولي سگهجي ٿو. تنهن ڪري، حوالي سان تجزيو، اشاعت جي عمل ۾ اهڙين بي ضابطگين جي سڃاڻپ ڪري ٿو.
انحصار فائر والنگ
هڪ مختلف طريقو اهو آهي ته توهان جي سافٽ ويئر ۾ استعمال ٿيندڙ سڀني انحصار گرافس لاءِ حصن جي هڪ جامع وائيٽ لسٽ هجي، تنهن ڪري ڪنهن به بلڊ ۾ pipeline توهان جي تنظيم ۾ هلائي صرف منظور ٿيل جزو ورجن انسٽال ۽ استعمال ڪري سگهجن ٿا. "firewall" هڪ اندروني رجسٽري استعمال ڪندي لاڳو ڪيو ويندو آهي جتي اجازت ڏنل جزو ورزن لاءِ ٽاربال پيش ڪيا ويندا آهن (ڪيش ٿيل يا پراڪسي ٿيل). مهرباني ڪري نوٽ ڪريو ته ڪا به وائيٽ لسٽ ڪم نه ڪندي جيستائين توهان وٽ ڪنهن به نئين ورزن کي معقول طور تي محفوظ طور تي درجه بندي ڪرڻ جي ٽيڪنالاجي نه هجي ته جيئن ان کي وائيٽ لسٽ ۾ شامل ڪري سگهجي.
مهرباني ڪري نوٽ ڪريو ته ابتدائي خبرداري (نئين نسخي جي اشاعت کان پوءِ جلد کان جلد سڃاڻپ) کي ڪنهن طريقي سان گڏ ڪرڻ جي ضرورت آهي ته جيئن ان معلومات کي فعال طور تي استعمال ڪري سگهجي ته جيئن تعمير کي متاثر ڪندڙ جزو کي بلاڪ ڪري سگهجي. pipelineيا ڊولپرز جون مشينون [4]. اسين هن کي "انحصار فائر والنگ": خودڪار تعميرات کي خراب پيڪيجز کان بچائڻ لاءِ هڪ قرنطين ميڪانيزم. اندروني پيڪيجز ۽ تصويري رجسٽريون تنظيمن کي ٻاهرين برائي کان بچائڻ لاءِ سٺيون آهن، پر قرنطين کي اثرائتو بڻائڻ لاءِ ڪافي مضبوط ثبوت ضروري آهن.
رن ٽائم سينڊ باڪسنگ
اشاعت جي وقت تي ڳولڻ لاءِ هڪ متبادل طريقو رن ٽائم تي رويي جو تجزيو ڪرڻ آهي. خيال اهو آهي ته سافٽ ويئر مان متوقع رويي کي پڪڙيو وڃي ۽ ڪنهن به غيرمعمولي کي ڳوليو وڃي (يا بلاڪ ڪيو وڃي) جيڪو ملي ٿو. عمل جي هن لائن ۾ نگراني يا بلاڪ ڪرڻ لاءِ رن ٽائم کي استعمال ڪرڻ جو مسئلو آهي، ۽ اهو هڪ اميد افزا خيال آهي جيڪو خراب جزو جي آفت جي خلاف تحفظ جي ميڪانيزم جي هٿيارن ۾ شامل ڪيو ويندو.
هڪ جامع حڪمت عملي جوڙڻ
تجويز ڪيل حڪمت عملي کي سافٽ ويئر ڊولپمينٽ جي عمل ۾ مختلف طريقن کي گڏ ڪرڻ جي ضرورت آهي، ايندڙ خراب حصن کي بلاڪ ڪرڻ لاءِ ورجن اپڊيٽس جو ڪنٽرول وٺڻ. اسان کي ورجن پننگ کي ترتيب ڏيڻ گهرجي ته جيئن ورجن کي اپڊيٽ ڪرڻ سان خودڪار انفيڪشن کان بچي سگهجي ته جيئن اهم ڪمزورين کي درست ڪري سگهجي؛ ورجن اپڊيٽس دوران سڌي ۽ اڻ سڌي انحصار جو هڪ تيز ۽ ڪارآمد جائزو وٺڻ لاءِ ڪافي ثبوت هجي ته اهي مالويئر سان ڀريل نه آهن. سافٽ ويئر جي تعمير جيڪي ڄاتل سڃاتل خراب حصن تي ڀاڙين ٿا انهن کي بلاڪ ڪيو وڃي. ۽ سڀني کي لاڳو ڪيو وڃي.
جڏهن ممڪن هجي ته ورجن پننگ استعمال ڪريو، ڇاڪاڻ ته اهو تعميرات کي وڌيڪ ٻيهر پيدا ڪرڻ جي قابل بڻائي ٿو. ڪنٽرول ٿيل، دستي طور تي منظور ٿيل ورجن بمپس سان ورجن پننگ، ۽ مددگار ٽيڪنالاجي جي مدد سان، کي جائزو وٺڻ گهرجي ته اپڊيٽ مالويئر آڻيندي آهي يا سافٽ ويئر کي ٽوڙيندي آهي، ۽ مالويئر انفيڪشن کان بچڻ سان ڪمزورين کي درست ڪرڻ لاءِ اپڊيٽ کي ملائي ٿي. ٽولنگ هتي مدد ڪري سگهي ٿي، (1) ترجيح ڏيڻ سان ته ڪهڙيون ڪمزوريون واقعي اهم آهن (پهچ ۽ استحصال لائق، حملي آورن پاران نشانو بڻجڻ جي وڏي خطري سان)، (2) ٽارگيٽ ورزن چونڊڻ سان جيڪي موجوده جزو جي استعمال سان مطابقت رکن ٿا ۽ سافٽ ويئر کي نه ٽوڙين ٿا، (3) ٽارگيٽ ورزن چونڊڻ سان جيڪي خراب رويي تي مشتمل نه آهن، ۽ (4) سڌي ۽ اڻ سڌي انحصار لاءِ ورزن اپڊيٽ کي هڪ سنيپ بڻائيندي، مينيفيسٽ فائلن ۾ تبديليون تجويز ڪندي جيڪي جلدي منظور ٿي سگهن ٿيون. قدم (3) کي خراب حصن بابت مخصوص معلومات جي ضرورت آهي جيترو ممڪن ٿي سگهي انهن جي اشاعت جي وقت جي ويجهو.
انحصار کي اپڊيٽ ڪرڻ جو هي عمل هجڻ گهرجي لاڳو ٿيو ۽ تصديق ٿيل سڀني هنڌن تي. عمل کي دستاويزي شڪل ڏيڻ گهرجي، ۽ سڀني ملوث ڌرين کي تربيت ڏني وڃي، ڇاڪاڻ ته اڪثر ڪري ترقي ۽ سافٽ ويئر جي تعمير/تعمير کي خارجي بڻايو ويندو آهي. CI/CD pipelines کي ان مطابق تبديل ڪيو وڃي، ته جيئن آٽوميشن ڪنهن خراب اڻ سڌي انحصار کي بلڊ ۾ سلپ ٿيڻ جي اجازت نه ڏئي: guardrails جيڪڏهن ڪنهن انحصار ۾ امڪاني مالويئر جا ڪافي ثبوت آهن ته بلڊ کي بلاڪ ڪرڻ تجويز ڪيل طريقو آهي.
جيڪڏهن توهان جي تنظيم وٽ هڪ اندروني رجسٽري آهي جيڪا اجازت ڏنل جزو ورزن کي رکڻ لاءِ سيڪيورٽي پراڪسي طور ڪم ڪري ٿي، ته پوءِ توهان کي گهربل جزو کي الاؤنس لسٽ ۾ شامل ڪرڻ کان اڳ ان جي جانچ ڪرڻ لاءِ خراب حصن (ٻين معيارن کان علاوه) تي انٽيليجنس حاصل ڪرڻ گهرجي.
حفاظت سان اوپن سورس سافٽ ويئر استعمال ڪرڻ آسان ناهي، ۽ مالويئر فيڪٽر کي مڪمل طور تي حساب ۾ رکڻ گهرجي، ساڳئي ڪوشش سان ڪمزوري کي سنڀالڻ ۾.
آخري فائنل نوٽ: ماخذ جي اصليت، سافٽ ويئر جي تصديق جي صورت ۾، جزو جي تعمير وقت پيدا ٿيل، آرٽيڪل (ڪمپوننٽ ٽاربال) کي ذريعن ۽ تعمير جي عمل سان ٽريڪ ڪرڻ جي ڪوشش ۾ هڪ ٻيو اهم ٽڪرو آهي جيڪو ان کي پيدا ڪيو. نوٽ ڪريو ته سورس سنيپ شاٽ + بلڊ ماحول ۽ لاڳاپيل سافٽ ويئر آرٽيفيڪٽ (قابل اعتماد بلڊ سسٽم پاران دستخط ٿيل) جي وچ ۾ هي لنڪ هر هڪ کي روڪي نٿو سگهي ته جزو ۾ خراب رويي شامل ناهي، پر خراب ماڻهن لاءِ مالويئر کي انجيڪٽ ڪرڻ ڏکيو بڻائي ٿو. ۽ اوپن سورس اجزاء کي استعمال ڪرڻ لاءِ پرووننس تصديق کي هڪ عام ضرورت بڻائڻ ۾ گهڻو وقت لڳندو، ۽ صرف تازو اين پي ايم ۾ شامل ڪيو ويو. انهن قابل اعتماد بلڊ ۽ ڊيپلائي سسٽم کي ٽيمپر پروف بڻائڻ، يا بلڊ ۾ ڪنهن به ٽيمپرنگ جي ڳولا کي فعال ڪرڻ هڪ مختلف ڪهاڻي آهي، هن پوسٽ جي دائري کان ٻاهر.
وڌيڪ پڙهڻ
ايندڙ قسط اوپن سورس خراب پيڪيجز: زائيگيني اپروچ اسان جي لاءِ زائيگيني ۾ اسان جي پيروي ڪيل حڪمت عملي پيش ڪندو مالويئر جي شروعاتي خبرداري (MEW) سسٽم. پبلڪ پيڪيج ۽ تصويري رجسٽري ۾ نوان پيڪيج ورجن اسڪين ڪيا ويندا آهن ۽ جامد، متحرڪ، صلاحيتن، ۽ لاڳاپيل تجزيي جي ميلاپ کي استعمال ڪندي ثبوت حاصل ڪيا ويندا آهن. ثبوت، صارف جي شهرت ۽ سورس ڪوڊ ريپوزٽريز ۾ تبديلين جي تاريخ سان گڏ، هڪ جزو جي خودڪار درجه بندي کي اعلي خطري ۽ شايد خراب درجي ۾ تبديل ڪرڻ جي اجازت ڏئي ٿو. سسٽم پيڪيجز مان گڏ ڪيل ماضي جي ثبوتن مان سکي ٿو ته جيئن غلط مثبت کي گهٽ ۾ گهٽ ڪري سگهجي.
سبسڪرائب ٿيل تنظيمون انهن حصن لاءِ هڪ ڊيڄاريندڙ اطلاع حاصل ڪن ٿيون جيڪي اهي استعمال ڪري رهيا آهن، سڌي يا اڻ سڌي طرح، جڏهن هڪ خراب ورزن کي درجه بندي ڪيو ويندو آهي. پوءِ اسان جي تجزيه نگارن پاران هڪ دستي تجزيو ڪيو ويندو آهي، جيڪو درجه بندي جي تصديق يا رد ڪري ٿو. تصديق ٿيل مالويئر لاءِ، عوامي رجسٽري کي اطلاع ڏنو ويندو آهي ته جيئن اهو پنهنجو تجزيو ڪري سگهي ۽ عام طور تي خراب ورزن کي هٽائي سگهي يا اضافي ڪارروائي ڪري سگهي، جهڙوڪ سوال ۾ استعمال ڪندڙ اڪائونٽ کي بلاڪ ڪرڻ يا هٽائڻ.
اسين وضاحت ڪنداسين ته اسان ڪيئن NPM، PyPI، GitHub، ۽ اوپن سورس ايڪو سسٽم ۾ ٻين اهم انفراسٽرڪچر جي مدد ڪري رهيا آهيون ته جيئن هڪ نئون خراب جزو شايع ٿيڻ تائين فعال رهي جيستائين ان جي تصديق نه ٿئي ۽ رجسٽري مان هٽايو وڃي. ۽ ڪيئن تنظيمون MEW سسٽم مان فائدو حاصل ڪري سگهن ٿيون ته جيئن اوپن سورس حصن کي شامل ڪندڙ سافٽ ويئر سپلائي چين حملن جي خلاف تمام بهتر تحفظ حاصل ڪري سگهجي.
- [1] ڪنهن به طرح، ڪمپونينٽ جي استعمال ڪندڙن کي اهو جانچڻ جي ضرورت آهي ته ڪمپونينٽ ٽاربال ڪٿي ڪيش ٿيل آهي يا رجسٽر ٿيل آهي، مثال طور اندروني رجسٽري ۾، ته جيئن بيماري ختم ٿي وڃي.
- [2] پيڪيج ٿيل جزو ۾ هڪ مينيفيسٽ شامل آهي جيڪو پنهنجي مواد ۽ ميٽا ڊيٽا، ذريعو يا مرتب ڪيل ڪوڊ، انسٽاليشن اسڪرپٽ، ۽ اضافي شيون جهڙوڪ ٽيسٽ سوئيٽس جو اعلان ڪري ٿو، هڪ پيڪنگ فارميٽ جي مطابق ۽ عام طور تي ڪمپريسڊ فارم ۾. ان کي "ڪمپوننٽ ٽاربال" سڏيو ويندو آهي.
- [3] جيتوڻيڪ خراب ڪندڙ عملدار رجسٽري ۾ خرابي جي ڪري شايع ٿيل جزو کي تبديل ڪري سگهي ٿو، هڪ سادي پراڻي ڪرپٽوگرافڪ ڊائجسٽ تجزيو ٿيڻ کان پوءِ ٽاربال ۾ ڪنهن به تبديلي کي ڳولي سگهي ٿو.
- [4] ياد رکو ته ڪجهه خراب ڪمپونينٽ انسٽاليشن وقت هلندا آهن، تنهن ڪري اهو ڊولپر نوڊس کي متاثر ڪري سگهي ٿو جيڪي اڻڄاڻائيءَ ۾ "npm install X" کي X سان گڏ هڪ خراب ڪمپونينٽ هلائيندا آهن.




