DevSecOps جو خوف ۽ نفرت

اسان وٽ 2 ڪوڊ اينالائيزر، 4 متحرڪ جانچ جا اوزار، اسان جا پنهنجا دستڪاري ۽ 250 اسڪرپٽ هئا. اهو نه آهي ته اهو سڀ ڪجهه موجوده عمل ۾ گهربل آهي، پر هڪ دفعو توهان DevSecOps تي عمل ڪرڻ شروع ڪيو، توهان کي آخر تائين وڃڻو پوندو.

DevSecOps جو خوف ۽ نفرت

ذريعو. ڪردار ٺاهيندڙ: جسٽن رولينڊ ۽ دان هارمون.

SecDevOps ڇا آهي؟ DevSecOps بابت ڇا؟ اختلاف ڇا آهن؟ ايپليڪيشن سيڪيورٽي - اهو ڇا آهي؟ ڪلاسيڪل انداز هاڻي ڪم ڇو نٿو ڪري؟ انهن سڀني سوالن جا جواب ڄاڻي ٿو يوري شبالين کان تلوار مڇي سيڪيورٽي. يوري هر شيءِ جو تفصيل سان جواب ڏيندو ۽ ڪلاسيڪل ايپليڪيشن سيڪيورٽي ماڊل کان DevSecOps پروسيس ۾ منتقلي جي مسئلن جو تجزيو ڪندو: ڪيئن صحيح طريقي سان محفوظ ترقي واري عمل جي انضمام کي DevOps پروسيس ۾ داخل ڪيو وڃي ۽ ڪنهن به شيءِ کي ٽوڙي نه ، بنيادي مرحلن مان ڪيئن گذرڻو. حفاظتي جاچ جا، ڪهڙا اوزار استعمال ڪري سگھجن ٿا، ۽ اهي ڪهڙا مختلف آهن ۽ انهن کي صحيح طريقي سان ترتيب ڏيڻ لاءِ نقصانن کان بچڻ لاءِ.


اسپيڪر بابت: يوري شبالين - ڪمپني ۾ چيف سيڪيورٽي معمار تلوار مڇي سيڪيورٽي. ايس ايس ڊي ايل جي عمل درآمد لاءِ ذميوار، ايپليڪيشن تجزياتي اوزار جي مجموعي انضمام لاءِ گڏيل ترقي ۽ ٽيسٽنگ ايڪو سسٽم ۾. معلومات جي حفاظت ۾ 7 سالن جو تجربو. Alfa-Bank، Sberbank ۽ Positive Technologies تي ڪم ڪيو، جيڪو سافٽ ويئر ٺاهي ٿو ۽ خدمتون مهيا ڪري ٿو. بين الاقوامي ڪانفرنس ۾ اسپيڪر ZerONights، PHDays، RISSPA، OWASP.

ايپليڪيشن سيڪيورٽي: اهو ڇا آهي؟

درخواست جي حفاظت - هي سيڪيورٽي سيڪشن آهي جيڪو ايپليڪيشن سيڪيورٽي لاء ذميوار آهي. اهو انفراسٹرڪچر يا نيٽ ورڪ سيڪيورٽي تي لاڳو نٿو ٿئي، بلڪه ان تي جيڪو اسان لکون ٿا ۽ جيڪي ڊولپر ڪم ڪري رهيا آهن - اهي ئي ايپليڪيشن جون خاميون ۽ ڪمزوريون آهن.

منزل SDL يا SDLC - سيڪيورٽي ترقي جي زندگي - Microsoft پاران ٺاهيل. ڊراگرام ڏيکاري ٿو معياري SDLC ماڊل، جنهن جو بنيادي ڪم ترقي جي هر مرحلي تي سيڪيورٽي جي شموليت آهي، ضرورتن کان وٺي ڇڏڻ ۽ پيداوار تائين. Microsoft محسوس ڪيو ته صنعت ۾ تمام گھڻا ڪيڙا آھن، انھن مان گھڻا آھن ۽ ان بابت ڪجھھ ڪرڻ گھرجي، ۽ ھنن اھو طريقه ڪار تجويز ڪيو، جيڪو ڪيننيڪل بڻجي ويو آھي.

DevSecOps جو خوف ۽ نفرت

ايپليڪيشن سيڪيورٽي ۽ ايس ايس ڊي ايل جو مقصد نقصانن کي ڳولڻ نه آهي، جيئن عام طور تي مڃيو وڃي ٿو، پر انهن جي واقعن کي روڪڻ لاء. وقت گذرڻ سان گڏ، مائيڪروسافٽ جي اصولي طريقي کي بهتر ڪيو ويو آهي، ترقي ڪئي وئي آهي، ۽ متعارف ڪرايو ويو آهي هڪ تمام گهڻي، وڌيڪ تفصيلي ڊائيو.

DevSecOps جو خوف ۽ نفرت

Canonical SDLC مختلف طريقن ۾ تمام تفصيلي آهي - OpenSAMM، BSIMM، OWASP. طريقا مختلف آهن، پر عام طور تي ساڳيا.

بلڊنگ سيڪيورٽي پختگي ماڊل ۾

مون کي تمام گهڻو پسند آهي بي ايس آءِ ايم ايم - بلڊنگ سيڪيورٽي پختگي ماڊل ۾. طريقيڪار جو بنياد ايپليڪيشن سيڪيورٽي پروسيس کي 4 ڊومينز ۾ ورهايو ويو آهي: گورننس، انٽيليجنس، ايس ايس ڊي ايل ٽچ پوائنٽس ۽ ڊيپلائيمينٽ. هر ڊومين ۾ 12 طريقا آهن، جن کي 112 سرگرمين جي طور تي پيش ڪيو ويو آهي.

DevSecOps جو خوف ۽ نفرت

112 سرگرمين مان هر هڪ آهي 3 پختگي جي سطح: شروعاتي، وچولي ۽ ترقي يافته. توھان پڙھي سگھوٿا سڀ 12 عمل سيڪشن جي حساب سان، شيون چونڊيو جيڪي توھان لاءِ اھم آھن، ڄاڻو ته انھن کي ڪيئن لاڳو ڪجي ۽ تدريجي طور تي عناصر شامل ڪريو، مثال طور، جامد ۽ متحرڪ ڪوڊ تجزيو يا ڪوڊ جو جائزو. توهان هڪ منصوبو لکو ۽ آرام سان ان جي مطابق ڪم ڪريو جيئن چونڊيل سرگرمين تي عمل درآمد جي حصي طور.

ڇو DevSecOps

DevOps هڪ عام، وڏو عمل آهي جنهن ۾ سيڪيورٽي کي حساب ۾ رکڻ گهرجي.

اصل ۾ DevOps سيڪيورٽي جاچ ۾ ملوث. عملي طور تي، سيڪيورٽي ٽيمن جو تعداد هاڻي جي ڀيٽ ۾ تمام ننڍو هو، ۽ انهن عمل ۾ شرڪت ڪندڙن جي طور تي نه، پر هڪ ڪنٽرول ۽ نگران اداري جي طور تي ڪم ڪيو جيڪو ان تي گهرجون لاڳو ڪري ٿو ۽ رليز جي آخر ۾ مصنوعات جي معيار کي چيڪ ڪري ٿو. هي هڪ شاندار طريقو آهي جنهن ۾ سيڪيورٽي ٽيمون ترقي کان ڀت جي پويان هئا ۽ عمل ۾ حصو نه ورتو.

DevSecOps جو خوف ۽ نفرت

