← Neueste Arbeiten
💻 computer science

Extracting Database Access-Control Policies From Web Applications

Dieses Paper stellt Ote vor, ein Werkzeug, das konkolische Ausführung nutzt, um automatisch Zugriffskontrollrichtlinien aus Ruby on Rails Webanwendungen zu extrahieren und zusammenzufassen, wodurch die fehleranfällige Natur impliziter, ad hoc implementierter Sicherheitsmechanismen adressiert und die Erkennung von Richtlinienfehlern ermöglicht wird.

Ursprüngliche Autoren: Wen Zhang, Dev Bali, Jamison Kerney, Aurojit Panda, Scott Shenker

Veröffentlicht 2026-07-20
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Wen Zhang, Dev Bali, Jamison Kerney, Aurojit Panda, Scott Shenker

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Die geheime Karte des digitalen Dschungels

Stellen Sie sich das Internet als eine riesige, belebte Stadt vor, in der jede Website ein Gebäude ist, das voller Räume, Dateien und Geheimnisse steckt. In dieser Stadt sind Datenbanken die riesigen Tresore, in denen alle wichtigen Daten – wie Noten, private Nachrichten oder Krankenakten – aufbewahrt werden. Um diese Tresore sicher zu halten, braucht jedes Gebäude einen Sicherheitsdienst (eine Zugriffskontrollrichtlinie), der entscheidet, wer in welchen Raum gehen darf und was er dort einsehen darf.

Normalerweise werden diese Sicherheitskräfte von menschlichen Entwicklern geschrieben. Sie verstecken die Regeln im Inneren der Baupläne (dem Code) auf eine unordentliche, verstreute Weise. Sie kleben vielleicht ein „Betreten verboten“-Schild an eine Tür, einen „Nur für Personal“-Hinweis an ein Fenster und ein komplexes Rätsel an eine Wand im Flur. Dies nennt man eine implizite Richtlinie. Das Problem ist, dass diese verstreuten Hinweise leicht zu übersehen, leicht falsch zu interpretieren und für niemanden sonst fast unmöglich zu verstehen sind. Wenn ein Entwickler das Team verlässt, weiß niemand mehr genau, wie die Regeln lauten. Es ist, als würde man versuchen, die Regeln eines Spiels zu verstehen, indem man Menschen beim Spielen beobachtet, ohne jemals das Regelbuch gesehen zu haben. Dieses Paper befasst sich mit der schwierigen Aufgabe, dieses verborgene Regelbuch zu finden, es aufzuräumen und aufzuschreiben, damit jeder genau sehen kann, was der Computer tatsächlich tun darf.


Der Detektiv-Bot, der die Gedanken des Codes liest

Hier kommt Ote, ein neuer digitaler Detektiv, der entwickelt wurde, um das Rätsel dieser verborgenen Sicherheitsregeln zu lösen. Die Forscher hinter Ote, ein Team von der UC Berkeley und der NYU, erkannten, dass der Versuch, den unordentlichen Code alter Webanwendungen zu lesen, um die Regeln zu finden, so ist, als würde man versuchen, eine Nadel im Heuhaufen zu finden, während man Augenbinden trägt. Anstatt den Code Zeile für Zeile zu lesen, entscheidet sich Ote dazu, das Spiel zu spielen.

Ote nutzt eine Technik namens konkolische Ausführung (concolic execution). Stellen Sie sich das wie einen supermächtigen Videospiel-Bot vor, der das Spiel nicht nur einmal spielt, sondern es Millionen von Malen spielt und dabei jede mögliche Kombination von Eingaben ausproft. Es ist wie ein Detektiv, der durch ein Gebäude geht, jede Tür ausprobiert, jedes Fenster prüft und notiert, was genau passiert, wenn er einen bestimmten Knopf drückt. Wenn der Bot einen Knopf drückt und eine geheime Datei sich öffnet, schreibt er auf: „Drücken von Knopf A öffnet Datei B.“ Wenn er Knopf A drückt und nichts passiert, notiert er das ebenfalls.

