Kila pull request ambayo huongeza au kubadilisha sehemu ya mwisho hubadilisha sehemu yako ya mashambulizi ya API. Zana nyingi za usalama za API hazigundui hadi sehemu hiyo ya mwisho iwe hai na tayari inapokea trafiki. Kufikia wakati huo, marekebisho hayatakuwa tena mabadiliko ya mstari mmoja katika ukaguzi wa msimbo, si mazungumzo ya majibu ya tukio.
Usalama wa API ni utaratibu wa kutafuta na kufunga hatari katika jinsi programu inavyofichua mwisho wake: ni nani anayeweza kuzipiga simu, ni data gani wanazorudisha, na kama zinafanya kile ambacho nyaraka zinasema zinafanya.
Vifaa vingi vilivyojengwa kwa ajili ya tatizo hili hujaribu API wakati wa utekelezaji, kutoka nje, kama vile mshambuliaji angefanya. Mbinu hiyo inafanya kazi, lakini inafanya kazi tu baada ya API kutekelezwa. Xygeni inachukua njia ya awali: inasoma msimbo wako chanzo na vipimo vyako vya API kabla ya ombi moja kufikia mwisho.
Njia Nne za Kujaribu API, na Majibu ya Kila Moja
Programu nyingi za watu wazima huendesha zaidi ya moja ya hizi:
- Upimaji tuli Huchambua msimbo chanzo na vipimo vya API kabla ya kutekelezwa. Hujibu "tumefichua nini?" Huu ndio mbinu ambayo makala haya yanazingatia.
- Upimaji wa nguvu (DAST) Hutuma trafiki halisi katika API inayoendeshwa na huangalia jinsi inavyoitikia. Hujibu "ni nini hasa kinachoweza kufikiwa na kunyonywa hivi sasa?"
- Kuchanganya Hutupa ingizo lisilo na umbo au lisilotarajiwa kwenye sehemu za mwisho kwa ajali za uso na hitilafu za kingo. Hujibu "ni mapumziko gani chini ya ingizo ambayo hatukutarajia?"
- Upimaji wa kupenya kwa mikono Inaongeza uamuzi wa kibinadamu ili kupata dosari za kimantiki ambazo zana otomatiki hazipati. Inajibu "mshambuliaji mahiri angeunganisha nini?"
Hakuna hata moja kati ya hizi inayochukua nafasi ya zingine. Hujibu maswali tofauti katika sehemu tofauti za mzunguko wa maisha, na pengo ambalo programu nyingi zinalo ni la kwanza.
Kwa Nini Zana Nyingi za Usalama za API Huona Hatari Kuchelewa Sana
Upimaji wa usalama wa API ya Runtime hutuma trafiki kwenye programu ya moja kwa moja na huangalia jinsi inavyojibu. Ni safu halali na muhimu. Pia, kwa muundo, ni kiashiria kinachochelewa: sehemu ya mwisho lazima iwepo, itumike, na iweze kufikiwa kabla ya kichanganuzi cha wakati wa runtime kusema chochote kuihusu. Chochote kinachopatikana tayari kilikuwa kimefichuliwa kwa muda mrefu kiasi kwamba kilichukua skani kuendeshwa.
Kuna pengo la pili chini ya tatizo hilo la muda. Zana za muda zinaweza tu kujaribu kile wanachojua kipo. Ikiwa sehemu ya mwisho haikuwahi kurekodiwa, au vipimo vya OpenAPI vilipitwa na wakati mara tu mtu alipotuma njia mpya, kichanganuzi cha muda wa utekelezaji hakina njia ya kujua kipo. Kinajaribu ramani, si eneo.
Upimaji wa usalama wa API tuli hufunga mapengo yote mawili kwa kuhamisha hundi hadi mahali ambapo mwisho umefafanuliwa: msimbo wako na vipimo vyako vya API, kabla ya kupelekwa. Vivyo hivyo pull request kinacholeta mwisho ni pull request ambayo inakabiliwa na hatari yake.
Usalama wa API Tuli Unamaanisha Nini Hasa
Xygeni hujenga orodha yako ya API kutoka vyanzo viwili: msimbo chanzo wa programu yako na vipimo vya API yako, ikiwa ni pamoja na OpenAPI na Swagger.
Hesabu maalum pekee inaonyesha sehemu za mwisho ambazo mtu alikumbuka kurekodi. Hesabu ya msimbo pekee inaonyesha kilichopo lakini si lazima jinsi ilivyokusudiwa kutumika. Kusoma zote mbili hukupa picha kamili: sehemu za mwisho ambazo timu zako zilirekodi, na zile ambazo hakuna mtu aliyefanya hivyo.
Hesabu hiyo ndiyo msingi ambao kila kitu kingine hujengwa juu yake:
- Jumla ya API zilizogunduliwa, na mali zilizo hatarini zilipimwa dhidi ya msingi
- Sehemu za mwisho zilizogawanywa kwa kutumia mbinu ya HTTP
- Masuala yaliyopangwa kwa huduma
- Kila sehemu ya mwisho yenye mbinu yake, njia, huduma, moduli, hali ya uthibitishaji na alama ya hatari
Wahandisi wako wanaoongoza wanaona umbo la uso wako wa API bila kufungua tiketi hata moja.
Kila sehemu ya mwisho ya Xygeni ilipata, pamoja na mbinu yake, hali ya uthibitishaji na alama ya hatari, iliyojengwa kutoka kwa msimbo na vipimo pamoja.
Production note Kata paneli ya AI Triage kutoka kwenye picha yoyote ya skrini ya Usalama ya API.
Imeunganishwa na OWASP API Usalama Top 10
Matokeo yanazungumzia mfumo ambao timu zako za usalama na wakaguzi wako tayari hutumia. Xygeni hugundua hatari katika Usalama wa API ya OWASP 10 Bora (2023):
| OWASP | Hatari | Inamaanisha nini katika vitendo |
|---|---|---|
API1 | Idhini ya Kiwango cha Kitu kilichovunjika | Sehemu ya mwisho hurejesha au kurekebisha data ya mtumiaji mwingine au mpangaji |
API2 | Sehemu za mwisho ambazo hazijathibitishwa | Njia inaweza kufikiwa bila uthibitishaji wowote |
API3 | Ufikiaji mwingi wa data | Jibu hurejesha sehemu nyingi zaidi kuliko mpigaji anavyohitaji au anavyopaswa kuona |
API3 | Mgawo wa wingi | Sehemu ya mwisho inakubali na kutumia sehemu ambazo haikukusudiwa kukubali |
API3 / API10 | Data nyeti katika majibu | PII, PCI au PHI humfikia mteja kutoka sehemu ya mwisho ambayo haipaswi kuituma |
API4 | Vikomo vya viwango vinavyokosekana | Kipengele cha mwisho hakina ulinzi dhidi ya unyanyasaji au miito ya nguvu ya kikatili |
API5 | Idhini ya Kiwango cha Kazi Kilichovunjika | Sehemu ya mwisho hufanya kitendo cha upendeleo bila kuhakikisha kuwa mpigaji anaruhusiwa |
API7 | SSRF | API inaweza kudanganywa ili kutoa maombi kwa niaba ya mshambuliaji |
API8 | Usanidi usiofaa wa JWT | Uthibitishaji wa tokeni, utiaji saini, au muda wake wa kuisha umewekwa vibaya |
API8 | Usanidi usiofaa wa CORS | Sheria za asili mtambuka zinaruhusu vya kutosha kutumiwa vibaya |
API9 | Sehemu za mwisho za Zombie na yatima | Njia zilizosahaulika au zilizopitwa na wakati ambazo bado zinaweza kufikiwa, na njia ambazo hakuna anayemiliki |
Kategoria moja haipo kimakusudi. API6, Ufikiaji Usio na Vikwazo kwa Mitiririko Nyeti ya Biashara, inahitaji kuelewa kile ambacho mchakato wa biashara unatakiwa kuruhusu, na hakuna kichambuzi tuli kinachogundua hilo kwa njia ya kuaminika. Muuzaji yeyote anayedai vinginevyo anakuuzia kisanduku cha kuteua. Huyo anabaki na uundaji wako wa vitisho na majaribio yako ya kupenya.
Sio Kila Matokeo Yaliyo Sawa: Unyeti wa Data na Mchanganyiko wa Sumu
Orodha tambarare ya matokeo huchukulia sehemu ya mwisho ya ukaguzi wa afya ambayo haijathibitishwa sawa na sehemu ya mwisho ambayo haijathibitishwa ambayo hurejesha rekodi za wateja. Hizo si tatizo sawa, na mfumo wa uwekaji vipaumbele unaozipa alama sawa hufunza timu zako kupuuza orodha hiyo.
Xygeni huainisha data kila kishikio cha sehemu ya mwisho, ikiashiria PII, PCI na PHI katika vigezo vya ombi na katika majibu, na kuoanisha hiyo na hali ya uthibitishaji wa sehemu ya mwisho.
Pia inahusiana na matokeo yanayotua kwenye sehemu moja ya mwisho na huongeza ukali yanapoongezeka. Uvujaji wa PII katika jibu ni matokeo mazito yenyewe. Uvujaji uleule kwenye sehemu ya mwisho ambayo haihitaji uthibitishaji ni muhimu, na mfumo huweka alama hivyo badala ya kuacha muunganisho kwa mtu kuuona mwenyewe.
Vipimo vya Mwisho vya Zombie na Yatima: Msukosuko Kati ya Kanuni na Vipimo
Kwa sababu Xygeni husoma msimbo wako na vipimo vyako vya API pamoja, inaona mahali ambapo hawakubaliani. Mtiririko huo unaonekana kama mifumo mitatu inayotambulika:
- Sehemu za mwisho zisizo na kumbukumbu. Wanaishi kwa msimbo na hawakuwahi kuongezwa kwenye vipimo.
- Sehemu za mwisho za Zombie. Zimetiwa alama kama zimeondolewa au zimestaafu, na bado zinaweza kufikiwa.
- Sehemu za mwisho za yatima. Hakuna mtu katika timu ya sasa anayemiliki.
Hakuna hata moja kati ya hizi inayoonekana katika orodha ya vipimo maalum pekee, kwa sababu vipimo ndivyo hasa vinavyozikosa.
Ushahidi Unaoweza Kuchukua Hatua, Sio Tiketi ya Kuchunguza
Kila utafutaji unaelekeza kwa kidhibiti halisi kinachohusika: faili, darasa, mbinu, na mstari maalum ulioanzisha dosari, pamoja na msimbo unaokiuka uliowekwa kando yake. Kila moja pia ina ukali wake, kategoria yake ya Usalama wa API ya OWASP API Top 10, CWE yake, hali ya uthibitishaji wa sehemu ya mwisho, na uainishaji wa unyeti wa data inayohusika.
Ugunduzi unaotaja tu sehemu ya mwisho humtuma msanidi programu kutafuta kupitia mfumo wa msimbo kabla hata ya kuanza kurekebisha chochote. Ugunduzi unaotaja mstari unamweka katika suluhisho mara moja.
Matokeo huhamishwa kama JSON, CSV, Markdown na SARIF 2.1.0, ili yatue kwenye ttimu zako tayari zinafanya kazi.
Kidhibiti, mstari, na msimbo ulioanzisha ufichuzi. Sio tiketi ya kuchunguza.
Kwa Nini Hii Inaishi Katika Jukwaa Moja, Sio Dashibodi Nyingine
Xygeni inaendesha Usalama wa API kando SAST, SCA, Usalama wa Siri, IaC na dast ndani ya jukwaa moja, lililounganishwa kupitia ASPM, badala ya kuisafirisha kama kifaa tofauti na yake login na mrundikano wake mwenyewe.
Hilo ni muhimu kwa sababu matokeo tuli na matokeo ya wakati wa utekelezaji hujibu maswali tofauti kuhusu sehemu moja ya mwisho, na yanafaa zaidi pamoja kuliko kutengana. Static inakuambia sehemu ya mwisho ni hatari kabla haijasafirishwa. DAST inathibitisha kile kinachoweza kufikiwa na kutumiwa mara tu inapoanza kufanya kazi.
Gawanya hilo kati ya koni mbili na hatari inayohusiana inakuwa mirundiko miwili isiyohusiana. Hakuna anayeipatanisha, na mwisho ambao hauna kumbukumbu na haujathibitishwa haupo kwenye foleni yoyote.
Tazama sehemu yako halisi ya mashambulizi ya API. Usalama wa API unapatikana kama Enterprise nyongeza kwenye jukwaa la Xygeni, na uchanganuzi unafanyika dhidi ya hazina zako mwenyewe ndani ya miundombinu yako mwenyewe.
Maswali
Je, inaweza kubaini ni sehemu gani za mwisho zinazoshughulikia data nyeti?
Ndiyo. Xygeni huashiria PII, PCI na PHI katika vigezo na majibu ya mwisho, na hutumia uainishaji huo kupanga matokeo kwa kuzingatia mfiduo halisi.
Je, inaweza kukimbia kila pull request?
Ndiyo. Uchanganuzi wa ziada huchanganua sehemu za mwisho zilizobadilika pekee, na faili inayoonyesha inaweza kulenga uchanganuzi unaofuata wa DAST kwenye sehemu hizo hizo za mwisho, kwa hivyo majaribio tuli na ya muda wa utekelezaji hubaki yamepangwa kulingana na kile kilichohama.
Je, msimbo wangu unaondoka kwenye mazingira yangu?
Hapana. Changanuzi huendeshwa katika miundombinu yako mwenyewe. Matokeo pekee ndiyo hupakiwa, hulindwa wakati wa usafiri na wakati wa mapumziko.
Ninawezaje kupata Usalama wa API?
Usalama wa API unapatikana kama Enterprise nyongeza. Omba PoC na utaipata.





