arrow arrow--cut calendar callback check chevron chevron--large cross cross--large download filter kununu linkedin magnifier mail marker media-audio media-blog media-video menu minus Flieger phone play plus quote share youtube

Die Zeitlosigkeit von Secure Design

Ein zeitloser Klassiker: Warum die Sicherheitsprinzipien von 1975 heute wichtiger sind, denn je
Foto von Holger Weber
Holger Weber

Security Consultant

Es ist selten, dass ein wissenschaftliches Paper über Computertechnologie nach fast fünf Jahrzehnten noch immer als Pflichtlektüre gilt. Doch genau das ist bei "The Protection of Information in Computer Systems" von Jerome H. Saltzer und Michael D. Schroeder aus dem Jahr 1975 der Fall. Obwohl sich die Hardware radikal verändert hat, bleiben die dort formulierten acht Design-Prinzipien das Fundament jeder robusten Sicherheitsarchitektur.

Heute wissen wir: Ein hohes Sicherheitsniveau lässt sich nur erreichen, wenn Sicherheit schon auf der Entwurfsebene (Secure by Design) angemessen berücksichtigt wird, da spätere Änderungen meist aufwendig und teuer sind.

Der Kern: Die klassischen Prinzipien im modernen Kontext

Die Prinzipien von 1975 sind heute durch konkrete Implementierungsstrategien ergänzt und erweitert worden:

  • Economy of Mechanism & Keep it Simple: Je komplexer ein System, desto schwieriger und teurer ist seine Absicherung. Eine Faustformel besagt: Eine Steigerung der Funktionalität um 25 % führt zu einer Erhöhung der Komplexität um 100 % (siehe Quelle 2 Seite 141). Somit ist die Komplexität ein starkes Risiko für IT-Sicherheit.
  • Fail-safe Defaults & Positives Sicherheitsmodell: Zugriff sollte auf Allowlisting basieren („Was ist erlaubt?“ statt „Was ist verboten?“). Das negative Modell (Denylisting) ist riskant, da nie alle Negativfälle bekannt sind und sie oft einfach mit Änderungen des Encodings umgangen werden können. Systeme müssen zudem mit Secure Defaults (sicheren Standardeinstellungen) ausgeliefert werden. Beispiele hierfür sind standardmäßig aktivierte Funktionen wie Multi-Faktor-Authentifizierung (MFA) oder Verschlüsselung, die nur explizit deaktiviert werden können.
  • Complete Mediation (Vollständige Vermittlung): Jede sensible Aktion muss einzeln autorisiert werden. Dies muss systemweit gelten, einschließlich Initialisierung und Wartung.
  • Open Design (Offenes Design): Die Sicherheit darf niemals auf der Geheimhaltung des Algorithmus bzw. der Implementierung (Security by Obscurity) beruhen, sondern muss auch bei offenem Entwurf bestehen bleiben. In der Kryptographie ist es als Kerckhoffs Prinzip bekannt und dort sehr wichtig.
  • Least Privilege (Minimale Berechtigung): Nutzer*innen und Prozesse dürfen nur die Rechte besitzen, die sie für ihre Aufgabe zwingend benötigen (Need to Know / Need to Do). Dies verhindert die sogenannte „Überprivilegierung“, ein gefährliches Anti-Pattern.

Die Evolution: Neue Prinzipien für die heutige Softwareentwicklung

