Home » Fachbeiträge » Cybersecurity » Mit DevSecOps zu sicherer Software

Zusammenarbeit und Kommunikation bei der Softwareentwicklung: Mit DevSecOps zu sicherer Software

Traditionelle Sicherheitspraktiken sind in der modernen DevOps-Welt oft ineffizient. Denn Sicherheitsscans zu einem späten Zeitpunkt im Entwicklungszyklus bedeuten für die Entwickler einen hohen Aufwand bei der Behebung von Schwachstellen. Dies wiederum verlangsamt den Entwicklungsprozess und gefährdet Produktionstermine.

4 Min. Lesezeit
Grafik Sichere Software
Foto: ©AdobeStock/Visual Generation

Der Druck der Regulierungsbehörden, die Integrität aller Softwarekomponenten sicherzustellen, nimmt stark zu. Darüber hinaus enthalten Anwendungen zunehmend Open-Source-Software (OSS) und andere Komponenten von Drittanbietern, die neue Sicherheitslücken mit sich bringen können. Angreifer nutzen diese Schwachstellen aus und gefährden damit auch die Anwender der Software.
Software ist eine der größten und oft vernachlässigten Angriffsflächen für Unternehmen:

  • Mehr als 80 Prozent der Software-Schwachstellen werden durch Open-Source-Software und Komponenten von Drittanbietern verursacht.
  • Angriffe auf die digitale Lieferkette werden aggressiver, raffinierter und vielfältiger. Bis 2025 werden 45 Prozent der Unternehmen mindestens einen solchen Angriff erlebt haben (Gartner).
  • Die Gesamtkosten von Cyberangriffen auf die Software-Lieferkette werden bis 2026 weltweit auf über 80,6 Milliarden Dollar steigen, gegenüber 45,8 Milliarden Dollar im Jahr 2023 (Juniper Research).

Die aktuelle Bedrohungslage und der Druck, Anwendungen schneller bereitzustellen, zwingen Unternehmen dazu, Sicherheit in den gesamten Softwareentwicklungszyklus zu integrieren,
ohne die Produktivität der Entwickler zu beeinträchtigen. Diese Praxis wird formell als DevSecOps bezeichnet.

Die Bereitstellung sicherer Software, das Ziel eines effektiven DevSecOps-Programms, ist eine anspruchsvolle Aufgabe. Sie erfordert bedeutende kulturelle Veränderungen in vielen Funktionen, um gemeinsame Verantwortung, Zusammenarbeit, Transparenz und effektive Kommunikation zu fördern. Darüber hinaus sind die richtigen Werkzeuge und Technologien sowie der Einsatz von Automatisierung und künstlicher Intelligenz erforderlich, um Anwendungen mit der Entwicklungsgeschwindigkeit abzusichern. Richtig umgesetzt wird DevSecOps jedoch zu einem wichtigen Erfolgsfaktor für die Bereitstellung sicherer Software.

Was DevSecOps im einzelnen einzelnen bedeutet

DevSecOps, kurz für Entwicklung (DEVelopment), Sicherheit (SECurity) und Betrieb (OPerationS), ist ein Ansatz zur Softwareentwicklung, der Sicherheitspraktiken über den gesamten Softwareentwicklungslebenszyklus hinweg integriert. Der Schwerpunkt liegt auf der Zusammenarbeit und Kommunikation zwischen Entwicklungs-, Sicherheits- und Betriebsteams, um sicherzustellen, dass Sicherheit in jeder Phase des Softwareentwicklungsprozesses berücksichtigt wird.

Im Kontext von Softwareentwicklungspipelines zielt DevSecOps darauf ab, „Sicherheit nach links zu verlagern“, was im Wesentlichen bedeutet, sie so früh wie möglich in den Entwicklungsprozess zu integrieren. Konkret heißt das, Sicherheitspraktiken und -werkzeuge von Anfang an in die Entwicklungspipeline zu integrieren.

Dadurch wird Sicherheit zu einem integralen Bestandteil des Softwareentwicklungsprozesses und nicht nur zu einem späten Zusatz. Dieser Ansatz erleichtert es Organisationen erheblich, Sicherheitslücken frühzeitig zu identifizieren und zu beheben sowie regulatorische Anforderungen zu erfüllen.

Grundprinzipien für die Bereitstellung sicherer Software

Im Kern bedeutet der Aufbau und Betrieb eines effektiven DevSecOps-Programms, dass eine Organisation in der Lage ist, eine sichere Bereitstellungsplattform zu betreiben, Software-
Sicherheitslücken zu testen, Schwachstellen zu priorisieren und zu beheben, die Veröffentlichung unsicherer Codes zu verhindern sowie die Integrität der Software und aller ihrer Bestandteile
sicherzustellen. Für eine erfolgreiche DevSecOps-Praxis sind mehrere Faktoren unerlässlich.

1. Etablieren einer kooperativen Kultur, die Sicherheit zu einer gemeinsamen Verantwortung macht

Wenn eine Organisation Software entwickelt, verkauft oder nutzt, hat jeder Mitarbeiter Einfluss auf die Gesamtsicherheit – nicht nur diejenigen mit „Sicherheit“ im Titel tragen. DevSecOps basiert auf einer Kultur der gemeinsamen Verantwortung. Ein geteiltes Sicherheitsbewusstsein bestimmt, wie gut DevSecOps-Prozesse funktionieren und fördert bessere Entscheidungen bei der Auswahl von DevOps-Plattformen, Werkzeugen und Sicherheitslösungen.

