
OWASP Top 10 API-Security-Risiken: Fehlerhafte Autorisierung auf Objekteigenschaftsebene
Nummer drei auf dem Entwurf für die Liste der „Top 10 API Security-Risiken“ des Open Worldwide Application Security Project® (OWASP) ist die fehlerhafte Autorisierung auf Objekteigenschaftsebene.
Die fehlerhafte Autorisierung auf Objekteigenschaftsebene ist 2023 neu in der Liste, umfasst jedoch zwei Elemente aus der Version von 2019 – übermäßige Datenexposition und Massenzuweisung. Zur übermäßigen Datenexposition zählt die Exposition sensibler Eigenschaften während eines Lesevorgangs, während eine Massenzuweisung es Angreifern ermöglicht, während eines Schreibvorgangs die Eigenschaften zu ändern.
Zusammengenommen ermöglichen diese Schwächen Angreifern den Zugriff auf die Objekteigenschaften, ohne zuerst die Zugriffsberechtigungen zu validieren, und böswillige Änderungen vorzunehmen.
Angriffsvektoren
Angreifer nutzen API-Endpunkte aus, indem sie sich Zugriff verschaffen und den Wert von Objekteigenschaften lesen oder ändern, auf die sie keinen Zugriff haben sollten. Es entstehen durch den unangemessenen Schutz der Objekteigenschaften Angriffsvektoren. Dies erfordert eine Zugriffsüberprüfung für Objekteigenschaften oder nicht gefilterte Eigenschaften, um nur bestimmte Informationen zurückzugeben.
In diesem Fall ermöglicht der API-Endpunkt Benutzern, auf vertrauliche Objekte, auf die Angreifer nicht zugreifen können sollten, zuzugreifen, sie hinzuzufügen, zu löschen oder ihren Wert zu ändern.
OWASP hat eine Ausnutzbarkeit-Punktzahl von drei zugewiesen, was bedeutet, dass sie von Hackern einigermaßen ausgenutzt werden können.
Security-Schwächen
Die API-Autorisierung sollte in Schichten erfolgen und mehrere Schutzmaßnahmen gegen Angriffe bieten. Während Entwickler im Allgemeinen eine Validierung benötigen, um sicherzustellen, dass Benutzer auf Funktionen und bestimmte Objekte zugreifen können, können sie möglicherweise nicht überprüfen, ob Benutzer auf bestimmte Eigenschaften innerhalb des Objekts zugreifen können.
OWASP bewertet die Berechtigung auf Objektebene mit der Note zwei auf der Skala für Häufigkeit und der Auffindbarkeit, was besagt, dass die Schwachstelle weit verbreitet ist und mit mäßigem Aufwand entdeckt werden kann.
Geschäftliche Auswirkungen
Wenn Angreifer vertrauliche Objekteigenschaften verändern können, kann dies zu Datenverletzungen, Datenverlusten und Datenmanipulationen führen und damit erhebliche Geschäftsrisiken verursachen. Der Missbrauch schwacher Zugriffskontrollen und Logikfehler kann zu erheblichen Risiken führen, die auch vertrauliche Daten und die Ausweitung von Rechten betreffen.
Wie die fehlerhafte Autorisierung auf Objekteigenschaftsebene funktioniert
Wenn Benutzer Anfragen stellen, werden relevante Objekte zurückgegeben. Ohne Kontrolle darüber, welche Artikel zurückgegeben werden, kann es zu übermäßigen Datendumps kommen. Während verifizierte Benutzer möglicherweise zusätzliche Objekteigenschaften ignorieren, können Angreifer die Informationen nutzen, um in Systeme einzudringen oder Rechte auszuweiten.
Entwickler gehen oft davon aus, dass nur validierte Benutzer auf APIs zugreifen, so dass Schwachstellen entstehen, wenn Angreifer direkt auf APIs zugreifen. Dies ermöglicht den Zugriff auf überschüssige Daten oder die Möglichkeit, nicht vorgesehene serverseitige Variablen zu überschreiben.
Häufige Ursachen sind die automatische Bindung auf Framework-Ebene und das Parsen von Anforderungen als Objekte. Das Kopieren von Objekten ist einfacher als das Auswählen bestimmter Werte innerhalb des Objekts und kann beim Programmieren Zeit sparen, aber es kann Daten für Bedrohungsakteure offenlegen.
Beispiele aus der Praxis
Es gab mehrere aufsehenerregende Beispiele aus der Praxis, darunter der Verstoß gegen Twitter im Juli 2022. Daten von mehr als 5 Millionen Twitter-Benutzern wurden in einem Hacker-Forum zum Verkauf angeboten. Daten von weiteren 400 Millionen Benutzern waren im Dark Web verfügbar. Im Januar 2023 führte ein weiterer Angriff auf die Social-Media-Plattform zu einer Ransomware-Forderung, um die Offenlegung von 235 Millionen Benutzerdatensätzen zu verhindern.
HealthEngine wurde zu einer Geldstrafe in Höhe von 2,9 Millionen Dollar verurteilt, nachdem 59.000 Patientendatensätze mit personenbezogenen Daten an die Öffentlichkeit gelangt waren.
Auch GitHub wurde mithilfe fehlerhafter Autorisierung auf Objekteigenschaftsebene gehackt. Ein Forscher nutzte einen Exploit für Massenzuweisungen, um einem Ruby on Rails-Repository einen öffentlichen Schlüssel hinzuzufügen, Administratorrechte zu erlangen und Dateien an Projektkonten zu übertragen.
Erkennen von Autorisierung-Schwachstellen auf defekter Objekte auf Eigenschaftsebene
Das Erkennen einer fehlerhaften Autorisierung auf Objekteigenschaftsebene sollte Teil der Security-Audits von Authentifizierungsmechanismen sein. Schwachstellen-Scanner können gängige API-Sicherheitsbedrohungen identifizieren und manuelle Tests können erforderlich sein, um Schwachstellen in Form von fehlerhafter Autorisierung auf Objekteigenschaftsebene zu erkennen.
Entwickler sollten API-Endpunkte auf Folgendes untersuchen:
- Übermäßiger Datenverlust: Werden mehr Daten von Objekten zurückgegeben als angefordert?
- Massenzuweisung: Können Benutzer serverseitige Variablen initialisieren oder überschreiben, die von der Anwendung nicht vorgesehen sind?
Verhinderung von Schwachstellen in Form von fehlerhafter Autorisierung auf Objekteigenschaftsebene
Wenn ein Objekt über einen API-Endpunkt offengelegt wird, sollten Entwickler immer Validierung-Maßnahmen hinzufügen, um sicherzustellen, dass nur validierte Benutzer Zugriff haben.
Bereitstellen bestimmter Objekteigenschaften
Vermeiden Sie generische Methoden wie _json() und to_string(). Geben Sie stattdessen spezifische Objekteigenschaften an, die ausgegeben werden sollen. Definieren Sie alle Parameter und Payloads.
Massenzuweisung vermeiden
Vermeiden Sie nach Möglichkeit Massenzuweisungen unter Verwendung von Funktionen, die Client-Eingaben automatisch an Code-Variablen, interne Objekte oder Objekteigenschaften binden. Darüber hinaus sollten sich Entwickler nicht darauf verlassen, dass Kunden Daten filtern und Felder ausblenden, sondern nur die spezifischen Eigenschaften zurückgeben, die angefordert werden.
Verwenden Sie schematische Antwortvalidierung
Durch die Implementierung einer schematischen Antwortvalidierung können Entwickler eine Sicherheitsebene hinzufügen, die alle während der API-Anfragen zurückgegebenen Daten definiert und durchsetzt. Verwenden Sie für alle Eigenschaften, die über eine API abgerufen werden können, aber keine Änderung zulassen sollten, schreibgeschützte Eigenschaften, die im Objektschema auf „True“ gesetzt sind.
Minimale funktionale Anforderungen
Beschränken Sie die Struktur der zurückgegebenen Daten auf das Minimum, das für die geschäftlichen und funktionalen Anforderungen der API-Endpunkte erforderlich ist.
Antwortprüfungen durchsetzen
Führen Sie zwingende Antwortprüfungen durch, um versehentliche Datenlecks zu verhindern, auch bei Ausnahmen und Fehleranzeigen.

Der Ransomware Insights Bericht 2025
Wichtige Erkenntnisse über die Erfahrungen und Auswirkungen von Ransomware auf Unternehmen weltweit
Abonnieren Sie den Barracuda-Blog.
Melden Sie sich an, um aktuelle Bedrohungsinformationen, Branchenkommentare und mehr zu erhalten.

Managed Vulnerability Security: Schnellere Behebung von Schwachstellen, weniger Risiken, einfachere Compliance
Erfahren Sie, wie einfach es sein kann, die von Cyberkriminellen bevorzugte Schwachstellen zu finden.