Zugriffskontrolle in DBMS ist entscheidend zur Gewährleistung von Datensicherheit und Integrität. Die zunehmende Komplexität der Implementierung führt jedoch häufig zu Schwachstellen bei gebrochenen Zugriffskontrollen (Broken Access Control, BAC). Diese Schwachstellen können schwerwiegende Folgen haben, einschließlich Privilegieneskalation, unautorisiertem Datenzugriff oder sogar vollständiger Kompromittierung des DBMS. Bestehende manuelle Tests auf BAC-Schwachstellen sind zeitaufwändig und unvollständig. Automatisierte Methoden wie statische Analyse haben in DBMS Schwierigkeiten, da statische Regeln schwer auf mehrstufige und dynamisch veränderliche Privilegien anwendbar sind. In diesem Papier schlagen wir Beacon vor, ein Tool, das BAC-Schwachstellen erkennt, indem es die Konsistenz zwischen SQL-Operationen und Systemkatalogen validiert. Unser zentraler Erkenntnis ist, dass die Sichtbarkeit von Objekten in den Systemkatalogen mit der Zugriffskontrolle des Benutzers übereinstimmt: Wenn ein Objekt für einen Benutzer in den Systemkatalogen unsichtbar ist, sollte der Benutzer auch keine Zugriffsrechte darauf haben. Jede Inkonsistenz deutet darauf hin, dass ein Benutzer seine Privilegien überschreitet, was auf eine potenzielle BAC-Schwachstelle hinweist. Wir haben Beacon verwendet, um acht populäre DBMS (z. B. MySQL und MariaDB) zu testen und dabei 39 zuvor unbekannte BAC-Schwachstellen entdeckt. Davon führten 19 zu Privilegieneskalation und 20 zu unautorisierten Informationszugriffen. Zudem existierten 7 dieser Schwachstellen seit mehr als 6 Jahren, wobei die am längsten bestehende 13 Jahre andauerte. Die DBMS-Anbieter nahmen diese Probleme ernst und bestätigten alle diese Schwachstellen. Viele Anbieter gaben positives Feedback und anerkannten die Bedeutung der Behebung dieser Schwachstellen. Beispielsweise vergab OceanBase Prämien für gemeldete Schwachstellen, was die Rolle von Beacon bei der Verbesserung der Zugriffskontrolle von DBMS unterstreicht.
Peng et al. (Fr,) untersuchten diese Fragestellung.