Impact
API-urile compromise permit atacatorilor să ocolească interfețele utilizatorului și să interacționeze direct cu bazele de date și serviciile backend [S1]. Acest lucru poate duce la exfiltrarea neautorizată a datelor, preluarea conturilor prin forță brută sau indisponibilitatea serviciului din cauza epuizării resurselor [S3][S5].
Cauza fundamentală
Cauza principală este expunerea logicii interne prin punctele finale care nu dispun de validare și protecție suficientă [S1]. Dezvoltatorii presupun adesea că, dacă o caracteristică nu este vizibilă în interfața de utilizare, aceasta este sigură, ceea ce duce la întreruperea controalelor de acces [S2] și a politicilor permisive CORS care au încredere în prea multe origini [S4].
Lista de verificare a securității API esențială
- Implementați controlul strict al accesului: fiecare punct final trebuie să verifice dacă solicitantul are permisiunile corespunzătoare pentru resursa specifică accesată [S2].
- Implementați limitarea ratei: Protejați-vă împotriva abuzurilor automate și a atacurilor DoS prin limitarea numărului de solicitări pe care un client le poate face într-un anumit interval de timp [S3].
- Configurați corect CORS: evitați utilizarea originilor wildcard (
*) pentru punctele finale autentificate. Definiți în mod explicit originile permise pentru a preveni scurgerile de date între site-uri [S4]. - Audită vizibilitatea punctelor finale: scanează în mod regulat punctele finale „ascunse” sau nedocumentate care ar putea expune funcționalitatea sensibilă [S1].
Cum testează FixVibe pentru aceasta
FixVibe acoperă acum această listă de verificare prin mai multe verificări live. Sondele cu control activ testează limitarea ratei de autentificare a punctului final, CORS, CSRF, injecția SQL, punctele slabe ale fluxului de auth și alte probleme care se confruntă cu API numai după verificare. Verificările pasive inspectează anteturile de securitate, documentația publică API și expunerea OpenAPI și secretele din pachetele de clienți. Scanările repo adaugă evaluarea riscului la nivel de cod pentru CORS nesigur, interpolare SQL brută, secrete slabe JWT, utilizarea JWT numai pentru decodare, lacune ale semnăturilor webhook și probleme de dependență.
