Palekana API

He pilikia Runtime ka palekana API. ʻAʻole pono ia

kela pull request ʻO ka mea e hoʻohui a hoʻololi paha i kahi endpoint e hoʻololi i kāu ʻili hoʻouka API. ʻAʻole ʻike ka hapa nui o nā mea hana palekana API a hiki i ka wā e ola ai kēlā endpoint a ke lawe nei i ke kaʻa. I kēlā manawa, ʻaʻole ka hoʻoponopono he hoʻololi laina hoʻokahi i kahi loiloi code, he kamaʻilio pane hanana.

ʻO ka palekana API ka hana o ka ʻimi ʻana a me ka pani ʻana i nā pilikia i ke ʻano o ka hōʻike ʻana o kahi noi i kāna mau hopena: ʻo wai ka mea hiki ke kāhea iā lākou, he aha ka ʻikepili a lākou e hoʻihoʻi mai ai, a inā paha lākou e hana i ka mea a ka palapala e ʻōlelo nei.

ʻO ka hapa nui o nā mea hana i kūkulu ʻia no kēia pilikia e hoʻāʻo i ka API i ka wā e holo ai, mai waho, e like me ka hana a ka mea hoʻouka. Hana kēlā ʻano hana, akā hana wale ia ma hope o ka hoʻolaha ʻia ʻana o ka API. ʻO Xygeni lawe i ke ala mua: heluhelu ia i kāu code kumu a me kāu kikoʻī API ma mua o ka hiki ʻana o kahi noi hoʻokahi i ka hopena.

ʻO nā ʻAla ʻEhā e Hoʻāʻo ai i kahi API, a me nā Pane a kēlā me kēia

Holo ka hapa nui o nā polokalamu makua ma mua o hoʻokahi o kēia mau mea:

  • ʻO ka hoʻāʻo ʻana nānā i ke code kumu a me nā kikoʻī API ma mua o ka hoʻolaha ʻana. Pane ia "he aha kā mākou i hōʻike wale aku nei?" ʻO kēia ke ʻano e kālele ana kēia ʻatikala.
  • Hoʻāʻo ikaika (DAST) Hoʻouna i ke kaʻa maoli ma kahi API e holo ana a nānā i ke ʻano o kāna pane ʻana. Pane ia "he aha ka mea hiki ke hiki a hoʻohana ʻia i kēia manawa?" 
  • Huhū hoʻolei i ka hoʻokomo hewa a i ʻole ka mea i manaʻo ʻole ʻia ma nā wahi hopena i nā hāʻule ʻili a me nā hemahema lihi. Pane ia "he aha ka mea e haki ana ma lalo o ka hoʻokomo a mākou i manaʻo ʻole ai?"
  • Hoʻāʻo komo lima hoʻohui i ka noʻonoʻo kanaka e ʻimi i nā hemahema logic nā mea hana automated e hala. Pane ia "he aha ka mea a kahi mea hoʻouka akamai e hoʻopaʻa pū ai?"

ʻAʻohe o kēia mau mea e pani i nā mea ʻē aʻe. Pane lākou i nā nīnau like ʻole ma nā wahi like ʻole o ke ola, a ʻo ka hakahaka i loaʻa i ka hapa nui o nā polokalamu ʻo ia ka mea mua.

No ke aha i ʻike ai ka hapa nui o nā mea hana palekana API i ka pilikia i ka wā lohi

Hoʻouna ka hoʻāʻo palekana Runtime API i ke kaʻa ma kahi noi ola a nānā i ke ʻano o kāna pane ʻana. He papa kūpono a pono hoʻi. ʻO ia hoʻi, ma ke kūkulu ʻana, he hōʻailona lohi: pono e kū kahi endpoint, e hoʻolaha ʻia, a hiki ke hiki ma mua o ka hiki ʻana o kahi scanner runtime ke ʻōlelo i kekahi mea e pili ana iā ia. ʻO nā mea a pau i loaʻa iā ia ua hōʻike mua ʻia no ka lōʻihi o ka holo ʻana o ka scan.

Aia kahi hakahaka ʻelua ma lalo o kēlā pilikia manawa. Hiki i nā mea hana Runtime ke hoʻāʻo wale i ka mea a lākou i ʻike ai. Inā ʻaʻole i hoʻopaʻa ʻia kahi endpoint, a i ʻole ua hala ka lā o ka OpenAPI spec i ka manawa i hoʻouna ai kekahi i kahi ala hou, ʻaʻohe ala o kahi scanner runtime e ʻike ai aia ma laila. Hoʻāʻo ia i ka palapala ʻāina, ʻaʻole i ka ʻāina.