بنيادي مسئلو اهو آهي ته معلومات سيڪيورٽي ترقي کان الڳ آهي. عام طور تي هي ڪجهه قسم جو معلوماتي سيڪيورٽي سرڪٽ هوندو آهي ۽ ان ۾ 2-3 وڏا ۽ قيمتي اوزار هوندا آهن. هر ڇهن مهينن ۾ هڪ ڀيرو، ماخذ ڪوڊ يا ايپليڪيشن جنهن کي جانچڻ جي ضرورت آهي اچي ٿو، ۽ سال ۾ هڪ ڀيرو اهي پيدا ڪيا ويندا آهن پينٽسٽ. اهو سڀ ڪجهه هن حقيقت ڏانهن وڌي ٿو ته صنعت لاءِ ڇڏڻ جي تاريخ دير ٿي وئي آهي، ۽ ڊولپر خودڪار اوزارن مان وڏي تعداد ۾ ڪمزورين کي سامهون رکي ٿو. اهو سڀ ڪجهه جدا ڪرڻ ۽ مرمت ڪرڻ ناممڪن آهي، ڇاڪاڻ ته گذريل ڇهن مهينن جي نتيجن کي ترتيب نه ڏنو ويو آهي، پر هتي هڪ نئين بيچ آهي.

اسان جي ڪمپني جي ڪم جي دوران، اسان ڏسون ٿا ته سيڪيورٽي سڀني علائقن ۽ صنعتن ۾ سمجهي ٿي ته اهو وقت آهي پڪڙڻ ۽ ترقي سان هڪ ئي ڦيٿي تي. ڄائل. DevSecOps paradigm بلڪل چست ترقي واري طريقي سان ٺهڪي اچي ٿو، هر رليز ۽ ورهاڱي ۾ عمل درآمد، حمايت ۽ شموليت.

DevSecOps جو خوف ۽ نفرت

DevSecOps ڏانهن منتقلي

سيڪيورٽي ڊولپمينٽ لائف سائيڪل ۾ سڀ کان اهم لفظ آهي "عمل". توهان کي اهو سمجهڻ گهرجي ته توهان اوزار خريد ڪرڻ بابت سوچڻ کان پهريان.

DevOps عمل ۾ صرف اوزار شامل ڪرڻ ڪافي نه آهي- عمل جي شرڪت ڪندڙن جي وچ ۾ رابطي ۽ سمجھڻ ضروري آهي.

ماڻهو وڌيڪ اهم آهن، اوزار نه.

گهڻو ڪري، هڪ محفوظ ترقي جي عمل جي منصوبابندي هڪ اوزار چونڊڻ ۽ خريد ڪرڻ سان شروع ٿئي ٿي، ۽ اوزار کي موجوده عمل ۾ ضم ڪرڻ جي ڪوششن سان ختم ٿئي ٿي، جيڪي ڪوششون جاري آهن. اهو بدقسمتي نتيجن جي ڪري ٿي، ڇاڪاڻ ته سڀني اوزارن جون پنهنجون خاصيتون ۽ حدون آهن.

هڪ عام ڪيس اهو آهي جڏهن سيڪيورٽي ڊپارٽمينٽ چونڊيو هڪ سٺو، قيمتي اوزار وسيع صلاحيتن سان، ۽ ڊولپرز وٽ آيو ته ان کي پروسيس ۾ ضم ڪرڻ لاء. پر اهو ڪم نٿو ڪري - اهو عمل اهڙي طرح ترتيب ڏنو ويو آهي ته اڳ ۾ ئي خريد ڪيل اوزار جون حدون موجوده نمونن ۾ مناسب نه هجن.

پهرين، بيان ڪريو ته ڪهڙو نتيجو توهان چاهيو ٿا ۽ اهو عمل ڪهڙو نظر ايندو. اهو عمل ۾ اوزار ۽ حفاظت جي ڪردار کي سمجهڻ ۾ مدد ڪندو.

جيڪو اڳ ۾ ئي استعمال ۾ آهي ان سان شروع ڪريو

قيمتي اوزار خريد ڪرڻ کان پهريان، ڏسو ته توهان وٽ ڇا آهي. هر ڪمپني کي ترقي لاءِ حفاظتي گهرجون هونديون آهن، چيڪ آهن، پينٽسٽس- ڇو نه انهن سڀني کي هڪ اهڙي شڪل ۾ تبديل ڪيو وڃي جيڪا هر ڪنهن لاءِ سمجھي ۽ آسان هجي؟

عام طور تي گهرجون هڪ ڪاغذ Talmud آهن جيڪي هڪ شيلف تي ڪوڙ. اتي هڪ ڪيس هو جڏهن اسان پروسيس کي ڏسڻ لاء هڪ ڪمپني وٽ آيا ۽ سافٽ ويئر لاء سيڪيورٽي گهرجن کي ڏسڻ لاء چيو. ماهرن جيڪو هن سان معاملو ڪيو، هڪ ڊگهو وقت ڳولي رهيو هو:

- هاڻي، نوٽس ۾ ڪٿي هڪ رستو هو جتي هي دستاويز ڪوڙ آهي.

نتيجي طور، اسان کي هڪ هفتي بعد دستاويز ملي ٿي.

ضرورتن، چيڪن ۽ ٻين شين لاءِ، هڪ صفحو ٺاهيو مثال طور. سنگم - اهو هر ڪنهن لاء آسان آهي.

جيڪو توهان وٽ آهي ان کي ٻيهر فارميٽ ڪرڻ آسان آهي ۽ ان کي استعمال ڪرڻ شروع ڪرڻ لاءِ.

سيڪيورٽي چيمپئن استعمال ڪريو

عام طور تي، هڪ سراسري ڪمپني ۾ 100-200 ڊولپرز، اتي هڪ سيڪيورٽي ماهر آهي جيڪو ڪيترن ئي ڪمن کي انجام ڏئي ٿو ۽ جسماني طور تي هر شي کي جانچڻ جو وقت نه آهي. جيتوڻيڪ هو پنهنجي بهترين ڪوشش ڪري ٿو، هو اڪيلو اهو سڀ ڪوڊ چيڪ نه ڪندو جيڪو ترقي ٺاهي ٿو. اهڙين حالتن لاء، هڪ تصور ترقي ڪئي وئي آهي - سيڪيورٽي چيمپئنز.

سيڪيورٽي چيمپيئن اهي ماڻهو آهن جيڪي ترقياتي ٽيم جي اندر آهن جيڪي توهان جي پيداوار جي حفاظت ۾ دلچسپي رکن ٿا.

DevSecOps جو خوف ۽ نفرت

سيڪيورٽي چيمپئن ترقياتي ٽيم ۾ هڪ داخلا نقطو آهي ۽ هڪ سيڪيورٽي مبشر هڪ ۾ شامل ڪيو ويو آهي.

عام طور تي، جڏهن هڪ سيڪيورٽي ماهر هڪ ترقياتي ٽيم وٽ اچي ٿو ۽ ڪوڊ ۾ هڪ غلطي جي نشاندهي ڪري ٿو، هن کي حيران ڪندڙ جواب ملي ٿو:

- ۽ توهان ڪير آهيو؟ مان توهان کي پهريون ڀيرو ڏسي رهيو آهيان. مون سان سڀ ڪجهه ٺيڪ آهي - منهنجي سينيئر دوست مون کي ڪوڊ جي نظرثاني تي ”لاڳو“ ڏنو، اسان اڳتي وڌون ٿا!

اها هڪ عام صورتحال آهي، ڇاڪاڻ ته اتي گهڻو وڌيڪ اعتماد آهي سينيئرن يا صرف ٽيمن تي جن سان ڊولپر مسلسل ڪم تي ۽ ڪوڊ جي نظرثاني ۾ رابطو ڪري ٿو. جيڪڏهن، سيڪيورٽي آفيسر جي بدران، سيڪيورٽي چيمپئن غلطي ۽ نتيجن جي نشاندهي ڪري ٿو، ته پوء هن جي ڳالهه وڌيڪ وزن هوندي.

انهي سان گڏ، ڊولپرز ڄاڻن ٿا انهن جو ڪوڊ ڪنهن به سيڪيورٽي ماهر کان بهتر. هڪ شخص لاءِ جنهن وٽ گهٽ ۾ گهٽ 5 منصوبا آهن هڪ جامد تجزياتي اوزار ۾، اهو عام طور تي تمام ضروري آهي ياد رکڻ ڏکيو آهي. سيڪيورٽي چيمپيئن انهن جي پيداوار کي ڄاڻن ٿا: ڪهڙي شيء سان لهه وچڙ ۾ اچي ٿو ۽ پهرين ڇا ڏسڻ لاء - اهي وڌيڪ اثرائتو آهن.