Heute werden die klassischen Ansätze um entscheidende Konzepte für die moderne IT-Landschaft ergänzt:

  • Defense in Depth (Mehrschichtige Sicherheit): Sicherheit sollte über mehrere unabhängige Schichten hinweg aufgebaut werden. Selbst wenn eine Maßnahme versagt, verhindern weitere Maßnahmen die vollständige Kompromittierung. Dies ist eine Abgrenzung dazu, dass es früher oft nur eine Perimeter-Verteidigung gab.
  • Konsistenzprinzip: Beim Design einer Anwendung sollte darauf geachtet werden, dass ein konsistentes (in sich stabiles) Sicherheitsniveau auf allen Ebenen und Teilsystem vorhanden ist. Denn der am wenigsten gesicherte Teil der Anwendung bestimmt das Sicherheitsniveau der gesamten Anwendung.
  • Misstrauensprinzip: Vertraue niemandem. Alle Daten, die von außen in eine Anwendung gelangen, müssen grundsätzlich im Backend validiert werden. Besser gesagt, alle Daten, die eine Vertrauensgrenze (Trust Boundary) überschreiten, sollten validiert werden. Eine Validierung im Frontend dient lediglich der Usability. Dieses Prinzip ist auch der fundamentale Kern des Zero-Trust Sicherheitsmodelles.
  • Ursachenbehebungsprinzip: Bei Sicherheitslücken muss die eigentliche Ursache (Root Cause) behoben werden. Workarounds (Virtual Patching) dürfen nur temporäre Maßnahmen sein.
  • Indirektionsprinzip: Sensible Objektzugriffe sollten über eine Indirektionsebene abgebildet werden (z. B. ORM-Frameworks statt direktem SQL), um Injektionen und Parametermanipulationen zu erschweren.
  • Vermeidungsprinzip: Jedes Risiko, das vermieden wird, muss nicht mehr behandelt werden und minimiert zusätzlich die Angriffsfläche. Nutze z. B. keine unsicheren Technologien (wie Adobe Flash) und verzichte auf dynamisch evaluierten Code (z. B. eval()).
  • Secure by Design: Ein hohes Sicherheitsniveau für eine Anwendung lässt sich nur erreichen, wenn Sicherheit schon auf Entwurfs- (Design-Ebene) und Architekturebene angemessen berücksichtigt wurde.

Praktische Umsetzung: Validierung und Testbarkeit

Ein wesentlicher Bestandteil moderner Sicherheit ist die Datenvalidierung. Dabei müssen Daten an allen Systemgrenzen restriktiv geprüft werden.

  • Kanonisierung und Normalisierung: Da ein Wert auf verschiedene Arten dargestellt werden kann (z. B. durch URL-Encoding), müssen Daten vor der Prüfung bereinigt und in eine einheitliche Form gebracht werden, um Filter-Umgehungen zu verhindern.
  • Testbarkeitsprinzip: Da Sicherheitsmängel in jeder Technologie vorkommen können, ist es wichtig, dass die Anwendung ausreichend prüfbar ist. Fehlen geeignete Testmöglichkeiten (z. B. weil es aktuell keine Testframeworks gibt), dann wird die Überprüfung auf Schwachstellen erheblich erschwert. Dies bedeutet aber nicht, dass ein Angreifer vorhandene Sicherheitslücken nicht finden kann.

Die menschliche Komponente

Saltzer und Schroeders Fokus auf Psychological Acceptability wird heute durch das Prinzip der Benutzerfreundlichkeit erweitert: Sicherheit darf die User Experience nicht so stark einschränken, dass Nutzer*innen Mechanismen umgehen. Transparenz und Erklärungen helfen dabei, die Akzeptanz zu erhöhen. Zudem erhöhen Technologiebrüche die Sicherheit signifikant. Das bekannteste Beispiel hierfür ist, dass das Passwort mit der Post versendet wird.

Fazit: Warnsignale statt absoluter Regeln

Die Prinzipien von 1975 und ihre modernen Ergänzungen sind keine starren Gesetze, sondern dienen als Leitfaden und Warnsignale. Ein Verstoß gegen ein Prinzip ist oft ein Symptom für ein tieferliegendes Risiko. In einer Welt, in der das Sicherheitsniveau durch das schwächste Glied bestimmt wird (Konsistenzprinzip), bieten diese zeitlosen Konzepte immer noch einen verlässlichen Rahmen für die Entwicklung angriffsresistenter Systeme.

Quellen

  1. Saltzer, J. H.; Schroeder, M. D.: The Protection of Information in Computer Systems (1975). https://www.cs.virginia.edu/~evans/cs551/saltzer/
  2. Matthias Rohr; Sicherheit von Webanwendungen in der Praxis; Springer; 2015