Mõju
Ohustatud API-d võimaldavad ründajatel kasutajaliidestest mööda minna ja suhelda otse taustaandmebaaside ja -teenustega [S1]. See võib viia andmete volitamata väljafiltreerimiseni, kontode ülevõtmiseni jõhkra jõuga või teenuse kättesaamatuks muutumiseni ressursside ammendumise tõttu. [S3][S5].
Algpõhjus
Peamine algpõhjus on sisemise loogika eksponeerimine lõpp-punktide kaudu, millel puudub piisav valideerimine ja kaitse. [S1]. Arendajad eeldavad sageli, et kui funktsioon pole kasutajaliideses nähtav, on see turvaline, mis toob kaasa katkised juurdepääsukontrollid [S2] ja lubavad CORS poliitikad, mis usaldavad liiga palju päritolu [S4].
Oluline turvalisuse kontrollnimekiri API
- Jõustada ranget juurdepääsukontrolli: iga lõpp-punkt peab kontrollima, et taotlejal on konkreetse ressursi jaoks, millele juurde pääseb, sobivad õigused. [S2].
- Rakenduskiiruse piiramine: kaitske automaatse kuritarvitamise ja DoS-i rünnakute eest, piirates taotluste arvu, mida klient saab konkreetse aja jooksul esitada. [S3].
- Konfigureerige CORS õigesti: vältige autentitud lõpp-punktide jaoks metamärke (
*). Määratlege selgesõnaliselt lubatud lähtekohad, et vältida saidiülest andmeleket [S4]. - Audi lõpp-punkti nähtavus: otsige regulaarselt "peidetud" või dokumenteerimata lõpp-punkte, mis võivad paljastada tundliku funktsiooni [S1].
Kuidas FixVibe seda testib
FixVibe katab nüüd selle kontrollnimekirja mitme reaalajas kontrolli kaudu. Aktiivse väravaga sondid testivad autentimise lõpp-punkti määra piiramist, CORS, CSRF-i, SQL-i sisestamist, autentimisvoo nõrkusi ja muid API-ga seotud probleeme alles pärast kinnitamist. Passiivsed kontrollid kontrollivad turbepäiseid, avalikku API dokumentatsiooni ja OpenAPI kokkupuudet ning kliendipakettide saladusi. Repo-skannid lisavad kooditasemel riskiülevaate ebaturvalise CORS, toores SQL-i interpolatsiooni, nõrkade JWT saladuste, ainult dekodeeritud JWT kasutuse, veebihaagi allkirjade lünkade ja sõltuvuste osas.
