Die Softwareentwicklung befindet sich im Umbruch: Beflügelt durch die digitale Transformation erscheinen agile Konzepte und DevOps Ansätze heute unumgänglich, um mit den Anforderungen eines sich immer schneller verändernden Marktumfeldes Schritt halten zu können.
Die aktuelle Corona-Situation hat diesen Trend in den letzten Monaten sogar noch verschärft. Der Druck auf Unternehmen, innerhalb kürzester Zeit flexible digitale Geschäftsmodelle voranzutreiben, steigt und wird zum kritischen Erfolgsfaktor im globalen Wettbewerb.
Gleichzeitig durchdringt Quellcode zunehmend etablierte Systemlandschaften und -architekturen. Der Trend scheint klar: „Everything is code and code is law“.
Aus großer Macht folgt große Verantwortung
Mit diesem Bedeutungszuwachs einhergehend wächst jedoch auch die Verantwortung von Softwareentwicklern in Hinblick auf nicht-funktionale (Security-)Anforderungen. Denn auch die Anzahl von Cyber-Attacken und Sicherheitsvorfällen steigt seit Jahren kontinuierlich. Es stellt sich die Frage, wie gut Entwickler von heute in Bezug auf die Schaffung der zukunftsfähigen und sicheren Infrastrukturen von morgen vorbereitet sind.
Ein guter Indikator hierfür ist das Top 10 Projekt der OWASP Foundation, welches die kritischsten Schwachstellen in Web Applikationen in regelmäßigen Abständen dokumentiert.
Der direkte Vergleich des aktuellen Release mit der vorherigen Version des Benchmarks stimmt aus Security Sicht leider nur bedingt optimistisch:
Bildquelle: owasp.org
Auch wenn sich das Risikoprofil in einigen Bereichen verbessert oder zumindest verschoben hat, zählen zum Beispiel Cross-Site Scripting (XSS) und die Nutzung unsicherer (3rd Party) Komponenten noch immer zu den häufigsten Schwachstellen moderner Web Applikationen. Dies mag einerseits auf fehlende Expertise oder mangelndes Bewusstsein für Sicherheitsaspekte innerhalb der Softwareentwicklung zurückzuführen sein. Andererseits nehmen jedoch auch die Komplexität und technische Abhängigkeiten rasant zu, so dass sich das Gesamtbild teilweise nur noch schwer überblicken lässt. Zudem werden Dienste in modernen Architekturen durch das Zusammenspiel einer Vielzahl von Microservices erbracht, die häufig von verschiedenen Entwicklerteams oder Drittanbietern beigesteuert werden.
Was tun?
Die wichtigsten Schritte zur Bewältigung dieser Herausforderungen sind und bleiben die Sensibilisierung für Risiken und Schwachstellen sowie der Wissensaufbau im Bereich Security bei allen involvierten Softwareentwicklern. Weiterhin sollten Security-Tools möglichst frühzeitig in die CI/CD Pipeline integriert werden („Shift Left“). Die Zusammenstellung eines geeigneten Security-Toolsets gestaltet sich nicht ganz trivial: Zwar existieren schon eine Vielzahl von Lösungen für die verschiedenen Phasen des Entwicklungszyklus. Einen groben Überblick der gängigsten Tools bietet beispielsweise die Checkliste zum Thema „Cloud Security DevSecOps Practices“ des SANS Institute. Dabei handelt es sich jedoch vielfach um Insellösungen. Die Auswahl und Integration geeigneter Tools sind häufig schwierig. Dieser Herausforderung stellen wir uns im zweiten Teil dieses Artikels.
Lesen Sie hier Teil 2: Schritt für Schritt zur DevSecOps Pipeline
Jan Sudmeyer ist Managing Partner und Senior Trusted Advisor der carmasec GmbH & Co. KG. Seine Expertise liegt im Bereich Cybersecurity, sowie dem Aufbau von Managementsystemen zur Informationssicherheit (ISMS).
Kevin Kloft ist Security Solution Architect der carmasec GmbH & Co KG. Er beschäftigt sich schwerpunktmäßig mit der Evaluation neuer Technologien und der Implementierung von DevSecOps Tools und Praktiken.