تنهن ڪري سيڪيورٽي چيمپئن کي لاڳو ڪرڻ ۽ توهان جي سيڪيورٽي ٽيم جي اثر کي وڌائڻ تي غور ڪريو. اهو پڻ خود چيمپيئن لاء مفيد آهي: نئين فيلڊ ۾ پيشه ورانه ترقي، هن جي ٽيڪنيڪل افق کي وڌائڻ، ٽيڪنيڪل، انتظامي ۽ قيادت جي صلاحيتن کي اپڊيٽ ڪرڻ، مارڪيٽ جي قيمت وڌائڻ. هي سماجي انجنيئرنگ جو ڪجهه عنصر آهي، توهان جي "اکيون" ترقياتي ٽيم ۾.

جاچ جا مرحلا

پيراڊائيم 20 کان 80 چون ٿا ته 20 سيڪڙو ڪوششون 80 سيڪڙو نتيجا ڏئي ٿي. هي 20٪ ايپليڪيشن تجزياتي عمل آهي جيڪو خودڪار ٿي سگهي ٿو ۽ ٿيڻ گهرجي. اهڙين سرگرمين جا مثال جامد تجزيا آهن - SASTمتحرڪ تجزيو- ڊيسٽ и اوپن سورس ڪنٽرول. آئون توهان کي سرگرمين جي باري ۾ وڌيڪ ٻڌائيندس، ۽ گڏوگڏ اوزارن جي باري ۾، اسان کي عام طور تي ڪهڙيون خاصيتون ملن ٿيون جڏهن انهن کي پروسيس ۾ متعارف ڪرايو وڃي، ۽ اهو ڪيئن ڪجي.

DevSecOps جو خوف ۽ نفرت

اوزار جا بنيادي مسئلا

مان انهن مسئلن کي اجاگر ڪندس جيڪي سڀني اوزارن سان لاڳاپيل آهن ۽ ڌيان جي ضرورت آهي. مان انهن کي وڌيڪ تفصيل سان تجزيو ڪندس ته جيئن انهن کي وڌيڪ ورجائي نه سگهي.

ڊگهو تجزيو وقت. جيڪڏهن جاري ڪرڻ جي عزم کان وٺي سڀني ٽيسٽن ۽ اسيمبليءَ لاءِ 30 منٽ لڳن ٿا، ته پوءِ معلوماتي سيڪيورٽي چيڪن کي هڪ ڏينهن لڳندو. تنهنڪري ڪو به عمل کي سست نه ڪندو. ھن خصوصيت کي اڪائونٽ ۾ وٺو ۽ نتيجو ڪڍو.

اعلي سطحي غلط منفي يا غلط مثبت. سڀئي پراڊڪٽ مختلف آهن، سڀ استعمال ڪن ٿا مختلف فريم ورڪ ۽ انهن جو پنهنجو ڪوڊنگ انداز. مختلف ڪوڊ بيس ۽ ٽيڪنالاجيز تي، اوزار شايد غلط منفي ۽ غلط مثبت جي مختلف سطحن کي ڏيکاري سگھن ٿا. پوءِ ڏسو ته اصل ۾ ڇا آهي توهان جي ڪمپنيون ۽ لاء تنهنجو اپليڪيشن سٺا ۽ قابل اعتماد نتيجا ڏيکاريندو.

موجوده اوزار سان ڪو به انضمام نه آهي. انضمام جي لحاظ کان اوزار ڏسو جيڪي توھان اڳ ۾ ئي استعمال ڪري رھيا آھيو. مثال طور، جيڪڏهن توهان وٽ Jenkins يا TeamCity آهي، چيڪ ڪريو اوزار جي انضمام کي هن سافٽ ويئر سان، ۽ نه GitLab CI سان، جيڪو توهان استعمال نٿا ڪريو.

حسب ضرورت جي کوٽ يا گھڻي پيچيدگي. جيڪڏهن هڪ اوزار وٽ API نه آهي، پوء ان جي ضرورت ڇو آهي؟ هر شي جيڪا انٽرنيٽ ۾ ٿي سگهي ٿي API ذريعي دستياب هجڻ گهرجي. مثالي طور، اوزار کي چيڪ کي ترتيب ڏيڻ جي صلاحيت هجڻ گهرجي.

ڪو به پراڊڪٽ ڊولپمينٽ روڊ ميپ ناهي. ترقي اڃا بيهڻ نه آهي، اسان هميشه نوان فريم ورڪ ۽ افعال استعمال ڪندا آهيون، پراڻي ڪوڊ کي نئين ٻولين ۾ ٻيهر لکندا آهيون. اسان پڪ ڪرڻ چاهيون ٿا ته اسان جيڪو اوزار خريد ڪندا آهيون اهو نئين فريم ورڪ ۽ ٽيڪنالاجي جي حمايت ڪندو. تنهن ڪري، اهو ڄاڻڻ ضروري آهي ته پيداوار حقيقي ۽ صحيح آهي روڊ ميپ ترقي.

خصوصيتن جي مرحلي

اوزار جي خاصيتن کان علاوه، ترقي جي عمل جي خاصيتن کي غور ۾ وٺو. مثال طور، ترقي ۾ رڪاوٽ هڪ عام غلطي آهي. اچو ته ڏسو ته ٻين خاصيتن کي ڪهڙي حساب ۾ ورتو وڃي ۽ سيڪيورٽي ٽيم کي ڇا ڌيان ڏيڻ گهرجي.

ترقي کي نه وڃائڻ ۽ آخري وقت کي ڇڏڻ لاء، ٺاهيو مختلف ضابطا ۽ مختلف اسٽاپ ڏيکارڻ - ڪمزورين جي موجودگي ۾ تعميراتي عمل کي روڪڻ لاء معيار - مختلف ماحول لاء. مثال طور، اسان سمجھون ٿا ته موجوده برانچ ڊولپمينٽ اسٽينڊ يا UAT ڏانهن وڃي ٿي، جنهن جو مطلب آهي ته اسان نٿا رکون ۽ چئون ٿا:

"توهان وٽ هتي ڪمزوريون آهن، توهان اڳتي ڪٿي به نه ويندا!"

هن موقعي تي، اهو ضروري آهي ته ڊولپرز کي ٻڌايو وڃي ته اتي سيڪيورٽي مسئلا آهن جن تي ڌيان ڏيڻ جي ضرورت آهي.

ڪمزورين جي موجودگي وڌيڪ جاچ لاءِ رڪاوٽ نه آهي: دستي، انضمام يا دستور. ٻئي طرف، اسان کي ڪنهن به طرح جي پيداوار جي حفاظت کي وڌائڻ جي ضرورت آهي، ۽ انهي ڪري ته ڊولپرز کي نظرانداز نه ڪن جيڪي اهي محفوظ ڳوليندا آهن. تنهن ڪري، ڪڏهن ڪڏهن اسان اهو ڪندا آهيون: اسٽينڊ تي، جڏهن اهو ترقي واري ماحول ڏانهن وڌايو ويندو آهي، اسان صرف ترقي کي مطلع ڪندا آهيون:

- دوست، توهان کي مسئلا آهن، مهرباني ڪري انهن تي ڌيان ڏيو.

UAT اسٽيج تي اسان ٻيهر ڏيکاريون ڊيڄاريندڙن جي باري ۾، ۽ ڇڏڻ واري اسٽيج تي اسين چئون ٿا:

- دوست، اسان توهان کي ڪيترائي ڀيرا ڊيڄاريو، توهان ڪجهه به نه ڪيو - اسان توهان کي هن سان ٻاهر نه ڏينداسين.

