Die aktuellen Herausforderungen Agile Softwareentwicklung und Security

Eine Studie des European Center for Security and Privacy by Design (EC SPRIDE) zeigt die Trends in der Softwareentwicklung auf und untersucht deren Auswirkung auf die Software-Security.
Eine Studie des European Center for Security and Privacy by Design (EC SPRIDE) zeigt die Trends in der Softwareentwicklung auf und untersucht deren Auswirkung auf die Software-Security.

Eine Studie des European Center for Security and Privacy by Design (EC SPRIDE) in Darmstadt untersucht die aktuellen Trends in der Softwareentwicklung und deren Bedeutung für die IT-Sicherheit – oftmals ist ein Umdenken im Softwareentwicklungsprozess angebracht.

Die Softwareentwicklung wird von zwei Trends seit Jahren dominiert: durch ein zunehmendes Entwicklungstempo und eine steigende Komplexität der Software. Unternehmen regieren darauf mit oft weltweit verteilten Entwicklerteams, die agile Methoden und vorgefertigte Softwarebausteine nutzen – dies sind sehr große Herausforderungen für die Software-Security. Um hierbei auch in Zukunft ausreichende IT-Sicherheit zu gewährleisten, wünschen sich die befragten Experten automatische Testwerkzeuge und die Einbettung von Analysewerkzeugen in Entwicklungsumgebungen.
Dauerte früher die Entwicklung einer Anwendung oft mehrere Jahre, müssen heute Programmierer die Apps in wenigen Wochen entwickeln. Angesichts der großen Beschleunigung der Entwicklungsprozesse verwundert es nicht, dass in den Nachrichten immer wieder Meldungen über schwerwiegende Sicherheitslücken auftauchen. Wissenschaftler am Darmstädter IT-Sicherheitszentrum EC SPRIDE befragten deshalb Experten aus Softwareentwicklung und IT-Sicherheit, wie sich die Entwicklungsprozesse verändern und welche Herausforderungen und Handlungsempfehlungen im Hinblick auf die IT-Sicherheit sich daraus ergeben.

Zu den Ergebnissen der Studie gehört, dass Softwareentwicklung immer flexibler wird: Heutige Entwicklerteams sind oft über den ganzen Globus verteilt und werden ergänzt durch externe Projektpartner, die je nach Situation kommen und gehen. Agile Entwicklungsmethoden begrenzen dabei zwar den bürokratischen Aufwand und sorgen so für große Dynamik, aber um dabei auch ausreichende IT-Sicherheit zu gewährleisten, müssen diese Methoden um Sicherheitsprozesse ergänzt werden, die für Security-Kompetenz über den gesamten Lebenszyklus einer Anwendung hinweg sorgen. Das ist besonders wichtig, wenn Entwickler das Projekt verlassen und neue eingearbeitet werden müssen. Außerdem raten die Experten dazu, stärker in die Kommunikation innerhalb der Teams zu investieren.

Darüber hinaus ist eine »Demokratisierung« der Softwareentwicklung zu beobachten: Nach Ansicht der Experten sorgen selbstlernende Entwicklungsplattformen und Code-Generatoren dafür, dass auch Menschen ohne umfangreiche und formale Entwicklerausbildung Software erzeugen bzw. an Projekten mitarbeiten können. Damit die IT-Sicherheit nicht darunter leidet, müssen Entwicklerteams in die Lage versetzt werden, sachlich begründete Sicherheitsentscheidungen zu treffen. Dabei können verschiedene Dinge helfen, etwa das Einbetten von Sicherheitsfunktionen in Entwicklungsplattformen, die Sicherheitszertifizierung von ganzen Frameworks oder die Entwicklung automatisierter Testverfahren, verlässlicher Indikatoren für IT-Sicherheit und sicherer Softwarebausteine.

Eine weitere Forderung der Experten ist die Verbesserung des Security-Know-how bei jedem einzelnen Entwickler. Da in einem agilen Team die Rollenverteilung nicht mehr so strikt ist, steigt die Wahrscheinlichkeit, dass ein Entwickler sicherheitsrelevante Entscheidungen fällen muss. Es ist also eine allgemeine Sensibilität für das Security-Thema gefragt. Die Schulung der eigenen Mitarbeiter ist ein erster Schritt. Kommen externe Zuarbeiter zum Einsatz, sollten auch die über die notwendigen Kenntnisse verfügen. Das Thema Sicherheit in die allgemeinen Lehrpläne aufzunehmen, wäre daher ein wichtiger Schritt für alle kommenden Projekte und die gesamte Branche.