Bundesamt für Sicherheit in der Informationstechnik

M 4.495 Sicheres Systemdesign bei der Software-Entwicklung

Verantwortlich für Initiierung: Leiter Entwicklung

Verantwortlich für Umsetzung: Entwickler, Leiter Entwicklung

Beim Entwurf von IT -Systemen sind alle verfügbaren Sicherheitsmechanismen zu prüfen und zu beurteilen, ob sie die Sicherheitsanforderungen erfüllen, die sich aus dem Schutzbedarf der geplanten Einsatzumgebung ergeben. Die Sicherheitsmechanismen müssen dann entsprechend implementiert werden, damit alle Sicherheitsanforderungen erfüllt und umgesetzt sind.

Jeder Bedrohung sollte mit angemessenen Sicherheitsmaßnahmen begegnet werden. Vor allem die folgenden Grundregeln müssen beim sicheren Systemdesign beachtet werden:

  • Eingabedaten sind vor der Weiterverarbeitung grundsätzlich zu prüfen und zu validieren. Als ungültig klassifizierte Eingabedaten sollten verworfen und nicht weiter verwendet werden.
  • Bei Client-Server-Anwendungen sollten die Daten grundsätzlich auf dem Server validiert werden. Validierungen durch den Client erhöhen den Komfort für die Benutzer, bieten aber keine Sicherheit und sind deshalb serverseitig zu wiederholen.
  • Zwischen Systemkomponenten sollten Daten grundsätzlich verschlüsselt übertragen werden. Ausnahmen sind zu begründen.
  • Für die Software und das IT -System, auf dem die Software ausgeführt wird, ist eine sichere Standard-Konfiguration vorzusehen. Hierbei sind insbesondere sichere Grundeinstellungen des Betriebssystems und der von der Software genutzten Module und Anwendungen vorzunehmen.
  • Bei Fehlern oder Ausfall von Komponenten des Systems dürfen keine Informationen (z. B. Versionsnummern oder Dateipfade) preisgegeben werden.
  • Der Betrieb der Software muss mit möglichst geringen Benutzerprivilegien möglich sein.

Das Systemdesign ist zu dokumentieren und die vollständige Abdeckung der Sicherheitsanforderungen zu überprüfen. Die Sicherheitsanforderungen müssen im Produktivbetrieb der Software umsetzbar sein und müssen deshalb auch die dortigen Umgebungsbedingungen abdecken (z. B. das verwendete Betriebssystem).

Prüffragen:

  • Werden die Grundregeln des sicheren Systemdesigns eingehalten?

  • Wurde das Systemdesign dokumentiert und dessen vollständige Abdeckung der Sicherheitsanforderungen überprüft?

Stand: 15. EL Stand 2016