جيڪڏهن اسان ڪوڊ ۽ ڊائنامڪس جي باري ۾ ڳالهايون ٿا، ته اهو ضروري آهي ته صرف انهن خاصيتن ۽ ڪوڊ جي خطرن جي باري ۾ ڏيکاريو ۽ ڊيڄاريو جيڪو صرف هن مضمون ۾ لکيو ويو آهي. جيڪڏهن هڪ ڊولپر هڪ بٽڻ کي 3 پکسلز ذريعي منتقل ڪري ٿو ۽ اسان کيس ٻڌايو ته هن وٽ هڪ SQL انجيڪشن آهي ۽ ان ڪري ان کي فوري طور تي درست ڪرڻ جي ضرورت آهي، اهو غلط آهي. رڳو ڏسو ته هاڻي ڇا لکيو ويو آهي ۽ ايپليڪيشن ۾ اچڻ واري تبديلي تي.

اچو ته چئو ته اسان وٽ هڪ خاص فنڪشنل نقص آهي - جنهن طريقي سان ايپليڪيشن کي ڪم نه ڪرڻ گهرجي: پئسا منتقل نه ڪيا ويا آهن، جڏهن توهان بٽڻ تي ڪلڪ ڪندا آهيو ته ايندڙ صفحي تي ڪا به منتقلي ناهي، يا پيداوار لوڊ نه ٿيندي. سيڪيورٽي خرابيون - اهي ساڳيون خرابيون آهن، پر ايپليڪيشن آپريشن جي لحاظ کان نه، پر سيڪيورٽي ۾.

نه سڀئي سافٽ ويئر معيار جا مسئلا سيڪيورٽي مسئلا آهن. پر سڀ سيڪيورٽي مسئلا سافٽ ويئر جي معيار سان لاڳاپيل آهن. شريف منصور، ايڪسپيڊيا.

جيئن ته سڀئي ڪمزوريون ساڳيون خرابيون آهن، انهن کي ساڳئي جڳهه تي واقع هجڻ گهرجي جيئن سڀني ترقي جي خرابين. تنهن ڪري رپورٽن ۽ خوفناڪ پي ڊي ايف جي باري ۾ وساريو جيڪي ڪو به نه پڙهي.

DevSecOps جو خوف ۽ نفرت

جڏهن مان هڪ ڊولپمينٽ ڪمپني ۾ ڪم ڪري رهيو هوس، مون کي هڪ رپورٽ ملي ٿي جامد تجزياتي اوزارن مان. مون ان کي کوليو، خوفزده ٿي ويو، ڪافي ٺاهي، 350 صفحن تي ٻڌل، ان کي بند ڪيو ۽ ڪم ڪرڻ لڳو. وڏيون رپورٽون مئل رپورٽون آهن. عام طور تي اهي ڪٿي به نه ويندا آهن، خط ڊاهي، وساري، گم ٿي ويا آهن، يا ڪاروبار چوي ٿو ته اهو خطرن کي قبول ڪري ٿو.

ڇا ڪجي؟ اسان صرف تصديق ٿيل خرابين کي تبديل ڪريون ٿا جيڪي اسان کي ترقي لاءِ آسان فارم ۾ مليا آهن، مثال طور، اسان انهن کي جيرا ۾ پوئتي لاگ ۾ رکون ٿا. اسان خرابين کي ترجيح ڏيون ٿا ۽ انھن کي ترجيح جي ترتيب ۾ ختم ڪريون ٿا، فنڪشنل خرابين ۽ امتحان جي خرابين سان گڏ.

جامد تجزيو - SAST

ھي آھي ضعيفات لاءِ ڪوڊ جو تجزيو.، پر اهو ساڳيو ناهي سونار ڪوب. اسان صرف نمونن يا انداز جي جانچ نه ڪندا آهيون. تجزيي ۾ ڪيترائي طريقا استعمال ڪيا ويا آهن: خطرن جي وڻ جي مطابق، مطابق ڊيٽا فلو، ترتيب ڏيڻ واري فائلن جو تجزيو ڪندي. اهو سڀ ڪجهه آهي جيڪو پاڻ ڪوڊ سان تعلق رکي ٿو.

طريقيڪار جا فائدا: ترقي جي شروعاتي مرحلي ۾ ڪوڊ ۾ ڪمزورين جي نشاندهي ڪرڻجڏهن اڃا تائين ڪي به اسٽينڊ يا تيار ٿيل اوزار نه آهن، ۽ وڌندڙ اسڪيننگ جي صلاحيت: ڪوڊ جي ھڪڙي حصي کي اسڪين ڪرڻ جيڪو تبديل ڪيو ويو آھي، ۽ صرف اھو خصوصيت جيڪو اسان ھن وقت ڪري رھيا آھيون، جيڪو اسڪيننگ وقت گھٽائي ٿو.

Минусы - هي ضروري ٻولين جي حمايت جي کوٽ آهي.

ضروري انضمام، جيڪو اوزار ۾ هجڻ گهرجي، منهنجي تابع راءِ ۾:

  • انضمام وارو اوزار: جينڪنز، ٽيم سٽي ۽ گٽلاب CI.
  • ترقي ماحول: Intellij IDEA، Visual Studio. اهو هڪ ڊولپر لاءِ وڌيڪ آسان آهي ته هڪ ناقابل فهم انٽرفيس کي نيويگيٽ نه ڪري جنهن کي اڃا تائين ياد رکڻ جي ضرورت آهي، پر سڀني ضروري انضمام ۽ ڪمزورين کي ڏسڻ لاءِ جيڪي هن پنهنجي ترقي واري ماحول ۾ ڪم جي جڳهه تي صحيح ڳوليا آهن.
  • ڪوڊ جائزو: سونار ڪوب ۽ دستي جائزو.
  • عيب ٽريڪٽر: جيرا ۽ بگزيلا.

تصوير جامد تجزيي جي ڪجهه بهترين نمائندن کي ڏيکاري ٿو.

DevSecOps جو خوف ۽ نفرت

اهو اوزار نه آهي جيڪي اهم آهن، پر عمل، تنهنڪري اتي آهن اوپن سورس حل جيڪي پروسيس جي جاچ لاءِ پڻ سٺا آهن.

DevSecOps جو خوف ۽ نفرت

SAST اوپن سورس وڏي تعداد ۾ ڪمزورين يا پيچيده DataFlows کي نه ڳولي سگهندو، پر اهي ڪري سگهن ٿا ۽ استعمال ٿيڻ گهرجن جڏهن هڪ عمل ٺاهي. اهي اهو سمجهڻ ۾ مدد ڪن ٿا ته اهو عمل ڪيئن ٺاهيو ويندو، ڪير ڪير جواب ڏيندو، ڪير رپورٽ ڪندو، ۽ ڪير رپورٽ ڪندو. جيڪڏهن توهان پنهنجي ڪوڊ جي حفاظت جي تعمير جي شروعاتي مرحلي کي انجام ڏيڻ چاهيو ٿا، استعمال ڪريو اوپن سورس حل.

اهو ڪيئن ضم ٿي سگهي ٿو جيڪڏهن توهان پنهنجي سفر جي شروعات ۾ آهيو ۽ توهان وٽ ڪجهه ناهي: نه CI، نه جينڪنز، نه ٽيم سٽي؟ اچو ته پروسيس ۾ انضمام تي غور ڪريو.

CVS سطح انضمام

جيڪڏهن توهان وٽ آهي Bitbucket يا GitLab، توهان سطح تي ضم ڪري سگهو ٿا سمورو نسخو سسٽم.

واقعي سان - گذارش، عرض. توهان ڪوڊ اسڪين ڪيو ۽ تعمير جي صورتحال ڏيکاري ٿي ته ڇا سيڪيورٽي چيڪ گذري ويو يا ناڪام ٿيو.

رايا. يقينن، راء هميشه گهربل آهي. جيڪڏهن توهان صرف سيڪيورٽي کي پاسي تي ڪيو، ان کي هڪ دٻي ۾ وجھو ۽ ڪنهن کي به ان بابت ڪجهه نه ٻڌايو، ۽ پوء مهيني جي آخر ۾ ڪيچ جو هڪ گروپ اڇلائي ڇڏيو - اهو صحيح ناهي ۽ سٺو ناهي.

