System Design · Modul 6: Schnittstellen & Sicherheit

Lektion 3 von 4Text 15 Min.

Sicherheit im Systementwurf

Lernziele
  • Sicherheit als Entwurfsaufgabe statt als Nachtrag verstehen
  • mit einem einfachen Bedrohungsmodell Risiken finden
  • die häufigsten Angriffe auf Webanwendungen kennen und abwehren
  • Verteidigung in mehreren Schichten und sichere Standardeinstellungen planen

Sicherheit lässt sich nicht nachträglich auf ein fertiges System streuen. Die wichtigsten Entscheidungen fallen im Entwurf: Wo liegen welche Daten, wer darf was, welche Dienste sprechen miteinander, welche Eingaben kommen von außen? Ein System, das von Anfang an mit Blick auf Angriffe entworfen wurde, ist nicht nur sicherer, sondern auch günstiger, denn nachträgliche Korrekturen an der Architektur sind teuer. Diese Lektion zeigt, wie man Bedrohungen systematisch findet, welche Angriffe am häufigsten sind und wie man mehrere Verteidigungsschichten kombiniert.

1. Bedrohungen modellieren

Definition 3.1
Bedrohungsmodellierung
Ein strukturiertes Vorgehen, um im Entwurf zu klären: Was bauen wir? Was kann schiefgehen? Was tun wir dagegen? Und haben wir gut genug gearbeitet? Grundlage ist ein Diagramm mit Datenflüssen und Vertrauensgrenzen.

Das Herzstück ist die Frage nach den Vertrauensgrenzen: Überall dort, wo Daten von einer weniger vertrauenswürdigen Zone in eine vertrauenswürdigere wechseln – vom Browser zum Server, vom Partner-Webhook in die eigene API, von einem hochgeladenen Dokument in den Kontext eines Sprachmodells –, muss geprüft werden. Erkunden Sie die Grenzen einer typischen Anwendung:

ErkundenVertrauensgrenzen in einer Buchungs-App
BrowserPartner-WebhookAPIDatenbankSprachmodellAdmin-Bereich
Browser: Alles vom Browser ist unzuverlässig: Formulardaten, Header, Cookies. Jede Eingabe wird auf dem Server geprüft. (1/6 erkundet)

Für jede Grenze fragt man nach typischen Bedrohungen. Eine hilfreiche Merkhilfe ist STRIDE: Identität vortäuschen, Daten manipulieren, Handlungen abstreiten, Informationen preisgeben, Dienst lahmlegen, Rechte ausweiten. Für ein kleines Team genügt oft eine Stunde am Whiteboard mit dem Architekturdiagramm und diesen sechs Fragen, um die wichtigsten Risiken zu finden.

2. Die häufigsten Angriffe

Viele erfolgreiche Angriffe nutzen seit Jahren dieselben Schwächen. Ganz vorn stehen fehlerhafte Zugriffskontrollen, die in der vorigen Lektion behandelt wurden. Dazu kommen Injection-Angriffe, bei denen Eingaben als Code interpretiert werden. Probieren Sie den Klassiker aus:

DemoSQL-Injection: warum Eingaben nie in Abfragen geklebt werden

SELECT * FROM gutscheine WHERE code = '' OR '1'='1'

⚠ 1.284 Gutscheine ausgeliefert

Die Eingabe verändert die Abfrage selbst: Die Bedingung ist immer wahr, und die Datenbank liefert alle Gutscheine aus.

Das Prinzip gilt weit über SQL hinaus: Eingaben dürfen nie direkt in Befehle, Abfragen, HTML oder Prompts eingefügt werden, sondern werden als Daten übergeben. Bei HTML heißt die Entsprechung Cross-Site Scripting: Wird ein Kommentar ungeprüft angezeigt, kann er Skripte enthalten, die im Browser anderer Nutzer laufen. Moderne Frameworks wie React kodieren Ausgaben automatisch, eine Content Security Policy begrenzt zusätzlich, welche Skripte überhaupt laufen dürfen. Weitere wichtige Angriffe sind Server-Side Request Forgery, bei der der Server dazu gebracht wird, interne Adressen aufzurufen, und bei KI-Anwendungen Prompt Injection.

