Security by Design

Security by Design ist ein Gestaltungsprinzip, bei dem Sicherheitsaspekte von Beginn an in die Architektur eines Systems eingebaut werden — nicht nachträglich aufgesetzt. In der Softwareentwicklung bedeutet das: Jede Entwurfsentscheidung berücksichtigt potenzielle Angriffsvektoren, Zugriffsrechte und Datenflüsse. Das Prinzip ist eng verwandt mit Privacy by Design und wird durch Normen wie ISO 27001 operationalisiert.
Vogelperspektive: Die Arme eine Frau auf dem Notebook. Daneben symbolische Zeichen für Security by Design.
© Tierney

Was bedeutet Security by Design?

Die Grundidee ist älter als das Internet selbst. Jerome Saltzer und Michael Schroeder formulierten 1975 in ihrem Aufsatz „The Protection of Information in Computer Systems” Designprinzipien für sichere Systeme, die bis heute Gültigkeit haben. Ihr zentraler Gedanke: Sicherheit ist keine Funktion, die man einem System hinzufügt. Sie ist eine Eigenschaft, die aus der Architektur folgt — oder eben nicht.

In der modernen App-Entwicklung bedeutet Security by Design, dass Sicherheitsüberlegungen jede Entwurfsentscheidung begleiten: Wie werden Daten gespeichert? Wer darf auf welche Endpunkte zugreifen? Wie werden Eingaben validiert? Welche Kommunikationswege sind verschlüsselt? Diese Fragen werden nicht im Nachhinein beantwortet, sondern bestimmen die Architektur von Anfang an.

Der Gegenentwurf — erst entwickeln, dann absichern — produziert Software mit strukturellen Schwächen. Wenn die Berechtigungslogik nachträglich über eine bestehende Architektur gelegt wird, entstehen Lücken, die sich durch Patches nicht schließen lassen. Security by Design vermeidet diese Lücken, indem es sie gar nicht erst entstehen lässt.

Die Kernprinzipien

Saltzer und Schroeders Arbeit hat eine Reihe von Prinzipien hervorgebracht, die unter dem Begriff Security by Design zusammengefasst werden. Sie sind abstrakt formuliert, lassen sich aber direkt in Softwarearchitektur übersetzen.

Security by Design vs. Security by Default

Beide Begriffe werden häufig zusammen genannt, beschreiben aber unterschiedliche Konzepte.

Security by Design bezieht sich auf den Entwicklungsprozess. Es geht um Architekturentscheidungen, die während der Konzeption und Implementierung getroffen werden: Wie ist das System aufgebaut? Welche Sicherheitsmechanismen sind strukturell verankert?

Security by Default bezieht sich auf die Auslieferungskonfiguration. Es geht um die Frage: Wie sicher ist das System im Auslieferungszustand, ohne dass der Betreiber manuelle Anpassungen vornimmt? Sind unnötige Dienste deaktiviert? Sind Standardpasswörter erzwungen zu ändern? Ist die restriktivste Konfiguration die Standardkonfiguration?

Ein konkretes Beispiel verdeutlicht den Unterschied: Ein System mit Security by Design hat eine rollenbasierte Zugriffskontrolle in seiner Architektur verankert. Security by Default stellt sicher, dass ein neu angelegter Benutzer die minimalen Rechte erhält — nicht die maximalen. Das eine betrifft die Bauweise, das andere die Voreinstellungen. Beide ergänzen sich, keines ersetzt das andere.

Security by Design und DSGVO

Art. 25 der Datenschutz-Grundverordnung fordert „Datenschutz durch Technikgestaltung und durch datenschutzfreundliche Voreinstellungen”. Der Gesetzgeber hat damit Security by Design und Security by Default — bezogen auf personenbezogene Daten — zur rechtlichen Pflicht gemacht.

Für Softwareentwickler bedeutet das konkret: Wer Anwendungen baut, die personenbezogene Daten verarbeiten, muss die Schutzmaßnahmen bereits in der Konzeptionsphase festlegen. Datenminimierung, Zweckbindung, Löschroutinen und Zugriffskontrollen sind keine optionalen Extras, sondern Pflichtbestandteile der Architektur.

Die Verbindung zu ISO 27001 liegt auf der Hand: Die Norm liefert das Managementsystem, das die technischen Maßnahmen der DSGVO strukturiert. Wer ein ISMS nach ISO 27001 betreibt, hat die organisatorischen Voraussetzungen für Privacy by Design bereits geschaffen.

Umsetzung in der Praxis

Security by Design bleibt ein leeres Prinzip, wenn es nicht in konkrete Entwicklungspraktiken übersetzt wird.

Weiterführende Informationen