Hoʻopau ka hoʻāʻo palekana API static i nā hakahaka ʻelua ma ka hoʻoneʻe ʻana i ka nānā i kahi i wehewehe ʻia ai ka hopena: kāu code a me kāu kikoʻī API, ma mua o ka hoʻolaha ʻana. pull request ʻo ia ka mea e hoʻolauna i kahi hopena pull request ʻo ia ka mea e hōʻike ai i kona pilikia.

He aha ke ʻano maoli o ka palekana API Static

Kūkulu ʻo Xygeni i kāu waihona API mai nā kumu ʻelua: ke kumu kumu o kāu noi a me kāu mau kikoʻī API, me OpenAPI a me Swagger.

Hōʻike kahi papa inoa kikoʻī wale nō i nā kiko hope i hoʻomanaʻo ʻia e kekahi e palapala. Hōʻike kahi papa inoa code wale nō i nā mea e kū nei akā ʻaʻole pono pehea i manaʻo ʻia ai e hoʻohana ʻia. ʻO ka heluhelu ʻana i nā mea ʻelua e hāʻawi iā ʻoe i ke kiʻi piha: nā kiko hope i palapala ʻia e kāu mau hui, a me nā mea i hana ʻole ʻia e kekahi.

ʻO kēlā waihona kālā ke kumu e kūkulu ʻia ai nā mea ʻē aʻe a pau:

  • ʻO ka huina o nā API i ʻike ʻia, a me nā waiwai i ka pilikia i ana ʻia e kūʻē i kahi pae mua
  • Ua hoʻokaʻawale ʻia nā hopena e ke ʻano HTTP
  • Nā pilikia i hoʻohui ʻia e ka lawelawe
  • ʻO kēlā me kēia wahi hopena me kāna ʻano hana, ala, lawelawe, module, kūlana hōʻoia a me ka helu pilikia

ʻIke kāu mau alakaʻi ʻenekinia i ke ʻano o kāu ʻili API me ka wehe ʻole ʻana i hoʻokahi tikika.

ʻO kēlā me kēia endpoint a Xygeni i loaʻa, me kāna ʻano hana, ke kūlana hōʻoia a me ka helu pilikia, i kūkulu ʻia mai ke code a me ka kikoʻī pū kekahi.

Production note ʻOki i ka panela AI Triage mai kekahi kiʻi paʻi kiʻi API Security.

Hoʻopili ʻia i ka OWASP API Security Top 10

Hōʻike nā ʻike i ke ʻano hana a kāu mau hui palekana a me kāu mau mea loiloi e hoʻohana nei. ʻIke ʻo Xygeni i ka pilikia ma o ka OWASP API Security ʻEhā Kiʻekiʻe (2023):

OWASP ʻAi ʻO ke ʻano o ia mea ma ka hana maoli
API1 ʻAe ʻia i ka pae o nā mea i haki Hoʻihoʻi a hoʻololi paha kahi endpoint i ka ʻikepili no kekahi mea hoʻohana a mea hoʻolimalima paha
API2 Nā wahi hopena i hōʻoia ʻole ʻia Hiki ke hōʻea i kahi ala me ka ʻole o ka hōʻoia ʻana
API3 Ka nui o ka hōʻike ʻikepili Hoʻihoʻi mai kahi pane i nā kahua he nui aʻe ma mua o ka mea e pono ai ka mea kāhea a i ʻole e pono ai ke ʻike
API3 Hoʻokaʻawale nui ʻana ʻAe kahi endpoint a hoʻopili i nā kahua i manaʻo ʻole ʻia e ʻae
API3 / API10 ʻIkepili koʻikoʻi i nā pane Hōʻea ʻo PII, PCI a i ʻole PHI i ka mea kūʻai aku mai kahi hopena ʻaʻole pono e hoʻouna iā ia
API4 Nā palena uku i nalowale ʻAʻohe pale o kahi endpoint mai ka hana ʻino a i ʻole nā ​​​​kāhea brute-force
API5 Ka ʻae ʻana i ka pae hana haki Hana kahi endpoint i kahi hana kūikawā me ka nānā ʻole ʻana ua ʻae ʻia ka mea kāhea
API7 SSRF Hiki ke hoʻopunipuni ʻia ka API i ka hana ʻana i nā noi ma ka inoa o ka mea hoʻouka
API8 Hoʻonohonoho hewa ʻana o JWT Ua hoʻonohonoho pono ʻole ʻia ka hōʻoia hōʻailona, ​​​​​​ke kau inoa ʻana, a i ʻole ka pau ʻana
API8 Hoʻonohonoho hewa ʻana o CORS Ua lawa ka ʻae ʻia o nā lula cross-origin e hiki ke hoʻohana ʻia
API9 Nā wahi hopena Zombie a me nā keiki makua ʻole Nā ala i pau a poina paha i hiki ke hōʻea ʻia, a me nā ala i ʻole kekahi e nona

