Share
Beitragsbild zu Die vier häufigsten OWASP-API-Sicherheitsbedrohungen

Die vier häufigsten OWASP-API-Sicherheitsbedrohungen

Das Open Web Application Security Project (OWASP) ist eine Non-Profit-Organisation mit dem Ziel, die Sicherheit von Software weltweit zu verbessern. Durch das Schaffen von Transparenz sollen Endanwender und Unternehmen fundierte Entscheidungen über tatsächliche Sicherheitsrisiken in Software treffen können. Die bekannten Top-10-Listen von OWASP schärfen das Bewusstsein für die kritischsten Sicherheitsrisiken bei Webanwendungen.

Die heutige Wirtschaft ist stark getrieben durch Anwendungen. Im Zuge dieser Entwicklung haben sich APIs zu einem der größten Risiken entwickelt. Die Nutzung von APIs hat explosionsartig zugenommen und ist sowohl in externen als auch in internen Anwendungen allgegenwärtig geworden. Um die einzigartigen API-Schwachstellen und die zunehmenden Bedrohungen zu verstehen und zu entschärfen, hat OWASP seine erste OWASP API Security Top 10 im Jahr 2019 veröffentlicht.

Die Liste bietet Unternehmen einen guten Ausgangspunkt, um sich über die häufigen Schwachstellen und Sicherheitsmängel zu informieren, die in APIs auftreten können. Die häufigsten davon sind:

  1. BOLA (Broken Object Level Authorization)
  2. Fehlerhafte Benutzerauthentifizierung
  3. Übermäßige Datenexposition
  4. Sicherheit Fehlkonfiguration
BOLA

Mit etwa 40 Prozent aller API-Angriffe stellt BOLA (Broken Object Level Authorization) die am weitesten verbreitete API-Bedrohung dar. Angreifer können API-Endpunkte, die für BOLA anfällig sind, leicht ausnutzen, indem sie die ID eines Objekts manipulieren, das in einer API-Anforderung gesendet wird. Da die Serverkomponente den Zustand des Clients in der Regel nicht vollständig verfolgt, sind diese Schwachstellen in API-basierten Anwendungen extrem häufig.

BOLA-Autorisierungsfehler können zur Datenexfiltration sowie zur unbefugten Anzeige, Änderung oder Zerstörung von Daten führen. BOLA kann auch zu einer vollständigen Konto-Übernahme (Account Take Over, ATO) führen.

Automatisches statisches oder dynamisches Testing können BOLA-Autorisierungsfehler nicht leicht erkennen. Herkömmliche Sicherheitskontrollen wie WAFs und API-Gateways übersehen diese Art von Angriffen ebenfalls, da sie den API-Kontext nicht verstehen und daher kein normales API-Verhalten zugrunde legen können.

Fehlerhafte Benutzerauthentifizierung

Eine fehlerhafte Benutzerauthentifizierung ermöglicht es Angreifern, gestohlene Authentifizierungs-Token, Credential Stuffing und Brute-Force-Angriffe zu verwenden, um unbefugten Zugriff auf Anwendungen zu erhalten. Angreifer können Benutzerkonten übernehmen, unbefugten Zugriff auf die Daten eines anderen Benutzers erhalten und unbefugte Transaktionen durchführen. Authentifizierungsmechanismen stellen ein leichtes Ziel für Angreifer dar, insbesondere wenn sie vollständig offengelegt oder öffentlich sind.

Zu den technischen Faktoren, die zu einer fehlerhaften Authentifizierung in APIs führen können, gehören u. a. eine unzureichende Passwortkomplexität, fehlende Schwellenwerte für die Kontosperrung, übermäßig lange Zeiträume für Passwort-/Zertifikatwechsel oder die Verwendung von API-Schlüsseln als einziges Authentifizierungsmaterial.

Da herkömmliche Sicherheitskontrollen nicht in der Lage sind, den Angriffsverkehr über einen längeren Zeitraum zu verfolgen, können sie die verschiedenen Formen fortgeschrittener Angriffe, die auf die Authentifizierung abzielen, nicht entschlüsseln.

Übermäßige Datenexposition

