Impacte
Les API compromeses permeten als atacants eludir les interfícies d'usuari i interactuar directament amb les bases de dades i els serveis de fons [S1]. Això pot provocar l'exfiltració de dades no autoritzada, l'adquisició de comptes per força bruta o la indisponibilitat del servei a causa de l'esgotament dels recursos [S3][S5].
Causa arrel
La causa principal principal és l'exposició de la lògica interna a través de punts finals que no tenen prou validació i protecció [S1]. Sovint, els desenvolupadors assumeixen que si una funció no és visible a la interfície d'usuari, és segura, la qual cosa comporta un trencament dels controls d'accés [S2] i polítiques permissives CORS que confien en massa orígens [S4].
Llista de verificació de seguretat API essencial
- Aplica un control d'accés estricte: cada punt final ha de verificar que el sol·licitant té els permisos adequats per al recurs específic al qual s'accedeix [S2].
- Implementa la limitació de la taxa: protegeix-te contra l'abús automatitzat i els atacs DoS limitant el nombre de sol·licituds que un client pot fer en un període de temps específic [S3].
- Configureu CORS correctament: eviteu utilitzar orígens de comodí (
*) per als punts finals autenticats. Definiu explícitament els orígens permesos per evitar la filtració de dades entre llocs [S4]. - Auditoria de la visibilitat dels punts finals: analitzeu regularment els punts finals "ocults" o no documentats que puguin exposar la funcionalitat sensible [S1].
Com ho prova FixVibe
FixVibe ara cobreix aquesta llista de verificació mitjançant múltiples comprovacions en directe. Les sondes de control actiu posen a prova la limitació de la velocitat del punt final d'autenticació, CORS, CSRF, injecció SQL, debilitats del flux d'auth i altres problemes relacionats amb API només després de la verificació. Les comprovacions passives inspeccionen les capçaleres de seguretat, la documentació pública API i l'exposició OpenAPI i els secrets dels paquets de clients. Les exploracions de repo afegeixen una revisió de risc a nivell de codi per a CORS insegur, interpolació SQL en brut, secrets JWT febles, ús de JWT només de decodificació, buits de signatura de webhook i problemes de dependència.
