Vpliv
Ogroženi API-ji omogočajo napadalcem, da obidejo uporabniške vmesnike in neposredno komunicirajo z zalednimi bazami podatkov in storitvami [S1]. To lahko privede do nepooblaščenega odtujevanja podatkov, prevzemov računov s surovo silo ali nedostopnosti storitve zaradi izčrpanosti virov [S3][S5].
Temeljni vzrok
Primarni glavni vzrok je izpostavljenost notranje logike prek končnih točk, ki nimajo zadostne validacije in zaščite [S1]. Razvijalci pogosto domnevajo, da če funkcija ni vidna v uporabniškem vmesniku, je varna, kar vodi do pokvarjenega nadzora dostopa [S2] in permisivnih pravilnikov CORS, ki zaupajo preveč izvorom [S4].
Osnovni varnostni kontrolni seznam API
- Uveljavi strog nadzor dostopa: vsaka končna točka mora preveriti, ali ima zahtevatelj ustrezna dovoljenja za določen vir, do katerega dostopa [S2].
- Implement Rate Limiting: Zaščitite se pred avtomatsko zlorabo in napadi DoS tako, da omejite število zahtev, ki jih lahko odjemalec poda v določenem časovnem okviru [S3].
- Pravilno konfigurirajte CORS: Izogibajte se uporabi nadomestnih znakov (
*) za overjene končne točke. Eksplicitno določite dovoljene izvore, da preprečite uhajanje podatkov med spletnimi mesti [S4]. - Pregled vidnosti končne točke: Redno pregledujte "skrite" ali nedokumentirane končne točke, ki bi lahko razkrile občutljivo funkcionalnost [S1].
Kako ga FixVibe testira
FixVibe zdaj pokriva ta kontrolni seznam z več preverjanji v živo. Sonde z aktivnimi vrati preizkušajo omejitev hitrosti končne točke preverjanja, CORS, CSRF, vbrizgavanje SQL, slabosti pretoka preverjanja in druge težave, povezane z API, šele po preverjanju. Pasivni pregledi pregledujejo varnostne glave, javno dokumentacijo API in izpostavljenost OpenAPI ter skrivnosti v svežnjih odjemalcev. Repo pregledi dodajo pregled tveganja na ravni kode za nevaren CORS, surovo interpolacijo SQL, šibke skrivnosti JWT, uporabo JWT samo za dekodiranje, vrzeli v podpisu webhook in težave z odvisnostjo.
