EN

Fehlende Zugriffskontrolle auf Funktionsebene

In diesem Artikel:

Die Zugriffskontrolle auf Funktionsebene ermöglicht eine flexible hierarchische Berechtigungsprüfung, da sie Entscheidungen zur Ressourcenzugriffskontrolle auf der Grundlage von Aufgabenanforderungen implementiert. Leider ermöglicht es eine Anwendung mit der Sicherheitslücke in der Zugriffskontrolle einem nicht authentifizierten Benutzer, nicht autorisierte Aktionen auf eingeschränkten Ressourcen durchzuführen, indem er Fehler im Code und in den Konfigurationseinstellungen ausnutzt.

In diesem Artikel werden die Sicherheitslücke „Missing Function Level Access Control“, ihre Auswirkungen auf die Anwendungssicherheit und der Schutz von Webanwendungen erläutert.

Was bedeutet eine fehlende Zugriffskontrolle auf Funktionsebene

Die Sicherheitslücke der fehlenden Funktionslevel-Autorisierung tritt auf, wenn es keine ausreichenden Autorisierungsprüfungen für sensible Request-Handler gibt. Diese häufige Schwachstelle ermöglicht es böswilligen Benutzern, auf eingeschränkte Ressourcen zuzugreifen, indem sie ihre Berechtigungen auf der Funktionsebene ausweiten.

Bei dem Angreifer handelt es sich in der Regel um einen authentifizierten Systembenutzer, der einen privilegierten Funktionsparameter ändert, um korrupte Anfragen für nicht autorisierten Administratorzugriff zu senden. 

Ein Angriff mit defekten Berechtigungen auf Funktionsebene beginnt mit dem Zugriff auf Anwendungsprogrammierschnittstellen (APIs). Ein böswilliger Benutzer verschafft sich entweder durch Phishing oder als Benutzer getarnt Zugriffsrechte auf die Anwendung und durchsucht diese dann nach Funktionen, die nicht ordnungsgemäß überprüft wurden.

Dazu gehören die Erlaubnis, direkt auf Ressourcen zuzugreifen, und der Zugriff auf eingeschränkte Daten über die Benutzeroberfläche. Angreifer können diese Schwachstellen ausnutzen, um auf nicht autorisierte Seiten mit sensiblen Informationen zuzugreifen und zusätzliche Berechtigungen innerhalb der Anwendung zu erhalten.

Auswirkungen einer fehlenden Zugriffskontrolle auf Funktionsebene

Für Angreifer ist es einfach, diese Schwachstelle zu entdecken und auszunutzen, denn es genügt ein Versuch, die Methode für den Ressourcenzugriff zu ändern und eine eingeschränkte Aktion durchzuführen. Wird die Anfrage akzeptiert, ist die Website angreifbar und die Angreifer können sich als autorisierte Benutzer ausgeben und weitere Angriffe starten. Durch die Gewährung von Zugriffsrechten auf nicht autorisierte Daten und Ressourcen kann diese Schwachstelle den Angreifern die vollständige Kontrolle über die Anwendung ermöglichen. 

Die potenziellen Auswirkungen und der Schweregrad hängen in der Regel von den einzelnen kompromittierten Benutzerkonten und den betroffenen Funktionen ab. 

Einige Auswirkungen eines erfolgreichen Ausfalls der Zugriffskontrolle auf Funktionsebene sind:

Als eines der größten Sicherheitsrisiken der OWASP Top 10 gilt die unzureichende Zugriffskontrolle als eine der größten Herausforderungen, mit denen sich Unternehmen auseinandersetzen müssen.

Ausnutzung der Schwachstelle in der Zugriffskontrolle auf Funktionsebene

Hier sind beliebte Ansätze und ihre jeweiligen Schritte, die Angreifer nutzen, um die fehlende Zugriffskontrolle auf Funktionsebene auszunutzen:

Horizontale Privilegieneskalation

  1. Der Angreifer meldet sich bei einer Website an. Die URL-Leiste enthält wahrscheinlich die ID des Benutzers während des Anmeldevorgangs: http://darwin.com/app/uID=1738
  2. Nach der ordnungsgemäßen Authentifizierung versucht er, die ID des Benutzers in die eines anderen Benutzerkontos zu ändern. Die URL ist nun ähnlich wie:http://darwin.com/app/uID=3225
  3. Ohne ordnungsgemäße Autorisierung kann sich der Hacker nun als anderer Anwendungsbenutzer anmelden, indem er den UID-Parameter der URL bearbeitet.

Erzwungenes Browsing-Exploit

  1. Angenommen, der unbefugte Benutzer besucht eine Website mit der URL: http://darwin.com
  2. Wenn er auf einen Link klickt, bemerkt er die URL: http://darwin.com/app/info-page
  3. Der unbefugte Benutzer kann versuchen, auf eine Seite mit erhöhten Rechten zuzugreifen, indem er einen Parameter errät und der URL hinzufügt, der zu einer Admin-Benutzerseite führt: http://darwin.com/app/admin-info-page
  4. Wenn diese Seite existiert und das Zugriffskontrollsystem fehlerhaft ist, kann er nun Funktionen eines privilegierten Benutzers innerhalb der Anwendung ausführen.
