Security Development Lifecycle

Konzept zur Entwicklung von sicherer Software von Microsoft

Trustworthy Computing Security Development Lifecycle (Abgekürzt SDL, zu Deutsch Entwicklungszyklus für vertrauenswürdigen Computereinsatz) ist ein 2004 von Microsoft veröffentlichtes Konzept zur Entwicklung von sicherer Software und richtet sich an Softwareentwickler, die Software entwickeln, die böswilligen Angriffen standhalten muss. Stark vereinfacht handelt es sich dabei um Gebote und Verbote, Tipps und Tools.[1] Es kam erstmals bei der Entwicklung von Windows Vista zum Einsatz.[2]

SDL ist weiterhin in die Softwareentwicklung bei Microsoft eingebunden; 2011 zog die Trustworthy Computing Group des Unternehmens eine Zwischenbilanz über die bisher erreichten Ergebnisse mit dieser Methode.[3][4]

Grundsätze

Bearbeiten

Microsoft geht bei SDL von folgenden Grundsätzen aus:

Secure by design
Schon in der Planungsphase sollte auf die Sicherheitsbelange der Software eingegangen werden.
Secure by default
Trotz sorgfältigster Planung sollte ein Entwickler von dem Vorhandensein von Sicherheitslücken ausgehen. Aus diesem Grund sollten die Standardeinstellungen (z. B. erforderliche Privilegien) möglichst niedrig gewählt werden und selten benutzte Features standardmäßig deaktiviert werden.
Secure in deployment
Die mitgelieferten Dokumentationen und Tools sollen die Administratoren dabei unterstützen, die Software möglichst optimal einzurichten.
Communications (Software)
Die Entwickler sollten offen mit möglichen Sicherheitslücken umgehen und den Endanwendern schnell Patches oder Workarounds zur Verfügung stellen.
Privacy by design
Schon in der Planungsphase sollten Datenschutzbelange der Software berücksichtigt werden.
Privacy by default
Die Standardeinstellungen der Software sollten konservativ gewählt werden.
Privacy in deployment
Datenschutzmechanismen sollten offengelegt werden, um es Administratoren zu ermöglichen, die internen Datenschutzrichtlinien des Unternehmens umzusetzen.
Communications (Privacy)
Datenschutzerklärungen sollten transparent formuliert werden. Ein Team für Datenschutzvorfälle sollte eingerichtet werden.

Der SDL-Prozess

Bearbeiten

Die untenstehende Liste entstammt der Dokumentation von Microsoft:[5]

  1. Anforderungsphase: Identifikation der Sicherheitsanforderungen und Schutzziele der zu erstellenden Software und deren Schnittstellen
  2. Entwurfsphase: Identifikation der Komponenten, die grundlegend für die Sicherheit sind; Risikomodellierung
  3. Implementierung: Verwendung von Tools und Test-Methoden sowie Code Reviews
  4. Überprüfungsphase: Beta Test mit Nutzern, systematische Suche nach Sicherheitsmängeln
  5. Veröffentlichung: Ist die Software auch wirklich reif für die Auslieferung
  6. Schaffung der Möglichkeit auf entdeckte Fehler und Schwachstellen schnell zu reagieren

Einzelnachweise

Bearbeiten
  1. Steve Lipner und Michael Howard: Entwicklungszyklus für sichere Software. In: MSDN. 30. Mai 2005.
  2. Beschreibung der Verbesserungen in Windows Vista durch Nutzung des Security Development Lifecycle
  3. The SDL Progress Report. Abgerufen am 1. Februar 2022 (amerikanisches Englisch).
  4. heise online: Microsoft zieht Zwischenbilanz für Security Development Lifecycle. Abgerufen am 1. Februar 2022.
  5. Microsoft Security Development Lifecycle. Abgerufen am 22. Oktober 2018 (amerikanisches Englisch).
Bearbeiten