APIs senden oft mehr Informationen als in einer API-Antwort benötigt werden und überlassen es der Client-Anwendung, die Daten zu filtern. Sich beim Filtern sensibler Daten auf clientseitigen Code zu verlassen, ist jedoch problematisch, da Angreifer regelmäßig den clientseitigen Code von Web- und Mobilanwendungen umgehen und APIs direkt aufrufen.

Im Falle einer übermäßigen Offenlegung von Daten hoffen Angreifer, dass die API mehr Informationen als nötig liefert – im Idealfall Informationen, die sie für komplexere Angriffe nutzen können. Eine API-Anforderung für Benutzerinformationen könnte beispielsweise auch den Benutzernamen des Administrators, den Status der Multifaktor-Authentifizierung und andere Daten liefern, die für die ursprüngliche Anforderung völlig unnötig sind.

Herkömmliche Sicherheitsscanner und Laufzeiterkennungs-Tools schlagen manchmal bei dieser Art von Schwachstelle Alarm, sind aber nicht in der Lage, zwischen legitimen Daten, die von der API zurückgegeben werden, und sensiblen Daten, die nicht zurückgegeben werden sollten, zu unterscheiden.

Sicherheitsfehlkonfiguration

Es gibt viele Sicherheitsfehlkonfigurationen, die sich oft negativ auf die API-Sicherheit als Ganzes auswirken und unbeabsichtigt Schwachstellen einführen können. Zu den Sicherheitsfehlkonfigurationen können unsichere Standardkonfigurationen, unvollständige Konfigurationen, falsch konfigurierte HTTP-Header, ausführliche Fehlermeldungen, offener Cloud-Speicher und vieles mehr gehören.

Fehlkonfigurationen ermöglichen es Angreifern, während ihrer Erkundungsphase Kenntnisse über die Anwendungs- und API-Komponenten zu erlangen. Angreifer können Fehlkonfigurationen auch ausnutzen, um ihre Angriffe gegen APIs zu richten.

Verteidigung gegen API-Angriffe erfordert Kontext

APIs legen von Natur aus die Anwendungslogik offen. Hacker experimentieren ausgiebig, um Lücken in dieser Geschäftslogik zu finden, die sie ausnutzen können.  Die Erkundung, die für die Verbreitung solcher Angriffe erforderlich ist, nimmt viel Zeit in Anspruch. Ein einzelner API-Angriff kann Stunden, Tage oder sogar Wochen in Anspruch nehmen.

Um sich dagegen zu schützen, müssen Unternehmen große Mengen an API-Verkehr und API-Aktivitäten im Laufe der Zeit analysieren. Das Aufspüren von Verstößen wie BOLA erfordert die kontinuierliche Überwachung von Millionen von API-Aufrufen und Benutzern. Eine groß angelegte Datenanalyse in nahezu Echtzeit ist unerlässlich, um eine Basislinie typischer API-Aktivitäten und der Anomalien zu erstellen, die nicht übereinstimmen – dies ist die Art von Kontext, die Teams benötigen, um API-Missbrauch zu erkennen.

Das Unterscheiden zwischen legitimen Anfragen und Anfragen, die nicht ordnungsgemäß authentifiziert oder autorisiert sind, erfordert ebenfalls einen umfangreichen Kontext. Unternehmen müssen alle API-Aktivitäten analysieren, um Versuche zu erkennen, zu viele Daten zu exportieren oder Zugriff auf nicht autorisierte private Daten zu erhalten.

Server- oder VM-basierte API-Sicherheitsansätze verfügen im Laufe der Zeit einfach nicht über einen ausreichend großen Datensatz, um die heutigen raffinierten API-Angriffe zu identifizieren. Nur Big Data im Cloud-Maßstab in Kombination mit KI und ML kann Hunderte von Attributen über Millionen von Benutzern und API-Aufrufen sammeln, speichern, schnell analysieren und korrelieren. Big Data im Cloud-Maßstab bietet die Breite und Tiefe des Kontexts, den Unternehmen für den Schutz ihrer APIs benötigen.

Autor: Daniel Wolf, Regional Director DACH von Salt Security