ڪوڊ جائزو سسٽم سان انضمام

هڪ دفعو، اسان ڪيترن ئي اهم منصوبن ۾ ٽيڪنيڪل ايپ سيڪ صارف لاءِ ڊفالٽ نظرثاني ڪندڙ طور ڪم ڪيو. ان تي منحصر آهي ته ڇا نئين ڪوڊ ۾ غلطين جي نشاندهي ڪئي وئي آهي يا ڪو به غلطيون نه آهن، نظرثاني ڪندڙ پل جي درخواست تي اسٽيٽس کي سيٽ ڪري ٿو "قبول" يا "ڪم جي ضرورت آهي" - يا ته سڀ ڪجهه ٺيڪ آهي، يا لنڪس جيڪي صحيح طور تي بهتر ٿيڻ جي ضرورت آهي. بهتر ڪرڻ جي ضرورت آهي. انهي ورزن سان انضمام لاءِ جيڪو پيداوار ۾ وڃي رهيو آهي، اسان انفارميشن سيڪيورٽي ٽيسٽ پاس نه ٿيڻ جي صورت ۾ انضمام جي پابندي کي فعال ڪيو آهي. اسان ھن کي دستي ڪوڊ جي نظرثاني ۾ شامل ڪيو، ۽ عمل ۾ ٻين شرڪت ڪندڙن ھن خاص عمل لاءِ حفاظتي حالتون ڏٺيون.

SonarQube سان انضمام

ڪيترائي آهن معيار جو دروازو ڪوڊ جي معيار جي لحاظ کان. اهو هتي ساڳيو آهي - توهان صرف SAST اوزارن لاءِ ساڳيا دروازا ٺاهي سگهو ٿا. اتي به ساڳيو انٽرفيس، ساڳي معيار جو دروازو، صرف ان کي سڏيو ويندو سيڪيورٽي دروازا. ۽ پڻ، جيڪڏهن توهان وٽ هڪ عمل آهي SonarQube استعمال ڪندي، توهان آساني سان گڏ ڪري سگهو ٿا هر شي کي اتي.

CI سطح تي انضمام

هتي هر شيء بلڪل سادو آهي:

  • خودڪار ٽيسٽ سان گڏ، يونٽ ٽيسٽ.
  • ترقي جي مرحلن ذريعي تقسيم: dev، test، prod. ضابطن جا مختلف سيٽ يا مختلف ناڪام حالتون شامل ٿي سگھن ٿيون: اسيمبلي کي روڪيو، اسيمبلي کي نه روڪيو.
  • هم وقت ساز/ هم وقت ساز لانچ. اسان انتظار ڪري رهيا آهيون ته سيڪيورٽي ٽيسٽ ختم ٿيندي يا نه. اهو آهي، اسان صرف انهن کي شروع ڪيو ۽ اڳتي وڌو، ۽ پوء اسان کي اها حيثيت ملي ٿي ته سڀ ڪجهه سٺو آهي يا خراب.

اهو سڀ ڪجهه مڪمل گلابي دنيا ۾ آهي. حقيقي زندگي ۾ اهڙي ڪا به شيء ناهي، پر اسان ڪوشش ڪندا آهيون. سيڪيورٽي چيڪن کي هلائڻ جو نتيجو يونٽ ٽيسٽ جي نتيجن سان ملندڙ جلندڙ هجڻ گهرجي.

مثال طور، اسان هڪ وڏو پروجيڪٽ ورتو ۽ فيصلو ڪيو ته هاڻي اسان ان کي SAST - OK سان اسڪين ڪنداسين. اسان هن پروجيڪٽ کي SAST ۾ وڌايو، ان اسان کي 20 ڪمزوريون ڏنيون ۽ هڪ مضبوط ارادي واري فيصلي سان اسان اهو فيصلو ڪيو ته سڀ ڪجهه ٺيڪ آهي. 000 ڪمزوريون اسان جا ٽيڪنيڪل قرض آهن. اسان قرض کي دٻي ۾ وجهي ڇڏينداسين، اسان ان کي آهستي آهستي صاف ڪنداسين ۽ ٽريڪرن کي خراب ڪرڻ ۾ ڪيڙا شامل ڪنداسين. اچو ته هڪ ڪمپني ڪرائي تي رکون، سڀ ڪجھ پاڻ ڪريو، يا سيڪيورٽي چيمپئن اسان جي مدد ڪريو، ۽ ٽيڪنيڪل قرض گھٽجي ويندو.

۽ نئين ڪوڊ ۾ سڀ نئين اڀرندڙ ڪمزورين کي ختم ڪيو وڃي جيئن هڪ يونٽ يا آٽو ٽيسٽ ۾ غلطيون. نسبتا ڳالهائڻ، اسيمبلي شروع ٿي، اسان ان کي هلائي ڇڏيو، ٻه ٽيسٽ ۽ ٻه سيڪيورٽي ٽيسٽ ناڪام ٿيا. ٺيڪ - اسان وياسون، ڏٺوسين ته ڇا ٿيو، ھڪڙي شيءَ کي مقرر ڪيو، ٻيو ٺھرايو، ان کي ايندڙ ڀيري ڀڄايو - سڀ ڪجھ ٺيڪ ٿي ويو، ڪو نئون نقصان نمودار ٿيو، ڪو امتحان ناڪام ٿيو. جيڪڏهن اهو ڪم وڌيڪ اونهو آهي ۽ توهان کي ان کي چڱيءَ طرح سمجهڻ جي ضرورت آهي، يا ڪمزورين کي درست ڪرڻ ان جي وڏي پرت کي متاثر ڪري ٿو جيڪي هود جي هيٺان آهن: هڪ بگ شامل ڪيو ويو عيب ٽريڪٽر ۾، ان کي ترجيح ڏني وئي ۽ درست ڪيو ويو. بدقسمتي سان، دنيا مڪمل ناهي ۽ ٽيسٽ ڪڏهن ڪڏهن ناڪام ٿي.

سيڪيورٽي دروازي جو هڪ مثال معيار جي دروازي جو هڪ اينالاگ آهي، ڪوڊ ۾ موجود خطرن جي تعداد ۽ تعداد جي لحاظ کان.

DevSecOps جو خوف ۽ نفرتاسان SonarQube سان ضم ٿي ويا آهيون - پلگ ان نصب ٿيل آهي، هر شيء تمام آسان ۽ ٿڌو آهي.

ترقي جي ماحول سان انضمام

انضمام جا اختيار:

  • انجام ڏيڻ کان اڳ ترقياتي ماحول مان اسڪين کي هلائڻ.
  • نتيجا ڏسو.
  • نتيجن جو تجزيو.
  • سرور سان هم وقت سازي.

اھو اھو آھي جيڪو سرور مان نتيجا حاصل ڪرڻ وانگر نظر اچي ٿو.

DevSecOps جو خوف ۽ نفرت

اسان جي ترقي جي ماحول ۾ انٽيليجي IDEA هڪ اضافي شيءِ رڳو ظاهر ٿئي ٿي جيڪا توهان کي ٻڌائي ٿي ته اهڙيون ڪمزوريون اسڪين دوران معلوم ڪيون ويون آهن. توھان فوري طور تي ڪوڊ کي تبديل ڪري سگھو ٿا، سفارشون ڏسو ۽ وهڪرو گراف. اهو سڀ ڊولپر جي ڪم جي جڳهه تي واقع آهي، جيڪو تمام آسان آهي - ٻين لنڪ جي پيروي ڪرڻ جي ڪا ضرورت ناهي ۽ ڪجهه اضافي ڏسڻ جي ضرورت ناهي.

اوپن سورس

هي منهنجو پسنديده موضوع آهي. هرڪو اوپن سورس لائبريريون استعمال ڪري ٿو - ڪچين ۽ سائيڪلن جو هڪ گروپ ڇو لکو جڏهن توهان هڪ تيار ڪيل لائبريري وٺي سگهو ٿا جنهن ۾ سڀ ڪجهه اڳ ۾ ئي لاڳو ٿيل آهي؟

