Security by Design bedeutet, Sicherheitsmaßnahmen nicht nachträglich aufzusetzen, sondern von der ersten Entwurfsphase einer Software, einer Architektur oder eines Prozesses fest einzuplanen. Das Ziel: Schwachstellen gar nicht erst entstehen zu lassen, statt sie später teuer zu beheben.
Warum Sicherheit nicht nachgerüstet werden sollte
Wird Sicherheit erst am Ende eines Projekts betrachtet, entstehen typische Probleme: Sicherheitslücken werden erst in späten Testphasen entdeckt, Nachbesserungen sind teuer, und Angriffsflächen bleiben unklar. Beim Ansatz Security by Design sind dagegen Bedrohungsmodelle, Zugriffskontrollen und sichere Standardeinstellungen von Beginn an Teil der Entwicklung.
Kernprinzipien
- Privilegien minimal halten: Jede Komponente bekommt genau die Rechte, die sie braucht — nicht mehr.
- Defense in Depth: Mehrere unabhängige Sicherheitsebenen, damit ein einzelner Fehler nicht das ganze System gefährdet.
- Sichere Standardwerte: Unsichere Optionen sind standardmäßig aus; sichere Konfiguration ist der Normalfall.
- Bedrohungsanalyse früh: Bereits im Entwurf wird durchdacht, wer das System angreifen könnte und wie.
- Sicherer Entwicklungsprozess: Code-Reviews, automatisierte Tests und Penetrationstests gehören zum regulären Ablauf.
Praxisbeispiel
Eine Webanwendung, die nach Security by Design gebaut wird, verwendet von Anfang an parametrisierte SQL-Abfragen gegen Injection, validiert alle Eingaben, verschlüsselt Daten mit Verschlüsselung und setzt eine Zwei-Faktor-Authentifizierung für administrative Zugänge voraus. Nachträglich wäre jeder dieser Punkte ein größerer Umbau.
Zusammenhang mit anderen Konzepten
Security by Design ergänzt das Zero-Trust-Modell: Zero Trust beschreibt die Grundhaltung (niemandem automatisch vertrauen), Security by Design die Umsetzung in Architektur und Entwicklungsprozess. Beide Konzepte sind zentrale Bausteine moderner Sicherheitsstrategien.