Impact
Gecompromitteerde API's stellen aanvallers in staat gebruikersinterfaces te omzeilen en rechtstreeks te communiceren met backend-databases en -services [S1]. Dit kan leiden tot ongeoorloofde gegevensexfiltratie, accountovername via brute force of onbeschikbaarheid van de service vanwege uitputting van bronnen.
Oorzaak
De primaire oorzaak is de blootstelling van interne logica via eindpunten die onvoldoende validatie en bescherming [S1] missen. Ontwikkelaars gaan er vaak van uit dat als een functie niet zichtbaar is in de gebruikersinterface, deze veilig is, wat leidt tot kapotte toegangscontroles [S2] en tolerant CORS-beleid dat te veel oorsprongen [S4] vertrouwt.
Essentiële API-beveiligingschecklist
- Strikte toegangscontrole afdwingen: elk eindpunt moet verifiëren dat de aanvrager over de juiste machtigingen beschikt voor de specifieke bron waartoe toegang wordt verkregen [S2].
- Implementeer snelheidsbeperking: Bescherm tegen geautomatiseerd misbruik en DoS-aanvallen door het aantal verzoeken dat een klant kan doen binnen een specifiek tijdsbestek te beperken. [S3].
- CORS correct configureren: vermijd het gebruik van jokertekenoorsprongen (
*) voor geverifieerde eindpunten. Definieer expliciet toegestane oorsprongen om gegevenslekken tussen locaties te voorkomen [S4]. - Controleer de zichtbaarheid van eindpunten: scan regelmatig op "verborgen" of ongedocumenteerde eindpunten die mogelijk gevoelige functionaliteit blootleggen [S1].
Hoe FixVibe erop test
FixVibe behandelt deze checklist nu via meerdere live checks. Actief-gated tests testen de snelheidsbeperking van het authenticatie-eindpunt, CORS, CSRF, SQL-injectie, zwakke punten in de authenticatiestroom en andere API-problemen pas na verificatie. Passieve controles inspecteren beveiligingsheaders, openbare API-documentatie en OpenAPI-blootstelling, en geheimen in clientbundels. Repo-scans voegen risicobeoordeling op codeniveau toe voor onveilige CORS, onbewerkte SQL-interpolatie, zwakke JWT-geheimen, alleen-decoderen JWT-gebruik, hiaten in de webhook-handtekening en afhankelijkheidsproblemen.
