Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden die wichtigsten Imperative für die Integration von Sicherheit in Entwicklungspraktiken im Rahmen der Entwicklungssicherheitsdisziplin definiert.
Moderne Organisationen verlassen sich auf eine schnelle Softwareentwicklung, um Innovationen zu liefern, geschäftliche Anforderungen zu erfüllen, den Wettbewerbsvorteil aufrechtzuerhalten und auf sich ändernde Geschäftsanforderungen zu reagieren. Während DevOps diese Flexibilität ermöglicht, werden auch neue Sicherheitsrisiken eingeführt, da Code, Infrastruktur und Bereitstellungsprozesse schneller weiterentwickelt werden.
Um DevOps-Praktiken sicher anzuwenden, müssen Organisationen Sicherheit in Entwicklungsstrategie, Workflows und Übermittlungsprozesse integrieren und DevSecOps-Praktiken einführen, die die Anwendungsbereitstellung über den gesamten Lebenszyklus hinweg sichern.
Ergebnisse
Die Umsetzung der in diesem Artikel beschriebenen Planungsimperative ermöglicht es Organisationen:
- Reduzieren Sie die Einführung von Sicherheitslücken in Produktions-Workloads.
- Verbessern Sie die Konsistenz von Entscheidungen zur Produktionsbereitschaft.
- Reduzieren Sie die Reibung zwischen Entwicklung, Sicherheit und Betrieb.
- Verbessern Sie die Resilienz von Anwendungen und Bereitstellungsinfrastrukturen.
- Halten Sie die Innovationsgeschwindigkeit bei der Verwaltung von Sicherheits- und Betriebsrisiken aufrecht.
Erkennen des Umfangs der Entwicklungssicherheit
Die Entwicklungssicherheit gilt für mehr als Anwendungscode. Organisationen sollten Sicherheitsanforderungen und -aktivitäten für alle Komponenten definieren, die beim Entwerfen, Erstellen, Bereitstellen und Ausführen von Arbeitslasten beteiligt sind.
Organisationen müssen Sicherheitsrisiken für Folgendes berücksichtigen:
- Anwendungslogik und -dienste
- Infrastrukturautomatisierung/Infrastructure-as-Code (IaC)-Bereitstellungen
- Erstellen und Freigeben von Pipelines
- Bereitstellungskonfigurationen und operative Skripts
- Entwicklerumgebungen und Dienstidentitäten
- Abhängigkeiten und Komponenten der Lieferkette von Drittanbietern
Durch die Erkennung dieses vollständigen Bereichs können Organisationen Sicherheitsanforderungen definieren, die die Bereitstellung moderner Workloads widerspiegeln, anstatt die Sicherheit auf die Überprüfung von Anwendungscode zu spät im Lebenszyklus zu beschränken.
Wichtige Risiken berücksichtigen
Organisationen sollten beim Definieren von Anforderungen explizit die folgenden Risiken einschließen:
| Risikobereich | Beispielwirkung |
|---|---|
| Anwendungsentwurfsfehler | Nicht autorisierter Zugriff, Datenexposition, dauerhafte Logikfehler. |
| Kompromittierung der Pipeline | Einfügen von bösartigem Code in Buildartefakte. |
| Kompromittierung der Entwicklerumgebung | Diebstahl von Anmeldeinformationen oder Rechteausweitung. |
| DevOps-Toolmissbrauch | Nicht autorisierte Änderungen über Automatisierung oder Integrationen. |
| Sicherheitsanfälligkeiten in Der Lieferkette | Einführung böswilliger oder anfälliger Abhängigkeiten. |
Diese Risiken informieren direkt über die in diesem Artikel definierten Planungserzwänge und müssen durch Design-, Prozess- und Governanceentscheidungen behandelt werden.
Diese Risiken wirken sich sowohl auf Anwendungsworkloads als auch auf die Infrastruktur aus, die zum Erstellen und Betreiben verwendet wird.
Integrieren von Sicherheit in Strategie/Lebenszyklus
Sicherheit muss in die Entwicklungsstrategie integriert werden, nicht als Post-Release-Kontrolle angewendet werden.
Organisationen müssen Sicherheitsanforderungen zusammen mit funktionalen Anforderungen definieren und an folgende Anforderungen anpassen:
- Entwicklungsstrategie
- Architekturplanung
- Übermittlungsworkflows
- Betriebsunterstützungsmodelle
Sicherheit ist eine gemeinsame Verantwortung von Rollen in Entwicklung und Betrieb, unterstützt von Sicherheitsexperten.
Sicherheit ermöglicht Innovation; sie ist keine Hürde, die erst nach der Auslieferung zum Einsatz kommt.
Organisationen müssen einen kontinuierlichen SDL-Ansatz (Secure Development Lifecycle) einführen, der Folgendes umfasst:
- Definieren von Sicherheitsanforderungen frühzeitig im Entwurf.
- Anpassung der Sicherheitsanforderungen an Architektur und Implementierung.
- Integration von Sicherheit mit Infrastrukturautomatisierung.
- Durchführen einer kontinuierlichen Sicherheitsüberprüfung.
- Nachverfolgen von Sicherheitsergebnissen.
- Priorisieren der Korrektur.
- Anwenden von Sicherheitsergebnissen auf Freigabebereitschaftsentscheidungen, sodass Sicherheitsprobleme bei Bedarf als Produktionsblocker behandelt werden.
Die Sicherheit muss kontinuierlich ausgewertet und verbessert werden, da sich Anwendungsarchitekturen, Risiken und Bereitstellungsmodelle entwickeln.
Definieren von Mindestkriterien für die Produktionsfähigkeit
Arbeitsauslastungen müssen mindestlebensfähigkeitskriterien vor der Produktionsfreigabe erfüllen. Diese Kriterien definieren, ob eine Arbeitsauslastung sicher, konform und betriebsbereit für den Produktionseinsatz in drei Dimensionen ist:
- Entwicklung (Dev): Entwicklungsbeteiligte definieren Mindestfunktionsanforderungen, die erforderlich sind, um geschäftliche Anforderungen und Kunden-/Benutzerwerte zu erfüllen.
- Sicherheit (Sek): Sicherheitsbeteiligte definieren Mindestanforderungen, die erforderlich sind, um behördliche Verpflichtungen zu erfüllen, den Sicherheitsstatus der Organisation aufrechtzuerhalten und die Erkennung und Reaktion aktiver Bedrohungen zu unterstützen.
- Vorgänge (Ops):Betriebsbeteiligte definieren Mindestleistungs-, Qualitäts- und Supportierbarkeitsanforderungen, die für die Arbeitsauslastung erforderlich sind, um zuverlässig in Produktionsumgebungen zu arbeiten.
Kriterien für die Rentabilität der Produktion:
- Stellen Sie sicher, dass Workloads sicher in Produktionsumgebungen bereitgestellt und betrieben werden können.
- Als Grundlage für Freigabeentscheidungen dienen und in allen Entwicklungs-Workflows konsequent durchgesetzt werden.
Die Kriterien für die Rentabilität der Produktion entwickeln sich auf der Grundlage von Änderungen an:
- Anwendungsbereitstellungsmodelle.
- Bedrohungsbedingungen.
- Organisatorische Risikotoleranz.
- Complianceanforderungen.
Integrieren von Sicherheit in Entwicklungsworkflows
Die Sicherheit muss direkt in Entwicklungs- und Übermittlungsprozesse eingebettet werden. Organisationen sollten:
- Definieren sie Sicherheitsanforderungen innerhalb von Entwicklungsworkflows.
- Integrieren von Sicherheitsaktivitäten in:
- Entwurfsprozesse
- Erstellen von Pipelines
- Bereitstellungsabläufe (CI/CD)
- Implementieren von Sicherheitsüberprüfungsmechanismen wie:
- Codeüberprüfung
- Abhängigkeitsüberprüfung
- Konfigurationsüberprüfungen
Sicherheitsfeststellungen müssen genauso behandelt werden wie Produktionsfehler und in Freigabeentscheidungen einbezogen werden.
Die Sicherheitsüberprüfung sollte kontinuierlich über die Übermittlung erfolgen, nicht nur bei Freigabeprüfpunkten.
Gleichgewicht und Harmonisierung der Anforderungen
Organisationen müssen definieren, wie Entwicklungs-, Sicherheits- und Betriebliche Anforderungen in Entscheidungen zur Softwarebereitstellung ausgeglichen werden. Produktions-Workloads müssen die Anforderungen in folgenden Bereichen erfüllen:
- Geschäftsfunktionen.
- Sicherheitsresilienz.
- Geschwindigkeit der Innovation.
- Betriebssicherheit und Leistung.
Organisationen müssen gemeinsame Übermittlungsziele und Leistungsmetriken definieren, die:
- Richten Sie sich an gemeinsame Leistungs- und Bereitstellungsziele für Entwicklung, Sicherheit und Betrieb.
- Vermeiden Sie dominanz durch eine einzige Domäne.
- Priorisieren Sie Ergebnisse basierend auf:
- Organisatorische Risikotoleranz.
- Regulatorische Verpflichtungen.
- Verantwortlichkeit im Unternehmen.
Das Gleichgewicht muss sich anpassen, da sich die Bedrohungsbedingungen entwickeln, sich die Übermittlungsmodelle ändern und die Prioritäten der Organisation verschoben werden.
Einrichten der gemeinsamen Verantwortlichkeit
Effektive DevSecOps erfordern gemeinsam genutzten Besitz über Entwicklungs-, Sicherheits- und Betriebsteams hinweg, um Folgendes zu gewährleisten:
- Abstimmung der Zuständigkeit für die Kriterien zur Produktionsfähigkeit.
- Abstimmung der Lieferziele über alle Disziplinen hinweg.
- Reduzierung von Silos und ungesunden Reibungen, die Sicherheitslücken, Lieferverzögerungen und betriebsbedingte Instabilität schaffen.
Richtlinienbasierte Sicherheitsleitplanken anwenden
Richtliniengesteuerte Leitplanken sollten Kontrollen durchsetzen, ohne unnötige Reibungsverluste zu verursachen. Guardrails sollten Folgendes umfassen:
- Identitäts- und Zugriffsanforderungen.
- Konfigurations- und Compliancestandards.
- Bereitstellungs- und Freigabekontrollen.
Guardrails sollten sein:
- Integriert in Plattformgrundlagen (z. B. Landezonen).
- Eingebettet in Entwicklungs-/Bereitstellungsworkflows.
- Wird nach Möglichkeit automatisch erzwungen.
Durch diesen Ansatz wird sichergestellt, dass Sicherheitsanforderungen konsistent angewendet werden und gleichzeitig die Liefergeschwindigkeit beibehalten werden.
Um einen ausgewogenen Ansatz für Sicherheit und Geschwindigkeit der Innovation zu erreichen, überprüfen Sie die Einführung mithilfe von richtliniengesteuerten Schutzschienen.
Erhalten und verbessern
Die Sicherheit bleibt nicht als statischer Satz von Steuerelementen wirksam und muss sich im Laufe der Zeit weiterentwickeln.
Organisationen müssen die Sicherheitspraktiken für die Entwicklung kontinuierlich bewerten und aktualisieren, wenn sie auf Änderungen reagieren:
- Bedrohungsbedingungen und Angreiferverhalten.
- Anwendungsarchitekturen und Bereitstellungsmodelle.
- Regulatorische Verpflichtungen.
- Organisatorische Risikotoleranz.
- Kriterien für die Rentabilität der Produktion.
- Entwicklungsbereitstellungsprozesse.
- Sicherheits-Governance-Praktiken.
Sicherheitspraktiken müssen sich neben den von ihnen geschützten Systemen weiterentwickeln.
Ausrichtungstechniken
Teams müssen sich an Folgendem orientieren:
- Definieren sie gemeinsame Ziele: Entwicklungs-, Sicherheits- und Betriebsleiter sollten bereitstellungsziele und Leistungsmetriken für die Workloadbereitstellung gemeinsam definieren, um eine konsistente Releaseplanung zu unterstützen.
- Verhindern der Dominanz einer einzeldomänenbezogenen Entscheidung: Übermittlungsentscheidungen sollten Entwicklungs-, Sicherheits- und Betriebsanforderungen berücksichtigen, um Ungleichgewichte zu vermeiden, die sich negativ auf die Zuverlässigkeit, Compliance oder Geschäftsfunktionalität der Arbeitsauslastung auswirken können.
- Priorisieren Sie kontinuierliche Verbesserung gegenüber statischen Freigabekriterien: Entwicklungssicherheitspraktiken sollten im Laufe der Zeit iterativ optimiert werden, da sich Anwendungsbereitstellungsmodelle, Bedrohungsbedingungen und Organisationsprioritäten entwickeln.
-
Einen gemeinsamen Bereitstellungskontext über alle Stakeholder-Rollen hinweg schaffen: Entwicklungs-, Sicherheits- und Betriebsteams sollten ein gemeinsames Verständnis von Folgendem haben:
- Geschäftliche Dringlichkeit und Lieferfristen
- Relevante Bedrohungsbedingungen und Risikoexposition
- Anforderungen an Betriebsverfügbarkeit und Unterstützbarkeit
- Überwachen Sie Reibungsverluste im Bereitstellungsprozess, die durch Sicherheitsanforderungen verursacht werden: Sicherheitsanforderungen können zu Reibungsverlusten im Bereitstellungsprozess führen. Führungskräfte sollten bewerten, ob diese Reibung zur Risikominderung beiträgt (z. B. durch die Aktivierung früherer Identifizierung von Sicherheitsrisiken) oder unnötig verzögert die Bereitstellung der Arbeitsauslastung, ohne die Produktionsresilienz wesentlich zu verbessern.
- Integrieren der Entwicklungssicherheit in die Planung und Ressourcenzuordnung: Sicherheitsanforderungen für Anwendungsworkloads sollten zusammen mit funktionalitäts- und betrieblichen Supportanforderungen in die Entwicklungsplanung und Ressourcenzuordnung integriert werden.
- Definieren von Leistungszielen für die gemeinsame Übermittlung: Leistungs- und Erfolgsmetriken für Anwendungsworkloads sollten Entwicklungs-, Sicherheits- und Betriebsbereitstellungsergebnisse widerspiegeln.
Ausrichten von Workflows an Sicherheitsanforderungen
Die Sicherheit muss durch Entwicklungsworkflows operationalisiert werden. Organisationen müssen Workflows definieren und ausrichten für:
- Architekturgestaltungsaktivitäten.
- Erstellungs- und Bereitstellungsprozesse.
- Problemverfolgungs- und Wartungsworkflows.
Sicherheitsergebnisse müssen folgendes sein:
- Priorisiert und nachverfolgt.
- Zusammen mit Produktionsfehlern verwaltet.
- Integriert in Freigabebereitschaftsentscheidungen.
Die Workflowausrichtung stellt sicher, dass Sicherheitsanforderungen während der gesamten Übermittlung konsistent durchgesetzt werden.
Nächste Schritte
Erfahren Sie mehr über die Entwicklung mithilfe von Zero-Trust-Prinzipien