Denkweisen ändern sich nicht von heute auf morgen, aber durch Abstimmung und ein Gefühl der Verantwortung kann das Folgende erreicht werden:

  • Regelmäßige interne Sicherheitsschulungen, speziell für DevSecOps, die Entwickler, DevOps-Ingenieure und Sicherheitsingenieure einschließen. Fähigkeiten und Bedürfnisse sollten nicht unterschätzt werden.
  • Entwickler übernehmen sichere Codierungspraktiken und nutzen entsprechende Ressourcen.
  • Sicherheitsingenieure beteiligen sich an der Architektur von Anwendungen und Umgebungen und führen Designüberprüfungen durch. Sicherheitsprobleme lassen sich früh im Entwicklungsprozess einfacher identifizieren und beheben.

2. Funktionale Silos durchbrechen und kontinuierlich zusammenarbeiten

DevSecOps entsteht aus der Verbindung von Softwareentwicklung, IT-Betrieb und Sicherheit. In Organisationen, die sich auf DevOps konzentrieren, aber kein formales DevSecOps-Framework haben, wird Sicherheit oft wie ein ungebetener Gast behandelt. Prozessänderungen oder Werkzeuge, die plötzlich auferlegt werden (anstatt gemeinsam ausgewählt und eingeführt zu werden), führen in
der Regel zu Reibungsverlusten in der Entwicklungspipeline und zu unnötiger Arbeit für die Entwickler. Häufig fordern Sicherheitsabteilungen zusätzliche Tests, ohne deren Platzierung in der Pipeline oder den Aufwand für die Bewertung und Behebung von Schwachstellen zu berücksichtigen, was die Entwickler belastet.

Um als kohärentes DevSecOps-Team arbeiten zu können, sollten Unternehmen die folgenden Schritte in Angriff nehmen:

  • Festlegung und Vereinbarung messbarer Sicherheitsziele, wie zum Beispiel die durchschnittliche Zeit zur Behebung und die prozentuale Reduzierung von CVE-Warnungen
  • Einbindung von Softwareentwicklern und DevOps-Teams in den Bewertungs- und Beschaffungsprozess neuer Sicherheitstools
  • Sicherstellung, dass kein DevSecOps-Prozess nur einen einzelnen Verantwortlichen hat
  • Ständige Optimierung der Tool-Auswahl und Sicherheitspraktiken für bessere Produktivität und Geschwindigkeit der Entwickler Shift-Left-Sicherheit

3. Shift-Left-Sicherheit

Die Implementierung von Sheft-Left-Sicherheit ist ein entscheidender Schritt zur Absicherung von Anwendungscode während seiner Durchlaufphase durch Entwicklungs-Pipelines. Shift-Left-Sicherheit bezeichnet die Praxis, Sicherheitsprüfungen und -maßnahmen so früh wie möglich in den Softwareentwicklungsprozess zu integrieren. Konkret bedeutet dies, dass Sicherheitsprüfungen
nicht erst spät im Entwicklungszyklus durchgeführt werden, sondern bereits von Anfang an, oft schon während der Kodierungs- und Testphase.

Der Shift-Left-Ansatz stammt aus der Softwareentwicklung und beschreibt die Idee, Probleme und Herausforderungen so früh wie möglich im Prozess zu identifizieren und anzugehen. In Bezug auf Sicherheit bedeutet dies, dass Sicherheit nicht erst als letzter Schritt vor der Bereitstellung einer Anwendung berücksichtigt wird, sondern kontinuierlich und proaktiv während des gesamten Entwicklungszyklus.

Eine erfolgreiche Verschiebung der Sicherheit „nach links“ beginnt mit der Integration und Orchestrierung verschiedener Arten von Sicherheitsscannern in Entwicklungspipelines. Es gibt
mehrere Kategorien von Anwendungssicherheitstests, die DevSecOps-Teams übernehmen und anwenden müssen, um Schwachstellen während des gesamten Softwareentwicklungslebenszyklus
aufzudecken und zu beheben.

Die Techniken, die von jedem Typ von Sicherheitsscanner angewendet werden, ergänzen sich. In Kombination sind sie sehr effektiv, um bekannte Sicherheitsprobleme aufzudecken, bevor eine Anwendung in die Produktion gelangt.

Der Artikel basiert auf einem Beitrag des Unternehmens Harness, der im englischen Original bei THN veröffentlicht wurde. Ein ausführliches E-Book des Unternehmens zum Thema ist in englischer Sprache frei erhältlich: www.harness.io/resources/definitive-guide-to-secure-softwaredelivery (Registrierung erforderlich).

Andere interessante Fachbeiträge

Person nutzt Cloud Computing

Die zehn häufigsten Probleme bei der Anwendungssicherheit

Von ineffizienten DNS-Methoden bis zu ausufernden Latenzzeiten – die Bereitstellung von Anwendungen, Programmierschnittstellen (APIs) und generativer künstlicher Intelligenz (GenAI...

Hand greift nach einem KI-generierten Gesicht auf einem Bildschirm

Die KI-Flüsterer

Die Integration von künstlicher Intelligenz (KI) hat die Cybersicherheitsstrategien weltweit neu definiert. KI-gestützte Angriffe entwickeln sich rasant, was traditionelle Abwehrte...

Autonomes AI-System

Autonome KI-Agenten für das Incident-Management

KI-Agenten erweitern die Funktionalität von Sprachmodellen und RAG-Systemen, indem sie Werkzeuge integrieren, die Echtzeitzugriff auf Informationen ermöglichen, Handlungsoptionen v...