ڪمزورين اسڪيننگ ۽ محفوظ ترقي. حصو 1

ڪمزورين اسڪيننگ ۽ محفوظ ترقي. حصو 1

انهن جي پيشه ورانه سرگرمين جي حصي جي طور تي، ڊولپرز، پينٽيسٽرز، ۽ سيڪيورٽي ماهرن کي عمل سان معاملو ڪرڻو پوندو آهي جهڙوڪ Vulnerability Management (VM)، (Secure) SDLC.
انهن جملن جي هيٺان مختلف طريقا ۽ اوزار استعمال ٿيل آهن جيڪي هڪ ٻئي سان جڙيل آهن، جيتوڻيڪ انهن جا استعمال ڪندڙ مختلف آهن.

ٽيڪنيڪل ترقي اڃا تائين ان نقطي تي نه پهچي چڪي آهي جتي هڪ اوزار هڪ شخص کي تبديل ڪري سگهي ٿو انفراسٹرڪچر ۽ سافٽ ويئر جي سيڪيورٽي جو تجزيو ڪرڻ لاء.
اهو سمجهڻ دلچسپ آهي ته اهو ڇو آهي ۽ ڪهڙي مسئلن کي منهن ڏئي ٿو.

پروسيس

Vulnerability مينيجمينٽ جو عمل بنيادي ڍانچي جي سيڪيورٽي ۽ پيچ مينيجمينٽ جي مسلسل نگراني لاءِ ٺهيل آهي.
محفوظ SDLC عمل ("محفوظ ترقي چڪر") ترقي ۽ آپريشن دوران ايپليڪيشن سيڪيورٽي کي برقرار رکڻ لاء ٺهيل آهي.

انهن عملن جو هڪ جهڙو حصو آهي Vulnerability Assessment process - vulnerability assessment, vulnerability scaning.
VM ۽ SDLC اسڪيننگ جي وچ ۾ بنيادي فرق اهو آهي ته پهرين صورت ۾ مقصد ٽئين پارٽي سافٽ ويئر يا ترتيبن ۾ سڃاتل ڪمزورين کي ڳولڻ آهي. مثال طور، ونڊوز جو هڪ پراڻو ورزن يا SNMP لاءِ ڊفالٽ ڪميونٽي اسٽرنگ.
ٻئين صورت ۾، مقصد نه صرف ٽئين پارٽي جي اجزاء (انحصار) ۾، پر بنيادي طور تي نئين پراڊڪٽ جي ڪوڊ ۾ ڪمزورين کي ڳولڻ آهي.

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

هڪ انفراسٽرڪچر اسڪينر اڪثر ڪري ٽائمر سان تبديل ٿي سگهي ٿو، جيئن مون ان کي رکيو آهي avleonov. نقطي اهو آهي ته، خالص طور تي شمارياتي طور تي، توهان سمجهي سگهو ٿا پنهنجي انفراسٽرڪچر کي خطرناڪ جيڪڏهن توهان ان کي اپڊيٽ نه ڪيو آهي، چئو، هڪ مهيني لاء.

اوزار

اسڪيننگ، سيڪيورٽي تجزيي وانگر، بليڪ باڪس يا اڇو باڪس استعمال ڪندي ڪري سگهجي ٿو.

ڪارو دٻو

جڏهن بليڪ باڪس اسڪيننگ، اوزار لازمي طور تي ساڳيو انٽرنيٽ ذريعي خدمت سان ڪم ڪرڻ جي قابل هوندو جنهن ذريعي صارف ان سان ڪم ڪن ٿا.

انفرااسٽرڪچر اسڪينر (Tenable Nessus, Qualys, MaxPatrol, Rapid7 Nexpose, etc.) کليل نيٽ ورڪ بندرگاهن جي ڳولا ڪريو، "بينر" گڏ ڪريو، انسٽال ٿيل سافٽ ويئر جا نسخا طئي ڪريو، ۽ انهن نسخن ۾ موجود نقصانن بابت معلومات لاءِ انهن جي ڄاڻ جو بنياد ڳولهيو. اهي پڻ ترتيب ڏيڻ جي غلطي کي ڳولڻ جي ڪوشش ڪندا آهن جهڙوڪ ڊفالٽ پاسورڊ يا کليل ڊيٽا جي رسائي، ضعيف ايس ايس ايل سيفرز، وغيره.

