API سيڪيورٽي

API سيڪيورٽي هڪ رن ٽائم مسئلو رهيو آهي. اهو هجڻ ضروري ناهي.

هر pull request جيڪو اينڊ پوائنٽ کي شامل ڪري ٿو يا تبديل ڪري ٿو اهو توهان جي API حملي جي سطح کي تبديل ڪري ٿو. گھڻا API سيڪيورٽي اوزار ان وقت تائين نوٽيس نه ڪندا آهن جيستائين اهو اينڊ پوائنٽ لائيو نه هجي ۽ اڳ ۾ ئي ٽرئفڪ وٺي رهيو هجي. ان وقت تائين، حل هاڻي ڪوڊ جي جائزي ۾ هڪ لائن تبديلي نه آهي، اهو هڪ واقعي جي جوابي گفتگو آهي.

API سيڪيورٽي خطرن کي ڳولڻ ۽ بند ڪرڻ جو عمل آهي ته ڪيئن هڪ ايپليڪيشن پنهنجي آخري نقطن کي ظاهر ڪري ٿي: ڪير انهن کي ڪال ڪري سگهي ٿو، اهي ڪهڙو ڊيٽا واپس ڪن ٿا، ۽ ڇا اهي اهو ڪن ٿا جيڪو دستاويز چوي ٿو ته اهي ڪندا آهن.

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

API کي جانچڻ جا چار طريقا، ۽ هر هڪ ڇا جواب ڏئي ٿو

گھڻا بالغ پروگرام انهن مان هڪ کان وڌيڪ هلندا آهن:

  • جامد جاچ ڊيپلائيمينٽ کان اڳ سورس ڪوڊ ۽ API وضاحتن جو تجزيو ڪري ٿو. اهو جواب ڏئي ٿو ته "اسان صرف ڇا ظاهر ڪيو؟" هي اهو طريقو آهي جنهن تي هي مضمون ڌيان ڏئي ٿو.
  • متحرڪ جاچ (DAST) هلندڙ API تي حقيقي ٽرئفڪ موڪلي ٿو ۽ مشاهدو ڪري ٿو ته اهو ڪيئن جواب ڏئي ٿو. اهو جواب ڏئي ٿو ته "ڇا اصل ۾ پهچ ۽ استحصال لائق آهي؟" 
  • ڦاسڻ خراب يا غير متوقع ان پٽ کي اينڊ پوائنٽس تي مٿاڇري جي حادثن ۽ ايج ڪيس ناڪامين ڏانهن اڇلائي ٿو. اهو جواب ڏئي ٿو ته "ان پٽ هيٺ ڪهڙا وقفا آهن جن جي اسان توقع نه ڪئي هئي؟"
  • دستي دخول جي جاچ انساني فيصلي کي شامل ڪري ٿو منطقي خامين کي ڳولڻ لاءِ خودڪار اوزارن جي کوٽ. اهو جواب ڏئي ٿو ته "هڪ هوشيار حملو ڪندڙ ڇا گڏ ڪندو؟"

انهن مان ڪو به ٻين جي جاءِ نٿو وٺي. اهي زندگي جي چڪر ۾ مختلف نقطن تي مختلف سوالن جا جواب ڏين ٿا، ۽ گهڻن پروگرامن ۾ جيڪو خال آهي اهو پهريون آهي.

ڇو گھڻا API سيڪيورٽي ٽولز خطري کي دير سان ڏسندا آهن

رن ٽائم API سيڪيورٽي ٽيسٽنگ هڪ لائيو ايپليڪيشن تي ٽرئفڪ موڪلي ٿي ۽ ڏسي ٿي ته اهو ڪيئن جواب ڏئي ٿو. اهو هڪ جائز ۽ ضروري پرت آهي. اهو پڻ، تعمير جي لحاظ کان، هڪ دير جو اشارو آهي: هڪ اينڊ پوائنٽ موجود هجڻ گهرجي، مقرر ڪيو وڃي، ۽ ان تائين پهچڻ لائق هجڻ گهرجي ان کان اڳ جو هڪ رن ٽائم اسڪينر ان بابت ڪجهه به چئي سگهي. جيڪو به اهو ڳولي ٿو اهو اڳ ۾ ئي ظاهر ٿي چڪو هو ته اسڪين کي هلائڻ ۾ ڪيترو به وقت لڳو.

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

