Skip to main content

Warum ein solides DevOps-Fundament für effektives DevSecOps entscheidend ist

Artikel von
feature global security

27. November 2024

0 Min. Lesezeit

Mit der zunehmenden Verbreitung von DevOps bringen Unternehmen Code schneller denn je in die Produktion. Das hohe Tempo von DevOps hat jedoch dazu geführt, dass viele Entwickler Sicherheit als Engpass oder nachträglichen Gedanken betrachten. Sicherheitsteams brauchen daher einen neuen Ansatz, um Schritt zu halten.

Hier kommt DevSecOps ins Spiel, die natürliche Weiterentwicklung von DevOps. Die naheliegendste und fast schon klischeehafte Erklärung für DevSecOps ist das Prinzip „Shift Left“: Sicherheitstests werden früh im Lebenszyklus in den Softwaredesign- und Bereitstellungsprozess integriert. Das wäre jedoch so, als würde man sagen, bei DevOps gehe es lediglich um Automatisierung. Das eigentliche Ziel von DevOps ist eine schnellere und häufigere Bereitstellung von Software bei gleichzeitiger Verbesserung der Developer Experience und Verringerung des Burnout-Risikos. Ebenso bedeutet DevSecOps mehr, als Tools einfach nur nach links zu verschieben: Es muss die Ziele der Softwarebereitstellung unterstützen und die Erschöpfung durch die Vielzahl an Sicherheitsaufgaben verringern.

Deshalb braucht es ein solides DevOps-Fundament, wenn DevSecOps Risiken senken und die Softwarebereitstellung beschleunigen soll. Wenn Unternehmen die Rolle von DevOps- und Entwicklungsteams bei der sicheren Softwarebereitstellung verstehen und sie mit den passenden automatisierten Tools ausstatten, können sie den Reifegrad ihrer Anwendungssicherheitsprogramme steigern.

Die Rolle von DevOps in DevSecOps

Ähnlich wie das kollaborative Modell von DevOps beginnt der Aufbau eines erfolgreichen DevSecOps-Frameworks mit einer gemeinsamen Verantwortung für die Anwendungssicherheit: bei Entwicklern, Operations-, DevOps-/Plattformteams und Sicherheitsexperten. DevOps-Teams sind jedoch besonders gut aufgestellt, um Sicherheit umfassend und tiefgreifend umzusetzen, da sie eng in Entwicklungs- und Betriebsprozesse eingebunden sind. Sie wissen, wie wichtig optimierte Abläufe und eine positive Erfahrung für Softwareteams sind, kennen die eingesetzten Tools und Integrationspunkte und verstehen, wie Software letztendlich in die Produktion gelangt. All das ist auch für die Einführung von DevSecOps entscheidend. Entwicklerportale und -plattformen, die oft von diesen Plattformteams verantwortet werden, bieten eine weitere Möglichkeit, Sicherheitstools zu integrieren.

Ein ausgereiftes DevSecOps-Konzept sollte außerdem alle Bereiche der Anwendungsarchitektur berücksichtigen – einschließlich der Infrastruktur und der Sicherheit der Pipelines. Da Containerisierung und Infrastructure as Code (IaC) zur Bereitstellung und Verwaltung von Software immer häufiger zum Einsatz kommen, sind moderne DevOps-Teams zunehmend auch für die Absicherung von Teilen der Anwendung verantwortlich. Deshalb sollten DevOps-Teams im Rahmen eines neuen DevSecOps-Frameworks Sicherheit in ihre bestehenden Workflows für die Infrastrukturverwaltung integrieren.

Sicherheit im Softwareentwicklungszyklus

Neben den DevOps-Teams sollten auch Entwickler befähigt werden, im Softwareentwicklungszyklus (SDLC) viele Sicherheitsaufgaben unabhängig vom Sicherheitsteam zu übernehmen. So entsteht ein sicherer Softwareentwicklungszyklus (SSDLC), in dem Sicherheit in jeder Phase des Bereitstellungsprozesses berücksichtigt wird.

Angesichts des schnelleren Innovationstempos und der häufigeren Releases reicht es nicht mehr aus, Sicherheit bis zum Ende eines Entwicklungszyklus aufzuschieben. Sicherheit muss daher Teil der Verantwortung von Entwicklern sein, damit sie Schwachstellen früh erkennen und Engpässe vermeiden können. Gleichzeitig muss berücksichtigt werden, wie Probleme und Hinweise zu ihrer Behebung den Entwicklern vermittelt werden. Idealerweise gilt:

  1. Entwickler sollten mit denselben Tools arbeiten können, die sie täglich nutzen.

  2. Die zu behebenden Probleme sollten klar erläutern, warum ihre Aufmerksamkeit erforderlich ist.

  3. Maßnahmen zur Behebung sollten direkt verfügbar sein (also mit einem einfachen Klick automatisiert werden können).

DevSecOps in Bereitstellungspipelines integrieren

