Absicherung des SDLC 05.05.2019, 11:17 Uhr

Sichere Entwicklungsprozesse in DevOps-Umgebungen

DevOps haben die Abläufe in der Software-Entwicklung rasant beschleunigt. Unternehmen bringen ihre Anwendungen heute schneller zur Marktreife und stellen für ihre Kunden oft im Tagesrhythmus neue Builds bereit.
(Quelle:   )
Die Praxis zeigt aber, dass die Qualitätssicherung nicht immer mit dem agilen Tempo Schritt halten kann. Die Folge: fehlerhafter Code, der Cyberkriminellen unzählige Angriffspunkte bietet. Experten von Checkmarx, einem Anbieter im Bereich Software-Security, haben ein paar Tipps zusammengestellt, mit deren Hilfe sichere Entwicklungsprozesse gewährleistet werden.
Die Checkmarx-Spezialisten empfehlen, Anwendungen bereits im Anfangsstadium der Entwicklung mit statischen Sicherheitstests (SAST) zu analysieren, um Fehler möglichst schon im Quellcode zu identifizieren. Bei der Einbindung von Open Source Code in agile Entwicklungsumgebungen dürfen sich Entwickler nicht darauf verlassen, dass der quelloffene Code auch wirklich sicher ist. Open-Source-Analyse-Lösungen (OSA) weisen die Entwickler während des Programmierprozesses auf Fehler in quelloffenem Code hin und ermöglichen es ihnen, unsichere Elemente zu entfernen oder zu ersetzen.
Um sicherzustellen, dass der kompilierte Code einwandfrei ist, sollten Entwickler auch interaktive Security-Analysen (IAST) vorsehen. Diese Tests lassen sich automatisiert und effizient im laufenden Betrieb durchführen. Auch die permanente Schulung der Entwickler ist wichtig.
Zur Minimierung des Risikos sollten die verwendeten Analyse-Werkzeuge in einem durchgängigen Prozess zusammengeführt werden, der von den ersten Design- und Entwicklungsstufen bis hin zum Go-live reicht. Auch sind verbindliche Feedback-Zyklen für weiterführende Modifikationen im laufenden Betrieb zu definieren.
Bei der Asuwahl einer Software-Security-Plattform muss darauf geachtet werden, dass Schwachstellen nicht nur identifiziert, sondern auch priorisiert werden. Das macht es den Entwicklern leicht, die unvermeidlichen False Positives von kritischen Fehlern zu unterscheiden. Außerdem muss sichergestellt weren, dass die Plattform alle gängigen Programmier- und Skriptsprachen (zum Beispiel Java, C#, JavaScript, TypeScript, PHP, Python) und alle gängigen Entwicklungsumgebungen (zum Beispiel Eclipse, IntelliJ, Visual Studio) unterstützt.
Den Verantwortlichen müssen geeignete Orchestrierungswerkzeuge zur Verfügung stehen, die sie jederzeit über die aktuelle Sicherheitslage im Bilde halten, Code-Fehler projektweise darstellen und vollständige, chronologische Reports zu allen KPIs liefern.
Soll die Software-Security mit der Geschwindigkeit von DevOps Schritt halten, ist die Automatisierung der Analyseprozesse unerlässlich. Nur wenn es die Software-Security-Plattform ermöglicht, Test- und Optimierungsprozesse weitgehend automatisch abzuwickeln, können Entwickler nachhaltig entlastet werden.
»Im Zuge von Digitalisierung und IoT haben sich die Entwicklungszyklen für neue Anwendungen immer mehr beschleunigt«, erklärt Dr. Jürgen Eitle, Professional Security Architect bei Checkmarx. »Heute liefern Softwareentwickler oft mehrmals am Tag neue Builds ihrer Produkte aus – und nutzen die schnelle Entwicklung als USP, um sich von ihren Konkurrenten abzuheben. Agile DevOps-Umgebungen sind deshalb mittlerweile Standard. Sie bringen aber auch Herausforderungen für die Software-Security mit sich. Gerade mit Blick auf die Digitalisierung zunehmend kritischer Dienste dürfen Unternehmen das Thema Software-Sicherheit nicht auf die leichte Schulter nehmen.«


Das könnte Sie auch interessieren