Tab. 3.1Angriffe und Gegenmaßnahmen
AngriffGegenmaßnahme
fehlerhafte ZugriffskontrolleObjektprüfung bei jeder Anfrage, zentrale Autorisierung
SQL- und Befehls-Injectionparametrisierte Abfragen, keine Shell-Befehle mit Eingaben
Cross-Site Scriptingautomatische Ausgabekodierung, Content Security Policy
Server-Side Request Forgeryerlaubte Ziele festlegen, interne Adressen sperren
gestohlene ZugangsdatenPasskeys, Mehr-Faktor, Rate Limits beim Login
Prompt InjectionWerkzeugrechte begrenzen, Bestätigung für Aktionen, Ausgaben prüfen
verwundbare Abhängigkeitenautomatische Prüfung und zügige Updates

3. Verteidigung in der Tiefe

Keine einzelne Maßnahme ist perfekt. Deshalb kombiniert man mehrere Schichten, sodass ein Angreifer, der eine überwindet, an der nächsten scheitert. Klicken Sie sich durch die Schichten:

Klick-GrafikVerteidigung in der Tiefe
Daten
Anwendung: Eingaben prüfen, Abfragen parametrisieren, Ausgaben kodieren, Autorisierung für jedes Objekt.
Verlassen Sie sich nie auf eine einzige Schutzmaßnahme. Jede Schicht – Rand, Transport, Anwendung, Daten, Betrieb – fängt ab, was an der vorigen durchgerutscht ist.

4. Sichere Standards

Viele Lücken entstehen nicht durch raffinierte Angriffe, sondern durch unsichere Grundeinstellungen: eine Datenbank, die aus dem Internet erreichbar ist, ein Objektspeicher mit öffentlichem Lesezugriff, ein Admin-Konto mit Standardpasswort, ein Testsystem mit echten Kundendaten. Gute Entwürfe machen das Sichere zur Voreinstellung: Datenbanken nur im privaten Netz, Speicher standardmäßig privat, Geheimnisse in einem Geheimnisspeicher statt im Code, getrennte Konten je Dienst mit minimalen Rechten. Üben Sie, Lücken zu erkennen:

ÜbungSicherheitslücke oder gute Praxis?
  1. Der API-Schlüssel für das Sprachmodell steht im JavaScript der Website

  2. Hochgeladene Dateien werden auf Typ und Größe geprüft und im Objektspeicher abgelegt

  3. Fehlermeldungen zeigen dem Nutzer den kompletten Stacktrace mit Datenbanknamen

  4. Abhängigkeiten werden automatisch auf bekannte Sicherheitslücken geprüft

  5. Ein KI-Assistent darf auf Anweisung aus einem hochgeladenen Dokument E-Mails versenden

0 von 5 eingeschätzt

5. Wenn doch etwas passiert

Auch gut geschützte Systeme können angegriffen werden. Entscheidend ist dann, einen Vorfall zu bemerken und richtig zu reagieren. Dazu gehören Protokolle über sicherheitsrelevante Ereignisse wie Anmeldungen, Rechteänderungen und fehlgeschlagene Zugriffe, Alarme bei Auffälligkeiten, etwa vielen fehlgeschlagenen Logins oder ungewöhnlichen Datenabrufen, und ein vorbereiteter Plan: Wer entscheidet, wie werden Zugänge gesperrt, Schlüssel ausgetauscht und Betroffene informiert? Bei Verletzungen des Schutzes personenbezogener Daten verlangt die DSGVO eine Meldung an die Aufsichtsbehörde innerhalb von 72 Stunden. Wer das erst im Ernstfall klärt, verliert wertvolle Zeit.

6. Sicherheit im Alltag des Teams

