Wer alle theoretischen Bedrohungen gleich behandelt, verbrennt sein Budget am ersten Tag. Sicherheits-Arbeit ist deshalb in erster Linie Priorisierung — und Priorisierung braucht ein Risiko-Konzept. Dieser Artikel zeigt, wie sich Risiko grob berechnen und sortieren lässt, was die vier Standard-Antworten auf jedes Risiko sind und wie das daraus folgende Defense-in-Depth-Prinzip in der Praxis aussieht. Plus: die enge Schwester, das Least-Privilege-Prinzip.
Die Risiko-Formel
In der einfachsten Form gilt:
Risiko = Eintrittswahrscheinlichkeit × Schaden
Beide Faktoren sind selten exakt zu beziffern — aber selbst grobe Schätzungen reichen, um aus einer langen Liste „möglicher Probleme" eine sinnvoll sortierte Aktions-Liste zu machen. Der praxistauglichste Weg ist eine Risiko-Matrix mit grobem 3×3- oder 5×5-Raster:
| Schaden niedrig | Schaden mittel | Schaden hoch | Schaden katastrophal | |
|---|---|---|---|---|
| Wahrsch. sehr hoch | mittel | hoch | hoch | extrem |
| Wahrsch. hoch | niedrig | mittel | hoch | hoch |
| Wahrsch. mittel | niedrig | mittel | mittel | hoch |
| Wahrsch. niedrig | niedrig | niedrig | mittel | mittel |
Ein paar Beispiele aus dem Web-Umfeld:
- Phishing auf Buchhaltung mit BEC-Schaden — Wahrscheinlichkeit hoch, Schaden hoch (Geld). Risiko: hoch. Priorität: Schulung + Mail-Filter + 4-Augen-Prozess bei IBAN-Änderungen.
- Server-Ausfall, CDN bleibt verfügbar — Wahrscheinlichkeit mittel, Schaden niedrig (statische Seite kommt). Risiko: niedrig. Priorität: gering, akzeptabel.
- Vollständiger Verlust der Produktions-Datenbank ohne Backup — Wahrscheinlichkeit niedrig (mit Disziplin), Schaden katastrophal. Risiko: mittel — aber wegen des katastrophalen Schadens muss die Eintrittswahrscheinlichkeit unbedingt klein gehalten werden (= Backups, Restore-Tests).
- APT-Angriff auf Solo-Selbstständige — Wahrscheinlichkeit sehr niedrig, Schaden hoch. Risiko: niedrig — nicht weiter investieren.
Die Matrix ist subjektiv. Sie wird trotzdem nützlich, sobald sie schriftlich und gemeinsam entsteht — Diskussionen über die Einordnung sind selbst die wertvollste Phase, weil sie Annahmen sichtbar machen.
Risiko-Behandlung: vier Optionen
Aus dem klassischen Risiko-Management (ISO 31000, ISO/IEC 27005) kommen vier Standard-Antworten auf jedes identifizierte Risiko:
- Mindern (Mitigate). Schutzmaßnahmen einführen, die Wahrscheinlichkeit oder Schaden reduzieren. Der häufigste Fall — und das, womit sich der Rest dieser Doku beschäftigt.
- Übertragen (Transfer). Cyber-Versicherung, externes Hosting mit SLA, Auslagerung an spezialisierten Provider. Risiko ist nicht weg, aber die finanzielle Konsequenz wandert.
- Vermeiden (Avoid). Die risikobehaftete Funktion einfach nicht anbieten. Wer keine Kreditkartendaten speichert, kann keine verlieren — PCI-DSS-Scope geht so von „voll" auf „minimal".
- Akzeptieren (Accept). Bewusste Entscheidung, das Risiko zu tragen, weil Kosten der Mitigation > erwarteter Schaden. Wichtig: Akzeptanz muss dokumentiert sein. Sonst wird sie als „vergessen" missverstanden.
Die häufigste Fehlentscheidung ist stille Akzeptanz — niemand hat formal entschieden, aber auch niemand kümmert sich. Bei jedem Audit kommt das Thema neu auf den Tisch, jedes Mal beginnt die Diskussion von vorn.
Defense-in-Depth: warum eine Mauer nicht reicht
Aus der Risiko-Logik folgt direkt: keine einzelne Schutzmaßnahme reicht aus. Jeder Schutz hat eine Restschwäche — sei es ein noch nicht entdeckter Bug, eine Fehlkonfiguration, ein menschlicher Fehler. Defense-in-Depth baut deshalb mehrere unabhängige Schichten so übereinander, dass ein Angreifer mehrere Hürden überwinden muss.
Das Konzept stammt aus dem Militär (Antiken, dann Festungsbau) und hat sich in der IT-Sicherheit Ende der 1990er etabliert. Charakteristisch sind drei Eigenschaften:
- Redundanz — gleiche Schutzwirkung über verschiedene Mechanismen.
- Diversität — Schichten nutzen unterschiedliche Technologien, damit ein Bug nicht alle gleichzeitig kippt.
- Annahme: jede Schicht kann fallen — Architektur ist explizit so gebaut, dass kein einzelner Punkt katastrophal ist.
| # | Schicht | Wirkt gegen | Beispielhafte Werkzeuge |
|---|---|---|---|
| 7 | Backups + Restore | Letzte Linie nach Ransomware oder Daten-Vernichtung | Offline-/Immutable-Backups, regelmäßige Restore-Tests |
| 6 | Monitoring & Alerting | Eskalation früh sichtbar machen, Reaktions-Zeit gewinnen | SIEM, Anomalie-Detektion, Sigma-Regeln |
| 5 | Audit-Logs | Nachweis nach Vorfall, Forensik, Compliance | Strukturierte Logs (JSON), zentrale Sammlung, Retention-Plan |
| 4 | Anwendungs-Härtung | OWASP-Top-10-Lücken, Logik-Fehler, Misskonfigurationen | Eingabe-Validierung, CSP, secure Headers, Code-Review |
| 3 | Authentifizierung & Autorisierung | Unautorisierten Zugang, Privilege-Eskalation | MFA, Passkeys, RBAC, Session-Hygiene |
| 2 | Reverse-Proxy + WAF | Bot-Floods, Standard-Payloads, einfache Scans | Nginx/Caddy + ModSecurity/Crowdsec, Cloud-WAF |
| 1 | Netzwerk-Filter / Firewall | Falsche Ports, fremde IPs, Mass-Scans | Firewall-Regeln, Geo-Blocking, Fail2ban |
Defender's Advantage: Ein Angreifer muss alle sieben Schichten überwinden — die Verteidigung braucht nur eine intakte, um den Angriff zu stoppen oder zumindest sichtbar zu machen.
Defense-in-Depth im Konkreten: XSS-Beispiel
Das Schichtmodell wird konkret, wenn man eine einzelne Schwachstelle gegen alle möglichen Schichten prüft. Beispiel: Schutz vor Cross-Site Scripting.
| # | Schicht | Was sie tut | Wenn alle anderen versagen |
|---|---|---|---|
| 1 | Eingabe-Validierung | Schema-Prüfung, Allowlist | Direkt am Eingang abgewiesen |
| 2 | Output-Encoding | Framework codiert HTML, JS, URL automatisch | Eingabe wird harmlos gerendert |
| 3 | Content Security Policy | Browser lehnt Inline-Skripte / fremde Quellen ab | Skript wird nicht ausgeführt |
| 4 | Trusted Types | DOM-Sinks (innerHTML) akzeptieren nur signierte Werte | DOM-XSS-Vektoren versperrt |
| 5 | HttpOnly-Cookies | JS kann Session-Cookie nicht lesen | Selbst bei JS-Exec kein Cookie-Klau |
| 6 | Kurze Session + Re-Auth | Sensitive Aktionen brauchen frische Auth | Selbst mit Session keine Eskalation |
| 7 | Audit-Logs + Detection | Anomale Aktionen werden sichtbar | Vorfall früh erkannt, Schaden begrenzt |
Sieben Schichten gegen ein Problem. Keine ist allein perfekt — zusammen ist die Eintrittswahrscheinlichkeit eines schadhaften XSS-Vorfalls nahe null. Genau diese Argumentation gehört in jede Sicherheits-Diskussion: wo ist meine Diversität, wo ist mein Single Point of Failure?
Least Privilege: das andere Grundprinzip
Eng verwandt mit Defense-in-Depth ist das Prinzip der minimalen Rechte — Least Privilege. Jeder Bestandteil eines Systems bekommt genau die Rechte, die er für seine Aufgabe braucht — und nicht mehr. Das reduziert den Schaden, wenn die Komponente kompromittiert oder missbraucht wird.
Anwendungs-Beispiele:
- Datenbank-User für eine Web-App:
SELECT/INSERT/UPDATE/DELETEauf einige Tabellen, keinDROP TABLE, keinCREATE ROLE, kein Superuser. Migrationen laufen unter einem getrennten User mit höheren Rechten — manuell oder per CI, nicht im laufenden Request. - Service-Accounts sind nicht gleich. Der Cron-Job, der nächtens Bilder skaliert, braucht keinen Netzwerk-Zugang und keinen DB-Lesezugang.
- Browser-Extensions sollten nur Domain-Zugriffe verlangen, die sie wirklich brauchen. Eine PDF-Reader-Extension mit
<all_urls>-Permission ist eine Backdoor in spe. - API-Tokens mit minimalen Scopes. Ein „PR-anlegen"-Token für CI braucht keinen Read-Org-Members-Scope.
- OAuth-Apps bei Drittanbietern: bei jeder neuen Connection prüfen, welche Scopes wirklich nötig sind — viele Apps fragen aus Bequemlichkeit Vollzugriff an.
Least Privilege ist billig in der Implementierung und teuer im Vergessen-Werden. Die typische Codebase wächst über Jahre, Rollen vermehren sich, Berechtigungen kumulieren — bis ein Audit zeigt, dass jeder zweite Mitarbeitende theoretisch Produktions-DB-Zugang hat.
Praktische Pflege:
- Quartals-Reviews von Service-Account-Rechten und Mitarbeitenden-Rollen.
- Just-in-Time-Zugang für Sondersituationen statt dauerhafter Admin-Rechte.
- Default-Deny. Alles, was nicht explizit erlaubt ist, ist verboten — nicht umgekehrt.
Zero Trust: Defense-in-Depth, modern formuliert
Ein verwandter, in den letzten Jahren populärer Begriff ist Zero Trust. Die Kernaussage: das traditionelle Modell „innen = vertrauenswürdig, außen = misstrauisch" funktioniert in cloud-, mobile- und remote-getriebenen Architekturen nicht mehr. Stattdessen gilt überall Misstrauen, jeder Zugriff wird neu verifiziert — unabhängig davon, ob er aus dem Office-Netz oder aus einem Café kommt.
Konkrete Bausteine:
- Identity-First Authentication. Wer ruft an, mit welchem Gerät, in welchem Zustand?
- Kontinuierliche Re-Verifikation statt einmaliger VPN-Anmeldung am Morgen.
- Mikro-Segmentierung. Services dürfen nur mit den anderen Services sprechen, mit denen sie sprechen müssen.
- Policy-Engine. Zugang als Auswertung von Identität + Gerät + Kontext + Ressource, nicht als statisches Netzwerk-Recht.
Zero Trust ist letztlich Defense-in-Depth + Least Privilege, neu gepackt für hybride und Cloud-Umgebungen. Die NIST-Spezifikation SP 800-207 ist die nüchterne Referenz; die meisten Vendoren-Marketing-Versionen kochen die gleiche Suppe.
Typische Fehler in der Praxis
- Defense-in-Width statt Defense-in-Depth. Viele kleine Schutzmaßnahmen auf der gleichen Schicht, statt unabhängige Tiefen-Schichten. Drei Anti-Virus-Programme nebeneinander ersetzen kein Backup.
- Schichten, die identisch versagen. Wenn alle Schutzmaßnahmen dasselbe Library nutzen (z. B. einen kaputten Hashing-Algorithmus), ist Diversität nicht gegeben — ein Bug killt alle.
- „Mehr Sicherheit = mehr Sicherheit". Wer 17 Auth-Faktoren hintereinanderschaltet, baut keine Sicherheit, sondern Frustration — Nutzer:innen umgehen das System (Passwort-Schreibzettel, Token-Sharing). Sicherheit endet, wo Nutzbarkeit endet.
- Vergessene Akzeptanz. „Das Risiko nehmen wir in Kauf" ist eine valide Antwort — aber sie muss schriftlich, mit Datum, mit verantwortlicher Person stehen. Sonst ist es kein Risiko-Management.
- Verzicht auf Restore-Tests. Backups, die nie zurückgespielt wurden, funktionieren statistisch in einem hohen Prozentsatz der Fälle nicht. Mindestens halbjährlich testen.
Interessantes
Der Begriff "Defense in Depth" ist 2500 Jahre alt
Bereits in der Antike (Sun Tzu, später römisches Militär, Mittelalter-Festungen) galt das Konzept gestaffelter Verteidigung — Mauerring, Graben, Innenburg, Halsgraben. Die IT hat den Begriff in den 1990ern aus dem militärischen Kontext übernommen.
Least Privilege geht auf Saltzer und Schroeder zurück
Der Klassiker The Protection of Information in Computer Systems von Jerry Saltzer und Michael Schroeder (1975) listet acht Designprinzipien für sichere Systeme — darunter das "Principle of Least Privilege". Bis heute referenzierte Pflichtlektüre.
NIST SP 800-207 ist die offizielle Zero-Trust-Referenz
Veröffentlicht 2020, präzise und ohne Marketing-Sprech. Wer das Konzept jenseits von Vendor-Folien verstehen will, sollte dort einsteigen. Nur 49 Seiten, gut lesbar.
Akzeptiertes Risiko ist nicht ignoriertes Risiko
Ein häufiges Missverständnis: "Wir haben das akzeptiert" klingt nach "wir tun nichts". Korrekt ist: Akzeptanz heißt, dass das Risiko bewusst getragen wird, dass die Verantwortung benannt ist und dass Wiedervorlage-Termine festliegen. Sonst handelt es sich um Verdrängung, nicht um Risiko-Management.
Defense-in-Depth widerspricht KISS nicht
Viele Schutzschichten klingen nach Komplexität — und sind es bei schlechter Umsetzung auch. Gut umgesetzt sind die Schichten klar getrennt, einzeln verständlich und einzeln überprüfbar. Eine CSP ist nicht komplizierter, weil daneben noch Output-Encoding läuft.
Faustregel: Was eine Schicht kann, sollte sie tun
Wenn HTTPS verfügbar ist, kein HTTP. Wenn Argon2id verfügbar ist, kein bcrypt-mit-niedrigem-Cost. Wenn Passkeys verfügbar sind, nicht nur TOTP. Maximale Schutzwirkung pro Schicht, dann nächste Schicht — statt überall halbe Lösungen.
Weiterführende Ressourcen
Externe Quellen
- NIST SP 800-207 – Zero Trust Architecture
- NIST SP 800-30 – Guide for Conducting Risk Assessments
- ISO 31000 – Risk Management Standard
- ISO/IEC 27005 – Information Security Risk Management
- Saltzer & Schroeder – The Protection of Information in Computer Systems (1975)
- OWASP – Defense-in-Depth Concept
- BSI – IT-Grundschutz-Methodik