Har bir pull request Oxirgi nuqtani qo'shadigan yoki o'zgartiradigan narsa sizning API hujum yuzasini o'zgartiradi. Ko'pgina API xavfsizlik vositalari ushbu oxirgi nuqta ishga tushmaguncha va allaqachon trafikni egallab olmaguncha buni sezmaydilar. O'sha paytga kelib, tuzatish endi kodni ko'rib chiqishda bir qatorli o'zgarish emas, balki hodisaga javob berish suhbati.
API xavfsizligi - bu ilova o'zining so'nggi nuqtalarini qanday ochishi bilan bog'liq xavflarni topish va yopish amaliyoti: ularga kim qo'ng'iroq qilishi mumkin, qanday ma'lumotlarni qaytaradi va ular hujjatlarda aytilganidek qiladimi yoki yo'qmi.
Ushbu muammo uchun yaratilgan vositalarning aksariyati APIni ish vaqtida, xuddi tajovuzkor kabi, tashqaridan sinovdan o'tkazadi. Bu yondashuv ishlaydi, lekin u faqat API joylashtirilgandan keyin ishlaydi. Xygeniy oldingi yo'lni tanlaydi: bitta so'rov oxirgi nuqtaga yetib borishidan oldin u sizning manba kodingizni va API spetsifikatsiyangizni o'qiydi.
API ni sinab ko'rishning to'rtta usuli va ularning har biri nimaga javob beradi
Ko'pgina yetuk dasturlar quyidagilardan bir nechtasini ishga tushiradi:
- Statik sinov joylashtirishdan oldin manba kodini va API spetsifikatsiyalarini tahlil qiladi. U "biz hozirgina nimani fosh qildik?" degan savolga javob beradi. Ushbu maqola aynan shu yondashuvga qaratilgan.
- Dinamik sinov (DAST) ishlayotgan APIga haqiqiy trafikni yuboradi va uning qanday javob berishini kuzatadi. U "hozirda aslida nimaga kirish mumkin va undan foydalanish mumkin?" deb javob beradi.
- Xiralashgan noto'g'ri shakllangan yoki kutilmagan kirish ma'lumotlarini so'nggi nuqtalarga sirtdagi avariyalar va chekka holatlardagi nosozliklarga uloqtiradi. Bu "kirish paytida biz kutmagan qanday uzilishlar" ga javob beradi.
- Qo'lda penetratsiya sinovi Avtomatlashtirilgan vositalar yo'l qo'ymaydigan mantiqiy kamchiliklarni topish uchun insoniy fikrlashni qo'shadi. Bu "aqlli hujumchi nimani zanjirband qiladi?" degan savolga javob beradi.
Bularning hech biri boshqalarining o'rnini bosa olmaydi. Ular hayot aylanishining turli nuqtalarida turli savollarga javob berishadi va ko'pgina dasturlarda mavjud bo'lgan bo'shliq birinchisi.
Nima uchun ko'pgina API xavfsizlik vositalari xavfni juda kech ko'rishadi
Runtime API xavfsizlik sinovi trafikni jonli dasturga yuboradi va uning qanday javob berishini kuzatadi. Bu qonuniy va zarur qatlam. Shuningdek, u, tuzilishi jihatidan, kechikish ko'rsatkichidir: ish vaqti skaneri bu haqda biror narsa deyishidan oldin, oxirgi nuqta mavjud bo'lishi, joylashtirilishi va unga kirish mumkin bo'lishi kerak. U topgan narsa skanerlash qancha vaqt davom etganidan qat'i nazar, allaqachon fosh qilingan edi.
Vaqt muammosi ostida ikkinchi bo'shliq mavjud. Ish vaqti vositalari faqat mavjudligini bilganlarini sinab ko'rishlari mumkin. Agar oxirgi nuqta hech qachon hujjatlashtirilmagan bo'lsa yoki kimdir yangi marshrutni yuborgan paytda OpenAPI spetsifikatsiyasi eskirgan bo'lsa, ish vaqti skaneri uning u yerda ekanligini bilishning iloji yo'q. U hududni emas, balki xaritani tekshiradi.
Statik API xavfsizlik sinovi ikkala bo'shliqni ham yopadi, bu esa tekshirishni oxirgi nuqta aniqlangan joyga, ya'ni joylashtirishdan oldin sizning kodingiz va API spetsifikatsiyangizga o'tkazish orqali amalga oshiriladi. Xuddi shunday pull request oxirgi nuqtani kiritadigan narsa bu pull request bu uning xavfini yuzaga chiqaradi.
Statik API xavfsizligi aslida nimani anglatadi
Xygeni sizning API inventarizatsiyangizni ikkita manbadan yaratadi: ilovangizning manba kodi va OpenAPI va Swagger kabi API spetsifikatsiyalaringiz.
Faqat maxsus inventarizatsiya kimningdir hujjatlashtirishni eslab qolgan oxirgi nuqtalarni ko'rsatadi. Faqat kodli inventarizatsiya nima borligini ko'rsatadi, lekin u qanday ishlatilishi kerakligi shart emas. Ikkalasini ham o'qish sizga to'liq tasavvur beradi: jamoalaringiz hujjatlashtirgan oxirgi nuqtalar va hech kim qilmaganlari.
Bu inventarizatsiya hamma narsaning asosidir:
- Jami aniqlangan APIlar va xavf ostida bo'lgan aktivlar bazaviy ko'rsatkichga nisbatan o'lchandi
- HTTP usuli bo'yicha taqsimlangan so'nggi nuqtalar
- Xizmat bo'yicha guruhlangan muammolar
- Har bir oxirgi nuqta o'z usuli, yo'li, xizmati, moduli, autentifikatsiya holati va xavf balli bilan
Muhandislik bo'yicha mutaxassislaringiz bitta chipta ochmasdan API sirtingiz shaklini ko'rishadi.
Xygeni topgan har bir so'nggi nuqta, o'z usuli, autentifikatsiya holati va xavf ballari bilan birga, kod va spetsifikatsiyadan birgalikda yaratilgan.
Production note Har qanday API xavfsizlik skrinshotidan AI Triage panelini kesib oling.
OWASP API xavfsizlik bo'yicha eng yaxshi 10 taligiga kiritilgan
Topilmalar sizning xavfsizlik guruhlaringiz va auditorlaringiz allaqachon foydalanadigan tizimni aks ettiradi. Xygeni OWASP API xavfsizligi bo'yicha xavfni aniqlaydi Eng yaxshi 10 (2023):
| OVASP | xavf | Amalda bu nimani anglatadi |
|---|---|---|
API1 | Buzilgan ob'ekt darajasidagi avtorizatsiya | Oxirgi nuqta boshqa foydalanuvchi yoki ijarachiga tegishli ma'lumotlarni qaytaradi yoki o'zgartiradi |
API2 | Tasdiqlanmagan so'nggi nuqtalar | Marshrutga hech qanday autentifikatsiyasiz kirish mumkin |
API3 | Haddan tashqari ma'lumotlar ta'siri | Javob qo'ng'iroq qiluvchi ko'rishi kerak bo'lgan yoki kerak bo'lganidan ko'proq maydonlarni qaytaradi |
API3 | Ommaviy topshiriq | Oxirgi nuqta hech qachon qabul qilinishi mo'ljallanmagan maydonlarni qabul qiladi va qo'llaydi |
API3 / API10 | Javoblardagi maxfiy ma'lumotlar | PII, PCI yoki PHI mijozga uni yubormasligi kerak bo'lgan so'nggi nuqtadan yetib boradi |
API4 | Narx cheklovlari yo'q | Oxirgi nuqta suiiste'mollik yoki qo'pol kuch chaqiruvlaridan himoya qilmaydi |
API5 | Buzilgan funksiya darajasidagi avtorizatsiya | Oxirgi nuqta qo'ng'iroq qiluvchiga ruxsat berilganligini tekshirmasdan imtiyozli amalni bajaradi |
API7 | SSRF | API hujumchi nomidan so'rovlar qilishga aldanib qo'yilishi mumkin |
API8 | JWT noto'g'ri konfiguratsiyasi | Tokenni tasdiqlash, imzolash yoki amal qilish muddati noto'g'ri o'rnatilgan |
API8 | CORS noto'g'ri konfiguratsiyasi | Kross-kelib chiqish qoidalari foydalanish uchun yetarlicha ruxsat beruvchi hisoblanadi |
API9 | Zombi va yetimlarning so'nggi nuqtalari | Eskirgan yoki unutilgan, hali ham borish mumkin bo'lgan yo'nalishlar va hech kimga tegishli bo'lmagan yo'nalishlar |
Bitta kategoriya ataylab mavjud emas. API6, Sezgir biznes oqimlariga cheklanmagan kirish, biznes jarayoni nimalarga ruxsat berishi kerakligini tushunishni talab qiladi va hech qanday statik analizator buni ishonchli tarzda aniqlay olmaydi. Aksini da'vo qilgan har qanday sotuvchi sizga katakchani sotmoqda. Bu katakcha sizning tahdid modellashtirishingiz va penetratsiya sinovlaringizda qoladi.
Hamma topilmalar ham bir xil emas: ma'lumotlar sezgirligi va zaharli kombinatsiyalar
Topilmalarning tekis ro'yxati tasdiqlanmagan tibbiy tekshiruvning oxirgi nuqtasini mijozlar yozuvlarini qaytaradigan tasdiqlanmagan oxirgi nuqta bilan bir xil ko'rib chiqadi. Bular bir xil muammo emas va ularni baholaydigan ustuvorlik modeli sizning jamoalaringizni ro'yxatni e'tiborsiz qoldirishga bir xil tarzda o'rgatadi.
Xygeni har bir oxirgi nuqta ishlov beradigan ma'lumotlarni tasniflaydi, so'rov parametrlarida va javoblarda PII, PCI va PHI ni belgilaydi va ularni oxirgi nuqtaning autentifikatsiya holati bilan juftlashtiradi.
Shuningdek, u bir xil so'nggi nuqtaga tushadigan va ular kuchayganda jiddiylikni oshiradigan topilmalarni o'zaro bog'laydi. Javobda PII oqishi o'z-o'zidan jiddiy topilma hisoblanadi. Autentifikatsiyani talab qilmaydigan so'nggi nuqtada bir xil oqish juda muhim va platforma ulanishni kimdir qo'lda sezishi uchun qoldirmasdan, uni shunday baholaydi.
Zombi va yetimning so'nggi nuqtalari: Kod va Spetsifikatsiya o'rtasidagi o'zgarish
Xygeni sizning kodingizni va API spetsifikatsiyangizni yonma-yon o'qiganligi sababli, ular qayerda mos kelmasligini ko'radi. Bu o'zgarish uchta taniqli naqsh sifatida namoyon bo'ladi:
- Hujjatlashtirilmagan so'nggi nuqtalar. Ular kodda yashaydi va hech qachon spetsifikatsiyaga qo'shilmagan.
- Zombi so'nggi nuqtalari. Ular eskirgan yoki foydalanishdan chiqarilgan deb belgilangan va ular bilan hali ham bog'lanish mumkin.
- Yetimning so'nggi nuqtalari. Hozirgi jamoada hech kim ularga egalik qilmaydi.
Bularning hech biri faqat spetsifikatsiya inventarizatsiyasida ko'rinmaydi, chunki spetsifikatsiya ularga aynan yetishmayapti.
Tekshiruv uchun chipta emas, balki amal qilishingiz mumkin bo'lgan dalillar
Har bir topilma aniq mas'ul ishlov beruvchiga ishora qiladi: fayl, klass, usul va kamchilikni keltirib chiqargan aniq satr, uning yonida xato kod ko'rsatiladi. Har birining o'ziga xos jiddiyligi, OWASP API Security Top 10 toifasi, CWE, so'nggi nuqtaning autentifikatsiya holati va tegishli ma'lumotlarning sezgirlik tasnifi ham mavjud.
Faqat oxirgi nuqtani nomlaydigan topilma ishlab chiquvchini biror narsani tuzatishni boshlashdan oldin kod bazasini qidirishga majbur qiladi. Chiziqni nomlaydigan topilma ularni darhol tuzatishga olib boradi.
Topilmalar JSON, CSV, Markdown va SARIF 2.1.0 formatlarida eksport qilinadi, shuning uchun ular t ga tushadiSizning jamoalaringiz allaqachon ishlayapti.
Ishlov beruvchi, chiziq va ta'sirni kiritgan kod. Tekshiruv uchun chipta emas.
Nima uchun bu bitta platformada yashaydi, boshqa konsolda emas
Xygeni API xavfsizligini bir vaqtning o'zida ishga tushiradi SAST, SCA, Sirlar xavfsizligi, IaC va DAST bitta platforma ichida, o'zaro bog'liq ASPM, uni o'zining alohida vositasi sifatida jo'natish o'rniga login va o'zining orqada qolgan ishlari.
Bu muhim, chunki statik topilmalar va ish vaqtidagi topilmalar bir xil yakuniy nuqta haqidagi turli savollarga javob beradi va ular alohida-alohida emas, balki birgalikda foydaliroq. Static sizga yakuniy nuqta jo'natilishidan oldin xavfli ekanligini aytadi. DAST ishga tushirilgandan so'ng aslida nimaga erishish mumkin va foydalanish mumkinligini tasdiqlaydi.
Buni ikkita konsolga bo'lish va o'zaro bog'liq xavf ikkita bog'liq bo'lmagan orqaga qaytishga aylanadi. Hech kim ularni yarashtirmaydi va hujjatlashtirilmagan va tasdiqlanmagan so'nggi nuqta ikkala navbatda ham turmaydi.
Haqiqiy API hujum yuzasini ko'ring. API xavfsizligi quyidagicha mavjud Enterprise Xygeni platformasiga qo'shimcha qo'shiladi va skanerlash o'z infratuzilmangiz ichidagi o'z omborlaringizga qarshi ishlaydi.
FAQ
Qaysi so'nggi nuqtalar maxfiy ma'lumotlarni qayta ishlashini ayta oladimi?
Ha. Xygeni PII, PCI va PHI ni so'nggi nuqta parametrlari va javoblarida belgilaydi va ushbu tasnifdan foydalanib, natijalarni haqiqiy ekspozitsiya bo'yicha saralaydi.
Har birida ishlay oladimi? pull request?
Ha. Qo'shimcha skanerlash faqat o'zgargan so'nggi nuqtalarni tahlil qiladi va u ishlab chiqaradigan manifest keyingi DAST skanerlashni o'sha so'nggi nuqtalarga qaratishi mumkin, shuning uchun statik va ish vaqtidagi sinovlar aslida nima o'zgarganiga mos keladi.
Kodim muhitimni tark etadimi?
Yo'q. Skanerlashlar sizning infratuzilmangizda amalga oshiriladi. Faqat natijalar yuklanadi, tranzit paytida va dam olayotganda himoyalanadi.
API xavfsizligini qanday olsam bo'ladi?
API xavfsizligi quyidagicha mavjud Enterprise qo'shimcha. PoC so'rang, shunda u siz bilan birga qamrab olinadi.





