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.
Dieser Artikel hilft Sicherheits- und Technologieteams beim Einrichten und Modernisieren einer Entwicklungssicherheitsdisziplin. Diese Disziplin hilft Sicherheits-, Engineering- und Technologieteams, sicherzustellen, dass Software entwickelt, integriert und sicher bereitgestellt wird – ohne innovationen zu verlangsamen.
Sicherheitsdisziplinen sind Gruppierungen verwandter Sicherheitsaufgaben, die Organisationen dabei helfen, sicherheitsrelevante Ergebnisse konsistent in der gesamten Technologieumgebung zu erzielen. Im Rahmen des Modells der Sicherheitsakzeptanz helfen Disziplinen dabei, eine Brücke zwischen Geschäftsszenarien und technischer Implementierung zu bieten und sicherzustellen, dass Sicherheitsinvestitionen im Rahmen des Sicherheitsakzeptanzmodells zu echten messbaren Ergebnissen führen.
Warum diese Disziplin?
Software ist tief mit Identitäten, Daten, Infrastruktur und Geschäftsprozessen verbunden. Wenn die Entwicklungssicherheit schwach oder inkonsistent ist, kann jede Softwareversion neue Sicherheitsrisiken einführen, die Angreifer ausnutzen, um Zugriff auf breitere Unternehmensressourcen zu erhalten.
Ohne eine effektive Entwicklungssicherheitsdisziplin erleben Organisationen häufig:
- Erhöhtes Risiko von Softwarerisiken, die während der Entwicklung eingeführt wurden.
- Anwendungskompromittierung, die eine laterale Bewegung zwischen Identitäten und Daten ermöglicht.
- Unterbrechung des Geschäftsbetriebs und des Umsatzes.
- Exposition oder Missbrauch von Kunden und regulierten Daten.
- Ansammlung von technischen Schulden, die langfristige Risiken und Sanierungskosten erhöhen.
Eine starke Sicherheitsdisziplin in der Entwicklung stellt sicher, dass jedes Release das Risiko verringert, anstatt es zu erhöhen.
Mission und Ergebnisse
Die Entwicklungssicherheitsdisziplin reduziert das Organisationsrisiko, indem sichergestellt wird, dass alle Software, unabhängig davon, ob sie intern oder von Partnern entwickelt, erstellt, integriert und in Übereinstimmung mit Sicherheitsstandards bereitgestellt wird, ohne die Bereitstellung oder Innovation zu verlangsamen.
Organisationen, die diese Disziplin weiterentwickeln, erzielen:
- Sicherheit, die in Entwicklungsprozesse integriert ist und nicht verspätet hinzugefügt wurde.
- Frühere Identifizierung und Behebung von Entwurfs- und Implementierungsfehlern.
- Berechenbarere, sichere Veröffentlichungszyklen.
- Reduzierte Überarbeitungen, Notfallbehebungen und Betriebsunterbrechungen.
- Geringere Anhäufung von technischen und Sicherheitsschulden im Laufe der Zeit.
Die Entwicklungssicherheit stellt sicher, dass der Sicherheitsstatus bei jeder Version kontinuierlich verbessert wird, anstatt regelmäßig zurückgesetzt zu werden.
Änderungen an der Teamarbeit
Es ist wichtig, dass der Bereich Entwicklungssicherheit Entwickler und Produktteams dort abholt, wo sie stehen, und sich darauf konzentriert, Sicherheit in bestehende Entwicklungsabläufe zu integrieren, anstatt Kontrollen erst in späten Entwicklungsphasen, schwerfällige Prüfprozesse oder sogar das vollständige Auslassen von Sicherheit in Entwicklungsprozessen einzuführen.
Dieser Ansatz wird häufig als Verschiebung nach links beschrieben, und es wird häufig beschrieben, dass das Sicherheitsdenken früher in Ideen, Entwurf und Implementierung eingeführt wird, wenn Probleme einfacher und kostengünstiger zu beheben sind. Das Verschieben nach links bedeutet nicht, früher im Prozess nichts zu sagen. Stattdessen wird frühzeitig eine sicherheitsbezogene Diskussion eingeführt, um Produktentscheidungen zu verbessern und sicherzustellen, dass Lösungen Sicherheits- und Geschäftsanforderungen erfüllen.
Zu den wichtigsten Prinzipien gehören:
- Frühzeitige Integration: Berücksichtigen Sie sicherheit während der Idee und des Designs, nicht nur Tests
- Ausrichtung der Entwickler: Treffen Sie sich mit Entwicklungs- und Produktteams, in denen sie bereits arbeiten
- Kleine, inkrementelle Änderung: Bevorzugen Sie Automatisierung und verbesserungen bei geringer Reibung
- Kontinuierliche Verbesserung: Sicherheit als fortlaufende Disziplin behandeln, kein Meilenstein
Mit der Zeit verringert eine konsequente Integration Feuerwehreinsätze und beschleunigt die Bereitstellung, statt sie zu verlangsamen.
So wenden Sie diese Disziplin an
Um die Entwicklungssicherheitsdisziplin effektiv anzuwenden, konzentrieren Sie sich auf die Schaffung eines konsistenten Ansatzes zum Erstellen und Verwalten sicherer Anwendungen und Dienste in der gesamten Organisation:
-
Definieren einer sicheren Entwicklungsstrategie, die auf das Geschäftsrisiko ausgerichtet ist
Legen Sie einen klaren Ansatz für die Entwicklung, Erstellung und Wartung von Anwendungen und Diensten fest, um das Risiko von Kompromittierung zu verringern und kritische Geschäftsfunktionen zu schützen. -
Sicherheit in Entwicklungs- und Engineering-Prozesse integrieren
Stellen Sie sicher, dass Sicherheitspraktiken in Planungs-, Entwurfs-, Entwicklungs- und Bereitstellungsaktivitäten integriert werden, anstatt erst im Nachhinein angewendet zu werden. -
Einrichten standardisierter methoden für sichere Entwicklung
Stellen Sie klare Anleitungen bereit, um sicherzustellen, dass sichere Codierungs-, Test- und Freigabepraktiken konsistent in Teams und Projekten angewendet werden. -
Ausrichten der Entwicklungssicherheit an kritischen Ressourcen und Geschäftsszenarien
Priorisieren Sie Schutzmaßnahmen für Anwendungen und Dienste, die hochwertige Ressourcen und wichtige Geschäftsvorgänge unterstützen. -
Kontinuierliche Verbesserung basierend auf Risiken, Sicherheitsrisiken und Feedback
Nutzen Sie Erkenntnisse aus Sicherheitsrisiken, Vorfällen und Testergebnissen, um Entwicklungspraktiken zu stärken und risiken im Laufe der Zeit zu reduzieren.
Verwalten von Änderungen
Moderne Entwicklungssicherheit wird in der Regel über einen DevSecOps-Ansatz implementiert, der agile Bereitstellung mit wesentlichen Governance- und Qualitätspraktiken vor der Veröffentlichung kombiniert.
Anstatt zwischen Geschwindigkeit und Sicherheit zu wählen, konzentriert sich DevSecOps auf die Sicherung der wichtigsten Aspekte des Entwicklungslebenszyklus, um dringendes Risiko zu mindern und gleichzeitig schnelle Releasezyklen nicht zu behindern:
Sichern Sie das Design – Verwenden Sie bewährte Sicherheitsdesignmuster und überprüfen Sie Designs durch Bedrohungsmodellierung. Sichern Sie den Code – befolgen Sie sichere Codierungsmethoden, und überprüfen Sie Software und Abhängigkeiten. Sichern Sie die Pipeline – Überprüfen Sie den Pipelineprozess , und schützen Sie CI/CD-Systeme vor Kompromittierung und nicht autorisierten Änderungen. Stellen Sie die Rückverfolgbarkeit von Änderungen an der Pipeline und der Software sicher, die die Pipeline durchläuft. Sichere Vorgänge – Stellen Sie sicher, dass bereitgestellte Workloads den bewährten Methoden für Konfiguration, Patching und Betrieb folgen.
Teams können die Ergebnisse verbessern, indem sie die Zusammenarbeit zwischen Entwicklung, Sicherheit und Betrieb kontinuierlich verfeinern und die Ziele der funktionalen Bereitstellung mit Zuverlässigkeit und der Verringerung von Risiken in Einklang bringen.
Diese kontinuierliche inkrementelle Verbesserung sollte sowohl auf die Arbeitsproduktion (im Lebenszyklus produzierter Softwarecode) als auch auf die Reifung des Entwicklungslebenszyklus selbst angewendet werden.
Definieren eines DevSecOps-Prozesses
Development Security wird in der Regel über ein DevSecOps-Betriebssystemmodell implementiert, das sich im Laufe der Zeit weiterentwickelt, anstatt vollständig gebildet zu werden. DevSecOps vereint Entwicklung, Sicherheit und Betrieb, um durch kontinuierliche Verbesserung bessere Ergebnisse zu erzielen.
Die meisten Organisationen durchlaufen diese Phasen:
Entwicklung (Dev) – Die erste Produktionsversion konzentriert sich auf die Bereitstellung eines minimal lebensfähigen Produkts (MVP), das die Kerngeschäftsanforderungen erfüllt. DevOps – Nach der ersten Veröffentlichung konzentrieren sich Teams auf schnelle Iteration, betriebsfähige Stabilität und Governance durch kontinuierliche Bereitstellung. DevSecOps – Mit zunehmender Reife der Zusammenarbeit arbeiten Entwicklung, Sicherheit und Betrieb zusammen, um Prozesse kontinuierlich zu verfeinern und Geschwindigkeit, Risiko und Zuverlässigkeit in Einklang zu bringen.
Diese Entwicklung ermöglicht Es Organisationen, Sicherheitsergebnisse zu verbessern, ohne Flexibilität oder Innovation zu opfern.
Einrichten eines sicheren MVP-Basisplans
Ein wichtiger Schritt in diesem Modell besteht darin, zu definieren, was ein mindestfähiges Produkt (MVP) aus Entwicklungs-, Sicherheits- und Betriebsperspektiven darstellt. Die Schaffung dieser gemeinsamen Basislinie schafft Klarheit in allen Teams und ermöglicht eine konsistente Verbesserung im Laufe der Zeit.
| Komponente | Details |
|---|---|
| Dev(elopment) | Stellen Sie sicher, dass die Software die minimalen geschäftlichen und funktionalen Anforderungen erfüllt. |
| Sich(erheit) | Stellen Sie sicher, dass software die Mindestsicherheits- und Complianceanforderungen erfüllt. |
| Op(eration)s | Stellen Sie sicher, dass Software die Mindestanforderungen an Qualität, Zuverlässigkeit und Betriebsbereitschaft erfüllt. |
Die MVP-Anforderungen variieren je nach Organisation und Branche und werden von Risikobereitschaft, regulatorischer Exposition und unternehmenskritischer Bedeutung beeinflusst. Diese Anforderungen entwickeln sich häufig weiter, da sich die Organisations-, Bedrohungslandschaft und Übermittlungsmodelle ändern.
Kontinuierliche Softwareverbesserung
Nach der ersten Produktionsfreigabe bewegen sich Workloads in kontinuierliche Verbesserungszyklen. In dieser Phase verfeinern Entwicklung, Sicherheit und Betrieb sowohl die Software als auch den Übermittlungsprozess. Die Sicherheitsbemühungen konzentrieren sich auf:
- Integrieren von Sicherheit nativ in Entwicklungsworkflows unter Verwendung der gleichen Tools und Priorisierungsmodelle wie andere Technische Arbeit
- Sicherheitslücken schnell identifizieren, priorisieren und beheben im Rahmen der üblichen Release-Zyklen.
Dieser Ansatz richtet sich an Microsoft Secure Future Initiative (SFI)-Erkenntnisse wie prPaved Paths, bei denen sichere Praktiken in Plattformen und Prozesse integriert sind und nicht extern erzwungen werden.
Im Laufe der Zeit hilft dieses kontinuierliche Lernen Teams dabei, Anforderungen zu verfeinern, die Zusammenarbeit zu optimieren und eine bessere Balance zwischen Übermittlungsgeschwindigkeit, Sicherheit und Zuverlässigkeit zu erzielen.
Disziplinierungsrollen und Mitarbeiter
Die Dev Security-Disziplin wird in der Regel von Teams ausgeführt, die App- und Produktentwicklung durchführen.
Primäre Rollen in dieser Disziplin umfassen in der Regel:
- Technologiebereitstellung und Produktmanager
- Softwareentwickler (einschließlich KI-Entwicklung)
- Softwaresicherheitsingenieure
- DevOps- und Plattformingenieure
- Test- und Qualitäts-Engineering-Rollen
- Lieferketten- und Abhängigkeitssicherheitsrollen
Zu den wichtigsten Mitarbeitern gehören:
- Unternehmens- und technische Führung – Bereitstellen von Sponsoring und Priorisierung
- Architekturrollen – Leitfaden für sichere Design- und Integrationsentscheidungen
- Rollen im Bereich Sicherheitsstrategie, Integration und Governance – Bereitstellung von Richtlinien, Schulungen und Aufsicht
- Infrastruktur- und Plattformteams – Sichere Entwicklungsumgebungen aktivieren
- Sicherheitsvorgänge (SecOps) – Überwachen und Reagieren, wenn Anwendungen angegriffen werden
Ausrichtung mit anderen Disziplinen
Development Security ist eng in andere SAF-Disziplinen integriert:
- Zugriff und Identitäten – Schützt Entwickler-, Workload- und Dienstidentitäten.
- Infrastruktursicherheit – Sichert Plattformen, auf denen Anwendungen und Pipelines ausgeführt werden.
- Datensicherheit – Stellt sicher, dass vertrauliche Daten während des gesamten Softwarelebenszyklus geschützt sind.
- SecOps– Erkennt und reagiert auf Angriffe auf Anwendungsebene.
- Sicherheitsstrategie, Integration und Governance – Richtet Entwicklungsmethoden an Unternehmensrisikoprioritäten aus.
Zusammen stellen diese Disziplinen sicher, dass die Softwaresicherheit breitere Geschäfts- und Sicherheitsergebnisse unterstützt.
Ausrichtung auf technologische Säulen
Die Ausführung der Strategie für die Entwicklungssicherheitsdisziplin erfordert Sicherheitskontrollen über mehrere Technologiepfeiler hinweg.
Die Ausrichtung an den technologischen Säulen umfasst:
- Identitäten: Schützt Entwickler- und Workloadidentitäten und Anmeldeinformationen.
- Endpunkte: Sichert Entwicklerarbeitsstationen und Buildsysteme.
- Infrastruktur: Schützt Plattformen, die Code, Pipelines und Workloads hosten.
- Apps: Stellt einen primären Fokus für Entwicklungssicherheitspraktiken bereit.
- Daten: Schützt verwendete, generierte und gespeicherte Daten durch Anwendungen.
- Netzwerk: Entwickelt Software für den sicheren Betrieb in nicht vertrauenswürdigen Netzwerken.
- KI: Sichert KI-Komponenten und -Modelle, die in modernen Anwendungen verwendet werden.
Diese Breite stellt sicher, dass die Disziplin reale Angriffspfade behandelt.
Wie geht es weiter?
Zusätzliche Anleitungen zur Entwicklungssicherheitsstrategie finden Sie in der Entwicklungssicherheitsstrategie.
An einem Workshop teilnehmen
Microsoft Unified bietet expertengeführte Workshops an, um Organisationen dabei zu helfen, ihre Dev-Sicherheitsdisziplin zu modernisieren. Zu diesen Workshops gehören:
- Architektur- und Strategieworkshops – Der Security Adoption Framework (SAF) – Architekturdesign-Workshop: Infrastruktur- und Entwicklungssicherheit konzentriert sich auf die Beschleunigung der Modernisierung der Entwicklungssicherheit und ihrer Integration mit der Infrastruktursicherheit. Dieser Workshop steht als weniger als vierstündige Diskussion zur Verfügung, die sich auf wichtige Erkenntnisse und bewährte Methoden konzentriert.
- Technology Adoption Workshops: Microsoft Unified verfügt über Workshops, die Organisationen dabei unterstützen, mehr über die Nutzung von Microsoft Development Security Technology zu erfahren, zu planen, zu implementieren und zu optimieren, wie in diesem Diagramm dargestellt.
Überprüfen Sie den Microsoft Security Development Lifecycle
Der Microsoft Continuous Security Development Lifecycle bietet eine Methodik zur sicheren Entwicklung von Software. Der Security Development Lifecycle (SDL) ist der Ansatz, der Microsoft verwendet, um Sicherheit in DevOps-Prozesse (manchmal als DevSecOps-Ansatz bezeichnet) zu integrieren. Die SAF-Sicherheitsleitfaden für die Entwicklung helfen Ihnen dabei, den SDL-Ansatz und die Vorgehensweisen an Ihre Organisation anzupassen.
Sie können die im SDL-Ansatz beschriebenen Methoden auf alle Arten von Softwareentwicklung und alle Plattformen anwenden, von klassischem Wasserfall bis hin zu modernen DevOps-Ansätzen. Dieser allgemein anwendbare Softwaresicherheitsansatz funktioniert auf jeder Art von Software und Plattform.
Weitere Informationen finden Sie unter Microsoft Security Development Lifecycle (SDL).
Eine wirksame sichere Entwicklung erfordert die Einhaltung eines Security Development Lifecycle (SDL) wie dem Microsoft Security Development Lifecycle (SDL)
Nächste Schritte
Erfahren Sie mehr über die Umstellung von DevOps zu DevSecOps.