Bakoitzak pull request Amaiera-puntua gehitzen edo aldatzen duenak API eraso-azalera aldatzen du. API segurtasun-tresna gehienek ez dute ohartzen amaiera-puntua martxan egon eta trafikoa hartzen ari den arte. Ordurako, konponketa ez da kode-berrikuspen bateko lerro bakarreko aldaketa bat, baizik eta intzidenteei erantzuteko elkarrizketa bat.
API segurtasuna aplikazio batek bere amaiera-puntuak nola azaltzen dituen arriskuak aurkitu eta ixteko praktika da: nork deitu diezaieke, zer datu itzultzen dituzten eta dokumentazioak dioena egiten duten ala ez.
Arazo honetarako eraikitako tresna gehienek APIa exekuzio-garaian probatzen dute, kanpotik, erasotzaile batek egingo lukeen modu berean. Ikuspegi horrek funtzionatzen du, baina APIa zabaldu ondoren bakarrik funtzionatzen du. Xigenoa aurreko bidea hartzen du: zure iturburu-kodea eta zure API zehaztapena irakurtzen ditu eskaera bakar bat ere amaiera-puntura iritsi baino lehen.
API bat probatzeko lau moduak, eta bakoitzak zer erantzuten duen
Programa heldu gehienek hauetako bat baino gehiago exekutatzen dituzte:
- Proba estatikoak iturburu-kodea eta APIaren zehaztapenak aztertzen ditu zabaldu aurretik. "Zer azaldu berri dugu?" galderari erantzuten dio. Artikulu honek ikuspegi honetan jartzen du arreta.
- Proba dinamikoak (DAST) benetako trafikoa bidaltzen du martxan dagoen API batera eta nola erantzuten duen behatzen du. "Zer da benetan eskuragarri eta ustiagarria une honetan?" erantzuten du.
- Fuzzing Sarrera okerrak edo ustekabekoak jaurtitzen ditu muturretan, kraskadurak eta ertzeko kasuen hutsegiteak azaleratzeko. "Sarreraren azpian zein haustura ez genituen aurreikusi?" galderari erantzuten dio.
- Eskuzko penetrazio probak Gizakien irizpidea gehitzen du tresna automatizatuek huts egiten duten logika akatsak aurkitzeko. Honek erantzuten du: "Zer kateatuko luke erasotzaile adimendun batek?"
Hauetako batek ere ez ditu besteak ordezkatzen. Bizi-zikloko une desberdinetan galdera desberdinei erantzuten diete, eta programa gehienek duten hutsunea lehenengoa da.
Zergatik API segurtasun tresna gehienek arriskua berandu ikusten dute
Exekuzio-denbora APIaren segurtasun-probak aplikazio batera trafikoa bidaltzen du eta nola erantzuten duen ikusten du. Geruza zilegi eta beharrezkoa da. Eraikuntzaz, atzerapen-adierazle bat ere bada: amaiera-puntua existitu, zabaldu eta eskuragarri egon behar da exekuzio-denbora eskaner batek horri buruz ezer esan aurretik. Aurkitzen duen edozer gauza agerian egon da eskaneatzea exekutatzeko behar izan den denboran.
Bigarren hutsune bat dago denbora-arazo horren azpian. Exekuzio-tresnek badakitena bakarrik probatu dezakete. Amaiera-puntu bat inoiz dokumentatu ez bada, edo OpenAPI espezifikazioa zaharkituta badago norbaitek ibilbide berri bat bidali bezain laster, exekuzio-eskaner batek ez du modurik jakiteko hor dagoenik. Mapa probatzen du, ez lurraldea.
API segurtasun proba estatikoek bi hutsuneak ixten dituzte egiaztapena amaierako puntua definituta dagoen lekura eramanez: zure kodea eta zure API zehaztapena, zabaldu aurretik. Gauza bera pull request amaiera-muturra aurkezten duena da pull request bere arriskua azaleratzen duena.
Zer esan nahi du benetan API Segurtasun Estatikoak
Xygeni-k zure API inbentarioa bi iturritatik eraikitzen du: zure aplikazioaren iturburu-kodea eta zure API zehaztapenak, OpenAPI eta Swagger barne.
Espezifikazioen inbentario batek norbaitek dokumentatzea gogoratu dituen amaiera-puntuak erakusten ditu. Kodearen inbentario batek zer dagoen erakusten du, baina ez nahitaez nola erabili behar zen. Biak irakurrita, ikuspegi osoa izango duzu: zure taldeek dokumentatu dituzten amaiera-puntuak eta inork dokumentatu ez dituenak.
Inbentario hori da beste guztiaren oinarria:
- Oinarrizko datuekin alderatuta aurkitutako API kopurua eta arriskuan dauden aktiboak
- HTTP metodoaren arabera banatutako amaiera-puntuak
- Zerbitzuaren arabera taldekatutako arazoak
- Amaierako puntu bakoitza bere metodoarekin, bidearekin, zerbitzuarekin, moduluarekin, autentifikazio egoerarekin eta arrisku puntuazioarekin
Zure ingeniaritza-buruek zure API gainazalaren forma ikusten dute txartel bakar bat ere ireki gabe.
Xygenik aurkitutako amaiera-puntu guztiak, bere metodoarekin, autentifikazio-egoerarekin eta arrisku-puntuazioarekin, kodetik eta espezifikaziotik batera eraikiak.
Production note Moztu AI Triage panela edozein API Segurtasun pantaila-argazkitik.
OWASP API Segurtasun Top 10-ekin mapatuta
Emaitzek zure segurtasun-taldeek eta zure auditoreek dagoeneko erabiltzen duten esparrua erakusten dute. Xygeni-k arriskua detektatzen du OWASP API Segurtasun osoan. Top 10 (2023):
| OWASP | Arriskuen | Zer esan nahi du praktikan |
|---|---|---|
API1 | Objektu Hautsiaren Mailako Baimena | Amaierako puntu batek beste erabiltzaile edo maizter bati dagozkion datuak itzultzen edo aldatzen ditu |
API2 | Amaiera-puntuak autentifikatu gabe | Ibilbide bat autentifikaziorik gabe eskura daiteke |
API3 | Datuen gehiegizko esposizioa | Erantzun batek deitzaileak behar dituen edo ikusi beharko lituzkeenak baino eremu gehiago itzultzen ditu |
API3 | Esleipen masiboa | Amaierako puntu batek inoiz onartu behar ez zituen eremuak onartzen eta aplikatzen ditu |
API3 / API10 | Datu sentikorrak erantzunetan | PII, PCI edo PHI bezeroarengana iristen da bidali behar ez lukeen amaiera-puntu batetik. |
API4 | Tasa-mugak falta dira | Amaierako puntu batek ez du babesik gehiegikerien edo indar gordinen deien aurka. |
API5 | Funtzio-mailako baimen hautsia | Amaierako puntu batek ekintza pribilegiatu bat egiten du deitzaileak baimena duen egiaztatu gabe. |
API7 | SSRF | APIa erasotzailearen izenean eskaerak egiteko engainatu daiteke. |
API8 | JWT konfigurazio okerra | Tokenaren balidazioa, sinadura edo iraungitzea gaizki konfiguratuta daude |
API8 | CORS konfigurazio okerra | Jatorri gurutzatuko arauak nahikoa permisiboak dira ustiagarriak izateko |
API9 | Zonbi eta umezurtz amaiera-puntuak | Zaharkitutako edo ahaztutako ibilbideak, oraindik eskuragarri daudenak, eta inork ez dituenak |
Kategoria bat nahita falta da. API6-k, Negozio Fluxu Sentikorretarako Sarbide Mugagabea, negozio prozesu batek zer baimendu behar duen ulertzea eskatzen du, eta ez dago analizatzaile estatikorik hori modu sinesgarrian detektatzen duenik. Kontrakoa dioen edozein saltzailek kontrol-lauki bat saltzen dizu. Hori zure mehatxu modelizazioarekin eta zure penetrazio probatzaileekin geratzen da.
Ez dira aurkikuntza guztiak berdinak: datuen sentikortasuna eta konbinazio toxikoak
Aurkikuntzen zerrenda lauak osasun-egiaztapenaren amaiera-puntu autentifikatu gabe bat bezeroen erregistroak itzultzen dituen amaiera-puntu autentifikatu gabe bat bezala tratatzen du. Ez dira arazo bera, eta puntuazio berdina ematen dien lehentasun-eredu batek zure taldeak zerrenda baztertzera entrenatzen ditu.
Xygeni-k amaiera-puntu bakoitzak maneiatzen dituen datuak sailkatzen ditu, PII, PCI eta PHI eskaera-parametroetan eta erantzunetan markatuz, eta horiek amaiera-puntuaren autentifikazio-egoerarekin parekatzen ditu.
Gainera, amaiera-puntu berean dauden aurkikuntzak erlazionatzen ditu eta larritasuna areagotzen du konposatzen direnean. Erantzun batean PII filtrazio bat aurkikuntza larria da berez. Autentifikaziorik behar ez duen amaiera-puntu batean filtrazio bera kritikoa da, eta plataformak horrela kalifikatzen du, konexioa norbaitek eskuz ohartarazteko utzi beharrean.
Zonbi eta umezurtz amaierako puntuak: kodearen eta espezifikazioaren arteko noraeza
Xygeni-k zure kodea eta zure API zehaztapena alboz albo irakurtzen dituenez, non dauden ados ikusten du. Aldaketa hori hiru eredu ezagun gisa agertzen da:
- Amaiera-puntuak dokumentatu gabe. Kodean bizi dira eta ez dira inoiz zehaztapenera gehitu.
- Zonbi amaierako puntuak. Zaharkituta edo erretiratu gisa markatuta daude, eta oraindik eskuragarri daude.
- Amaiera-puntu umezurtzak. Oraingo taldeko inork ez ditu haien jabetzakoak.
Hauetako bat ere ez da agertzen espezifikazio-soilik duen inbentarioan, espezifikazio hori baita falta zaiena.
Ekin diezaiokezun frogak, ez ikertzeko txartelak
Aurkikuntza bakoitzak arduradunaren kudeatzaile zehatza seinalatzen du: fitxategia, klasea, metodoa eta akatsa sartu zuen lerro zehatza, ondoan errendatutako kode arau-hauslearekin. Bakoitzak bere larritasuna, OWASP API Security Top 10 kategoria, CWE, amaierako puntuaren autentifikazio egoera eta datuen sentikortasun sailkapena ere baditu.
Amaiera-puntua izendatzen duen aurkikuntza batek garatzailea kode-basean zehar arakatzen jartzen du ezer konpontzen hasi aurretik ere. Lerroa izendatzen duen aurkikuntza batek berehala jartzen du konponketan.
Aurkikuntzak JSON, CSV, Markdown eta SARIF 2.1.0 gisa esportatzen dira, beraz, t-n amaitzen dira.Zure taldeek dagoeneko erabiltzen dituzten tresnak.
Kudeatzailea, lerroa eta esposizioa ekarri zuen kodea. Ez da ikertzeko txartela.
Zergatik bizi den hau plataforma batean, ez beste kontsola batean
Xygenik API Segurtasuna exekutatzen du batera SAST, SCA, Segurtasun Sekretuak, IaC Dast plataforma bakar baten barruan, korrelazionatuta ASPM, tresna bereizi gisa bidali beharrean, berezko tresnarekin login eta bere atzerapena.
Hori garrantzitsua da, aurkikuntza estatikoek eta exekuzio-denbora aurkikuntzek amaiera-puntu berari buruzko galdera desberdinei erantzuten dietelako, eta elkarrekin erabilgarriagoak direlako bereizita baino. Statikoak amaiera-puntu bat arriskutsua dela esaten dizu bidali aurretik. DASTek baieztatzen du zer den benetan eskuragarria eta ustiagarria martxan dagoenean.
Bi kontsoletan banatu eta arrisku korrelazionatua bi atzerapen-pilaketa lotu gabe bihurtzen da. Inork ez ditu bateratzen, eta dokumentatu eta autentifikatu gabeko amaiera-puntua ez da inongo ilaran geratzen.
Ikusi zure benetako API eraso-azalera. API Segurtasuna eskuragarri dago Enterprise Xygeni plataformarako gehigarri bat, eta eskaneatzea zure azpiegituraren barruan dauden zure biltegien aurka exekutatzen da.
ohiko galderak
Esan al dezake zein muturreko puntuk kudeatzen dituzten datu sentikorrak?
Bai. Xygenik PII, PCI eta PHI markatzen ditu amaierako parametroetan eta erantzunetan, eta sailkapen hori erabiltzen du aurkikuntzak benetako esposizioaren arabera sailkatzeko.
Edozein lekutan exekutatu al daiteke? pull request?
Bai. Eskaneatze inkrementalak aldatu diren amaiera-puntuak bakarrik aztertzen ditu, eta sortzen duen manifestuak ondorengo DAST eskaneatze bat amaiera-puntu berberetan zentratu dezake, proba estatikoak eta exekuzio-denbora benetan mugitu denarekin lerrokatuta egon daitezen.
Nire kodea nire ingurunetik irteten al da?
Ez. Eskaneatzeak zure azpiegituran exekutatzen dira. Emaitzak bakarrik igotzen dira, bidean eta geldirik daudenean babestuta.
Nola lortzen dut API Segurtasuna?
API Segurtasuna eskuragarri dago Enterprise gehigarria. Eskatu PoC bat eta zurekin batera aztertuko da.





