Aikido

Schnell entwickeln, sicher bleiben: Supabases Ansatz für Secure-by-Default-Entwicklung

Trusha SharmaTrusha Sharma
|
#

Im Rahmen Aikido „Security Masterclass“ traf sich Mackenzie Jackson mit Bill Harmer (CISO, Supabase) und Etienne Stalmans (Sicherheitsingenieur, Supabase), um zu erörtern, wie Supabase Sicherheit als Teil des Designs betrachtet und nicht als etwas, das später hinzugefügt werden muss.

Von Row Level Security (RLS) bis hin zu den Risiken der KI-gestützten Codierung konzentrierte sich die Diskussion darauf, was erforderlich ist, um schnell zu sein und gleichzeitig sicher zu bleiben.

Sicherheit beginnt mit den Daten

Die Philosophie von Supabase beginnt bei den Daten selbst.

„Wir haben Supabase aus der Sicht eines Entwicklers aufgebaut. Alles beginnt mit den Daten. Warum sekundäre Ebenen aufbauen, wenn man alles an einem Ort kontrollieren kann?“ – Bill Harmer, CISO Supabase

Anstatt die Sicherheitslogik über verschiedene Dienste zu verteilen, bringt Supabase sie näher an den Ort, an dem sich die Daten befinden. Je näher die Kontrolle, desto geringer ist die Wahrscheinlichkeit, dass etwas schiefgeht.

Bauen nach ersten Prinzipien

Für Etienne verändert dieser Ansatz die Art und Weise, wie Entwickler über die Erstellung von Software denken.

„Wenn man die Sicherheit näher an die Daten heranrückt, beginnt man, sie von Grund auf zu überdenken. Sobald man den Dreh raus hat, beschleunigt man die Entwicklung und kann sich darauf verlassen, dass sie sicher ist.“ – Etienne Stalmans, Sicherheitsingenieur bei Supabase

Indem Teams die Datenhoheit und den Datenzugriff in das Anwendungsdesign integrieren, vermeiden sie das Rätselraten, das mit mehrschichtigen Berechtigungssystemen einhergeht.

Anonym oder authentifiziert

Supabase hält die Zugriffskontrolle einfach. Benutzer sind entweder anonym oder authentifiziert, dazwischen gibt es nichts.

„Alle Aktualisierungen von Daten müssen protokolliert werden: wer hat was wann und warum getan. Anonyme Benutzer erhalten eingeschränkten Zugriff. Authentifizierte Benutzer erhalten genau das, was sie benötigen, und nicht mehr.“ – Bill Harmer, CISO Supabase

Etienne demonstrierte dies während der Sitzung anhand einer Live-App zum Teilen von Rezepten.

Öffentliche Rezepte waren für alle sichtbar. Private Rezepte waren nur für ihre Besitzer oder bestimmte freigegebene Benutzer sichtbar.

Ein paar Zeilen SQL, unterstützt durch Row Level Security, haben das gesamte Modell abgewickelt.

Die Sicherheit auf Zeilenebene ist nicht verhandelbar.

RLS legt fest, wer welche Datenzeilen sehen oder ändern kann. Es ist eine der leistungsstärksten Funktionen in Postgres und eine der am leichtesten zu übersehenden.

„Das ist alles, was es braucht: ein einziger fehlender Scheck, und schon ist alles aufgedeckt.“ – Etienne Stalmans, Sicherheitsingenieur bei Supabase

Etienne berichtete von einem Beispiel, bei dem eine KI-generierte Richtlinie versehentlich alle Datensätze in einer Tabelle zurückgab, weil sie eine Bedingung übersprungen hatte.

Die Lösung bestand in einer einzigen Korrektur der Abfrage, einer Zeile, die eine große Sicherheitslücke schloss.

Bill fasste es einfach zusammen:

„Wir wollen Sicherheit so nah wie möglich an den Daten. Je näher sie ist, desto weniger Raum gibt es für Fehler.“ – Bill Harmer, CISO Supabase

Testen Sie Ihre Richtlinien mit pgTAP

Die Sicherheit endet nicht mit der Auslieferung der App. Etienne zeigte, wie Supabase pgTAP einsetzt, um Datenbankrichtlinien kontinuierlich zu testen.

„Sie können beweisen, dass das, was Sie für sicher halten, auch tatsächlich sicher ist. Diese Tests sorgen dafür, dass Sie ehrlich bleiben.“ – Etienne Stalmans, Sicherheitsingenieur bei Supabase

Jeder Test überprüft, was am wichtigsten ist:

  • Öffentliche Benutzer sehen nur öffentliche Daten.
  • Authentifizierte Benutzer sehen nur ihre eigenen Daten.
  • Richtlinien setzen die erwarteten Grenzen jedes Mal durch.

Diese kontinuierliche Sicherheit sorgt dafür, dass kleine Fehler nicht zu Datenlecks führen.

Sicherheit, die skalierbar ist

Supabase führt RLS für Millionen von Benutzern und große Arbeitslasten ohne Probleme durch.

„Wir setzen es überall ein, sogar in großem Maßstab. Keine Probleme, keine Ausreden.“ – Etienne Stalmans, Sicherheitsingenieur bei Supabase

Durch die Durchsetzung von Sicherheitsmaßnahmen auf Datenbankebene sorgt Supabase für eine konsistente Logik, unabhängig davon, wie komplex die Anwendung wird.

„Mach es einfach funktionsfähig“ – die gefährliche Aufforderung

Bill beendete die Sitzung mit einer Warnung an alle, die KI zur Codegenerierung einsetzen.

„Nur weil es funktioniert, heißt das noch lange nicht, dass es produktionsreif ist.“ – Bill Harmer, CISO Supabase
„Wenn Sie einer KI sagen, dass sie etwas funktionieren lassen soll, könnte sie genau die Sicherheitsprüfungen entfernen, die Sie schützen.“ – Bill Harmer, CISO Supabase

KI-Modelle verstehen keine Absichten. Sie tun alles, um das von Ihnen gesetzte Ziel zu erreichen, selbst wenn dies bedeutet, RLS zu deaktivieren oder die Authentifizierungslogik zu löschen.

Die Gefahr besteht nicht darin, KI zu nutzen, sondern darin, sie ohne Anleitung zu nutzen.

„Das Modell ist nicht bösartig. Es erfüllt lediglich seine Aufgabe. Aber es kennt Ihre Absichten nicht. Das ist Ihre Aufgabe.“ – Bill Harmer, CISO Supabase

Standardmäßig sicher bauen

Sicherheit ist kein Hindernis. Sie ermöglicht es Ihnen, schneller voranzukommen, ohne Ihre Entscheidungen hinterfragen zu müssen.

Supabase beweist, dass Sicherheit, wenn sie auf der Datenebene angesiedelt ist, Teil des Entwicklungsprozesses wird und nicht nur eine nachträgliche Überlegung ist.

Sehen Sie sich die gesamte Masterclass an.

4.7/5

Sichern Sie Ihre Software jetzt.

Kostenlos starten
Ohne Kreditkarte
Demo buchen
Ihre Daten werden nicht weitergegeben · Nur Lesezugriff · Keine Kreditkarte erforderlich

Werden Sie jetzt sicher.

Sichern Sie Ihren Code, Ihre Cloud und Ihre Laufzeit in einem zentralen System.
Finden und beheben Sie Schwachstellen schnell und automatisch.

Keine Kreditkarte erforderlich | Scan-Ergebnisse in 32 Sek.