ʻAʻohe mahele i manaʻo ʻia. ʻO API6, Unrestricted Access to Sensitive Business Flows, pono e hoʻomaopopo i ka mea e ʻae ʻia e kahi kaʻina hana ʻoihana, a ʻaʻohe mea loiloi static e ʻike i kēlā me ka hilinaʻi. ʻO kēlā me kēia mea kūʻai aku e koi ana i kahi ʻē aʻe ke kūʻai aku nei iā ʻoe i kahi pahu nānā. Noho kēlā me kāu hoʻohālike hoʻoweliweli a me kāu mau mea hoʻāʻo komo.

ʻAʻole like nā mea āpau i loaʻa: ʻIkepili ʻikepili a me nā hui ʻawahia

Hoʻohālikelike kahi papa inoa pālahalaha o nā mea i loaʻa i kahi hopena hōʻoia olakino i hōʻoia ʻole ʻia me kahi hopena hōʻoia ʻole i hoʻihoʻi i nā moʻolelo o nā mea kūʻai aku. ʻAʻole like kēlā mau pilikia, a ʻo kahi kumu hoʻohālike hoʻonohonoho mua e helu like ana iā lākou e hoʻomaʻamaʻa i kāu mau hui e hoʻowahāwahā i ka papa inoa.

Hoʻokaʻawale ʻo Xygeni i ka ʻikepili a kēlā me kēia endpoint e lawelawe ai, e hōʻailona ana iā PII, PCI a me PHI i nā palena noi a me nā pane, a hoʻopili i kēlā me ke kūlana hōʻoia o ka endpoint.

Hoʻopili pū ia i nā ʻike i pae ma ka hopena like a hoʻonui i ke koʻikoʻi ke hui pū lākou. ʻO ka PII leak i loko o kahi pane he ʻike koʻikoʻi ia nona iho. ʻO ka leak like ma kahi hopena ʻaʻole pono ka hōʻoia he mea koʻikoʻi ia, a helu ka paepae iā ia ma ia ʻano ma kahi o ka waiho ʻana i ka pilina no kekahi e ʻike lima.

Nā Hopena Zombie a me nā Keiki ʻOle: ʻO ka Drift Ma waena o ke Code a me Spec

Ma muli o ka heluhelu ʻana o Xygeni i kāu code a me kāu kikoʻī API ma ka ʻaoʻao, ʻike ia i kahi a lākou e kūʻē ʻole ai. Hōʻike ʻia kēlā drift ma ke ʻano he ʻekolu mau hiʻohiʻona i ʻike ʻia:

  • Nā wahi hopena i palapala ʻole ʻia. Noho lākou i loko o ke code a ʻaʻole i hoʻohui ʻia i ka spec.
  • Nā wahi hopena Zombie. Ua hōʻailona ʻia lākou he mea i hoʻopau ʻia a ua hoʻomaha loa ʻia paha, a hiki nō ke hoʻokaʻaʻike aku iā lākou.
  • Nā wahi hopena makua ʻole. ʻAʻohe mea nona lākou ma ka hui o kēia manawa.

ʻAʻohe o kēia mau mea e hōʻike ʻia ma kahi waihona kikoʻī wale nō, no ka mea, ʻo ka kikoʻī wale nō ka mea i nele iā lākou.

Nā hōʻike hiki iā ʻoe ke hana, ʻaʻole he tikiki e noiʻi

Kuhi kēlā me kēia ʻike i ka mea lawelawe pololei nona ke kuleana: ka faila, ka papa, ke ʻano hana, a me ka laina kikoʻī i hoʻolauna i ka hemahema, me ke code hewa i hāʻawi ʻia ma ka ʻaoʻao. Loaʻa i kēlā me kēia mea kona koʻikoʻi, kāna māhele OWASP API Security Top 10, kāna CWE, ke kūlana hōʻoia o ka endpoint, a me ka hoʻokaʻawale ʻana o ka ʻikepili i pili.

