DevSecOps – kurz für „Development, Security and Operations“ (Entwicklung, Sicherheit und Betrieb) – sorgt für die Integration von Sicherheit während des gesamten Lebenszyklus der Software- bzw. Anwendungsentwicklung.
DevSecOps ist aus der DevOps-Bewegung entstanden, mit der der Lebenszyklus der Softwareentwicklung beschleunigt und schnelle Reaktionen bei Anwendungen und Updates ermöglicht werden sollen. DevSecOps baut auf diesem agilen Framework auf, umfasst jedoch in jeder Phase des IT-Prozesses zusätzlich auch Sicherheitsmaßnahmen, um Sicherheitsschwachstellen zu minimieren und die Compliance zu verbessern – ohne dass dies Auswirkungen auf die Geschwindigkeit der Veröffentlichungszyklen hat.
Ein DevSecOps-Ansatz ist ein absolutes Muss für jedes IT-Unternehmen, das Container oder die Cloud nutzt. Denn für beide sind neue Sicherheitsempfehlungen, -richtlinien, -praktiken und -tools erforderlich. Aufgrund der Agilität dieser Technologien muss in jeder Phase des DevOps-Lebenszyklus Sicherheit eingebunden werden.
CrowdStrike Global Threat Report 2024: Kurzfassung
Der CrowdStrike Global Threat Report 2024 basiert auf den Beobachtungen des CrowdStrike Counter Adversary Operations Teams und hebt die wichtigsten Themen, Trends und Ereignisse in der Cyber-Bedrohungslandschaft hervor.
Jetzt herunterladenDevOps und DevSecOps im Vergleich
DevOps ist eine agile Entwicklungsmethodik, die die Softwareentwicklung und den IT-Betrieb miteinander verknüpft, um den Lebenszyklus der Softwareentwicklung zu verkürzen und einen kontinuierlichen Entwicklungs- und Bereitstellungszyklus zu ermöglichen. DevOps basiert auf drei permanenten Prinzipien: Integration, Bereitstellung und Implementierung. Mit der permanenten Integration gehen wesentliche Entwicklungsaktivitäten einher, darunter Codierung, Design, Erstellung, Integration und Tests. Die permanente Bereitstellung umfasst die regelmäßige Auslieferung von Software-Anwendungen und -Upgrades und erfolgt durch kontinuierliche Implementierung oder einen automatisierten Pipeline-Workflow.
Mit DevSecOps wird eine Kultur umgesetzt, bei der alle Beteiligten die Sicherheitsfunktionen in jeden einzelnen Schritt des DevOps-Frameworks integrieren. Im Rahmen des DevSecOps-Ansatzes ergänzen die Unternehmen den herkömmlichen DevOps-Workflow dann wahrscheinlich noch durch weitere Schritte. Dazu gehören:
- Durchführung einer Risiko-Nutzen-Analyse, um die aktuelle Risikotoleranz des Unternehmens zu ermitteln
- Erstellung einer übergeordneten, integrierten Sicherheitsstrategie, um vorhandene Schwachstellen und bekannte Bedrohungen im Sicherheitsumfeld zu beseitigen
- Ermittlung der Sicherheitskontrollen, die für die betreffende Anwendung erforderlich sind
- Automatisierung von wiederkehrenden Aufgaben bei der Sicherheitsentwicklung und im Testprozess
Wie funktioniert DevSecOps?
Bei einem DevSecOps-Ansatz ist Sicherheit in jeden Teil des DevOps-Lebenszyklus integriert. Hierbei kommen unter anderem diese wesentlichen Taktiken zum Tragen:
- Einbindung von IT-Sicherheitsexperten in das DevOps-Team, um die Sicherheitsagenda innerhalb des Entwicklungsprozesses zu überwachen
- Verbesserung der sicherheitsspezifischen Fähigkeiten des IT-Teams zum besseren Verständnis von Cyberrisiken und Best Practices, damit alle Mitglieder die Auswirkungen während des Entwicklungsprozesses berücksichtigen und Code unter Beachtung von Sicherheitsaspekten schreiben können
- Automatisierung ausgewählter Cybersicherheitsprozesse und -aufgaben, beispielsweise von Tests auf Sicherheits-Exploits, um einen agilen Workflow zu ermöglichen
- Entwicklung von Sicherheitsprozessen und -tools, die speziell für die Unterstützung agiler Technologien wie der Cloud, Containern und Mikroservices konzipiert wurden
Bei einem herkömmlichen DevOps-Ansatz finden Sicherheitstests eher zum Ende des Entwicklungsprozesses statt – in der Regel nachdem die Anwendung in einer Produktionsumgebung bereitgestellt wurde. Der Grund dafür ist, dass sicherheitsbezogene Aufgaben wie die Verwaltung von sicheren Konfigurationen und Schwachstellenscans relativ zeitintensiv sein und daher den Entwicklungsprozess verlangsamen können.
Best Practices für DevSecOps
Unternehmen, die den IT-Betrieb, das Sicherheitsteam und die Anwendungsentwickler zusammenführen möchten, müssen Sicherheit in den Mittelpunkt des Workflows für die Software-Entwicklung rücken. Zur Unterstützung von DevSecOps müssen Unternehmen die folgenden beiden grundlegenden Dinge umsetzen:
- Gewährleisten, dass Sicherheitstests in den gesamten Entwicklungszyklus integriert und vom Entwicklungsteam durchgeführt werden
- Dem Entwicklungsteam die Möglichkeit geben, die beim Testen gefundenen Probleme in den Griff zu bekommen und zu beheben
Nachfolgend werden einige Best Practices für DevSecOps erörtert, die den Unternehmen den Wechsel zu diesem neuen agilen Modell ermöglichen:
Bestimmung einer für Informationssicherheit verantwortlichen Person innerhalb des DevOps-Teams: Viele Teams nehmen zur Umsetzung eines DevSecOps-Ansatzes einen Sicherheitsexperten in ihre Entwicklungsteams auf. Dieser Experte verfügt über das erforderliche Know-how in Anwendungssicherheit und ist auf diesem Gebiet besser geschult als ein Großteil des Teams. Er kann Sicherheitsmaßnahmen prüfen, um sicherzustellen, dass sie angemessen sind.
Fortbildung des IT-Teams, um dafür zu sorgen, dass Sicherheit in jeden Aspekt des Entwicklungslebenszyklus einfließt: In einem DevSecOps-Modell ist jedes Mitglied des Entwicklungsteams für Sicherheit verantwortlich. Da die Sicherheit in der Vergangenheit kein Verantwortungsschwerpunkt der DevOps-Techniker oder Software-Entwickler war, müssen die Unternehmen ihre Mitarbeiter zur Erfüllung dieser neuen Anforderungen unter Umständen fortbilden. Dazu können sie gemeinsam mit ihrem Cybersicherheitspartner einen Kurs oder ein Schulungsprogramm ausarbeiten, um ihre IT-Teams im Hinblick auf DevSecOps-Prinzipien auf den neuesten Stand zu bringen.
Automatisierung von wiederkehrenden Prozessen und Aufgaben: Bei DevOps geht es im Kern um Geschwindigkeit – und bei DevSecOps ist das nicht anders. Durch die frühe Implementierung von automatisierten Sicherheitskontrollen und Tests in den Entwicklungszyklus können Unternehmen eine schnelle, agile Bereitstellung von Anwendungen gewährleisten. Mithilfe von Tools, die Code direkt bei der Erstellung untersuchen, lassen sich zudem Sicherheitsprobleme schneller identifizieren und beheben.
Auswahl der richtigen Tools, um Sicherheit durchgängig zu integrieren: Cloud-Technologie und die Verwendung von Containern und Mikroservices haben dazu geführt, dass Unternehmen ihre Sicherheitsrichtlinien, -praktiken und -tools neu bewerten müssen. In diesem Umfeld sehen viele Unternehmen cloudnative Sicherheitsplattformen (Cloud-Native Security Platforms, CNSPs) als optimale Lösung an. Das Ziel von CNSPs besteht zum Teil darin, die Absicherung einer vielgestaltigen Multi-Cloud-Umgebung deutlich zu vereinfachen. CNSPs sollen die Anforderungen von cloudnativen Architekturen und DevOps-Entwicklungspraktiken erfüllen. Bei CNSPs liegt der Schwerpunkt nicht auf einem bestimmten Anbieter. Sie sind vielmehr anbieterneutral und wurden entwickelt, um Transparenz und Schutz für alle hybriden Lösungen zu bieten. Darüber hinaus liefern sie Funktionen wie sichere Konfigurationsverwaltung, Laufzeitschutz für Cloud-Workloads und Container sowie Erkennungs- und Reaktionsfunktionen für virtuelle Maschinen (VMs), Container und serverlose Funktionen.
Warum ist DevSecOps notwendig?
Mit dem Aufkommen von Cloud-Technologie, Containern und Mikroservices hat sich die Software-Entwicklung grundlegend geändert. In einer DevOps-Kultur werden API- und Konfigurationstools benötigt, um die Infrastruktur in Form von Code aufzuschlüsseln, der dann vom Entwicklungsteam angepasst und überarbeitet werden kann. Hierdurch können Entwickler die erforderliche Infrastruktur bereitstellen und skalieren, ohne ein separates Infrastrukturteam einbinden zu müssen.
Gleichzeitig hat die zunehmende Nutzung von serverlosen Funktionen, Mikroservices und Containern durch Entwickler zu neuen Sicherheitsrisiken geführt, die berücksichtigt werden müssen. Die Architektur cloudnativer Anwendungen erfordert in puncto Richtlinien und Kontrollen einen eigenen einzigartigen Sicherheitsansatz. Die IT muss nicht nur die Herausforderung bewältigen, in der gesamten Rechenzentrum- und Public Cloud-Umgebung, in der die Anwendungen bereitgestellt werden, durchgängig Sicherheit zu gewährleisten. Sie hat auch mit dem Fehlen ausgereifter Tools zur Sicherung von Containern, mit API-Schwachstellen und anderen Problemen zu kämpfen. In VM-basierten Cloud-Bereitstellungen sind die Sicherheitstools und Best Practices ausgereifter. Sie bieten vollumfängliche Erkennung und Einblicke in Bedrohungen und Leistungsprobleme. Von cloudnativen Umgebungen mit Mikroservices und Containern lässt sich das nicht behaupten. Kurz gesagt: Das Bedrohungsmodell hat sich geändert.
Trotz dieser Herausforderungen bieten cloudnative Ansätze Unternehmen die Möglichkeit, ihre Sicherheit sowie ihre digitalen Initiativen zur Unterstützung ihrer Abläufe zu transformieren. Doch wenn Unternehmen optimal von den Vorteilen von DevOps profitieren möchten, müssen sie einen Weg finden, sichere Entwicklungsprozesse für cloudnative Anwendungen zu integrieren. Jedes Unternehmen muss also zwangsläufig der Sicherheit denselben Stellenwert einräumen wie der Entwicklung und dem Betrieb von Anwendungen.