جامد API سيڪيورٽي ٽيسٽنگ ٻنهي خالن کي بند ڪري ٿي چيڪ کي اتي منتقل ڪندي جتي اينڊ پوائنٽ بيان ڪيو ويو آهي: توهان جو ڪوڊ ۽ توهان جي API وضاحت، تعیناتي کان اڳ. ساڳيو. pull request جيڪو هڪ آخري نقطو متعارف ڪرائي ٿو اهو آهي pull request جيڪو ان جي خطري کي ظاهر ڪري ٿو.

جامد API سيڪيورٽي جو اصل مطلب ڇا آهي؟

زائيگيني توهان جي API انوینٽري ٻن ذريعن کان ٺاهي ٿو: توهان جي ايپليڪيشن جو سورس ڪوڊ ۽ توهان جي API وضاحتون، بشمول OpenAPI ۽ Swagger.

هڪ خاص-صرف انوینٽري اهي آخري نقطا ڏيکاري ٿي جيڪي ڪنهن کي دستاويز ڪرڻ لاءِ ياد هئا. هڪ ڪوڊ-صرف انوینٽري ڏيکاري ٿي ته ڇا موجود آهي پر ضروري ناهي ته ان کي ڪيئن استعمال ڪيو وڃي. ٻنهي کي پڙهڻ سان توهان کي مڪمل تصوير ملي ٿي: آخري نقطا جيڪي توهان جي ٽيمن دستاويز ڪيا، ۽ اهي جيڪي ڪنهن به نه ڪيا.

اها انوینٽري اهو بنياد آهي جنهن تي ٻيو سڀ ڪجهه تعمير ٿئي ٿو:

  • ڪُل API دريافت ڪيا ويا، ۽ خطري ۾ اثاثا هڪ بيس لائين جي خلاف ماپيا ويا
  • HTTP طريقي سان ٽوڙيل اينڊ پوائنٽس
  • خدمت جي لحاظ کان گروپ ڪيل مسئلا
  • هر اينڊ پوائنٽ پنهنجي طريقي، رستي، سروس، ماڊل، تصديق جي حالت ۽ خطري جي اسڪور سان

توهان جا انجنيئرنگ ليڊز هڪ به ٽڪيٽ کولڻ کان سواءِ توهان جي API مٿاڇري جي شڪل ڏسندا آهن.

هر اينڊ پوائنٽ زائيگيني مليو، ان جي طريقي سان، تصديق جي حالت ۽ خطري جو اسڪور، ڪوڊ ۽ وضاحتن سان گڏ ٺهيل.

Production note ڪنهن به API سيڪيورٽي اسڪرين شاٽ مان AI ٽرائيج پينل کي ڪراپ ڪريو.

OWASP API سيڪيورٽي ٽاپ 10 سان ميپ ٿيل

نتيجا توهان جي سيڪيورٽي ٽيمن ۽ توهان جي آڊيٽرن جي استعمال ڪيل فريم ورڪ جي ڳالهه ڪن ٿا. زائيگيني OWASP API سيڪيورٽي ۾ خطري کي ڳولي ٿو. مٿيان 10 (2023):

او ايس ايس پي خطرن عملي طور ان جو ڇا مطلب آهي
API1 ٽٽل آبجيڪٽ ليول اختيار هڪ اينڊ پوائنٽ ٻئي صارف يا ڪرائيدار سان لاڳاپيل ڊيٽا واپس ڪري ٿو يا تبديل ڪري ٿو.
API2 غير تصديق ٿيل اينڊ پوائنٽس هڪ رستو بغير ڪنهن تصديق جي پهچ لائق آهي.
API3 ڊيٽا جي گهڻي نمائش هڪ جواب ڪال ڪندڙ جي ضرورت کان وڌيڪ فيلڊ واپس ڪري ٿو يا ڏسڻ گهرجي
API3 وڏي پيماني تي ڪم ڪرڻ هڪ اينڊ پوائنٽ انهن شعبن کي قبول ڪري ٿو ۽ لاڳو ڪري ٿو جيڪي ان کي ڪڏهن به قبول ڪرڻ لاءِ نه هئا.
API3 / API10 جوابن ۾ حساس ڊيٽا PII، PCI يا PHI ڪلائنٽ تائين هڪ اهڙي آخري نقطي کان پهچندو آهي جيڪو ان کي نه موڪلڻ گهرجي.
API4 شرح جي حدون غائب آهن هڪ اينڊ پوائنٽ کي بدسلوڪي يا وحشي قوت جي ڪالن جي خلاف ڪو به تحفظ ناهي.
API5 ٽٽل فنڪشن ليول اختيار هڪ اينڊ پوائنٽ هڪ امتيازي عمل انجام ڏئي ٿو بغير چيڪ ڪرڻ جي ته ڪال ڪندڙ کي اجازت آهي
API7 ايس ايس آر ايف API کي حملي آور جي طرفان درخواستون ڪرڻ لاءِ ٺڳي سگهجي ٿو.
API8 JWT جي غلط ترتيب ٽوڪن جي تصديق، دستخط، يا ختم ٿيڻ غلط طريقي سان سيٽ اپ ٿيل آهي.
API8 CORS جي غلط ترتيب ڪراس-اوريجن قاعدا استحصال جي قابل هجڻ لاءِ ڪافي اجازت ڏيندڙ آهن.
API9 زومبي ۽ يتيم جا آخري نقطا فرسوده يا وساريل رستا جيڪي اڃا تائين پهچن ٿا، ۽ رستا جيڪي ڪنهن جي به ملڪيت نه آهن

