Crashtest Security 27.03.2019, 12:40 Uhr

SecDevOps – Ohne Sicherheit keine Agilität

Agile Methoden haben viele Vorteile, bergen aber auch Risiken in Sachen Sicherheit.
(Quelle: crashtest-security.com)
Agiles Programmieren ist für die meisten Unternehmen und Entwickler mittlerweile Standard. Die bekanntesten agilen Methoden (etwa Scrum, XP und so weiter) werden in vielen Entwicklungsteams angewendet und bieten für Teams, Unternehmen und Kunden eine Reihe von Vorteilen. Gleichzeitig bergen sie aber auch Risiken – gerade was die Sicherheit angeht. Unternehmen müssen hier handeln, denn ohne Sicherheit gibt es keine Agilität, wie Janosch Maier, Gründer von Crashtest Security aufzeigt. Insgesamt zeigen sich vier große Vorteile:
1. Anpassungsfähigkeit: Bei der herkömmlichen Schritt-für-Schritt-Programmierung kann es vorkommen, dass Produkte die Anforderungen der Kunden nicht exakt erfüllen und neugestaltet werden müssen, was Zeit und Geld kostet. Mit agilen Methoden hingegen arbeiten die Entwicklungsteams eng mit dem Kunden zusammen und müssen am Ende des Projekts weniger Änderungen vornehmen. Dank kürzerer Entwicklungszyklen haben Softwareentwickler zudem die Möglichkeit, Produktänderungen auch in viel späteren Stadien des Prozesses vorzunehmen als bei herkömmlichen Methoden. Durch kontinuierliches Testen und Verifizieren können neue Produkte zudem früher eingesetzt werden.
2. Zusammenarbeit: Durch agile Methoden (zum Beispiel Scrum) müssen Entwickler enger zusammenarbeiten, da sie alle 24 Stunden innerhalb des Scrum Teams im Daily Scrum berichten. Im besten Fall ist hier der Product Owner mit dabei und kann auftretende Fragen zu geplanten Funktionen direkt beantworten. Dies führt zu geringeren Kommunikationsbarrieren und einem häufigeren Wissensaustausch.
3. Transparenz: Bei der Wasserfallmethode können Kunden das Produkt erst sehen, wenn es fertig ist. Durch agile Methoden können sich Kunden nach jedem neuen Entwicklungszyklus an dem Prozess beteiligen und Feedback geben. Zusätzlich hat der Product Owner ein höheres Wissen über den Projektstatus, da Update-Meetings viel häufiger stattfinden.
4. Effizienz: Mit Hilfe von agiler Softwareentwicklung können Entwicklungsteams vorhandene Probleme zu einem viel früheren Zeitpunkt des Projekts herausfinden, da neue Funktionen kurz nach ihrer Erstellung getestet werden. Unternehmen können so Zeit und Geld sparen. Darüber hinaus schaffen sie einen Mehrwert für die Kunden, um ihren Wettbewerbsvorteil langfristig zu stärken.
Gleichzeitig birgt die agile Softwareentwicklung aber auch Risiken. Ihr Ziel ist es, eine Vielzahl an Funktionen in kürzerer Zeit zu erstellen und zu integrieren. Darin besteht das Risiko, dass Sicherheitstests neuer Versionen nur am Ende eines Projekts oder nach größeren Releases durchgeführt werden. Da das Testen Zeit und Ressourcen erfordert, schreiben Entwickler häufig keine eigenen Sicherheitstests für die Software. Aus diesem Grund veröffentlichen viele Unternehmen neue Versionen der Software ohne vorherige Sicherheitsprüfung. Diese ungeprüften Versionen werden dann insbesondere im Bereich der Webanwendungen zu einem bevorzugten Ziel für Hacker. Dieser Mangel an Sicherheitskontinuität trägt dazu bei, dass täglich bis zu 30.000 Websites gehackt werden.
Kompromiss zwischen Sicherheit und Agilität?
Einerseits führt eine höhere Agilität zu einer höheren Produktionsgeschwindigkeit und mehr Features in kürzerer Zeit. Es kann jedoch auch zu Komplexität führen – dem Feind der Sicherheit. Auf der anderen Seite ist Sicherheit zum Schutz eines Unternehmens nötig, jedoch erfordert sie Zeit, um sie umzusetzen – was wiederum der Feind der Agilität ist. Wie können Unternehmen also beides kombinieren? Drei Tipps helfen Unternehmen dabei:
  • Auf Grund der hohen Entwicklungsgeschwindigkeit bei agiler Softwareentwicklung kann nicht jeder Arbeitsschritt manuell ausgeführt werden. Häufig arbeiten agile Teams mit DevOps Methoden, bei denen Entwickler auch für den Betrieb der Software zuständig sind. Agile Build Pipelines automatisieren Schritte wie Funktionstests in der Bereitstellung der Software. In solche Build Pipelines lassen sich freie sowie kommerzielle Tools zum Erkennen von Sicherheitslücken integrieren. Statische sowie dynamische Sicherheitsscanner finden zum Beispiel veraltete Programmbibliotheken oder Sicherheitsprobleme in der entwickelten Software. Das ist wichtig, da die Sicherheit zu jedem Zeitpunkt eines Projektes beachtet werden muss, was mit manuellen Tests sehr anstrengend ist. Dank automatisierter Sicherheitsscanner können sich Entwickler auf die Erstellung von Features konzentrieren, die tatsächlich einen geschäftlichen Nutzen schaffen.
  • Sicherheit sollte nicht als zusätzlicher Arbeitsschritt betrachtet werden, der nach jeder Bereitstellung auf DevOps angewendet wird, sondern als fortlaufende Vorgehensweise, die von Anfang an in jedem Entwicklungszyklus berücksichtigt werden muss.
  • Um die Sicherheit im Unternehmen vollständig zu implementieren, müssen Führungskräfte sicherstellen, dass in jeder Abteilung der Organisation eine „Sicherheitskultur“ gelebt wird.
