Matthias Pöpping Softwareentwickler und Information Security Officer

Sicherheit und agile Softwareentwicklung sind keinesfalls Wiedersprüche.

Matthias Rohr Secodis GmbH

Die eigenen Entwicklungsteams nicht einzubeziehen, auch in die Verantwortlichkeit für Sicherheit, bedeutet die Sicherheit in einer agilen Entwicklung zum Scheitern zu verurteilen.

Christian Schneider Freiberuflicher Softwareentwickler

Idealerweise müssen in jeder Phase der Softwareentwicklung geeignete Verfahren und Werkzeuge integriert werden, um dort entstandene Sicherheitsprobleme zu identifizieren.

Unternehmen binden heute immer neue kritische Geschäftsfunktionen an das Internet an, die auch für potenzielle Angreifer interessant sind. Erst durch die Verankerung von Sicherheit im Entwicklungsprozess sowohl auf technischer als auch auf organisatorischer Ebene lässt sich dieses Risiko adressieren. Wir zeigen Ihnen effiziente Maßnahmen, wie Projekte diesem Ziel einen Schritt näher kommen können.

Das klassische Vorgehen, bei dem Dienstleister mit Sicherheitstests, so genannten Pentests, die Sicherheit einer Anwendung ausschließlich vor der Produktivstellung analysieren, ist hoffnungslos veraltet. Besonders deutlich wird dies in Zeiten von agiler Softwareentwicklung und DevOps, die in immer mehr Unternehmen Einzug halten. Dort ist ein Umdenken erforderlich, um auch für diese neuen Entwicklungsverfahren Sicherheit zu gewährleisten.

Generell gilt: Sicherheitsprobleme können in jeder Entwicklungsphase eingebracht werden. Und je zeitnaher diese erkannt werden, desto einfacher, günstiger und vollständiger lassen sie sich in der Regel auch beheben. Daraus folgt, dass idealerweise in jeder Phase der Softwareentwicklung geeignete Verfahren und Werkzeuge integriert werden müssen, um dort entstandene Sicherheitsprobleme zu identifizieren. Ein auf diese Weise erweiterter Entwicklungsprozess wird häufig als „Secure Software Development Life Cycle“ (Secure SDLC) bezeichnet.

Ansatzpunkte für einen Secure SDLC

Seit einiger Zeit existieren mit Microsofts SDL, Cigitals Touchpoints, OWASP SAMM oder BSIMM verschiedene Prozess- und Reifegradmodelle, die wertvolle Ansatzpunkte für die Integration sinnvoller Maßnahmen in die Softwareentwicklung eines Unternehmens bieten. Häufig scheitern aber viele Versuche, die entsprechenden Aktivitäten in der Organisation umzusetzen, daran, dass diese isoliert betrachtet werden, z. B. als Schulung oder Definition von Vorgaben. Jedoch erfordert praktisch jede Maßnahme zur nachhaltigen Verankerung von Sicherheit stets deren Berücksichtigung auf vier Ebenen: Organisation, Vorgaben und Guidance, Qualifikation und (Security-)Kultur der Mitarbeiter sowie den Einsatz von Technologien. Diese zentrale Sichtweise der Applikationssicherheit veranschaulicht der Würfel in Abbildung 1.

Abb. 1: Um Sicherheit nachhaltig zu verankern, müssen alle Elemente der Applikationssicherheit berücksichtig werden

Abb. 1: Um Sicherheit nachhaltig zu verankern, müssen alle Elemente der Applikationssicherheit berücksichtig werden

Weg mit Elfenbeinturmanforderungen

Sicherheitsvorgaben beschreiben, welche Sicherheitsmaßnahmen im Endeffekt einzuhalten und umzusetzen sind. An diesen mangelt es grade in großen Unternehmen nur selten, doch sind sie vielfach sehr abstrakt. Das ist grundsätzlich auch richtig, da Vorgaben letztlich aus der Sicherheitsrichtlinie abgeleitet und vom Chief Information Security Officer (CISO) verantwortet werden müssen. Andererseits sollten Sicherheitsvorgaben auch für diejenigen zu verstehen sein, die sie umsetzen sollen – also für Entwickler. Das erfordert die Durchführung von grundlegenden Maßnahmen. Eine sinnvolle Variante besteht darin, im ersten Schritt implementierungsübergreifende Standards für bestimmte Technologien wie Mobile oder Web (z. B. TSS-WEB oder OWASP ASVS) zu definieren und daraus dann konkrete implementierungsspezifische Secure Coding Guidelines für Java, JSF oder JavaScript abzuleiten. Genau an solchen Guidelines oder zumindest an deren Qualität und Aktualität mangelt es oft.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Java Magazin 10.16 - "Security agil verankern"

Alle Infos zum Heft
261507Sicherheit agil verankern
X
- Gib Deinen Standort ein -
- or -