هڪ ڪيٽيگري جان بوجھ ڪري غير حاضر آهي. API6، حساس ڪاروباري وهڪري تائين غير محدود رسائي، کي سمجهڻ جي ضرورت آهي ته ڪاروباري عمل کي ڪهڙي اجازت ڏيڻ گهرجي، ۽ ڪو به جامد تجزيه نگار ان کي قابل اعتبار طور تي نه ٿو ڳولي سگهي. ڪو به وينڊر جيڪو ٻي صورت ۾ دعويٰ ڪري رهيو آهي اهو توهان کي هڪ چيڪ باڪس وڪرو ڪري رهيو آهي. اهو توهان جي خطري جي ماڊلنگ ۽ توهان جي دخول ٽيسٽرن سان گڏ رهي ٿو.

هر ڳولا برابر ناهي: ڊيٽا جي حساسيت ۽ زهر جو ميلاپ

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

زائيگيني هر اينڊ پوائنٽ هٿ ڪيل ڊيٽا کي درجه بندي ڪري ٿو، درخواست جي پيرا ميٽرز ۽ جوابن ۾ PII، PCI ۽ PHI کي نشان لڳايو، ۽ ان کي اينڊ پوائنٽ جي تصديق واري حالت سان جوڙي ٿو.

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

زومبي ۽ يتيم جا آخري نقطا: ڪوڊ ۽ اسپيڪ جي وچ ۾ وهڪري

ڇاڪاڻ ته زائيگيني توهان جو ڪوڊ ۽ توهان جي API وضاحتن کي هڪ ٻئي سان گڏ پڙهي ٿو، اهو ڏسي ٿو ته اهي ڪٿي متفق نه آهن. اهو ڊرفٽ ٽن سڃاڻپ ٿيندڙ نمونن جي طور تي ظاهر ٿئي ٿو:

  • غير دستاويزي آخري نقطا. اهي ڪوڊ ۾ رهن ٿا ۽ ڪڏهن به وضاحت ۾ شامل نه ڪيا ويا.
  • زومبي اينڊ پوائنٽس. انهن کي ختم ٿيل يا رٽائرڊ طور نشان لڳايو ويو آهي، ۽ اهي اڃا تائين پهچ لائق آهن.
  • يتيم جا آخري نقطا. موجوده ٽيم ۾ ڪو به انهن جو مالڪ ناهي.

انهن مان ڪو به صرف مخصوص شين جي انوینٽري ۾ ظاهر نٿو ٿئي، ڇاڪاڻ ته مخصوص شيون ئي انهن ۾ گهٽتائي جو سبب آهن.

ثبوت جيڪي توهان عمل ڪري سگهو ٿا، جاچ لاءِ ٽڪيٽ نه

هر ڳولا ذميوار صحيح هينڊلر ڏانهن اشارو ڪري ٿي: فائل، ڪلاس، طريقو، ۽ مخصوص لائن جيڪا نقص متعارف ڪرايو، ان سان گڏ پيش ڪيل خلاف ورزي ڪوڊ سان. هر هڪ پنهنجي شدت، ان جي OWASP API سيڪيورٽي ٽاپ 10 ڪيٽيگري، ان جي CWE، اينڊ پوائنٽ جي تصديق جي حالت، ۽ شامل ڊيٽا جي حساسيت جي درجه بندي پڻ رکي ٿو.

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

نتيجا JSON، CSV، Markdown ۽ SARIF 2.1.0 جي طور تي برآمد ٿين ٿا، تنهنڪري اهي t ۾ لينڊ ڪن ٿااوهه، توهان جون ٽيمون اڳ ۾ ئي ڪم ڪري رهيون آهن. 

هينڊلر، لائن، ۽ ڪوڊ جيڪو ايڪسپوزر متعارف ڪرايو. جاچ لاءِ ٽڪيٽ نه.

هي هڪ پليٽ فارم تي ڇو رهي ٿو، ٻئي ڪنسول ۾ نه

زائيگيني API سيڪيورٽي سان گڏ هلائي ٿو SAST, SCA, راز سيڪيورٽي, IaC ۽ ماٺ هڪ پليٽ فارم اندر، ذريعي لاڳاپيل ASPM، ان کي پنهنجي سان هڪ الڳ اوزار طور موڪلڻ جي بدران login ۽ ان جو پنهنجو بيڪ لاگ.

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

ان کي ٻن ڪنسولز ۾ ورهايو ۽ لاڳاپيل خطرو ٻه غير لاڳاپيل پٺڀرائي بڻجي ويندو آهي. ڪو به انهن کي ملائي نٿو سگهي، ۽ آخري نقطو جيڪو غير دستاويزي ۽ غير تصديق ٿيل آهي، ٻنهي قطارن ۾ نه ٿو اچي.

پنهنجي حقيقي API حملي جي مٿاڇري ڏسو. API سيڪيورٽي هڪ طور تي موجود آهي Enterprise زائيگيني پليٽ فارم تي ايڊ آن، ۽ هڪ اسڪين توهان جي پنهنجي انفراسٽرڪچر اندر توهان جي پنهنجي ريپوزٽريز جي خلاف هلندو آهي.

لوڊ

ڇا اهو ٻڌائي سگهي ٿو ته ڪهڙا اينڊ پوائنٽ حساس ڊيٽا کي سنڀاليندا آهن؟

ها. زائيگيني اينڊ پوائنٽ پيرا ميٽرز ۽ جوابن ۾ PII، PCI ۽ PHI کي نشانو بڻائي ٿو، ۽ حقيقي نمائش جي لحاظ کان نتيجن کي درجه بندي ڪرڻ لاءِ ان درجه بندي کي استعمال ڪري ٿو.

ڇا اهو هر تي هلي سگهي ٿو؟ pull request?

ها. انڪريمينٽل اسڪيننگ صرف انهن اينڊ پوائنٽس جو تجزيو ڪري ٿي جيڪي تبديل ٿيا آهن، ۽ اهو مينيفيسٽ جيڪو پيدا ڪري ٿو اهو انهن ساڳين اينڊ پوائنٽس تي ايندڙ DAST اسڪين کي فوڪس ڪري سگهي ٿو، تنهن ڪري جامد ۽ رن ٽائم ٽيسٽنگ اصل ۾ منتقل ٿيل شين سان هم آهنگ رهي ٿي.

ڇا منهنجو ڪوڊ منهنجي ماحول کي ڇڏي ٿو وڃي؟

نه. اسڪين توهان جي پنهنجي انفراسٽرڪچر ۾ هلندا آهن. صرف نتيجا اپلوڊ ڪيا ويندا آهن، ٽرانزٽ ۾ ۽ آرام ۾ محفوظ ڪيا ويندا آهن.

مان API سيڪيورٽي ڪيئن حاصل ڪري سگهان ٿو؟

API سيڪيورٽي هڪ طور تي موجود آهي Enterprise ايڊ-آن. هڪ پي او سي جي درخواست ڪريو ۽ اهو توهان سان گڏ هوندو.

اسڪا-ٽولز-سافٽ ويئر-ڪمپوزيشن-تجزيو-ٽولز
پنهنجي سافٽ ويئر خطرن کي ترجيح ڏيو، درست ڪريو، ۽ محفوظ ڪريو
پنهنجو مفت اڪائونٽ حاصل ڪريو.
ڪنهن به ڪريڊٽ ڪارڊ جي ضرورت نه آهي.

پنهنجي سافٽ ويئر ڊولپمينٽ ۽ پهچائڻ کي محفوظ بڻايو

زائيگيني پراڊڪٽ سوٽ سان