Impact
Kompromitovani API-ji omogućavaju napadačima da zaobiđu korisnička sučelja i direktno komuniciraju sa pozadinskim bazama podataka i uslugama [S1]. To može dovesti do neovlaštene eksfiltracije podataka, preuzimanja računa putem grube sile ili nedostupnosti usluge zbog iscrpljivanja resursa [S3][S5].
Osnovni uzrok
Primarni osnovni uzrok je izlaganje interne logike kroz krajnje tačke kojima nedostaje dovoljna validacija i zaštita [S1]. Programeri često pretpostavljaju da ako funkcija nije vidljiva u korisničkom sučelju, ona je sigurna, što dovodi do pokvarenih kontrola pristupa [S2] i dopuštenih politika CORS koje vjeruju previše izvorima [S4].
Essential API Sigurnosna kontrolna lista
- Primjena stroge kontrole pristupa: Svaka krajnja točka mora provjeriti da li podnosilac zahtjeva ima odgovarajuće dozvole za određeni resurs kojem se pristupa [S2].
- Implementirajte ograničenje brzine: Zaštitite od automatske zloupotrebe i DoS napada ograničavanjem broja zahtjeva koje klijent može uputiti u određenom vremenskom okviru [S3].
- Konfigurišite CORS ispravno: Izbjegavajte korištenje zamjenskih znakova (
*) za autentificirane krajnje tačke. Eksplicitno definirajte dozvoljeno porijeklo da spriječite curenje podataka na više lokacija [S4]. - Revizija vidljivosti krajnje tačke: Redovno skenirajte za "skrivene" ili nedokumentovane krajnje tačke koje bi mogle otkriti osjetljivu funkcionalnost [S1].
Kako FixVibe testira za to
FixVibe sada pokriva ovu kontrolnu listu kroz višestruke provjere uživo. Probe sa aktivnim upravljanjem testiraju ograničenje brzine krajnje tačke autentifikacije, CORS, CSRF, SQL injekciju, slabosti auth-toka i druge probleme sa API samo nakon verifikacije. Pasivne provjere provjeravaju sigurnosna zaglavlja, javnu API dokumentaciju i izloženost OpenAPI-ju, te tajne u klijentskim paketima. Repo skeniranja dodaju pregled rizika na nivou koda za nesigurni CORS, sirovu SQL interpolaciju, slabe JWT tajne, korištenje JWT samo za dekodiranje, praznine u potpisu webhook-a i probleme ovisnosti.
