Anzeige

Anzeige

VERANSTALTUNGEN

Be CIO Summit
26.09.19 - 26.09.19
In Design Offices Frankfurt Wiesenhüttenplatz, Frankfurt am Main

3. DIGITAL MARKETING 4HEROES CONFERENCE
08.10.19 - 08.10.19
In Wien

it-sa 2019
08.10.19 - 10.10.19
In Nürnberg, Messezentrum

3. DIGITAL MARKETING 4HEROES CONFERENCE
15.10.19 - 15.10.19
In München

PM Forum 2019
22.10.19 - 23.10.19
In Nürnberg, NCC Ost

Anzeige

Anzeige

Programmier Code 1241533645 700

Agiles Programmieren ist für die meisten Unternehmen und Entwickler mittlerweile Standard. Die bekanntesten Frameworks (z. B. Scrum, XP usw.) 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. 

Vorteile und Risiken von Softwareentwicklung

Im Vergleich zur veralteten „Wasserfallmethode“ – einem linearen Vorgehensmodell, das in aufeinander folgende Projektphasen organisiert ist und bei dem die Phasenergebnisse immer als bindende Vorgaben für die nächsttiefere Phase eingehen – bieten agile Entwicklungsmethoden meist bessere Leistungen und sind so für Unternehmen attraktiv. Insgesamt zeigen sich vier große Vorteile:

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.

Zusammenarbeit: Durch agile Methoden (z.B. 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.

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.

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 (z.B. 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.

Janosch Maier, Gründer von Crashtest Security, https://crashtest-security.com/

 
 

GRID LIST
SecOps

DevOps, NetOps oder SecOps: Kein Platz für Silos

Moderner vs. traditioneller Betrieb: Egal ob DevOps, NetOps oder SecOps: Viele…
Monitoring der nächsten Generation

Proaktive Erkennung von Performance-Problemen

Einblicke in die App-, Infrastruktur- und Internet-Performance helfen Anwendern, Probleme…
Budget

Tipps für die Aufstockung des AppSec-Budgets

Sicherheitsabteilungen jonglieren heutzutage mit einer Vielzahl von Initiativen und…
Digitale Kugel

Exploratives Testen - und warum es sinnvoll ist

Um die Qualität einer Software sicherzustellen, testen wir sie. Dabei gibt es…
Devops

DevOoops! Das sind die häufigsten Fehler bei der Umsetzung

Der DevOps-Ansatz verspricht eine effizientere und reibungslosere Zusammenarbeit von…
Programmiererin

Quick-Win-Tipps, um schnell mit DevSecOps zu beginnen

Das Schlagwort DevSecOps ist derzeit in aller Munde. Die Möglichkeit, agile Entwicklung…