Privilege Escalation Präventionsguide

Leitfaden

Privilege Escalation Präventionsguide

Erfahren Sie, wie Sie Privilege Escalation erkennen und verhindern und so Ihre Web-Assets schützen können.

Leitfaden herunterladen

Schutz von Anwendungen vor der Function Level Access Control-Schwachstelle

Einige Präventionsmechanismen für diese Art von Schwachstelle sind:

Durchsetzung des Gesetzes des geringsten Privilegs

Verweigern Sie standardmäßig immer den Zugriff, und definieren Sie dann schrittweise die Zugriffseigenschaften für jede Rolle nach Bedarf. Diese Methode der Zugriffskontrolle erleichtert die Verwaltung von Funktionsbeschränkungen, indem für jeden Benutzer Zugriffsrechte auf Funktionsebene definiert werden

Protokollierung von Ereignissen der Zugriffskontrolle

Zugriffskontrollmechanismen sollten die Eigentümerschaft von Datensätzen durchsetzen und dabei helfen, die Benutzer zu definieren, die auf Datensätze zugreifen, sie ändern oder löschen können. Zugriffskontrolllisten (ACLs) sollten verwendet werden, um diese Zugriffskontrolldatensätze zu pflegen und zu aktualisieren. Die Entwickler sollten auch die Aufzeichnung von Autorisierungsfehlern erzwingen und Warnmeldungen für wiederholte Fehler erstellen.

Verwenden Sie rollenbasierte Zugriffskontrolle für Funktionen auf Unternehmensebene

Entwickler sollten zentralisierte Routinen verwenden, um rollenbasierte Authentifizierungsmechanismen für Codefunktionen auf Unternehmensebene durchzusetzen. So werden beispielsweise zunächst die Anforderungen an die Geschäftsgrenzen der Anwendung definiert und dann jedem Benutzer eine Rolle zugewiesen, die auf diesen Grenzen basiert. Dies ermöglicht eine feinkörnige Kontrolle des Zugriffs auf jede einzelne Funktion auf den Servern, auf denen die Webanwendung läuft.

Wie Crashtest Security Ihnen bei fehlender Zugriffskontrolle auf Funktionsebene helfen kann

Die Penetrationstest-Plattform der Crashtest Security Suite hilft Entwicklern und Testern, umfassende Autorisierungsprobleme zu entdecken und zu entschärfen. Die Plattform führt automatisch URL-Parameter-Manipulationen und Forced-Browsing-Angriffe durch, um festzustellen, ob die Schwachstelle als Teil eines Kettenangriffs genutzt werden kann.

Crashtest Security gibt Test- und Scan-Berichte in verschiedenen Formaten aus und ermöglicht den einfachen Austausch von Sicherheitsproblemen zwischen funktionsübergreifenden Teams.
Wenn Sie mehr darüber erfahren möchten, wie Sie mit Crashtest Security Ihre Webanwendungen in wenigen Minuten scannen können, registrieren Sie sich hier für eine kostenlose Testversion.

FAQ

Was ist der Unterschied zwischen fehlender Zugriffskontrolle auf Funktionsebene und unsicherer direkter Objektreferenz?

Die unsichere direkte Objektreferenz ist ein Fehler, bei dem Back-End-Ressourcen direkt auf Front-End-Identifikatoren abgebildet werden. Schwachstellen bei der direkten Objektreferenz ermöglichen es dem Hacker, Zugriffsrechte auf eingeschränkte Ressourcen zu erlangen, indem er deren ID-Wert errät.

Auf der anderen Seite ist die fehlende Autorisierung auf Funktionsebene ein Autorisierungsfehler, bei dem die Anwendung die Benutzerberechtigungen nicht ordnungsgemäß überprüft. Probleme bei der Zugriffskontrolle auf Funktionsebene führen zum Missbrauch des Mechanismus zur Verhinderung des privilegierten Zugriffs in der Anwendung.

Erhalten Sie jetzt kostenlos einen schnellen Sicherheitsbericht für Ihre Website

Wir analysieren derzeit https://example.com
Wir scannen derzeit https://example.com
Status des Scans: In Bearbeitung
Scan target: http://example.com/laskdlaksd/12lklkasldkasada.a
Datum: 07/12/2022
Crashtest Security Suite prüft auf:
Information disclosure Known vulnerabilities SSL misconfiguration Open ports
Scanauftrag ausfüllen
Bitte geben Sie Ihre Daten ein, um die schnelle Sicherheitsüberprüfung zu erhalten.
Ein Sicherheitsspezialist analysiert gerade Ihren Scan-Bericht.
Bitte geben Sie Ihre Telefon-/Handynummer an, damit wir Ihre Identität überprüfen können:
Vielen Dank.
Wir haben Ihren Antrag erhalten.
Sobald Ihr Sicherheitsaudit fertig ist, werden wir Sie benachrichtigen.