Gbogbo pull request tí ó ń fi kún tàbí yí ààlà ìparí kan padà yí ojú ìkọlù API rẹ padà. Ọ̀pọ̀lọpọ̀ àwọn irinṣẹ́ ààbò API kì í kíyèsí títí tí ààlà ìparí náà yóò fi wà láàyè tí yóò sì ti gba àwọn ènìyàn lọ́wọ́. Nígbà náà, àtúnṣe náà kì í ṣe àyípadà ìlà kan mọ́ nínú àtúnyẹ̀wò kódì, ìjíròrò ìdáhùn ìṣẹ̀lẹ̀ ni.
Ààbò API ni àṣà wíwá àti pípa àwọn ewu náà mọ́ bí ohun èlò kan ṣe ń fi àwọn ibi tí ó kù sí hàn: ta ló lè pè wọ́n, irú ìwífún tí wọ́n máa ń dá padà, àti bóyá wọ́n ṣe ohun tí ìwé náà sọ pé wọ́n ń ṣe.
Pupọ julọ awọn irinṣẹ ti a ṣe fun iṣoro yii n dan API wò ni akoko iṣẹ, lati ita, gẹgẹ bi olukọlu kan yoo ṣe. Ọna yẹn n ṣiṣẹ, ṣugbọn o ṣiṣẹ nikan lẹhin ti a ba ti gbe API naa. Xygeni Ó gba ọ̀nà tí ó ṣáájú: ó ka koodu orísun rẹ àti ìlànà API rẹ kí ìbéèrè kan tó dé òpin.
Àwọn Ọ̀nà Mẹ́rin Láti Dánwò API kan, àti Ohun tí Olúkúlùkù Dáhùn
Pupọ julọ awọn eto agbalagba n ṣiṣẹ ju ọkan ninu awọn wọnyi lọ:
- Idanwo aimi Ó ń ṣàyẹ̀wò kódì orísun àti àwọn ìlànà API kí ó tó di pé a gbé e kalẹ̀. Ó dáhùn pé “kí ni a ṣẹ̀ṣẹ̀ fi hàn?” Ọ̀nà tí àpilẹ̀kọ yìí dojúkọ nìyí.
- Idanwo oniyipada (DAST) Ó ń fi ìjábọ̀ gidi ránṣẹ́ sí API kan tó ń ṣiṣẹ́, ó sì ń kíyèsí bí ó ṣe ń dáhùn. Ó dáhùn pé “kí ni a lè dé ọ̀dọ̀ rẹ̀ àti kí ni a lè lò ní báyìí?”
- Fuzzzing Ó máa ń ju ìfàsẹ́yìn tí kò dáa tàbí tí a kò retí sí àwọn ìpele ìparí sí àwọn ìkọlù ojú ilẹ̀ àti àwọn ìkùnà ẹ̀gbẹ́. Ó dáhùn pé “kí ni ìjákulẹ̀ lábẹ́ ìfàsẹ́yìn tí a kò retí?”
- Idanwo titẹ ọwọ Ó fi ìdájọ́ ènìyàn kún un láti rí àwọn àléébù ìrònú tí àwọn irinṣẹ́ aládàáṣe kò lè pàdánù. Ó dáhùn pé, “kí ni olùkọlù ọlọ́gbọ́n yóò so pọ̀?”
Kò sí ọ̀kan lára àwọn wọ̀nyí tó rọ́pò àwọn yòókù. Wọ́n máa ń dáhùn àwọn ìbéèrè tó yàtọ̀ síra ní àwọn àkókò tó yàtọ̀ síra nínú ìgbésí ayé, àlàfo tí ọ̀pọ̀ ètò ní ni èyí àkọ́kọ́.
Kí ló dé tí ọ̀pọ̀lọpọ̀ àwọn irinṣẹ́ ààbò API fi rí ewu náà jù
Ìdánwò ààbò API Runtime ń fi àwọn ènìyàn ránṣẹ́ sí ohun èlò kan, ó sì ń wo bí ó ṣe ń dáhùn. Ó jẹ́ ipele tó tọ́ àti èyí tó ṣe pàtàkì. Bákan náà, nípa ìkọ́lé, ó jẹ́ àmì ìfàsẹ́yìn: ó gbọ́dọ̀ wà ní ìparí, kí a gbé e kalẹ̀, kí a sì lè dé ọ̀dọ̀ rẹ̀ kí ohun èlò runtime tó lè sọ ohunkóhun nípa rẹ̀. Ohunkóhun tí ó bá rí ti hàn gbangba fún ìgbà pípẹ́ tí ó fi gba ohun èlò runtime láti ṣiṣẹ́.
Ààlà kejì wà lábẹ́ ìṣòro àkókò yẹn. Àwọn irinṣẹ́ ìgbà ìṣiṣẹ́ nìkan ló lè dán ohun tí wọ́n mọ̀ pé ó wà wò. Tí a kò bá kọ àkọsílẹ̀ ìparí kan sílẹ̀, tàbí tí OpenAPI spec bá ti di ògbólógbò ní ìgbà tí ẹnìkan bá fi ọ̀nà tuntun ránṣẹ́, ẹ̀rọ ìṣiṣẹ́ ìgbà ìṣiṣẹ́ kò ní ọ̀nà láti mọ̀ pé ó wà níbẹ̀. Ó ń dán àwòrán náà wò, kì í ṣe agbègbè náà.
Ìdánwò ààbò API àìdúró ti pa àwọn àlàfo méjèèjì nípa gbígbé àyẹ̀wò náà sí ibi tí a ti ṣàlàyé ìparí: kóòdù rẹ àti ìlànà API rẹ, kí a tó fi ránṣẹ́. pull request tí ó ṣe àfihàn ìparí ni pull request èyí tó fi ewu rẹ̀ hàn.
Kini Itumo Aabo API Static Gangan
Xygeni ń kọ́ àkójọ API rẹ láti orísun méjì: kódù orísun ohun èlò rẹ àti àwọn ìlànà API rẹ, títí kan OpenAPI àti Swagger.
Àkójọpọ̀ pàtó kan fi àwọn kókó ìparí tí ẹnìkan rántí láti kọ sílẹ̀ hàn. Àkójọpọ̀ koodu nìkan fi ohun tí ó wà hàn ṣùgbọ́n kìí ṣe bí a ṣe fẹ́ lò ó. Kíkà méjèèjì fún ọ ní àwòrán pípé: àwọn kókó ìparí tí àwọn ẹgbẹ́ rẹ kọ sílẹ̀, àti àwọn tí kò sí ẹni tí ó ṣe bẹ́ẹ̀.
Àkójọ ọjà yẹn ni ìpìlẹ̀ ohun gbogbo tí àwọn mìíràn ń kọ́ lé lórí:
- Àròpọ̀ gbogbo API tí a ṣàwárí, àti àwọn dúkìá tí ó wà nínú ewu tí a wọ̀n ní ìbámu pẹ̀lú ìpìlẹ̀ kan
- Àwọn ìparí tí a pín sí ọ̀nà HTTP
- Àwọn ìṣòro tí a kójọpọ̀ nípasẹ̀ iṣẹ́
- Gbogbo opin pẹlu ọna rẹ, ipa ọna rẹ, iṣẹ rẹ, modulu rẹ, ipo ijẹrisi ati ami eewu rẹ
Àwọn olùdarí ìmọ̀ ẹ̀rọ rẹ rí ìrísí ojú API rẹ láìsí ṣíṣí tíkẹ́ẹ̀tì kan ṣoṣo.
Gbogbo opin Xygeni ri, pẹlu ọna rẹ, ipo ijẹrisi ati aami eewu, ti a kọ lati koodu ati alaye papọ.
Production note Gé panẹli AI Triage kúrò láti inú àwòrán API Security èyíkéyìí.
A ṣe àfihàn rẹ̀ sí àwọn OWASP API Security Top 10
Àwọn àwárí náà sọ ìlànà tí àwọn ẹgbẹ́ ààbò rẹ àti àwọn olùṣàyẹ̀wò rẹ ti ń lò tẹ́lẹ̀. Xygeni ń ṣàwárí ewu lórí ààbò OWASP API Àwọn mẹ́rin tó ga jùlọ (2023):
| OWASP | ewu | Kini o tumọ si ni iṣe |
|---|---|---|
API1 | Asẹ Ipele Ohun Nkan | Àkójọpọ̀ ìparí kan máa ń dá tàbí ṣe àtúnṣe sí dátà tó jẹ́ ti olùlò tàbí ayálégbé mìíràn |
API2 | Àwọn ìparí tí a kò fọwọ́ sí | A le de ipa ọna kan laisi ijẹrisi rara |
API3 | Ifihan data ti o pọ ju | Ìdáhùn kan máa ń dá àwọn pápá tó pọ̀ ju èyí tí olùpè náà nílò tàbí tó yẹ kó rí lọ. |
API3 | Iṣẹ́ àyànfúnni gbogbogbòò | Ipin ipari gba ati lo awọn aaye ti a ko pinnu lati gba rara |
API3 / API10 | Dáta onímọ̀lára nínú àwọn ìdáhùn | PII, PCI tabi PHI de ọdọ alabara lati opin aaye ti ko yẹ ki o firanṣẹ |
API4 | Àìsí àwọn ààlà owó oṣù | Ipari ipari ko ni aabo lodi si ilokulo tabi awọn ipe agbara-agbara |
API5 | Àṣẹ Ipele Iṣẹ́ Tí Ó Bájẹ́ | Ibùdó ìparí kan ń ṣe ìgbésẹ̀ àǹfààní kan láìṣàyẹ̀wò pé ẹni tí ó pe ni a gbà láàyè láti |
API7 | SSRF | A le tan API naa jẹ lati beere fun ẹni ti o kọlu naa. |
API8 | Àṣìṣe ètò JWT | A ko ṣeto ìfọwọ́sowọ́pò àmì ìfàmìsí, ìfọwọ́sowọ́pò, tàbí ìparí ní ọ̀nà tí kò tọ́ |
API8 | Àṣìṣe ìṣètò CORS | Àwọn òfin ìpilẹ̀ṣẹ̀ tó gbà láyè láti jẹ́ èyí tí a lè lò |
API9 | Àwọn ibi ìparí Zombie àti àwọn aláìníbaba | Àwọn ipa ọ̀nà tí a ti bàjẹ́ tàbí tí a ti gbàgbé tí a ṣì lè dé, àti àwọn ipa ọ̀nà tí ẹnikẹ́ni kò ní |
Ẹ̀ka kan kò sí ní ìmọ̀ọ́mọ̀. API6, Àìnídínà sí Ìṣàn Iṣẹ́ Àkànṣe, nílò òye ohun tí ìlànà iṣẹ́ kan yẹ kí ó gbà láàyè, kò sì sí olùṣàyẹ̀wò àìdúró tí ó lè rí èyí lọ́nà tí ó ṣeé gbàgbọ́. Olùtajà èyíkéyìí tí ó bá sọ pé ó yàtọ̀ sí èyí ń ta àpótí ìṣàyẹ̀wò fún ọ. Èyí dúró pẹ̀lú àpẹẹrẹ ewu rẹ àti àwọn olùdánwò ìfàmọ́ra rẹ.
Kìí ṣe gbogbo ìwárí ló dọ́gba: Ìmọ́lára Dátà àti Àdàpọ̀ Àwọn Èèyàn Tó Lè Lò
Àkójọ àwọn àwárí díẹ̀díẹ̀ ń wo ìparí àyẹ̀wò ìlera tí a kò fọwọ́ sí gẹ́gẹ́ bí ìparí àyẹ̀wò tí a kò fọwọ́ sí tí ó ń dá àkọsílẹ̀ oníbàárà padà. Àwọn wọ̀nyẹn kì í ṣe ìṣòro kan náà, àti pé àwòṣe ìṣàájú tí ó ń fún wọn ní àmì kan náà ń kọ́ àwọn ẹgbẹ́ rẹ láti fojú fo àkójọ náà.
Xygeni ṣe ìpínsísọ̀rí dátà kọ̀ọ̀kan tí a fi ọwọ́ mú ní ìparí, ó ṣe àmì sí PII, PCI àti PHI ní àwọn pàrámítà ìbéèrè àti nínú ìdáhùn, ó sì so èyí pọ̀ mọ́ ipò ìjẹ́rìísí ìparí.
Ó tún so àwọn àwárí tí ó dé orí ìlà kan náà pọ̀, ó sì ń mú kí ó le sí i nígbà tí wọ́n bá para pọ̀. Ìjáde PII nínú ìdáhùn jẹ́ àwárí pàtàkì fúnra rẹ̀. Ìjáde kan náà lórí ìlà kan tí kò nílò ìfọwọ́sowọ́pọ̀ ṣe pàtàkì, àti pé ìpele náà ń gba àmì náà ní ọ̀nà yẹn dípò fífi ìsopọ̀ sílẹ̀ fún ẹnìkan láti ṣàkíyèsí pẹ̀lú ọwọ́.
Àwọn Ìparí Zombie àti Orphan: Ìrìn àjò láàárín Kóòdù àti Spec
Nítorí pé Xygeni ń ka kódì rẹ àti ìlànà API rẹ lẹ́gbẹ̀ẹ́ ara wọn, ó rí ibi tí wọn kò fara mọ́. Ìyípadà yẹn fara hàn gẹ́gẹ́ bí àpẹẹrẹ mẹ́ta tí a lè mọ̀:
- Àwọn ìparí tí kò ní ìwé àṣẹ. Wọ́n ń gbé nínú kódì, wọn kò sì fi kún un rárá.
- Àwọn ibi ìparí Zombie. Wọ́n fi àmì sí wọn gẹ́gẹ́ bí ẹni tí a ti kọ̀ sílẹ̀ tàbí ẹni tí ó ti fẹ̀yìntì, wọ́n sì ṣì ṣeé dé ọ̀dọ̀ wọn.
- Àwọn ibi ìparí ọmọ aláìníbaba. Kò sí ẹnikẹ́ni nínú ẹgbẹ́ tó wà lọ́wọ́lọ́wọ́ tó ní wọn.
Kò sí ọ̀kan lára àwọn wọ̀nyí tí a lè rí nínú àkójọpọ̀ pàtó kan, nítorí pé àkójọpọ̀ náà gan-an ló ń pàdánù wọn.
Ẹ̀rí tí o lè fi ṣe iṣẹ́ náà, kì í ṣe ìwé ẹ̀rí láti ṣe ìwádìí rẹ̀
Gbogbo ohun tí a rí ni a máa rí ní ọwọ́ olùdarí tí ó yẹ kí ó ṣe é: fáìlì náà, kíláàsì náà, ọ̀nà tí a gbà ṣe é, àti ìlà pàtó tí ó ṣe àbùkù náà, pẹ̀lú kódì tí ó ṣẹ̀ tí a fi sí ẹ̀gbẹ́ rẹ̀. Olúkúlùkù náà ní agbára rẹ̀, ẹ̀ka OWASP API Security Top 10 rẹ̀, CWE rẹ̀, ipò ìfàmọ́ra ìparí, àti ìpínsọrí ìfàmọ́ra ti dátà tí ó wà nínú rẹ̀.
Wíwá tí ó kàn sọ orúkọ ìparí kan ló máa ń mú kí olùgbékalẹ̀ kan máa wá ọ̀nà láti ṣe àtúnṣe sí ohunkóhun kí ó tó bẹ̀rẹ̀ sí í ṣàtúnṣe rẹ̀. Wíwá tí ó sọ orúkọ ìlà náà ló máa ń mú kí wọ́n yanjú ìṣòro náà lẹ́sẹ̀kẹsẹ̀.
Àwọn àwárí tí a rí jáde gẹ́gẹ́ bí JSON, CSV, Markdown àti SARIF 2.1.0, nítorí náà wọ́n dé inú tools awọn ẹgbẹ rẹ ti ṣiṣẹ tẹlẹ ninu.
Olùtọ́jú, ìlà, àti kódì tó mú kí ìfarahàn náà wáyé. Kì í ṣe èyí tí a lè ṣe ìwádìí rẹ̀.
Kílódé Tí Èyí Fi Ń Gbé Nínú Pẹpẹ Kan, Kì í Ṣe Pẹpẹ Míràn
Xygeni n ṣiṣẹ Aabo API lẹgbẹẹ SAST, SCA, Ààbò Àṣírí, IaC ati DAST laarin pẹpẹ kan, ti a so pọ mọ nipasẹ ASPM, dípò kí wọ́n fi ránṣẹ́ gẹ́gẹ́ bí irinṣẹ́ ọ̀tọ̀ pẹ̀lú tirẹ̀ login àti àkójọpọ̀ rẹ̀.
Iyẹn ṣe pàtàkì nítorí pé àwọn àwárí àìdúró àti àwọn àwárí àkókò ìṣiṣẹ́ máa ń dáhùn àwọn ìbéèrè tó yàtọ̀ síra nípa ìparí kan náà, wọ́n sì wúlò jù àwọn tí ó yàtọ̀ síra lọ. Static sọ fún ọ pé ìparí kan léwu kí ó tó dé. DAST jẹ́rìí sí ohun tó ṣeé dé àti èyí tí a lè lò nígbà tí ó bá ń ṣiṣẹ́.
Pín èyí láàárín àwọn ẹ̀rọ ìbánisọ̀rọ̀ méjì àti ewu tó bá ara wọn mu di àkójọpọ̀ méjì tí kò ní ìbáramu. Kò sí ẹni tó lè bá wọn rẹ́, àti pé ìparí ọ̀rọ̀ tí kò ní ìwé àṣẹ àti èyí tí kò ní ẹ̀rí ìdánilójú wà nínú ìlà méjèèjì.
Wo oju-aye ikọlu API gidi rẹ. Aabo API wa bi Enterprise àfikún sí ìpele Xygeni, ìwádìí kan sì ń lọ sí ibi ìkópamọ́ tirẹ nínú àwọn ètò ìṣiṣẹ́ tirẹ.
FAQ
Ṣé ó lè sọ àwọn ibi tí ó ń lo àwọn ìsọ̀rí tó ṣe pàtàkì?
Bẹ́ẹ̀ni. Xygeni ṣe àfihàn PII, PCI àti PHI nínú àwọn pàrámítà àti ìdáhùn ìparí, ó sì lo ìpínsísọ̀rí yẹn láti ṣe àkójọ àwọn àwárí nípa ìfarahàn gidi.
Ṣe o le ṣiṣẹ lori gbogbo pull request?
Bẹ́ẹ̀ni. Àwòrán tí ó ń pọ̀ sí i ń ṣàyẹ̀wò àwọn òpin tí ó yípadà nìkan, àti pé ìfihàn tí ó ń mú jáde lè dojúkọ àwòrán DAST tí ó tẹ̀lé e sórí àwọn òpin kan náà, nítorí náà ìdánwò àìdúró àti àkókò ìṣiṣẹ́ dúró ní ìbámu pẹ̀lú ohun tí ó gbéra gan-an.
Ǹjẹ́ koodu mi fi àyíká mi sílẹ̀?
Rárá. Àwọn àyẹ̀wò ń ṣiṣẹ́ ní ẹ̀rọ ìbánisọ̀rọ̀ tìrẹ. Àwọn àbájáde nìkan ni a gbé sórí ìkànnì, tí a dáàbò bò nígbà tí a bá ń kọjá àti nígbà ìsinmi.
Bawo ni mo ṣe le gba Aabo API?
Aabo API wa bi Enterprise afikun-lori. Beere fun PoC kan ati pe a yoo ṣe ayẹwo rẹ pẹlu rẹ.