DevSecOps جو خوف ۽ نفرت

يقينن، اهو سچ آهي، پر لائبريريون پڻ ماڻهن جي طرفان لکيون آهن، انهن ۾ پڻ ڪجهه خطرات شامل آهن ۽ اهي نقصان پڻ آهن جيڪي وقتي طور تي، يا مسلسل رپورٽ ڪيا ويندا آهن. تنهن ڪري، ايپليڪيشن سيڪيورٽي ۾ ايندڙ قدم آهي - هي اوپن سورس اجزاء جو تجزيو آهي.

اوپن سورس تجزيو - OSA

اوزار ٽن وڏن مرحلن تي مشتمل آهي.

لائبريرين ۾ ڪمزورين جي ڳولا. مثال طور، اوزار ڄاڻي ٿو ته اسان ڪجهه لائبريري استعمال ڪري رهيا آهيون، ۽ انهي ۾ سي وي اي يا بگ ٽريڪرز ۾ ڪجھ ڪمزوريون آھن جيڪي لائبريري جي ھن ورجن سان لاڳاپيل آھن. جڏهن توهان ان کي استعمال ڪرڻ جي ڪوشش ڪندا، اهو اوزار هڪ ڊيڄاريندڙ جاري ڪندو ته لائبريري خطرناڪ آهي ۽ توهان کي مشورو ڏئي ٿو ته ٻيو نسخو استعمال ڪريو جنهن ۾ نقصان نه هجي.

لائسنس جي صفائي جو تجزيو. اهو خاص طور تي هتي اڃا تائين مشهور ناهي، پر جيڪڏهن توهان ٻاهران ڪم ڪريو ٿا، ته وقت وقت تي توهان اتي ٽيڪس حاصل ڪري سگهو ٿا هڪ اوپن سورس جزو استعمال ڪرڻ لاء جيڪو استعمال يا تبديل نه ٿو ڪري سگهجي. لائسنس يافته لائبريري جي پاليسي جي مطابق، اسان اهو نٿا ڪري سگهون. يا، جيڪڏهن اسان ان کي تبديل ڪيو ۽ ان کي استعمال ڪيو، اسان کي اسان جو ڪوڊ پوسٽ ڪرڻ گهرجي. يقينن، ڪو به پنهنجي پروڊڪٽس جو ڪوڊ شايع ڪرڻ نٿو چاهي، پر توهان پڻ هن کان پاڻ کي بچائي سگهو ٿا.

اجزاء جو تجزيو جيڪي صنعتي ماحول ۾ استعمال ڪيا ويا آھن. اچو ته هڪ فرضي صورتحال جو تصور ڪريون ته اسان آخرڪار ترقي مڪمل ڪئي ۽ اسان جي مائڪرو سروس جو تازو رليز جاري ڪيو. هو اتي شاندار طور تي رهندو آهي - هڪ هفتي، هڪ مهينو، هڪ سال. اسان ان کي گڏ نه ڪندا آهيون، اسان حفاظتي چيڪ نه ڪندا آهيون، سڀ ڪجهه ٺيڪ لڳي ٿو. پر اوچتو، ڇڏڻ کان ٻه هفتا پوء، هڪ نازڪ نقصان ظاهر ٿئي ٿو اوپن سورس جزو ۾، جيڪو اسان هن خاص تعمير ۾ استعمال ڪندا آهيون، صنعتي ماحول ۾. جيڪڏهن اسان رڪارڊ نٿا ڪريون ته اسان ڇا ۽ ڪٿي استعمال ڪندا آهيون، ته پوءِ اسان صرف اهو نقصان نه ڏسندا. ڪجھ اوزارن کي لائبريرين ۾ خطرن جي نگراني ڪرڻ جي صلاحيت آھي جيڪي في الحال صنعت ۾ استعمال ٿيل آھن. اهو تمام مفيد آهي.

Features:

  • ترقي جي مختلف مرحلن لاءِ مختلف پاليسيون.
  • صنعتي ماحول ۾ اجزاء جي نگراني.
  • تنظيم اندر لائبريرين جو ڪنٽرول.
  • مختلف تعميراتي نظام ۽ ٻولين لاءِ سپورٽ.
  • Docker تصويرن جو تجزيو.

صنعت جي اڳواڻن جا ڪجھ مثال جيڪي اوپن سورس تجزيو ۾ مصروف آھن.

DevSecOps جو خوف ۽ نفرت
اهو ئي مفت آهي انحصار- چڪاس OWASP کان. توھان ان کي پھرين مرحلن ۾ چالو ڪري سگھو ٿا، ڏسو ته اھو ڪيئن ڪم ڪري ٿو ۽ اھو ڇا مدد ڪري ٿو. بنيادي طور تي، اهي سڀئي بادل پراڊڪٽس آهن، يا بنياد تي، پر انهن جي بنياد جي پويان اهي اڃا تائين انٽرنيٽ ڏانهن موڪليا ويا آهن. اهي توهان جي لائبريرين کي نه موڪليندا آهن، پر هيش يا پنهنجون پنهنجون قيمتون، جن جو اهي حساب ڪندا آهن، ۽ انهن جي سرور ڏانهن آڱرين جا نشان موڪليندا آهن ته جيئن خطرات جي موجودگي بابت معلومات حاصل ڪن.

انضمام جي عمل

لئبرريءَ جو ڪنٽرول، جيڪي ٻاهرين ذريعن کان ڊائون لوڊ ڪيا ويا آهن. اسان وٽ خارجي ۽ اندروني ذخيرا آهن. مثال طور، ايونٽ سينٽرل Nexus هلائي ٿو، ۽ اسان اهو پڪ ڪرڻ چاهيون ٿا ته اسان جي مخزن ۾ ”نازڪ“ يا ”اعليٰ“ حيثيت سان ڪو به نقصان نه آهي. توهان Nexus Firewall Lifecycle ٽول استعمال ڪندي پراڪسنگ کي ترتيب ڏئي سگهو ٿا ته جيئن اهڙيون خاميون ختم ٿي وڃن ۽ اندروني مخزن ۾ ختم نه ٿين.

CI ۾ انضمام. ساڳئي سطح تي آٽو ٽيسٽ، يونٽ ٽيسٽ ۽ ڊويزن جي ترقي جي مرحلن ۾: dev، test، prod. هر اسٽيج تي، توهان ڪنهن به لائبريري کي ڊائون لوڊ ڪري سگهو ٿا، ڪجھ به استعمال ڪريو، پر جيڪڏهن "نازڪ" حيثيت سان ڪجهه ڏکيو آهي، شايد اهو پيداوار ۾ ڇڏڻ جي اسٽيج تي ڊولپرز جي ڌيان ڏانهن ڌيان ڏيڻ جي قابل آهي.

artifacts سان انضمام: Nexus ۽ JFrog.

ترقي جي ماحول ۾ انضمام. اوزار جيڪي توهان چونڊيندا آهن انهن کي ترقي جي ماحول سان گڏ هجڻ گهرجي. ڊولپر کي لازمي طور تي سندس ڪم جي جڳه کان اسڪيننگ نتيجن تائين رسائي، يا CVS تي ڪم ڪرڻ کان اڳ ضميرن لاءِ ڪوڊ کي اسڪين ڪرڻ ۽ چيڪ ڪرڻ جي صلاحيت هجڻ گهرجي.

سي ڊي انضمام. هي هڪ بهترين خصوصيت آهي جيڪا مون کي واقعي پسند آهي ۽ جنهن بابت مون اڳ ۾ ئي ڳالهايو آهي - صنعتي ماحول ۾ نئين خطرن جي ظاهر ٿيڻ جي نگراني. اهو ڪجهه هن طرح ڪم ڪري ٿو.

DevSecOps جو خوف ۽ نفرت

