Broken Object Level Authorization, auch bekannt als BOLA, ist ein Sicherheitsproblem, das in Webanwendungen auftritt. Es entsteht, wenn ein Benutzer auf ein Objekt zugreifen kann, für das er keine Berechtigung hat, nur weil er die ID oder den Ort des Objekts kennt. Dies kann zu schwerwiegenden Datenschutzverletzungen und anderen Sicherheitsproblemen führen.
Um BOLA zu verstehen, ist es wichtig, den Unterschied zwischen Authentifizierung und Autorisierung zu kennen. Authentifizierung ist der Prozess, bei dem ein Benutzer seine Identität bestätigt, während Autorisierung bestimmt, was ein authentifizierter Benutzer tun darf. Bei BOLA wird die Autorisierung nicht ordnungsgemäß durchgeführt, sodass Benutzer auf Objekte zugreifen können, für die sie keine Berechtigung haben.
Ein einfaches Beispiel für BOLA wäre eine Webanwendung, die Benutzern erlaubt, ihre eigenen Fotos hochzuladen und zu verwalten. Wenn die Anwendung nicht ordnungsgemäß autorisiert ist, könnte ein Benutzer möglicherweise die URL oder ID eines Fotos ändern und so auf die Fotos eines anderen Benutzers zugreifen.
BOLA tritt auf, wenn eine Anwendung die Berechtigungen eines Benutzers nicht ordnungsgemäß überprüft, bevor sie ihm Zugriff auf ein Objekt gewährt. Dies geschieht normalerweise, wenn die Anwendung auf der Annahme basiert, dass ein Benutzer nur auf Objekte zugreifen kann, die er kennt oder die ihm zugewiesen sind.
In der Realität können jedoch viele Benutzer die IDs oder URLs von Objekten erraten oder auf andere Weise entdecken. Wenn die Anwendung die Berechtigungen des Benutzers nicht überprüft, bevor sie ihm Zugriff auf das Objekt gewährt, kann der Benutzer auf das Objekt zugreifen, auch wenn er keine Berechtigung dazu hat.
Die Auswirkungen von BOLA können erheblich sein. In einigen Fällen kann ein Benutzer auf sensible Daten zugreifen, die er nicht sehen sollte. In anderen Fällen kann ein Benutzer möglicherweise Änderungen an Objekten vornehmen, für die er keine Berechtigung hat.
Darüber hinaus kann BOLA auch dazu führen, dass eine Anwendung gegen Datenschutzgesetze verstößt. Wenn ein Benutzer auf Daten zugreifen kann, für die er keine Berechtigung hat, kann dies zu erheblichen rechtlichen Problemen für den Betreiber der Anwendung führen.
Es gibt mehrere Möglichkeiten, BOLA zu vermeiden. Eine der effektivsten Methoden ist die Verwendung von Zugriffssteuerungslisten (ACLs). Mit ACLs kann eine Anwendung genau festlegen, welche Benutzer auf welche Objekte zugreifen können.
Eine andere Methode ist die Verwendung von Zufallszahlen oder Hashes als IDs für Objekte. Auf diese Weise ist es für einen Benutzer viel schwieriger, die ID eines Objekts zu erraten oder zu entdecken.
Schließlich ist es wichtig, dass Entwickler von Webanwendungen immer die Berechtigungen eines Benutzers überprüfen, bevor sie ihm Zugriff auf ein Objekt gewähren. Dies sollte auch dann geschehen, wenn der Benutzer bereits authentifiziert ist.
`
`
BOLA, kurz für Broken Object Level Authorization, ist ein Sicherheitsdefizit, welches das Eindringen in systeminterne Strukturen ermöglicht, auf die der Eingreifer normalerweise keinen Zugriff hätte. Dies tritt in Kraft, sobald eine Software Applikation versäumt hat, die benötigten Zugriffsrechte einer Anforderung zu kontrollieren, bevor ein Zugang gewährt wird.
BOLA entsteht aus mangelnder Überprüfung der Nutzerberechtigungen durch eine Applikation. Dieses Defizit bietet einem Eingreifer die Möglichkeit, auf nicht autorisierte Daten zuzugreifen, indem er die Kommunikation mit dem Server manipuliert.
BOLA kann durch mehrere Strategien vermieden werden. Eine effektive Maßnahme ist das Durchführen einer detaillierten Autorisierungsüberprüfung aller eingehenden Anfragen an den Server. Die Applikation sollte kontrollieren, ob der anfragende Benutzer die nötigen Zugriffsrechte besitzt, bevor Zugang zu den Daten gewährt wird.
BOLA birgt ein signifikantes Risiko. Sollte ein Eingreifer unautorisierten Zugang zu Daten erhalten, könnte er dazu in der Lage sein, sensible Informationen zu extrahieren und unsachgemäß zu nutzen. Dies könnte erhebliche finanzielle Verluste und negative Auswirkungen auf das Renommee der betroffenen Einrichtung zur Folge haben.
BOLA ist ein weitverbreitetes Sicherheitsdefizit, insbesondere innerhalb von Webapplikationen, die einen umfangreichen Nutzerkreis und eine Vielzahl an Daten besitzen, auf die zugegriffen werden könnte.
Die Identifizierung von BOLA kann aufgrund der versteckten Natur des Defizits sehr anspruchsvoll sein. Eine mögliche Methode der Identifikation ist das kontinuierliche Beobachten der zum Server gesendeten Anfragen, und das Suchen nach ungewöhnlichen Mustern, die auf unautorisierten Zugang hinweisen könnten.
Der bestmögliche Schutz vor BOLA wird durch das Implementieren einer detaillierten Autorisierungsprüfung für alle zum Server eingereichten Anforderungen erreicht. Im Detail bedeutet dies, dass die Applikation kontrollieren sollte, ob der anfragende Nutzer die notwendige Zugangsberechtigung hat, bevor Zugang zu den Daten gewährt wird.
Im Rahmen der Erstellung dieses Beitrages sind unterschiedliche Informationsquellen zum Themenbereich der Broken Object Level Authorization (BOLA) zur Anwendung gekommen, um ein ganzheitliches Bild liefern zu können. Einige der maßgeblichen Angaben für die Recherche werden hier näher beleuchtet.
OWASP, kurz für Open Web Application Security Project, ist eine Online-Gemeinschaft, die sich mit der Generierung von Artikeln, Dokumentationen, Werkzeugen und Technologien im Kontext der Webanwendungssicherheit befasst. Speziell der OWASP Testing Guide v4 lieferte vertiefende BOLA-Infos.
NIST steht für National Institute of Standards and Technology, ein US-Institut, das eine breite Palette an Hilfsmitteln bereitstellt. Besonders hervorzuheben ist das NIST Special Publication 800-63. Dieses beinhaltet wertvolle Ratschläge für die Authentifizierung und das Lifecycle-Management von Identitäten in IT-Systemen der Öffentlichkeit.
Für die Recherche sind ebenso diverse Fachliteraturen zum Thema Webanwendungssicherheit zum Einsatz gekommen. Hierzu zählen renommierte Fachbücher wie "Web Application Security: A Beginner's Guide" von Bryan Sullivan und Vincent Liu sowie "The Tangled Web: A Guide to Securing Modern Web Applications" von Michal Zalewski.
Obwohl eine Vielzahl an Informationsquellen genutzt wurden, wurden alle im Artikel vorhandenen Inhalte eigenständig und ausschließlich erarbeitet. Jede Information wurde ausführlich recherchiert und sichergestellt, dass diese korrekt sind, um dem Leser fundierte und aktuelle Informationen liefern zu können.
Warum DDoS-Angriffe gefährlich sind Distributed Denial of Service (DDoS) Attacken stellen eine signifikante Gefahr für…
XMPP - Alles über das Protokoll XMPP, als Akronym für Extensible Messaging and Presence Protocol,…
Wie gut ist meine WAF? Für eine sachgerechte Feinabstimmung Ihrer Web Application Firewall (WAF) müssen…
So funktioniert ASLR: Die Adressraum-Layout-Randomisierung (ASLR) ist eine Computersicherheitstechnik, die dazu dient, die Vorhersagbarkeit des…
Wie kann es Sicherheitsprobleme verursachen? GraphQL ist eine mächtige Datenanfragesprache, die speziell für APIs entworfen…
Was ist XSS? Cross-Site Scripting ist in der IT-Sicherheitswelt als XSS bekannt. Es handelt sich…