Sicherheit ist kein einmaliges Projekt, sondern Gewohnheit. Code-Reviews achten gezielt auf Autorisierung und Eingabeprüfung. Die Pipeline prüft Abhängigkeiten und Images automatisch. Updates werden zügig eingespielt, besonders bei bekannten, aktiv ausgenutzten Lücken. Zugänge ausgeschiedener Beteiligter werden sofort entfernt. Und einmal im Jahr lohnt sich ein Blick von außen, etwa durch einen Penetrationstest. Für ein kleines Unternehmen, etwa einen Onlineshop für Fahrradzubehör, bedeutet das keinen riesigen Aufwand, sondern eine Handvoll fester Routinen, die zusammen einen großen Unterschied machen. Das nächste Kapitel ergänzt diese Grundlagen um zwei Themen, die gerade bei Plattformen für viele Kunden entscheidend sind: die Trennung von Mandanten und den Datenschutz.

7. Ein Beispiel aus der Praxis

Ein kleines Team entwickelt eine Buchungsplattform für Zahnarztpraxen. In einer zweistündigen Sitzung zeichnet es das Architekturdiagramm mit allen Datenflüssen und markiert die Vertrauensgrenzen: den Browser der Patienten, das Praxisportal, die Schnittstelle zur Praxissoftware, den E-Mail-Versand und einen KI-Assistenten, der Fragen zu Behandlungen beantwortet. Für jede Grenze werden die sechs STRIDE-Fragen gestellt. Heraus kommt eine Liste mit zwölf Risiken, von denen vier als hoch eingestuft werden: fehlende Objektprüfung bei Terminen, ungeprüfte Webhooks der Praxissoftware, der API-Schlüssel des Sprachmodells im Frontend-Code und fehlende Mehr-Faktor-Anmeldung für das Praxispersonal.

Alle vier werden vor dem Start behoben. Die Autorisierung wird in einer zentralen Funktion gebündelt und mit Tests abgedeckt, die jede Anfrage auch mit einem fremden Konto ausführen. Webhooks werden per Signatur geprüft. Der Schlüssel wandert auf den Server, der KI-Assistent erhält nur Lesezugriff auf freigegebene Informationstexte und keinerlei Zugriff auf Patientendaten. Für das Praxispersonal werden Passkeys eingeführt. Der Aufwand beträgt wenige Tage – deutlich weniger als die Folgen eines einzigen Datenlecks mit Gesundheitsdaten, das Meldepflichten, Vertrauensverlust und womöglich Bußgelder nach sich ziehen würde.

Das Beispiel zeigt, dass Sicherheit kein Spezialwissen weniger Fachleute sein muss. Ein strukturierter Blick auf das eigene System, die Kenntnis der häufigsten Angriffe und eine Handvoll sicherer Standards reichen aus, um die große Mehrheit realer Angriffe abzuwehren. Wer diese Grundlagen beherrscht, kann gezielt entscheiden, wo darüber hinaus externe Prüfungen oder spezialisierte Werkzeuge sinnvoll sind.

Quellen und weiterführende Literatur
  1. [1]OWASP Foundation (2021): OWASP Top 10 – Web Application Security Risks; (2025): OWASP Top 10 for LLM Applications.
  2. [2]Shostack, A. (2014): Threat Modeling – Designing for Security. Indianapolis: Wiley.
  3. [3]Bundesamt für Sicherheit in der Informationstechnik (2023): IT-Grundschutz-Kompendium, APP.3.1 Webanwendungen und Webservices.
  4. [4]Verordnung (EU) 2016/679 (DSGVO), Art. 32–34.

Stand: September 2026. Kursmaterial der Klarwerk Akademie. Zahlen zu Latenzen und Kosten sind Größenordnungen zur Orientierung, keine Messwerte.

Abschlussquiz

Drei Fragen – dann ist die Lektion geschafft.

Frage 1 von 3

Was verhindert SQL-Injection zuverlässig?