Vorteile der Kombination aus Agilität und Security
Neben der Sicherheitsunterstützung gibt es positive Aspekte, die nur durch die Integration von SecDevOps möglich sind:
Höhere Produktivität: Mit einem integrierten Sicherheitsframework können Entwickler effizienter arbeiten. Jede Iteration des Produkts ist gesichert. Dadurch können sich Entwickler auf die Entwicklung umsatzsteigernder Funktionen für die Webanwendung konzentrieren.
Datenschutz: Nach den Mitarbeitern sind Daten für jedes Unternehmen das wertvollste Gut. Daten sind das, was zu Kundeneinblicken und höherem Geschäftswert führt. Wenn sie den Zugriff auf Geschäftsdaten verlieren (zum Beispiel durch einen Ransomware-Angriff), kann dies die Produktivität herabsetzen oder sogar die gesamte IT-Infrastruktur einfrieren. Dies kann zu direkten Kosten führen, da sich die meisten Unternehmen für das Lösegeld entscheiden. Ein Verlust von Kundendaten kann sogar noch schlimmer sein, da mangelndes Vertrauen der Kunden langfristig den Umsatz stark negativ beeinflusst.
Kosteneinsparungen: Die oben genannten Vorteile führen bereits zu (in)direkten Kosteneinsparungen. Eine „Regel“ der Informatik besagt, dass Fehler in jeder Phase der Softwareentwicklung, in der Sie gefunden werden 10x höhere Kosten verursachen als in der Phase davor (Planung, Entwicklung, Betrieb, …). Die Implementierung von IT-Sicherheit spart somit Geld, da sie Sicherheitslücken in einer früheren Phase der Entwicklung aufdeckt und diese somit behoben werden können.


Das könnte Sie auch interessieren