Auswirkungen
Kompromittierte APIs ermöglichen es Angreifern, Benutzeroberflächen zu umgehen und direkt mit Backend-Datenbanken und -Diensten [S1] zu interagieren. Dies kann zu unbefugter Datenexfiltration, Kontoübernahmen durch Brute-Force oder zur Nichtverfügbarkeit von Diensten aufgrund von Ressourcenerschöpfung führen. [S3][S5].
Grundursache
Die Hauptursache ist die Offenlegung der internen Logik durch Endpunkte, denen ausreichende Validierung und Schutz fehlen [S1]. Entwickler gehen oft davon aus, dass eine Funktion sicher ist, wenn sie nicht in der Benutzeroberfläche sichtbar ist. Dies führt zu fehlerhaften Zugriffskontrollen [S2] und freizügigen CORS-Richtlinien, die zu vielen Ursprüngen [S4] vertrauen.
Grundlegende API Sicherheitscheckliste
- Strikte Zugriffskontrolle erzwingen: Jeder Endpunkt muss überprüfen, ob der Anforderer über die entsprechenden Berechtigungen für die spezifische Ressource verfügt, auf die zugegriffen wird [S2].
- Ratenbegrenzung implementieren: Schützen Sie sich vor automatisiertem Missbrauch und DoS-Angriffen, indem Sie die Anzahl der Anfragen begrenzen, die ein Client innerhalb eines bestimmten Zeitraums stellen kann [S3].
- CORS richtig konfigurieren: Vermeiden Sie die Verwendung von Platzhalterursprüngen (
*) für authentifizierte Endpunkte. Definieren Sie explizit zulässige Ursprünge, um standortübergreifende Datenlecks zu verhindern [S4]. - Endpunktsichtbarkeit prüfen: Regelmäßig nach „versteckten“ oder undokumentierten Endpunkten suchen, die möglicherweise sensible Funktionen offenlegen [S1].
Wie FixVibe darauf testet
FixVibe deckt diese Checkliste jetzt durch mehrere Live-Prüfungen ab. Active-Gated-Probes testen die Begrenzung der Authentifizierungsendpunktrate, CORS, CSRF, SQL-Injection, Authentifizierungsflussschwächen und andere API-bezogene Probleme erst nach der Überprüfung. Passive Prüfungen prüfen Sicherheitsheader, öffentliche API-Dokumentation und OpenAPI-Offenlegung sowie Geheimnisse in Client-Bundles. Repo-Scans bieten eine Risikoüberprüfung auf Codeebene für unsicheres CORS, unformatierte SQL-Interpolation, schwache JWT-Geheimnisse, reine Dekodierungsnutzung von JWT, Webhook-Signaturlücken und Abhängigkeitsprobleme.