اسان کي آهي عوامي اجزاء جا ذخيرا - ڪجھ اوزار ٻاهران، ۽ اسان جي اندروني مخزن. اسان چاهيون ٿا ته اهو صرف قابل اعتماد اجزاء تي مشتمل هجي. جڏهن هڪ درخواست پراڪسي ڪندي، اسان چيڪ ڪريون ٿا ته ڊائون لوڊ ڪيل لائبريري کي نقصان نه آهي. جيڪڏهن اها ڪجهه پاليسين جي تحت اچي ٿي جيڪا اسان سيٽ ڪريون ٿا ۽ لازمي طور تي ترقي سان همراه ڪريون ٿا، ته پوءِ اسان ان کي اپلوڊ نه ڪندا آهيون ۽ ٻيو ورزن استعمال ڪرڻ لاءِ چيو ويندو آهي. ان جي مطابق، جيڪڏهن لائبريري ۾ ڪجهه واقعي نازڪ ۽ خراب آهي، ته پوء ڊولپر کي انسٽاليشن اسٽيج تي لائبريري حاصل نه ٿيندي - هن کي هڪ نسخو اعلي يا گهٽ استعمال ڪرڻ ڏيو.

  • تعمير ڪرڻ وقت، اسان چيڪ ڪريون ٿا ته ڪنهن به خراب شيء کي ڦٽو نه ڪيو آهي، ته سڀئي اجزاء محفوظ آهن ۽ ڪو به فليش ڊرائيو تي خطرناڪ شيء نه کڻي آيو آهي.
  • اسان وٽ صرف مخزن ۾ قابل اعتماد اجزاء آهن.
  • جڏهن ترتيب ڏيڻ، اسان هڪ ڀيرو ٻيهر پاڻ کي پيڪيج چيڪ ڪريو ٿا: جنگ، جار، ڊي ايل يا ڊاکر تصوير کي يقيني بڻائڻ لاء ته اهو پاليسي سان عمل ڪري ٿو.
  • صنعت ۾ داخل ٿيڻ وقت، اسان مانيٽر ڪندا آهيون ته صنعتي ماحول ۾ ڇا ٿي رهيو آهي: نازڪ خطرات ظاهر ٿيندا آهن يا ظاهر نه ٿيندا آهن.

متحرڪ تجزيو - DAST

متحرڪ تجزياتي اوزار بنيادي طور تي هر شيء کان مختلف آهن جيڪي اڳ ۾ چيو ويو آهي. هي ايپليڪيشن سان استعمال ڪندڙ جي ڪم جي هڪ قسم جي تقليد آهي. جيڪڏهن هي هڪ ويب ايپليڪيشن آهي، اسان درخواستون موڪليندا آهيون، ڪلائنٽ جي ڪم کي نقل ڪندي، اڳيان بٽڻ تي ڪلڪ ڪريو، فارم مان مصنوعي ڊيٽا موڪليو: اقتباس، بریکٹ، مختلف انڪوڊنگ ۾ ڪردار، ڏسڻ لاء ته ايپليڪيشن ڪيئن ڪم ڪري ٿي ۽ پروسيس ڪيئن ٿئي ٿي. خارجي ڊيٽا.

ساڳيو سسٽم توهان کي اوپن سورس ۾ ٽيمپليٽ جي ڪمزورين کي جانچڻ جي اجازت ڏئي ٿو. جيئن ته DAST کي خبر ناهي ته اسان ڪهڙو اوپن سورس استعمال ڪري رهيا آهيون، اهو صرف "بدڪاري" نمونن کي اڇلائي ٿو ۽ سرور جي جوابن جو تجزيو ڪري ٿو:

- ها، هتي هڪ deserialization مسئلو آهي، پر هتي نه.

ان ۾ وڏا خطرا آهن، ڇو ته جيڪڏهن توهان هي سيڪيورٽي ٽيسٽ ان ئي بينچ تي ڪرايو جنهن سان ٽيسٽ ڪندڙ ڪم ڪن ٿا ته اڻ وڻندڙ ​​شيون ٿي سگهن ٿيون.

  • ايپليڪيشن سرور نيٽ ورڪ تي اعلي لوڊ.
  • ڪوبه انضمام ناهي.
  • تجزيو ٿيل ايپليڪيشن جي سيٽنگن کي تبديل ڪرڻ جي صلاحيت.
  • ضروري ٽيڪنالاجي جي ڪا به حمايت نه آهي.
  • ٺاھڻ ۾ مشڪل.

اسان جي صورتحال هئي جڏهن اسان آخرڪار AppScan لانچ ڪيو: اسان ايپليڪيشن تائين رسائي حاصل ڪرڻ جي ڪوشش ۾ گهڻو وقت گذاريو، 3 اڪائونٽ حاصل ڪيا ۽ خوش هئا - اسان آخرڪار سڀ ڪجهه چيڪ ڪنداسين! اسان هڪ اسڪين شروع ڪيو، ۽ پهرين شيء جيڪا ايپ اسڪين ڪئي اها هئي ايڊمنٽ پينل ۾، سڀني بٽڻن کي ڇڪيو، اڌ ڊيٽا کي تبديل ڪيو، ۽ پوء مڪمل طور تي سرور کي مڪمل طور تي ختم ڪيو. ميل فارم- درخواستون. جاچ سان ترقي چيو:

- دوستو، ڇا توهان مون سان مذاق ڪري رهيا آهيو؟! اسان توهان کي حساب ڏنو، ۽ توهان هڪ موقف قائم ڪيو!

ممڪن خطرن تي غور ڪريو. مثالي طور، معلومات جي حفاظت جي جاچ لاءِ هڪ الڳ اسٽينڊ تيار ڪريو، جيڪو باقي ماحول کان گهٽ ۾ گهٽ ڪنهن نه ڪنهن طرح ڌار ڪيو ويندو، ۽ مشروط طور تي انتظامي پينل کي چيڪ ڪريو، ترجيحي طور تي مينوئل موڊ ۾. هي هڪ پينٽسٽ آهي - اهي باقي سيڪڙو ڪوششون جن تي اسان هاڻي غور نه ڪري رهيا آهيون.

اهو غور ڪرڻ جي قابل آهي ته توهان هن کي لوڊ ٽيسٽ جي اينالاگ طور استعمال ڪري سگهو ٿا. پهرين مرحلي ۾، توهان 10-15 موضوعن سان هڪ متحرڪ اسڪينر کي چالو ڪري سگهو ٿا ۽ ڏسو ته ڇا ٿئي ٿو، پر عام طور تي، عملي طور ڏيکاري ٿو، ڪجھ به سٺو ناهي.

ڪجھ وسيلا جيڪي اسان عام طور تي استعمال ڪندا آهيون.

DevSecOps جو خوف ۽ نفرت

نمايان ڪرڻ جي لائق برپ سوٽ ڪنهن به سيڪيورٽي پروفيشنل لاءِ ”سوئس چاقو“ آهي. هرڪو ان کي استعمال ڪري ٿو ۽ اهو تمام آسان آهي. انٽرپرائز ايڊيشن جو ھڪڙو نئون ڊيمو ورزن ھاڻي جاري ڪيو ويو آھي. جيڪڏهن اڳ ۾ اهو صرف پلگ ان سان اڪيلو اسٽينڊ افاديت هو، هاڻي ڊولپر آخرڪار هڪ وڏو سرور ٺاهي رهيا آهن جنهن مان ڪيترن ئي ايجنٽ کي منظم ڪرڻ ممڪن ٿيندو. هي سٺو آهي، مان توهان کي صلاح ڏيان ٿو ته ان جي ڪوشش ڪريو.

انضمام جي عمل

انضمام تمام سٺو ۽ سادو ٿئي ٿو: ڪامياب تنصيب کان پوء اسڪيننگ شروع ڪريو اسٽينڊ لاء درخواستون ۽ ڪامياب انضمام جي جاچ کان پوء اسڪيننگ.

جيڪڏهن انضمام ڪم نه ٿا ڪن يا اتي اسٽبس ۽ ٺٺوليون ڪم آهن، اهو بيڪار ۽ بيڪار آهي - ڪابه پرواهه ناهي ته اسان ڪهڙي نموني موڪليندا آهيون، سرور اڃا تائين ساڳيو جواب ڏيندو.

  • مثالي طور، هڪ الڳ ٽيسٽ اسٽينڊ.
  • جاچ ڪرڻ کان اڳ، لاگ ان جي ترتيب لکو.
  • انتظامي نظام جي جاچ صرف دستي آهي.

