23.07.2014
Softwareentwickler brauchen sichere Bausteine
Eine Analyse des European Center for Security and Privacy by Design in Darmstadt (EC SPRIDE) beschreibt Trends in der Softwareentwicklung und deren Bedeutung für die IT-Sicherheit. Größte Herausforderungen für die IT-Sicherheit sind das zunehmende Entwicklungstempo und die steigende Komplexität von Software. Unternehmen mit ihren oft weltweit verteilten Entwicklerteams reagieren darauf mit agilen Methoden und vorgefertigten Softwarebausteinen. Um hierbei auch in Zukunft ausreichende IT-Sicherheit zu gewährleisten, wünschen sich Experten automatische Testwerkzeuge sowie die Einbettung von entsprechenden Analysewerkzeugen in Entwicklungsumgebungen. Die Ergebnisse basieren auf Interviews mit Softwareentwicklern und IT-Sicherheitsexperten aus Industrie, Wissenschaft und Behörden. Der Trendbericht steht unter www.ec-spride.de zum kostenlosen Download bereit.
Früher dauerte die Entwicklung einer Anwendung oft mehrere Jahre, heute entwickeln Programmierer Apps in wenigen Wochen. 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 23 Experten aus Softwareentwicklung und IT-Sicherheit dazu, 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 kommen und gehen. Agile Entwicklungsmethoden begrenzen den bürokratischen Aufwand und sorgen so für große Dynamik. Um ausreichende IT-Sicherheit zu gewährleisten, müssen diese Methoden aber um Sicherheitsprozesse ergänzt werden, die für ausreichende Security-Kompetenz über den gesamten Lebenszyklus einer Anwendung sorgen. Dies ist zum Beispiel 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 investieren.
Außerdem ist eine Demokratisierung der Softwareentwicklung zu beobachten. Selbstlernende Entwicklungsplattformen und Code-Generatoren sorgen dafür, dass auch Menschen ohne umfangreiche und formale Entwicklerausbildung Software erzeugen 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 von automatisierten Testverfahren, verlässlichen Indikatoren für IT-Sicherheit und sicheren Softwarebausteinen.