ʻO kahi ʻike e kapa wale ana i kahi endpoint e hoʻouna i kahi mea hoʻomohala e ʻimi ana i loko o ke codebase ma mua o ka hiki iā lākou ke hoʻomaka e hoʻoponopono i kekahi mea. ʻO kahi ʻike e kapa ana i ka laina e hoʻokomo koke iā lākou i ka hoʻoponopono.

Hoʻokuʻu ʻia nā mea i loaʻa ma ke ʻano he JSON, CSV, Markdown a me SARIF 2.1.0, no laila e pae lākou i ka tke hana nei kāu mau hui. 

ʻO ka mea lawelawe, ka laina, a me ke code i hoʻolauna i ka hōʻike. ʻAʻole ia he tikika e noiʻi ai.

No ke aha e noho nei kēia ma kahi kahua hoʻokahi, ʻaʻole ma kahi console ʻē aʻe

Hoʻokele pū ʻo Xygeni i ka API Security SAST, SCA, Palekana huna, IaC a ʻĀANA i loko o kahi kahua hoʻokahi, i pili pū ʻia ma o ASPM, ma kahi o ka hoʻouna ʻana iā ia ma ke ʻano he mea hana kaʻawale me kāna iho login a me kāna waihona ponoʻī.

He mea nui kēlā no ka mea, pane nā ʻike static a me nā ʻike runtime i nā nīnau like ʻole e pili ana i ka hopena like, a ʻoi aku ka pono o lākou i ka hui pū ʻana ma mua o ka hoʻokaʻawale ʻana. Hōʻike ʻo Static iā ʻoe he pilikia kahi hopena ma mua o ka hoʻouna ʻia ʻana. Hōʻoia ʻo DAST i ka mea hiki ke hiki a hoʻohana ʻia ke holo.

E hoʻokaʻawale i kēlā ma waena o ʻelua mau consoles a lilo ka pilikia pili i ʻelua mau backlogs pili ʻole. ʻAʻohe mea e hoʻoponopono iā lākou, a ʻo ka hopena i palapala ʻole ʻia a hōʻoia ʻole ʻia e noho ana i loko o kekahi o nā lālani.

E ʻike i kāu ʻili hoʻouka API maoli. Loaʻa ka Palekana API ma ke ʻano he Enterprise hoʻohui i ka paepae Xygeni, a holo kahi scan i kāu mau waihona ponoʻī i loko o kāu ʻōnaehana ponoʻī.

Nīnau Hoʻoholo Pine

Hiki iā ia ke haʻi i nā endpoints e lawelawe i ka ʻikepili koʻikoʻi?

ʻAe. Hōʻailona ʻo Xygeni iā ​​PII, PCI a me PHI ma nā palena a me nā pane o ka hopena, a hoʻohana i kēlā hoʻokaʻawale ʻana e hoʻonohonoho i nā ʻike ma o ka hōʻike maoli.

Hiki ke holo ma kēlā me kēia pull request?

ʻAe. Nānā wale ka scanning incremental i nā endpoints i loli, a hiki i ka manifest āna e hana ai ke kālele i kahi scan DAST ma hope ma kēlā mau endpoints like, no laila e kūlike ka hoʻāʻo static a me ka runtime i ka mea i neʻe maoli.

Ke haʻalele nei kaʻu code i koʻu kaiapuni?

ʻAʻole. Holo nā scan i loko o kāu ʻōnaehana ponoʻī. Hoʻouka wale ʻia nā hopena, pale ʻia i ka wā e lawe ʻia ai a i ka wā e waiho ʻia ai.

Pehea e loaʻa ai iaʻu ka palekana API?

Loaʻa ka Palekana API ma ke ʻano he Enterprise hoʻohui. E noi i kahi PoC a e nānā ʻia me ʻoe.

nā mea hana-sca-tools-software-analysis-composition
E hoʻonohonoho i ka mea nui, hoʻoponopono, a hoʻopaʻa i kāu mau pilikia polokalamu
E kiʻi i kāu moʻokāki manuahi.
ʻAʻole koi ʻia kahi kāleka hōʻaiʻē.

E hoʻopaʻa i kāu Hoʻomohala Polokalamu a me ka Hoʻouna ʻana

me ka Xygeni Product Suite