عمل

ٿورڙي عام طور تي عمل جي باري ۾ ۽ خاص طور تي هر اوزار جي ڪم بابت. سڀئي ايپليڪيشنون مختلف آهن - هڪ متحرڪ تجزيي سان بهتر ڪم ڪري ٿو، ٻيو جامد تجزيي سان، ٽيون OpenSource تجزيي سان، پينٽسٽس، يا مڪمل طور تي ٻيو ڪجهه، مثال طور، واقعن سان. Waf.

هر عمل کي ڪنٽرول ڪرڻ جي ضرورت آهي.

اهو سمجهڻ لاءِ ته هڪ عمل ڪيئن ڪم ڪري ٿو ۽ ان کي ڪٿي بهتر ڪري سگهجي ٿو، توهان کي هر شيءِ مان ميٽرڪ گڏ ڪرڻ جي ضرورت آهي جنهن تي توهان حاصل ڪري سگهو ٿا، بشمول پيداوار جي ميٽرڪس، اوزارن مان ميٽرڪس، ۽ خراب ٽريڪرن مان.

ڪا به معلومات مددگار آهي. اهو ضروري آهي ته مختلف زاوين کان ڏسڻ لاء جتي هي يا اهو اوزار بهتر طور تي استعمال ڪيو ويندو آهي، جتي اهو عمل خاص طور تي خراب ٿئي ٿو. اهو ڏسڻ جي قابل ٿي سگھي ٿو ترقي جي جوابي وقتن کي ڏسڻ لاءِ ته ڪٿي وقت جي بنياد تي عمل کي بهتر بڻايو وڃي. وڌيڪ ڊيٽا، وڌيڪ حصا ٺاهي سگھجن ٿا مٿين سطح کان هر عمل جي تفصيل تائين.

DevSecOps جو خوف ۽ نفرت

جيئن ته سڀني جامد ۽ متحرڪ تجزيه نگارن جا پنهنجا API آهن، انهن جا پنهنجا لانچ طريقا، اصول، ڪجهه وٽ شيڊيولر آهن، ٻيا نه آهن - اسان هڪ اوزار لکي رهيا آهيون. AppSec آرڪيسٽرٽر، جيڪو توهان کي اجازت ڏئي ٿو هڪ واحد داخلا پوائنٽ ٺاهڻ جي پوري عمل ۾ پروڊڪٽ مان ۽ ان کي هڪ نقطي مان منظم ڪريو.

مينيجرز، ڊولپرز ۽ سيڪيورٽي انجنيئرن وٽ ھڪڙو داخلا نقطو آھي جتان اھي ڏسي سگھن ٿا ته ڇا ھلي رھيو آھي، اسڪين کي ترتيب ڏيڻ ۽ ھلائڻ، اسڪين جا نتيجا حاصل ڪرڻ، ۽ گھرجون جمع ڪرائڻ. اسان ڪاغذي ڪم کان پري وڃڻ جي ڪوشش ڪري رهيا آهيون، هر شيءِ کي انسان ۾ ترجمو ڪرڻ لاءِ، جيڪو ڊولپمينٽ ذريعي استعمال ڪيو ويندو آهي - صفحن تي سنگم سان اسٽيٽس ۽ ميٽرڪس، جيرا ۾ خرابيون يا مختلف عيب ٽريڪرن ۾، يا CI ۾ هڪ هم وقت ساز/غير مطابقت واري عمل ۾ انضمام. /سي ڊي.

ڪيٻئي جا رستا

اوزار بنيادي شيء نه آهن. پهرين پروسيس ذريعي سوچيو - پوء اوزار لاڳو ڪريو. اوزار سٺا آهن پر قيمتي آهن، تنهنڪري توهان پروسيس سان شروع ڪري سگهو ٿا ۽ ترقي ۽ سيڪيورٽي جي وچ ۾ رابطي ۽ سمجھڻ کي ٺاهي سگهو ٿا. حفاظتي نقطه نظر کان، هر شيءِ کي ”روڪ“ ڪرڻ جي ڪا ضرورت ناهي. ترقي جي نقطه نظر کان، جيڪڏهن ڪا اعليٰ ميگا سپر نازڪ شيءِ آهي، ته پوءِ ان کي ختم ڪرڻ جي ضرورت آهي، ۽ ان مسئلي ڏانهن اکيون بند نه ڪرڻ گهرجن.

پيداوار جي معيار - عام مقصد سيڪيورٽي ۽ ترقي ٻنهي. اسان هڪ ڪم ڪريون ٿا، اسان ڪوشش ڪريون ٿا ته هر شيءِ صحيح طريقي سان ڪم ڪري ۽ ڪو به شهرت جو خطرو يا مالي نقصان نه ٿئي. اهو ئي سبب آهي ته اسان مواصلات کي بهتر بڻائڻ ۽ پيداوار جي معيار کي بهتر بڻائڻ لاءِ هڪ DevSecOps، SecDevOps طريقي کي فروغ ڏيون ٿا.

ان سان شروع ڪريو جيڪو توھان وٽ آھي: گهرجون، فن تعمير، جزوي چيڪ، تربيت، هدايتون. سڀني منصوبن تي فوري طور تي سڀني عملن کي لاڳو ڪرڻ جي ڪا ضرورت ناهي. بار بار منتقل ڪرڻ. ڪو به واحد معيار ناهي - تجربو ۽ ڪوشش ڪريو مختلف طريقا ۽ حل.

معلومات جي حفاظت جي خرابين ۽ فنڪشنل خرابين جي وچ ۾ هڪ برابر نشاني آهي.

هر شي کي خودڪار ڪريوجيڪو حرڪت ڪري ٿو. جيڪو به حرڪت نٿو ڪري، ان کي منتقل ڪريو ۽ ان کي خودڪار ڪريو. جيڪڏهن ڪجهه هٿ سان ڪيو ويندو آهي، اهو عمل جو سٺو حصو نه آهي. شايد اهو ان جو جائزو وٺڻ ۽ ان کي خودڪار ڪرڻ جي قابل آهي.

جيڪڏهن IS ٽيم جو قد ننڍو آهي - سيڪيورٽي چيمپئن استعمال ڪريو.

ٿي سگهي ٿو جنهن بابت مون ڳالهايو آهي اهو توهان کي مناسب نه هوندو ۽ توهان پنهنجي پاڻ سان گڏ ايندا - ۽ اهو سٺو آهي. پر توھان جي عمل جي ضرورتن جي بنياد تي اوزار چونڊيو. اهو نه ڏسو ته ڪميونٽي ڇا ٿو چوي، ته هي اوزار خراب آهي ۽ هي سٺو آهي. ٿي سگهي ٿو سامهون توهان جي پيداوار لاء سچو ٿيندو.

اوزار جي گهرج.

  • گھٽ سطح غلط مثبت.
  • مناسب تجزيو وقت.
  • استعمال جي سهولت.
  • انضمام جي دستيابي.
  • پراڊڪٽ ڊولپمينٽ روڊ ميپ کي سمجھڻ.
  • ڪسٽمائيزنگ اوزار جو امڪان.

Yuri جي رپورٽ DevOpsConf 2018 ۾ هڪ بهترين طور تي چونڊيو ويو. اڃا به وڌيڪ دلچسپ خيالن ۽ عملي ڪيسن کان واقف ٿيڻ لاء، 27 ۽ 28 مئي تي اسڪوڪووو ڏانهن وڃو DevOpsConf اندر فيسٽيول RIT++. اڃا بهتر، جيڪڏهن توهان پنهنجو تجربو حصيداري ڪرڻ لاء تيار آهيو، پوء لاڳو ڪرڻ رپورٽ لاءِ 21 اپريل تائين.

جو ذريعو: www.habr.com

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