DEV · Beschaffung, Entwicklung und Änderung von Informationssystemen
DEV-01 Richtlinien für die Entwicklung/Beschaffung von Systemkomponenten
Geändert gegenüber C5:2020
Das BSI veröffentlicht die Änderungshistorie bisher nur auf Englisch, eine deutsche Fassung ist angekündigt.
Basiskriterium
Extended aspects to be addressed in the policies by quality in software development, deployment and operation, as well as secure coding standards.
Extended the requirements regarding security (and quality) in software development by the existence of a security by design principle.
Added requirement regarding the use of a design principle that minimses access to cloud service customer data.
Added requirement for the policies to include measures for the enforcement of specified standards and guidelines.
Bullet points are now sorted to ease discussions about specific list items.
Zusatzkriterium
No change.
Wortlaut in C5:2020
Basiskriterium
Policies and instructions with technical and organisational measures for the secure development of the cloud service are documented, communicated and provided in accordance with SP-01.
The policies and instructions contain guidelines for the entire life cycle of the cloud service and are based on recognised standards and methods with regard to the following aspects:
- Security in Software Development (Requirements, Design, Implementation, Testing and Verification);
- Security in software deployment (including continuous delivery); and
- Security in operation (reaction to identified faults and vulnerabilities).
Zusatzkriterium
In procurement, products are preferred which have been certified according to the "Common Criteria for Information Technology Security Evaluation" (short: Common Criteria - CC) according Evaluation Assurance Level EAL 4. If non-certified products are to be procured for available certified products, a risk assessment is carried out in accordance with OIS-07.
Basiskriterium
Richtlinien und Verfahren mit technischen und organisatorischen Maßnahmen für die sichere Entwicklung von Systemkomponenten des Cloud-Dienstes sind gemäß SP-01 dokumentiert, kommuniziert und bereitgestellt.
Die Richtlinien und Verfahren enthalten Leitlinien für den gesamten Lebenszyklus des Cloud-Dienstes und orientieren sich hinsichtlich der folgenden Aspekte an:
- Sicherheit und Qualität in der Softwareentwicklung (Anforderungen, Design, Implementierung, Testen und Überprüfungen), einschließlich des Vorhandenseins eines Security-by-Design-Prinzips, das die Berücksichtigung von Anforderungen der Informationssicherheit in der Softwareentwicklungsphase durchsetzt;
- Sicherheit und Qualität bei der Softwarebereitstellung (einschließlich kontinuierlicher Bereitstellung (Continuous Delivery));
- Sicherheit und Qualität im Betrieb (Reaktion auf identifizierte Fehler und Schwachstellen); und
- Standards und Verfahren für sicheres Programmieren (Reduzierung des Einbringens von Schwachstellen in den Code).
Ergänzende Information
Gilt auch für 01AC
Die Software-Bereitstellung kann z. B. mit Continuous Delivery-Verfahren erfolgen.
Anerkannte Standards und Methoden für die sichere Entwicklung sind zum Beispiel:
- ISO/IEC 27034; und
- OWASP Secure Software Development Lifecycle (S-SDLC).
Die Minimierung des Zugriffs auf Cloud-Kundendaten während des Betriebs kann bei der Entwicklung der Cloud-Architektur durch die Befolgung robuster Sicherheitsmodelle, wie Zero Trust, unterstützt werden. Darüber hinaus sind Aspekte wie die Begrenzung von Datenschnittstellen, API-Aufrufen und Zugriffen sowie die Sicherstellung einer Ende-zu-Ende-Verschlüsselung vom Transport bis zur Speicherung relevante Gesichtspunkte.
Für die Qualitätssicherung in der Softwareentwicklung können die folgenden Prozesse als relevant betrachtet werden:
- Planung und Definition von Qualitätszielen: Definition von Qualitätsanforderungen auf Grundlage von Bedürfnissen der Cloud-Kunden und Zielen unter Berücksichtigung der Anforderungen des zu entwickelnden Cloud-Systems;
- Designphase: Durchführung von Design-Reviews und Inspektionen des Cloud-Dienstes, um sicherzustellen, dass das Design die Qualitätsanforderungen erfüllt;
- Entwicklungsphase: Einsatz von Code-Reviews und Pair Programming, um die Codequalität sicherzustellen. Einsatz statischer Analysewerkzeuge, um den Code auf potenzielle Fehler und Verstöße gegen Programmierstandards zu prüfen;
- Testphase: Durchführung (wo möglich automatisiert) verschiedener Testarten (z. B. Unit-Tests, Integrationstests, Systemtests, Abnahmetests), um die Funktionalität und Qualität der Software sicherzustellen;
- Integration und Continuous Integration (CI): Integration der verschiedenen Softwarekomponenten und kontinuierliche Überprüfung der Integrationen durch automatisierte Builds und Tests. Einsatz von CI/CD-Pipelines, um sicherzustellen, dass der Code regelmäßig integriert und getestet wird;
- Release und Bereitstellung: Vorbereitung und Umsetzung des Software-Releases gemäß definierten Qualitätsstandards; und
- Wartung und kontinuierliche Verbesserung: Überwachung der Software im Betrieb, um sicherzustellen, dass sie weiterhin die Qualitätsanforderungen erfüllt. Dies umfasst Aktivitäten nach dem Release wie Fehlerbehebungs- und Leistungsoptimierungsprozesse. Zusätzlich sollten Post-Mortem-Analysen durchgeführt werden, um aus Vorfällen zu lernen und Prozesse für zukünftige Releases zu optimieren.
Ein anerkannter Standard und eine Methode für Qualität in Entwicklungsprozessen ist zum Beispiel Google Site Reliability Engineering (SRE).
Der Anwendungsbereich der DEV-Kriterien und der darin enthaltenen Anforderungen umfasst nicht nur die Entwicklung von Softwareanwendungen, sondern auch Plattformen, virtuelle Infrastruktur und andere Systemkomponenten.
Leitlinien für die sichere Entwicklung des Cloud-Dienstes definieren Grundsätze, um sicherzustellen, dass die Systemarchitektur und die vom Cloud-Anbieter innerhalb der Produktionsumgebung betriebene Software so gestaltet sind, dass der Zugriff des Cloud-Anbieters auf Cloud-Kundendaten soweit wie möglich minimiert wird.
Der Cloud-Anbieter definiert Maßnahmen, um die festgelegten Standards und Leitlinien als Teil der Richtlinien und Verfahren für die sichere Entwicklung von Systemkomponenten des Cloud-Dienstes durchzusetzen.
Zusatzkriterium
DEV-01.01AC
Zusatz, erweiterndBei der Beschaffung werden Produkte bevorzugt, die gemäß den 'Common Criteria für die Sicherheitsevaluierung von Informationstechnik' (kurz: Common Criteria - CC) auf dem Evaluation Assurance Level EAL 4 zertifiziert wurden. Sollen nicht zertifizierte Produkte anstelle verfügbarer zertifizierter Produkte beschafft werden, wird eine Risikobeurteilung gemäß OIS-07 durchgeführt.
Ergänzende Information
Gilt auch für 01B
Die Software-Bereitstellung kann z. B. mit Continuous Delivery-Verfahren erfolgen.
Anerkannte Standards und Methoden für die sichere Entwicklung sind zum Beispiel:
- ISO/IEC 27034; und
- OWASP Secure Software Development Lifecycle (S-SDLC).
Die Minimierung des Zugriffs auf Cloud-Kundendaten während des Betriebs kann bei der Entwicklung der Cloud-Architektur durch die Befolgung robuster Sicherheitsmodelle, wie Zero Trust, unterstützt werden. Darüber hinaus sind Aspekte wie die Begrenzung von Datenschnittstellen, API-Aufrufen und Zugriffen sowie die Sicherstellung einer Ende-zu-Ende-Verschlüsselung vom Transport bis zur Speicherung relevante Gesichtspunkte.
Für die Qualitätssicherung in der Softwareentwicklung können die folgenden Prozesse als relevant betrachtet werden:
- Planung und Definition von Qualitätszielen: Definition von Qualitätsanforderungen auf Grundlage von Bedürfnissen der Cloud-Kunden und Zielen unter Berücksichtigung der Anforderungen des zu entwickelnden Cloud-Systems;
- Designphase: Durchführung von Design-Reviews und Inspektionen des Cloud-Dienstes, um sicherzustellen, dass das Design die Qualitätsanforderungen erfüllt;
- Entwicklungsphase: Einsatz von Code-Reviews und Pair Programming, um die Codequalität sicherzustellen. Einsatz statischer Analysewerkzeuge, um den Code auf potenzielle Fehler und Verstöße gegen Programmierstandards zu prüfen;
- Testphase: Durchführung (wo möglich automatisiert) verschiedener Testarten (z. B. Unit-Tests, Integrationstests, Systemtests, Abnahmetests), um die Funktionalität und Qualität der Software sicherzustellen;
- Integration und Continuous Integration (CI): Integration der verschiedenen Softwarekomponenten und kontinuierliche Überprüfung der Integrationen durch automatisierte Builds und Tests. Einsatz von CI/CD-Pipelines, um sicherzustellen, dass der Code regelmäßig integriert und getestet wird;
- Release und Bereitstellung: Vorbereitung und Umsetzung des Software-Releases gemäß definierten Qualitätsstandards; und
- Wartung und kontinuierliche Verbesserung: Überwachung der Software im Betrieb, um sicherzustellen, dass sie weiterhin die Qualitätsanforderungen erfüllt. Dies umfasst Aktivitäten nach dem Release wie Fehlerbehebungs- und Leistungsoptimierungsprozesse. Zusätzlich sollten Post-Mortem-Analysen durchgeführt werden, um aus Vorfällen zu lernen und Prozesse für zukünftige Releases zu optimieren.
Ein anerkannter Standard und eine Methode für Qualität in Entwicklungsprozessen ist zum Beispiel Google Site Reliability Engineering (SRE).
Der Anwendungsbereich der DEV-Kriterien und der darin enthaltenen Anforderungen umfasst nicht nur die Entwicklung von Softwareanwendungen, sondern auch Plattformen, virtuelle Infrastruktur und andere Systemkomponenten.
Verwandte Kriterien
Texte des BSI aus C5:2026 und der Änderungshistorie: © Bundesamt für Sicherheit in der Informationstechnik 2026, unverändert unter CC BY-ND 4.0. Inoffizielle Website ohne Verbindung zum BSI. Lizenz und Quellen