Wie DevOps zu DevSecOps wird
Von Lucy Kerner*
Hacks der Software Supply Chain stellen für Unternehmen eine große Sicherheitsbedrohung dar. Unter Nutzung von Drittanbieter-Software oder frei verfügbaren Software-Bibliotheken und -Komponenten können Cyberkriminelle gleichzeitig Tausende von Unternehmen und Organisationen infiltrieren. Einer der bisher größten derartigen Eingriffe in die Software-Lieferkette fand 2020 statt: Ein bösartiger Code in einem SolarWinds-Software-Update infizierte zunächst US-Bundesbehörden und anschließend weltweit rund 18.000 Organisationen. Und im März dieses Jahres waren mehr als 20.000 Organisationen von einer Schwachstelle in Microsoft Exchange Server betroffen.
Wie können Unternehmen und Organisationen auf diese Sicherheitsbedrohungen reagieren? Ein Verzicht auf die Nutzung von Software-Lieferketten ist schließlich kein gangbarer Weg. Der Schlüssel liegt in der Anwendung derselben Ideen, Prozesse und Tools, die auch den Erfolg von DevOps ermöglichen. Das heißt, Sicherheitsansätze müssen integraler Bestandteil aller Prozesse rund um Software-Lieferketten sein. Auf diese Weise kann eine „DevSecOps“-Kultur etabliert werden.
Die Sicherheit in den Fokus rücken
Der DevOps-Ansatz zeichnet sich durch die Automatisierung der Prozesse zwischen den Entwicklungs- und Betriebsteams aus. Dadurch können die Entwickler qualitativ hochwertige Software erstellen und die Betriebsteams eine kontinuierliche Bereitstellung und eine konsistente Servicequalität gewährleisten. Die Automatisierung unterstützt dabei eine effiziente Zusammenarbeit der beiden Teams.
Dieses Konzept kann auch auf den Bereich Sicherheit ausgeweitet werden. Anstatt die Sicherheit als Behinderung der DevOps-Workflows zu sehen, sollte sie als zentraler Teil aller Arbeitsabläufe betrachtet werden. Voraussetzung dafür ist, dass die Interaktionen zwischen Security und DevOps automatisiert werden.
Aber was bedeutet dieses Konzept in der Praxis? Für das Verständnis von DevSecOps sind drei Schlüsseltechniken entscheidend: Automatisierung, offene Standards und Zero-Trust-Architektur.
1. Automatisierung
Das Herzstück und die Basis von DevSecOps bildet analog zu DevOps die Automatisierung. Sie ermöglicht konsistente, wiederholbare Prozesse, die die Interaktion zwischen Entwicklungs-, IT-Infrastruktur- und Sicherheitsteams vereinfachen. Mit DevSecOps können unterschiedliche Arbeitsabläufe automatisiert werden: sei es die Einbindung von Stakeholdern in Projekte, die Durchführung alltäglicher und sich wiederholender Aufgaben oder die Orchestrierung und Integration von IT-Tools.
Darüber hinaus automatisiert DevSecOps auch die Sicherheit während des gesamten Lebenszyklus der Anwendungen. So können gemeinsame, automatisierte Anwendungspipelines erstellt werden, die Sicherheitstools und -prüfungen in die Anwendungs- und Bereitstellungsprozesse einbinden. Für Teammitglieder besteht dadurch die Möglichkeit, Security-Checks durchzuführen und so zu gewährleisten, dass die Sicherheit und Konsistenz von Anfang an in alle Anwendungen integriert sind.
Für all diese Aufgaben mussten früher E-Mails zwischen den Teams verschickt werden. Dadurch kam es zu Verzögerungen, weil die Aufgaben manuell zugewiesen und geordnet wurden. Nun ermöglicht die Automatisierung eine nahezu sofortige Bearbeitung und einen Abbau der logistischen und technischen Barrieren zwischen Security- und DevOps-Teams.
2. Offene Standards
Wie in jedem spezialisierten Ökosystem haben Sicherheitsexperten ihre eigenen Plattformen und Sprachen entwickelt, um ihre Prozesse und Techniken auszuführen und zu beschreiben. Um DevSecOps vollständig umzusetzen, ist es jedoch wichtig, dass für die Bedürfnisse und Anforderungen von Sicherheits- und DevOps-Teams eine gemeinsame technologische Basis besteht.
Hier kommen offene Standards und Open-Source-Tools ins Spiel. Im Gegensatz zu proprietärer Software können Open-Source-Software und -Anwendungen dazu beitragen, die Plattformen und Sprachen zu standardisieren, die von DevSecOps-Teams verwendet werden. Auf diese Weise können sowohl DevOps- als auch Sicherheitsteams ihre Arbeit auf kompatiblen Plattformen und in einer Form erledigen, die konsistent und verständlich ist: Es spart Zeit und verringert das Risiko von Fehlern bei der Übertragung von Workflows zwischen den Teams.
3. Zero-Trust-Architektur
Um mögliche Angriffe auf die Software-Lieferkette abzuwehren, müssen Organisationen auf jeden Fall sicherstellen, dass eine einzelne Sicherheitslücke nicht den gesamten technologischen Stack kompromittieren kann. Selbst wenn ein Angreifer Anmeldedaten, Datenbankstandorte oder IP-Adressen in Erfahrung bringt – und das ist bei schwerwiegenden Angriffen häufig der Fall –, sollte er nicht auf den Rest eines Systems oder Netzwerks zugreifen können.
Unternehmen sollten deshalb einen „Zero-Trust“-Sicherheitsansatz verfolgen. Er basiert auf der Erkenntnis, dass herkömmliche Netzwerk-Perimeter und Trust-Modelle keinen ausreichenden Schutz für Daten, Vermögenswerte oder Workloads bieten. Bei einer Zero-Trust-Strategie werden Netzwerke automatisch segmentiert, um Angriffe auf gesamte Systemumgebungen zu verhindern. Anstatt davon auszugehen, dass irgendetwas oder irgendjemand innerhalb des IT-Netzwerks vertrauenswürdig ist, geht Zero Trust vom Gegenteil aus. Folglich wird auch eine Sicherheitsumgebung rund um De-Perimeterization- und Least-Privilege-Konzepte aufgebaut. Dadurch können die Berechtigungen sehr granular sein und Sicherheitsvorfälle an einer Stelle des Netzwerks auf diese beschränkt bleiben. Zugleich sorgt die Automatisierung von Zero Trust aber auch dafür, dass reguläre Workflows nicht gestört werden, indem legitimierten Nutzern ausreichende Zugriffsrechte gewährt werden, mit denen sie ihre Arbeit erledigen können.
Insgesamt steht die DevSecOps-Kultur, die durch die Kombination von Automatisierung, offenen Standards und Zero-Trust entsteht, für ein Konzept, bei dem die Sicherheit von Anfang an in den Lebenszyklus von Anwendungen und Infrastrukturen eingebettet ist. Dies fördert die Robustheit von Prozessen, Applikationen und den damit verbundenen Lieferketten. Gleichzeitig erhalten die unterschiedlichen Teams mit DevSecOps die Flexibilität, innovative und zuverlässige Anwendungen und Services bereitzustellen.
* Lucy Kerner ist Security Global Strategy und Evangelism Director bei Red Hat