ويب ايپليڪيشن اسڪينر (Acunetix WVS، Netsparker، Burp Suite، OWASP ZAP، وغيره) پڻ سڃاتل اجزاء ۽ انهن جي ورزن جي سڃاڻپ ڪري سگھن ٿا (مثال طور، CMS، فريم ورڪ، JS لائبريريون). اسڪينر جا مکيه مرحلا گھمڻ ۽ ٻرندڙ آھن.
ڇڪڻ دوران، اسڪينر موجوده ايپليڪيشن انٽرفيس ۽ HTTP پيٽرولن بابت معلومات گڏ ڪري ٿو. fuzzing دوران، ميوٽيٽيڊ يا ٺاهيل ڊيٽا سڀني معلوم ٿيل پيٽرولن ۾ داخل ڪئي وئي آهي ته جيئن هڪ غلطي پيدا ڪرڻ ۽ هڪ خطري کي ڳولڻ لاء.

اهڙا ايپليڪيشن اسڪينر DAST ۽ IAST طبقن سان تعلق رکن ٿا - متحرڪ ۽ انٽرايڪٽو ايپليڪيشن سيڪيورٽي ٽيسٽنگ، ترتيب سان.

اڇو باڪس

وائيٽ باڪس اسڪيننگ سان وڌيڪ اختلاف آهن.
VM جي عمل جي حصي جي طور تي، اسڪينرز (Vulners, Incecurity Couch, Vuls, Tenable Nessus, etc.) اڪثر ڪري تصديق ٿيل اسڪين کي انجام ڏيڻ سان سسٽم تائين رسائي ڏني ويندي آهي. اهڙيء طرح، اسڪينر انسٽال ٿيل پيڪيج نسخن ۽ ترتيبن جي پيٽرولن کي سڌو سنئون سسٽم مان ڊائون لوڊ ڪري سگهي ٿو، انهن کي نيٽ ورڪ سروس بينر مان اندازو لڳائڻ کان سواء.
اسڪين وڌيڪ صحيح ۽ مڪمل آهي.

جيڪڏهن اسان ايپليڪيشنن جي وائيٽ باڪس اسڪيننگ (CheckMarx، HP Fortify، Coverity، RIPS، FindSecBugs، وغيره) بابت ڳالهايون ٿا، ته پوءِ اسين عام طور تي جامد ڪوڊ تجزيو ۽ SAST ڪلاس جي مناسب اوزارن جي استعمال بابت ڳالهائي رهيا آهيون - Static Application Security Testing.

پريشاني

اسڪيننگ سان ڪيترائي مسئلا آهن! مون کي ذاتي طور تي انھن مان گھڻا سان معاملو ڪرڻو پوندو آھي ھڪڙي خدمت مهيا ڪرڻ جي ھڪڙي حصي جي طور تي بلڊنگ اسڪيننگ ۽ محفوظ ڊولپمينٽ پروسيسز، ۽ گڏوگڏ جڏھن سيڪيورٽي تجزيي جي ڪم کي منظم ڪرڻ لاء.

مان مسئلن جي 3 مکيه گروپن کي اجاگر ڪندس، جيڪي مختلف ڪمپنين ۾ انجنيئرن ۽ معلوماتي سيڪيورٽي سروسز جي سربراهن سان ڳالهين ذريعي تصديق ٿيل آهن.

ويب ايپليڪيشن اسڪيننگ جا مسئلا

  1. عملدرآمد جي مشڪل. اسڪينرز کي هر ايپليڪيشن لاءِ ترتيب ڏيڻ، ترتيب ڏيڻ، ڪسٽمائيز ڪرڻ، اسڪين لاءِ ٽيسٽ ماحول مختص ڪرڻ ۽ ان کي اثرائتو ٿيڻ لاءِ CI/CD عمل ۾ لاڳو ڪرڻ جي ضرورت آهي. ٻي صورت ۾، اهو هڪ بيڪار رسمي طريقو هوندو جيڪو صرف غلط مثبت پيدا ڪندو
  2. اسڪين جي مدت. جيتوڻيڪ 2019 ۾، اسڪينر انٽرفيس کي ڊيپليٽ ڪرڻ جو خراب ڪم ڪن ٿا ۽ هر هڪ تي 10 پيرا ميٽرز سان هزار صفحن کي اسڪين ڪرڻ ۾ ڏينهن گذاري سگهن ٿا، انهن کي مختلف سمجهي، جيتوڻيڪ ساڳيو ڪوڊ انهن لاءِ ذميوار آهي. ساڳئي وقت، ترقي جي چڪر جي اندر پيداوار تي ترتيب ڏيڻ جو فيصلو جلدي ڪيو وڃي
  3. ناقص سفارشون. اسڪينر عام طور تي عام سفارشون ڏين ٿا، ۽ ڊولپر هميشه انهن کان جلدي سمجهي نه ٿو سگهي ته خطري جي سطح کي ڪيئن گھٽائڻ، ۽ سڀ کان اهم، ڇا اهو ڪرڻ جي ضرورت آهي، يا اهو اڃا تائين خوفناڪ ناهي.
  4. ايپليڪيشن تي تباهي وارو اثر. اسڪينر شايد هڪ ايپليڪيشن تي DoS حملو چڱيءَ طرح ڪري سگهن ٿا، ۽ پڻ وڏي تعداد ۾ ادارا ٺاهي سگهن ٿا يا موجوده کي تبديل ڪري سگهن ٿا (مثال طور، هڪ بلاگ تي لکين تبصرا ٺاهيو)، تنهنڪري توهان کي پيداوار ۾ بغير سوچ ويچار سان اسڪين شروع نه ڪرڻ گهرجي.
  5. گھٽ معيار جي خطري جي سڃاڻپ. اسڪينر عام طور تي پيل لوڊ جي هڪ مقرر ڪيل صف کي استعمال ڪندا آهن ۽ آساني سان هڪ خطري کي مس ڪري سگھن ٿا جيڪو ايپليڪيشن جي سڃاتل رويي جي منظر نامي ۾ مناسب نه هجي.
  6. اسڪينر ايپليڪيشن جي ڪمن کي نٿو سمجهي. اسڪينر پاڻ کي خبر ناهي ته "انٽرنيٽ بئنڪنگ"، "ادائيگي"، "تبصرو" ڇا آهن. انهن لاءِ، صرف لنڪس ۽ پيرا ميٽرز آهن، تنهن ڪري ممڪن ڪاروباري منطق جي ڪمزورين جو هڪ وڏو پرت مڪمل طور تي بي نقاب رهي ٿو؛ اهي ڊبل رائٽ آف ڪرڻ، ID ذريعي ڪنهن ٻئي جي ڊيٽا تي جاسوسي ڪرڻ، يا گولنگ ذريعي بيلنس وڌائڻ بابت نه سوچيندا.
  7. اسڪينر صفحا جي لفظي معنيٰ نٿو سمجهي. اسڪينر اڪثر سوالن جا جواب نه پڙهي سگهندا آهن، ڪيپچا کي سڃاڻي نه سگهندا آهن، ۽ پاڻ ئي اهو نه سمجهندا هوندا ته ڪيئن رجسٽر ٿيڻو آهي ۽ پوءِ ٻيهر لاگ ان ٿيندو، ته توهان ”لاگ آئوٽ“ تي ڪلڪ نه ٿا ڪري سگهو، ۽ پيراميٽر تبديل ڪرڻ وقت درخواستن تي دستخط ڪيئن ڪجي. قدر. نتيجي طور، سڀ کان وڌيڪ ايپليڪيشن شايد اسڪين نه ٿي سگھي.

سورس ڪوڊ اسڪين ڪرڻ ۾ مسئلا

  1. غلط مثبت. جامد تجزيو هڪ پيچيده ڪم آهي جنهن ۾ ڪيترائي واپار شامل آهن. درستگي کي اڪثر قربان ڪرڻو پوندو آهي، ۽ جيتوڻيڪ قيمتي ڪاروبار اسڪينر وڏي تعداد ۾ غلط مثبت پيدا ڪن ٿا
  2. عملدرآمد جي مشڪل. جامد تجزيي جي درستگي ۽ مڪمليت کي وڌائڻ لاء، اسڪيننگ جي ضابطن کي بهتر ڪرڻ ضروري آهي، ۽ انهن ضابطن کي لکڻ تمام محنت وارو ٿي سگهي ٿو. ڪڏهن ڪڏهن اهو آسان آهي ته ڪوڊ ۾ سڀني جڳهن کي ڪنهن قسم جي بگ سان ڳولڻ ۽ انهن کي درست ڪرڻ بجاءِ اهڙين ڪيسن کي ڳولڻ لاءِ ضابطو لکڻ
  3. انحصار جي حمايت جي کوٽ. وڏا منصوبا وڏي تعداد ۾ لائبريرين ۽ فريم ورڪ تي ڀاڙين ٿا جيڪي پروگرامنگ ٻولي جي صلاحيتن کي وڌائين ٿا. جيڪڏهن اسڪينر جي علم جي بنياد کي انهن فريم ورڪ ۾ "سِنڪس" بابت معلومات نه هوندي، ته اهو هڪ انڌو جڳهه بڻجي ويندو ۽ اسڪينر صرف ڪوڊ کي سمجهي نه سگهندو.
  4. اسڪين جي مدت. ڪوڊ ۾ ڪمزورين کي ڳولڻ الگورٿم جي لحاظ کان هڪ پيچيده ڪم آهي. تنهن ڪري، اهو عمل تمام ڊگهو وقت وٺي سگھي ٿو ۽ اهم ڪمپيوٽنگ وسيلن جي ضرورت آهي.
  5. گھٽ ڪوريج. وسيلن جي استعمال ۽ اسڪيننگ جي وقت جي باوجود، SAST ٽول ڊولپرز کي اڃا به سمجھوتا ​​ڪرڻا پوندا آهن ۽ انهن سڀني رياستن جو تجزيو نه ڪندا آهن ته پروگرام ۾ ٿي سگهي ٿو.
  6. نتيجن جي ٻيهر پيداوار. مخصوص لڪير ڏانهن اشارو ڪندي ۽ ڪال اسٽيڪ جيڪو خطري جي طرف وٺي ٿو وڏو آهي، پر حقيقت ۾، اڪثر ڪري اسڪينر ڪافي معلومات مهيا نه ڪندو آهي ته جيئن ٻاهران ڪنهن خطري جي موجودگي کي جانچڻ لاءِ. آخرڪار، نقص شايد مئل ڪوڊ ۾ به ٿي سگهي ٿو، جيڪو حملي آور لاءِ ناگزير آهي