Aber hier liegt der Knackpunkt: Echte Websites sind riesig. Wenn Ote versuchen würde, jeden einzelnen Pfad zu überprüfen, würde es ewig dauern – vielleicht Jahre! Um dies zu lösen, bemerkte das Team etwas Interessantes darüber, wie diese Websites funktionieren. Sie fanden heraus, dass der Teil des Codes, der tatsächlich entscheidet, welche Daten abgerufen werden, meistens sehr einfach ist, wie eine kurze Liste von „Wenn dies, dann das“-Regeln. Der Rest des Codes ist nur dekorativer Schnickschnack (wie das Verschönern der Seite). Also ignoriert Ote die Dekoration und konzentriert sich nur auf die einfache Logik.

Noch besser: Ote hat einen intelligenten Assistenten (ein KI-Sprachmodell), der als Relevanzprüfer fungiert. Wenn der Bot auf einen seltsamen Zweig im Code stößt, fragt der Assistent: „Ist das wichtig für die Sicherheit?“ Wenn der Zweig nur davon handelt, die Schriftfarbe zu ändern oder ein „Inoffizielles“ Label anzuzeigen, sagt der Assistent: „Ignoriere das!“ Dies erspart Ote die Zeitverschwendung mit Sackgassen und verwandelt eine Aufgabe, die Tage dauern würde, in eine, die nur wenige Stunden dauert.

Was Ote fand: Die „Aha!“-Momente

Das Team testete Ote auf drei realen Anwendungen: diaspora (ein soziales Netzwerk), Autolab (ein Tool für Schularbeiten) und The Odin Project (eine Website für eine Coding-Schule). Sie wollten nicht nur sehen, ob Ote funktionieren konnte; sie wollten sehen, ob er Fehler finden konnte, die Menschen übersehen hatten.

Die Ergebnisse waren überraschend. Als das Team die von Ote extrahierten Regeln mit den Regeln verglich, die sie vor Jahren von Hand geschrieben hatten, fand Ote mehrere Fehler:

  1. Der zu großzügige Wächter: Im Autolab-System ließen die von Menschen geschriebenen Regeln versehentlich „Kursassistenten“ Zugriff auf sensible Daten in Kursen zu, die eigentlich als „deaktiviert“ gelten sollten. Nur die Dozenten hätten diese Daten sehen dürfen. Ote entdeckte dieses Leck sofort.
  2. Der fehlende Schlüssel: Im sozialen Netzwerk diaspora vergaßen die von Menschen geschriebenen Regeln, den Zugriff auf bestimmte Benachrichtigungen und Profildetails zu erlauben, die die App eigentlich zum Funktionieren benötigte. Hätte man die alten Regeln erzwungen, wäre die App für echte Nutzer ausgefallen.
  3. Der stille Bug: Die spannendste Entdeckung war ein subtiler Bug im Autolab-Code selbst. Vor Jahren hatte ein Entwickler versehentlich einen Spaltennamen falsch getippt, als er eine Sicherheitsprüfung einrichtete. Der Code sah so aus, als würde er prüfen, ob ein Student berechtigt ist, eine Prüfung einzusehen, aber aufgrund eines Tippfehlers bewirkte die Prüfung faktisch gar nichts. Die von Ote extrahierte Richtlinie zeigte auf, dass keine Prüfung stattfand, was das Team dazu führte, den Tippfehler zu finden und zu beheben.

Das Urteil: Ein besserer Weg, das Regelbuch zu schreiben

Ote ist kein Zauberstab, der perfekte Sicherheit garantiert. Er gibt zu, dass er einige sehr seltene Pfade vielleicht übersehen könnte oder mit extrem komplexem Code, der keinen einfachen Regeln folgt, Schwierigkeiten haben könnte. Die Experimente zeigten jedoch, dass Ote für reale Anwendungen unglaublich nützlich ist. Er kann eine klare, lesbare Liste von Sicherheitsregeln (geschrieben in einer Sprache namens SQL) in weniger als fünf Stunden extrahieren.

Das Paper legt nahe, dass die Verwendung von Ote wie das Besitzen eines zweiten Augenpaars ist, das niemals müde wird. Es hilft Entwicklern zu verstehen, was ihr Code tatsächlich tut, anstatt dessen, was sie denken, dass er tut. Indem Ote die unordentliche, verborgene Logik in ein klares, explizites Regelbuch verwandelt, hilft er Teams, Sicherheitslücken zu finden, bevor sie zu Katastrophen werden. Er ersetzt nicht den menschlichen Entwickler, aber er gibt ihm ein mächtiges Werkzeug an die Hand, um sicherzustellen, dass die digitalen Tresore fest verschlossen bleiben.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →