Agilität – Warum das Thema Sicherheit unbedingt mit einbezogen werden muss.

Wie ist es möglich, die neusten Entwicklungen im Bereich der Agilität auf das Thema Sicherheit zu beziehen und vor allem weiter Schritt zu halten? Genau mit dieser Thematik beschäftigt sich Diana Künstler auf Funkschau.de. Kern jeder Agilität ist die Veränderung und so verändert sie nicht nur Projekte, sondern auch sich selbst kontinuierlich. Auch Dank DevOps konnte die Entwicklung von Software enorm beschleunigt werden. Leider zeigt sich in vielen Unternehmen jedoch, dass andere Abteilungen oft nicht mit diesem neuen Tempo mithalten können, wie zum Beispiel der Bereich Qualitätssicherung. Checkmarx, ein renommierter Anbieter von Softwaresicherheit, hat eine Liste mit den zehn wichtigsten Punkten zur Absicherung von Software Development Life Cycle (SDLC) veröffentlicht, über die Frau Künstler berichtet. Im Folgenden fassen wir den Bericht zusammen.
Mann mit Brille betrachtet Computerbildschirm mit Tabellen darauf.

Rasante Entwicklung – fehlende Sicherheit

Softwareentwicklung heutzutage läuft dank DevOps in einer Geschwindigkeit ab, die man sich vor zehn Jahren kaum vorstellen konnte. So erreichen Produkte die Marktreife immer schneller, fast täglich können Kunden neue Builds erhalten. Allerdings ist die Qualitätssicherung oft durch das rasante Tempo überfordert. Eine mögliche Folge davon ist das Aufkommen fehlerhafter Codes, die der Cyberkriminalität Tür und Tor öffnen. Checkmarx weist darauf hin, dass Entwickler gezwungen sind agil zu arbeiten. Teilweise müssen sie sogar mehrere neue Builds pro Tag abliefern, um mit der Konkurrenz mithalten zu können. 
 
Auch wird oft nur auf die Mitbewerber und das Ergebnis aus der agilen Softwareentwicklung geachtet. Die Sicherheit wird dabei gerne ein wenig vernachlässigt. Gerade in Zeiten der agilen Entwicklung sollte der Fokus auf Sicherheit und Qualitätssicherung gelegt werden. Würden diese beiden Bereiche keine Lücken mehr aufweisen, ebnete das den Weg für sicherere Produkte, mit denen man sich wiederum deutlich von der Konkurrenz abheben würde. Ziel ist es also, die Sicherheit an das rasante Tempo der Entwicklung anzupassen. Die fortschreitende Digitalisierung und das Internet of Things machen diesen Fokus notwendig und folgerichtig. Niemand kann sich mehr erlauben, dieses Thema auf die lange Bank zu schieben oder gar zu vernachlässigen.

Wichtige Punkte bei der Softwareentwicklung

Im Bereich DevSecOps ist gemäß der Liste von Checkmarx einiges zu beachten. Es wird benannt, welche Faktoren Produkte sicherer und damit auch konkurrenzfähiger machen. Zunächst einmal ist es ratsam, eventuell vorhandene Sicherheitslücken so früh wie möglich zu finden. Dazu ist es nötig, schon im Anfangsstadium der Entwicklung mithilfe von statistischen Sicherheitstests, sogenannten SAST, Analysen durchzuführen, um Fehler bereits im Quellcode zu erkennen. In diesem Stadium, also noch vor der ersten Testphase, ist der Aufwand für die Beseitigung eines Fehlers am geringsten. Checkmarx ist überzeugt davon, dass die Einbindung von Open Source Codes in die Sicherheitstests zwingend erforderlich ist. Dabei dürfen die Entwickler nicht davon ausgehen, dass der offene Code auch tatsächlich sicher ist. Durch diese Methode und durch OSA (Open Source Analyse) Lösungen erkennen die Entwickler jedoch Fehler im quelloffenen Code und können so auf unsichere Elemente schnell reagieren und diese entfernen oder verbessern.

Fortlaufende Sicherheitsprüfung

Die Analyse des kompilierten Codes ist laut Checkmarx von Bedeutung. Mittels einer IAST, einer interaktiven Security Analyse, lässt sich feststellen, ob der kompilierte Code fehlerfrei ist. Eine IAST Analyse lässt sich problemlos automatisieren und in den Alltag integrieren. Sie findet während der Schlussphase der Entwicklung Lücken in der Sicherheit und ist schnell und effizient. Der nächste Ratschlag zielt auf die Mitarbeiterschulung ab. Die Experten von Checkmarx empfehlen, die Entwickler mithilfe von interaktiven Ausbildungsplattformen weiterzubilden, und zwar während der Entwicklungsphase. So können zum Beispiel Schulungen zu verschiedenen Fehlererkennungsmethoden in den Entwicklungsalltag eingebunden werden. Idealerweise werden Analysen während des gesamten Softwareentwicklungsprozesses eingebunden. Verschiedene Analysetools decken den gesamten Development Life Cycle ab. Obligatorische Feedback-Schleifen werden eingebunden. Mit ein bisschen Übung und dem perfekten Timing lässt sich die Fehlersuche und Sicherheitsprüfung so integrieren, dass der Entwicklungsprozess nicht verlangsamt wird. Das frühe Entdecken von Bugs führt sogar dazu, dass die eigentliche Testphase schneller vonstattengehen kann. Ziel ist immer ein sichereres Produkt, welches in derselben Zeit zur Verfügung gestellt werden kann.

Einbindung und Nutzung aller Möglichkeiten

Das Entwicklerteam sollte stets im Zentrum allen Geschehens stehen, auch in Fragen der Sicherheit. So ist es am besten, die Entwickler von Anfang an in das Thema Software-Security mit einzubinden. Das Entwicklerteam sollte mitentscheiden können, welche Plattform genutzt wird, auch für die Sicherheit. Nur so lässt sich garantieren, dass die gewählte Lösung auf Akzeptanz stößt. Zudem ist hier auch das Kriterium der Priorisierung entscheidend. Neben dem Erkennen von Schwachstellen sollten diese im Rahmen der Analyse auch nach Prioritäten eingeteilt werden. Das erleichtert die Unterscheidung zwischen kritischen Problemen und False Positives. Eine Kombination aus OSA, IAST, SAST und Machine-Learning kann handlungsrelevante Empfehlungen geben und damit einen echten Mehrwert in der Fehlersuche und -behebung schaffen. Bei der Auswahl der Security Plattform ist darauf zu achten, dass diese alle gängigen Programmiersprachen und Entwicklungsumgebungen unterstützt. Nicht zuletzt ist auch eine einfache Handhabung wichtig. Passende Verwaltungswerkzeuge sind unerlässlich, um sich einen Überblick über die Sicherheitslage zu verschaffen. Das Sortieren von Informationen nach Projekten, Phasen, chronologisch, KPI- und themenbezogen ist von großer Bedeutung und wird von den gängigen Tools geboten. Schließlich bleibt noch die Automatisierung zu nennen. Checkmarx plädiert dafür, Sicherheitstests immer zu automatisieren, so dass diese mit der Geschwindigkeit von DevOps mithalten kann. Die Sicherheitsprüfungen laufen also kontinuierlich im Hintergrund und entlasten die Entwickler, während sie ihnen gleichzeitig wichtige Informationen für die nächsten Schritte zur Verfügung stellen. Dadurch erhalten Entwickler mehr Zeit für kreative Aufgaben.
Autor: IAPM intern 

Schlagworte: Agiles Projektmanagement, Wissen, Ratgeber

Die IAPM-Zertifizierung

Die Zertifizierung kann über ein reputiertes Onlineprüfverfahren abgelegt werden. Die Kosten richten sich nach dem Bruttoinlandsprodukt Ihres Herkunftslandes.

Aus dem IAPM Blog

Network Official werden

Wollen Sie sich in Ihrem Umfeld für Projektmanagement engagieren und dazu beitragen, Projektmanagement weiterzuentwicklen? Dann werden Sie aktiv als IAPM Network Official oder als Network Official der IAPM Network University. 


Aufgrund besserer Lesbarkeit nennen wir in unseren Texten meist nur die generische männliche Form. Nichtsdestotrotz beziehen sich die Ausdrucksformen auf Angehörige aller Geschlechter.