DevSecOps ist ein Entwicklungsansatz, der Security-Maßnahmen schon vor Veröffentlichung einer Software integriert. Arbeiten Entwickler und IT-Sicherheitsexperten zusammen, können sie Anwendungen resilienter gegen Schwachstellen machen. Foto: Pixel-Shot – shutterstock.comDevSecOps (Development, Security und Operations) ist ein Entwicklungsansatz, bei dem Sicherheitsmaßnahmen in den Bereitstellungsprozess integriert werden. Er erweitert den bereits bekannten Ansatz DevOps. Dieser beschreibt die Zusammenarbeit der Teams Softwareentwicklung, das den Code für eine Anwendung entwickelt, und IT-Operations, das die Anwendung für den Endnutzer verfügbar macht und wartet. Damit soll die Markteinführungszeit für ein Softwareprodukt verkürzt werden. Mit der Erweiterung des DevOps-Teams um Security-Experten soll sichergestellt werden, dass Anwendungen nicht nur möglichst schnell, sondern auch sicher bereitgestellt werden.Shift LeftDevSecOps-Teams suchen bereits während der Entwicklung einer Anwendung nach Sicherheitslücken und schließen diese, anstatt das Schwachstellenmanagement als nachträgliche Maßnahme zu behandeln. In diesem Zusammenhang wird oft der Begriff “Shift Left” verwendet. Shift Left beschreibt die Entwicklung, dass Tests, Scans und Validierungen von Software sowie die Bewertung und Behebung von Schwachstellen früher im Lebenszyklus, also weiter links in der Zeitachse, stattfinden. Dadurch können viele Sicherheitsprobleme frühzeitig erkannt und schnell behoben werden, was sich auf die komplette Software-Lieferkette positiv auswirkt.Herausforderungen bei DevSecOpsJedoch ist die Umstellung auf eine DevSecOps-Arbeitsweise technisch, betrieblich und kulturell eine Herausforderung. Entwicklung und IT-Sicherheit sind verschiedene Bereiche, die verschiedene Qualifikationen erfordern. Von Entwicklern kann nicht erwartet werden, dass sie Experten für Sicherheit sind und umgekehrt. Einem Software-Ingenieur eine lange Liste von Schwachstellen in seiner Anwendung zu zeigen, wird nicht den gewünschten Effekt haben, da der Entwickler wahrscheinlich nicht weiß, wie er diese beheben soll. Da Entwickler in der Regel nach der Geschwindigkeit der Softwarebereitstellung bewertet werden, werden sie zusätzliche Schritte, um Sicherheitslücken zu schließen, als kontraproduktiv empfinden. Die große Zahl der heute existierenden Schwachstellen verschärft das Problem noch weiter. Es ist nicht möglich, sie alle zu beheben. Um die Zusammenarbeit von DevSecOps-Teams zu verbessern, können Unternehmen die Metriken des Entwicklungsteams so abändern, dass neben der Geschwindigkeit auch die Sicherheitsqualität der Veröffentlichungen berücksichtigt wird.Grundsätzlich profitieren Unternehmen davon, wenn sowohl das Security-Team wie auch das Entwicklungsteam ein besseres Verständnis für die jeweils andere Abteilung entwickeln. Das bedeutet nicht, dass sie Experten in beiden Bereichen sein müssen, das wäre eine unrealistische Erwartung. Die Entwickler sollten jedoch in sicheren Kodierungspraktiken geschult sein. Diese erhöht nicht nur die Qualität ihres Codes, sondern hilft ihnen auch, die Ergebnisse des Schwachstellen-Prozesses zu verstehen und einige Probleme selbst zu beheben. Als Grundlage für eine sicherheitsbewusste Entwicklerkultur gelten die Top 10 des Open Web Application Security Projects (OWASP). Auch Sicherheitsexperten sollten ein grundlegendes Verständnis von OWASP haben, da das Projekt eine solide Grundlage für die Anwendungssicherheit schafft, was die Kommunikation mit dem Entwicklungsteam verbessert.Lesetipp: So gelingt die sichere Softwareentwicklung Tools für DevSecOps-TeamsModerne Schwachstellen-Tools liefern sowohl detaillierte Auswertungen für Sicherheitsexperten wie auch verständlichere Berichte für Developer und die Führungsebene. Zudem gibt es Lösungen speziell für DevOps, die die CI/CD-Pipeline (Continuous Integration/Continuous Delivery) miteinbeziehen. Dadurch können die Entwickler schneller verstehen, wo Schwachstellen in der Software liegen, in einigen Fällen benötigt die Behebung nur einen Klick.Dazu werden folgende Tools angeboten: Static Application Security Testing (SAST): Diese Tools können dabei helfen, Sicherheitslücken im Quellcode zu identifizieren. Dynamic and Interactive Application Security Testing (DAST und IAST): Diese Tools testen offene Schnittstellen der laufenden Anwendung und suchen nach Sicherheitslücken und Fehlern.Container-Scanning: Container Runtime Security Tools scannen die Docker-Images auf Sicherherheitslücken. Solche Lösungen verfügen über verschiedene Funktionen, einschließlich einer Firewall auf verschiedenen Ebenen, der Anomalie-Identifizierung basierend auf Verhaltensanalysen.Dennoch kann ein erheblicher Teil der identifizierten Probleme nicht so einfach gelöst werden. Neben Lösungen für das Schwachstellenmanagement benötigen DevSecOps-Teams eine Reihe unterschiedlicher Tools für die Qualitätssicherung und die Erkennung von Bedrohungen während der Laufzeit der Software (Runtime Threat Detection). Dafür kann die Integration relevanter Kontextinformationen über eine Schwachstelle Hilfe bei ihrer Behebung bieten. Daten aus dem Common Vulnerability Scoring System (CVSS) oder Informationen über bestehende Exploits helfen, potenzielle Risiken zu priorisieren.Ein weiteres Must Have für DevSecOps-Teams sind Lösungen, um geheime Daten zu verwalten. Denn für den Entwicklungszyklus werden geheime Daten wie API-Schlüssel, Token und Passwörter benötigt, um Teile der Software miteinander zu verbinden. Jedoch werden diese Daten häufig nicht mit der nötigen Sorgfalt behandelt. Zum Beispiel konnten sich Hacker im April 2021 Zugriff auf Kundendaten von Codecov verschaffen. Bei einem Cyberangriff auf das Entwicklungstool des Unternehmens war ein API-Schlüssel in einem Container gespeichert, der öffentlich zugänglich war. Hier kommen verschlüsselte Tresorräume ins Spiel, in denen die Teams sensible Daten aus der Entwicklung speichern können. Entsprechende Tools stellen die Daten den Anwendungen programmgesteuert zur Verfügung, sodass die Authentifizierungsinformationen für den Tresor niemals fest kodiert, also im Quellcode ersichtlich, sind.Ein Report des Sicherheitsanbieters Veracode zeigt, dass DevSecOps funktioniert: Der Prozentsatz der Anwendungen ohne schwerwiegende Fehler ist in den vergangenen zehn Jahren von 66 Prozent auf 80 Prozent gestiegen. Nichtsdestotrotz haben viele Unternehmen mit dem Modell zu kämpfen. Ein großer Schritt in die richtige Richtung lässt sich tun, indem die Teams sich von einer Entwickler-gegen-Security-Mentalität verabschieden. So können Developer in die Lage versetzt werden, gemeinsam mit den Sicherheitsexperten Fehler in Anwendungen im Voraus zu vermeiden. Sie möchten mehr über Security-Themen lesen? Dann abonnieren Sie unseren kostenlosen Newsletter.Lesetipp: Secrets Management im DevSecOps-Zeitalter SUBSCRIBE TO OUR NEWSLETTER From our editors straight to your inbox Get started by entering your email address below. Bitte geben Sie eine gültige E-Mail-Adresse ein. Abonnieren