Die meisten modernen DevOps-Unternehmen haben bereits eine Form von Continuous Integration und Deployment (CI/CD) eingeführt. Diese automatisierte Pipeline kann als Grundlage für DevSecOps dienen und die Sicherheitsbelastung für DevOps- und Entwicklungsteams verringern.

Die Automatisierung von Sicherheit kann damit beginnen, Sicherheitsprüfungen frühzeitig einzubinden – wenn Entwickler Code schreiben und einchecken. Bei Continuous-Integration-Prozessen werden nach Code-Commits üblicherweise Builds und Tests automatisiert ausgeführt. Zusätzlich kann Static Application Security Testing (SAST) eingesetzt werden, um potenzielle Sicherheitsprobleme im Quellcode zu erkennen. Die meisten SAST-Lösungen scannen den Code und vergleichen ihn mit Best Practices für Anwendungssicherheit und Schwachstellendatenbanken, damit Entwickler frühzeitig Feedback erhalten. Dazu zählen IaC-Tests, eine spezielle Form von SAST-Tests, sowie die Erkennung von Secrets, die für Code, aber auch für IaC- und Pipeline-Konfigurationen relevant ist.

Auch eine Software Composition Analysis (SCA) einschließlich Container-Scanning kann in dieser Phase automatisch durchgeführt werden, um zu prüfen, ob Open-Source-Abhängigkeiten frei von Schwachstellen sind. Das ist noch wichtiger geworden, da Entwicklungsteams immer mehr Komponenten von Drittanbietern und aus Open-Source-Projekten einsetzen. Schätzungen zufolge bestehen bis zu 90 % einer modernen Anwendung aus Open-Source-Code. Diese neuen Software-Supply-Chains vergrößern die potenzielle Angriffsfläche einer Anwendung erheblich und erfordern zusätzliche Sicherheitsmaßnahmen. Ein ausgereiftes DevSecOps-Programm sollte nicht nur testen – was immer bis zu einem gewissen Grad reaktiv ist –, sondern Entwickler auch von Anfang an zu sicheren Entscheidungen anleiten. Dafür müssen Teams zusammenarbeiten, um Softwarearchitektur und Sicherheitsanforderungen zu verstehen. Außerdem brauchen sie Schulungen, damit alle die Prinzipien von Secure by Design kennen.

DevSecOps in der Produktion

Ein wichtiger Grundsatz von DevOps ist, dass Softwareteams auch nach der Bereitstellung von Code eingebunden bleiben. DevSecOps muss diesen Grundsatz fortführen. Es ist entscheidend, Code und den gesamten Anwendungsstack vor der Bereitstellung zu testen, aber nicht alle Probleme lassen sich auf diese Weise verhindern. Zero-Day-Schwachstellen treten auf; Anwendungsarchitekturen verändern sich und können dadurch neue Angriffsvektoren eröffnen.

Zahlreiche Cloud- und Runtime-Security-Tools können Bedrohungsvektoren hervorragend abbilden und Angriffe überwachen. Diese Informationen sind für Entwickler zwar wahrscheinlich überwältigend, aber äußerst hilfreich, um festzustellen, welche Probleme sofortige Aufmerksamkeit erfordern. Die Verbindung von Anwendungssicherheit und Cloud-/Runtime-Security zur Risikominderung bei laufenden Anwendungen ist ein notwendiger Bestandteil eines ausgereiften DevSecOps-Programms.

Mit Snyk das DevSecOps-Fundament legen

„Shift Left“ und die Integration von Sicherheit in DevOps-Prozesse sind grundlegende Bestandteile von DevSecOps. Doch auch die zentralen Ziele von DevOps – schnelle, häufige Releases und weniger Burnout bei Entwicklern – sind für ein DevSecOps-Konzept entscheidend. Wenn Sie die passenden Sicherheitstools auswählen, die sich nahtlos in bestehende Entwicklungs- und DevOps-Workflows integrieren lassen, können Sie die Einführung vereinfachen und Sicherheit im gesamten Unternehmen skalieren.

Snyk ist eine sicherheitsorientierte Plattform für Entwickler, mit der Sie DevSecOps-Praktiken in jede Phase des SDLC integrieren können. Snyk AppRisk verbindet Anwendungssicherheit und Cloud-Sicherheit und bietet einen ganzheitlichen Überblick über Risiken. So können Entwickler besser verstehen, was behoben werden muss. Snyk Code und Snyk Open Source unterstützen Entwickler in ihren IDEs, Repositories, Pull-/Merge-Requests und weiteren Bereichen entlang der CI/CD-Pipeline. Snyk Container und Snyk Infrastructure as Code bringen Sicherheit in die Plattformteams.

Vereinbaren Sie noch heute eine Demo und erfahren Sie, wie Snyk Sie beim Aufbau Ihres DevSecOps-Fundaments unterstützen kann.

Schließen Sie die Lücke zwischen Sicherheit und Entwicklung

Entdecken Sie die sechs Säulen für den Erfolg von DevSecOps und erfahren Sie, wie sie sich in Ihrem Unternehmen umsetzen lassen.

Gepostet in: