KI-gestützte AuthZ-Review: Analyse von Berechtigungsgrenzen in Ory Kratos

KI ist schlecht darin, Bugs zu finden, aber hervorragend darin, Verdacht zu erregen.

In der Sicherheit ist das Billigste, was eine KI tun kann, eine Flut von Fehlalarmen zu erzeugen. Deshalb pausieren Bug-Bounty-Programme oder verschärfen ihre Regeln.

Ich nutze KI anders. Ich lasse die KI auf Basis meines „AuthZ-Smell-Katalogs“ massenhaft Hypothesen generieren. Dann erledige ich die eigentliche Arbeit. Meine Aufgabe ist es, diese Hypothesen zu entkräften.

Eine erfolgreiche Review ist keine Liste von Bugs. Sie ist eine Kill-Tabelle von Ideen, die den Test nicht bestanden haben.

Ich habe den Quellcode von Ory Kratos überprüft. Kratos verwaltet Identitäten und Benutzer. Dies ist ein Hochrisikobereich, da er mehrere Identitäten und öffentliche APIs nutzt.

Ich habe fünf Hypothesen getestet:

  • H1: Die Admin API verfügt über keine Autorisierung im Code.
  • H2: Datenlecks über Identitäten oder Mandanten (Cross-identity/Cross-tenant) hinweg.
  • H3: Token-Wiederverwendung in Recovery-Flows.
  • H4: Identitätsverwirrung in Einstellungs-Flows.
  • H5: Mandantenzuweisung über Request-Payloads.

Die Ergebnisse:

  • H1: ENTKRÄFTET. Die Autorisierung findet an der Netzwerkgrenze statt, nicht im Code-Handler. Das ist beabsichtigt.
  • H2: ENTKRÄFTET. Eine zentrale Datenzugriffsschicht filtert alle Abfragen nach der Tenant-ID. Benutzer können dies nicht umgehen.
  • H3: ENTKRÄFTET. Token sind nur einmalig verwendbar und zeitlich begrenzt.
  • H4: ENTKRÄFTET. Flows sind an die Session gebunden, nicht an Benutzereingaben.
  • H5: ENTKRÄFTET. Tenant-IDs stammen aus dem Systemkontext, nicht aus dem Request-Body.

Fünf Hypothesen wurden geprüft. Null Befunde kamen dabei heraus. Das ist eine erfolgreiche Review.

Zwei Lektionen für Ihre Sicherheitsarbeit:

  1. Sicherheit auf der Deployment-Ebene wirkt wie fehlende Sicherheit. Wenn ein Wächter auf Netzwerkebene agiert, wirkt der Code nackt. Melden Sie dies nicht, bevor Sie die Architektur geprüft haben.

  2. Finden Sie den Engpass (Chokepoint). Wenn ein System Grenzen auf der Datenebene erzwingt, benötigen einzelne Handler keine Prüfungen. Fragen Sie nicht „prüft dieser Handler die Berechtigungen“, sondern „kann jemand ohne den Engpass auf die Daten zugreifen?“.

Nutzen Sie KI, um Kandidaten auszuschließen. Nutzen Sie Menschen, um die Überlebenden zu verifizieren. Der Wert liegt im Ausschluss.

Quelle: https://dev.to/fdjedkdlsspec/ai-assisted-authz-review-reading-permission-boundaries-in-ory-kratos-31cg

Optionale Lern-Community: https://t.me/GyaanSetuAi