Bundesamt für Sicherheit in der Informationstechnik

M 4.494 Sicherer Einsatz einer Entwicklungsumgebung

Verantwortlich für Initiierung: Leiter Entwicklung

Verantwortlich für Umsetzung: Entwickler, Leiter Entwicklung

Aus den Sicherheitsanforderungen für die zu entwickelnde Software ergeben sich Sicherheitsanforderungen an die Entwicklungsumgebung bezüglich Integrität, Vertraulichkeit und Verfügbarkeit. Diese sowie die erforderlichen Sicherheitsmaßnahmen sind zu dokumentieren. Die folgenden Aspekte sollten dabei berücksichtigt werden.

Abschottung der Entwicklungsumgebung

Die Entwicklung muss abgesichert betrieben werden. Hierzu muss die Entwicklungsumgebung ebenso wie die Testumgebung strikt von der Produktionsumgebung getrennt sein. Die Entwicklungsumgebung sollte dagegen geschützt sein, dass der Arbeitsablauf der Entwicklung unterbrochen wird und es muss sichergestellt sein, dass weder Verfügbarkeit, Vertraulichkeit und Integrität der Entwicklungsumgebung sowie der verarbeiteten Daten durch die Produktionsumgebung noch umgekehrt kompromittiert werden können.

Damit Code-Repositorities und andere Entwicklungsdaten nicht manipuliert werden können, muss der Zugriff auf diese beschränkt werden. Zugriffe auf Entwicklungsdaten müssen einzelnen Benutzern zugeordnet und dokumentiert werden können.

Die Produktionsumgebung muss von der Entwicklungsumgebung abgeschottet sein, beispielsweise durch Netztrennung und Zugriffskontrolle, damit diese nicht unautorisiert verändert oder manipuliert werden kann. Insbesondere muss sichergestellt sein, dass neu erstellte oder geänderte Software nur mittels transparenten und dokumentierten Prozessen sowie durch autorisierte Personen in die Produktionsumgebung übernommen werden kann.

Sichere Systeme können nur in einer sicheren Umgebung entwickelt werden. Dazu sind neben technischen Maßnahmen auch infrastrukturelle und organisatorische Sicherheitsmaßnahmen erforderlich. Beispielsweise müssen die genutzten Räumlichkeiten vor unbefugten Zutritt geschützt sein.

Kommentare und Dokumentation

Kommentare und weitere, für den Produktionsbetrieb nicht relevante, Informationen sind aus Quelltexten, Konfigurationsdateien und ausführbaren Dateien zu entfernen, bevor diese im Produktionssystem verwendet werden.

Wenn die Entwicklungsumgebung es unterstützt, sollte sie so konfiguriert werden, dass bei der Erstellung von Programmpaketen automatisch alle für den vorgesehenen Verwendungszweck nicht relevanten Informationen entfernt werden. Es ist sicherzustellen, dass hierfür genau dokumentiert ist, welche Informationen im Interesse des Auftraggebers im fertigen Programmpaket enthalten sein sollen. Relevante Kommentare, Dokumentationen und Zusatzinformationen in den Entwicklungsdaten müssen stets erhalten bleiben, um sicherzustellen, dass die Software jederzeit geprüft und gewartet werden kann.

Absicherung der Arbeitsplätze

Wird die Software an verteilten Arbeitsplätzen und von verschiedenen Personen entwickelt, muss die Verbindung zwischen den Arbeitsplätzen gesichert sein. Die Kommunikation muss über verschlüsselte Datenverbindungen geführt werden und der Zugriff auf wichtige Komponenten, wie beispielsweise ausgelagerte Code-Repositories, sollte zusätzlich durch Sicherheitsgateways geschützt werden.

Während des gesamten Entwicklungsprozesses ist auf allen IT -Systemen eine aktuelle Software zum Schutz vor Schadprogrammen zu verwenden. Dies gilt auch für den Betrieb im Produktivsystem (siehe B 1.6 Schutz vor Schadprogrammen).

Prüffragen:

  • Wird die Entwicklungsumgebung getrennt von der Produktionsumgebung betrieben?

  • Werden Kommentare und sonstige nicht relevante Informationen entfernt, bevor Programmpakete im Produktivsystem eingesetzt werden?

  • Kommunizieren verteilte Arbeitsplätze über eine sichere Verbindung miteinander?

  • Ist eine Zugriffskontrolle für die Entwicklungsdaten vorhanden?

  • Wird eine aktuelle Virenschutzsoftware verwendet?

Stand: 15. EL Stand 2016