انفراسٽرڪچر اسڪيننگ مسئلا

  1. ناقص انبار. وڏن انفراسٽرڪچرن ۾، خاص طور تي جيڪي جغرافيائي طور تي الڳ ٿيل آهن، اهو اڪثر ڄاڻڻ ڏکيو آهي ته ڪهڙن ميزبانن کي اسڪين ڪيو وڃي. ٻين لفظن ۾، اسڪيننگ جو ڪم ويجهي سان لاڳاپيل آهي اثاثن جي انتظام جي ڪم سان
  2. ناقص ترجيح. نيٽ ورڪ اسڪينر اڪثر ڪري نقصن سان گڏ ڪيترائي نتيجا پيدا ڪن ٿا جن کي عملي طور استعمال نٿو ڪري سگهجي، پر رسمي طور تي انهن جي خطري جي سطح تمام گهڻي آهي. صارف هڪ رپورٽ وصول ڪري ٿو جنهن جي تشريح ڪرڻ ڏکيو آهي، ۽ اهو واضح ناهي ته پهرين کي درست ڪرڻ جي ضرورت آهي.
  3. ناقص سفارشون. اسڪينر جي ڄاڻ جو بنياد اڪثر ڪري صرف تمام عام معلومات تي مشتمل هوندو آهي خطري جي باري ۾ ۽ ان کي ڪيئن حل ڪيو وڃي، تنهن ڪري منتظمين کي پاڻ کي گوگل سان هٿ کڻڻو پوندو. صورتحال ٿوري بهتر آهي وائيٽ باڪس اسڪينرز سان، جيڪو حل ڪرڻ لاءِ مخصوص حڪم جاري ڪري سگهي ٿو
  4. هٿ سان ٺهيل. انفراسٽرڪچر ۾ ڪيترائي نوڊس ٿي سگھن ٿا، جنھن جو مطلب آھي امڪاني طور تي ڪيتريون ئي خاميون، جن تي رپورٽون ھئڻ گھرجن ۽ انھن کي دستي طور تي تجزيو ڪيو وڃي.
  5. خراب ڪوريج. انفراسٽرڪچر اسڪيننگ جي معيار جو دارومدار سڌو سنئون معلومات جي بنياد تي نقصانن ۽ سافٽ ويئر ورزن بابت آهي. جنهن ۾، نڪرندو آهي، جيتوڻيڪ مارڪيٽ جي اڳواڻن وٽ هڪ جامع علم جو بنياد نه آهي، ۽ مفت حلن جي ڊيٽابيس ۾ تمام گهڻي معلومات شامل آهي جيڪا اڳواڻن وٽ ناهي.
  6. پيچنگ سان مسئلا. گهڻو ڪري، انفراسٹرڪچر جي خرابين کي ڇڪڻ ۾ شامل آهي هڪ پيڪيج کي اپڊيٽ ڪرڻ يا ترتيب ڏيڻ واري فائل کي تبديل ڪرڻ. هتي وڏو مسئلو اهو آهي ته هڪ سسٽم، خاص طور تي هڪ ورثي وارو، هڪ تازه ڪاري جي نتيجي ۾ غير متوقع طور تي عمل ڪري سگهي ٿو. لازمي طور تي، توهان کي انضمام ٽيسٽ ڪرڻي پوندي پيداوار ۾ لائيو انفراسٽرڪچر تي.

طريقه ڪار

ڪيئن ٿيو
مان توهان کي مثالن بابت وڌيڪ ٻڌايان ٿو ۽ هيٺين حصن ۾ ڏنل فهرستن مان ڪيترن ئي مسئلن کي ڪيئن حل ڪجي، پر هاڻي لاءِ آئون انهن مکيه هدايتن جي نشاندهي ڪندس جن ۾ توهان ڪم ڪري سگهو ٿا:

  1. مختلف اسڪيننگ اوزارن جو مجموعو. ڪيترن ئي اسڪينرز جي صحيح استعمال سان، توهان حاصل ڪري سگهو ٿا هڪ اهم واڌارو علم جي بنياد ۽ معيار جي معيار ۾. توهان الڳ طور تي شروع ڪيل سڀني اسڪينرز جي مجموعي کان به وڌيڪ خطرات ڳولي سگهو ٿا، جڏهن ته توهان خطري جي سطح جو وڌيڪ صحيح اندازو لڳائي سگهو ٿا ۽ وڌيڪ سفارشون ڪري سگهو ٿا
  2. SAST ۽ DAST جو انضمام. اهو ممڪن آهي ته DAST جي ڪوريج کي وڌايو وڃي ۽ انهن جي وچ ۾ معلومات جي تبادلي سان SAST جي درستگي. ذريعن مان توهان موجوده رستن جي باري ۾ معلومات حاصل ڪري سگهو ٿا، ۽ DAST استعمال ڪندي توهان چيڪ ڪري سگهو ٿا ته ڇا نقصان ٻاهران نظر اچي رهيو آهي
  3. مشين لرننگ™. 2015 ۾ I ٻڌايووڌيڪانگ اکر استعمال ڪرڻ جي باري ۾ اسڪينرز کي هيڪر جي وجدان ڏيڻ ۽ انهن کي تيز ڪرڻ. اهو يقيني طور تي مستقبل ۾ خودڪار سيڪيورٽي تجزيي جي ترقي لاء چارا آهي.
  4. آٽو ٽيسٽ ۽ OpenAPI سان IAST جو انضمام. CI/CD پائيپ لائين جي اندر، اهو ممڪن آهي ته هڪ اسڪيننگ پروسيس ٺاهڻ لاءِ اوزارن جي بنياد تي جيڪي HTTP پراکسي ۽ فنڪشنل ٽيسٽ طور ڪم ڪن ٿيون جيڪي HTTP تي ڪم ڪن ٿيون. OpenAPI/Swagger ٽيسٽ ۽ معاهدا اسڪينر کي ڊيٽا جي وهڪري بابت گم ٿيل معلومات ڏيندو ۽ مختلف رياستن ۾ ايپليڪيشن کي اسڪين ڪرڻ ممڪن بڻائيندو.
  5. درست ٺاھ جوڙ. هر ايپليڪيشن ۽ انفراسٽرڪچر لاءِ، توهان کي هڪ مناسب اسڪيننگ پروفائل ٺاهڻ جي ضرورت آهي، جنهن ۾ انٽرفيس جي تعداد ۽ نوعيت ۽ استعمال ٿيل ٽيڪنالاجيون شامل آهن.
  6. اسڪينر حسب ضرورت. گهڻو ڪري هڪ ايپليڪيشن اسڪينر کي تبديل ڪرڻ کان سواء اسڪين نه ٿي سگهي. ھڪڙو مثال ھڪڙو ادائيگي گيٽ وي آھي، جنھن ۾ ھر درخواست تي دستخط ٿيڻ گھرجي. گيٽ وي پروٽوڪول کي ڪنيڪٽر لکڻ جي بغير، اسڪينر غلط دستخط سان درخواستن سان بي ڌياني سان بمباري ڪندا. اهو پڻ ضروري آهي ته خاص اسڪينر کي خاص قسم جي خرابين لاء لکڻ لاء، جهڙوڪ غير محفوظ سڌو آبجیکٹ ريفرنس
  7. خطري جو انتظام. مختلف اسڪينرز جو استعمال ۽ خارجي نظامن سان انضمام جهڙوڪ اثاثن جي انتظام ۽ خطري جي انتظام کي ڪيترن ئي پيرا ميٽرز جي استعمال کي خطري جي سطح جو اندازو لڳائڻ جي اجازت ڏيندو، انهي ڪري ته انتظاميا ترقي يا انفراسٽرڪچر جي موجوده سيڪيورٽي حالت جي مناسب تصوير حاصل ڪري سگهي ٿي.

ڏسندا رهو ۽ اچو ته نقصان جي اسڪيننگ کي ٽوڙيو!

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

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