© Liashko/Shutterstock.com
Entwickler Magazin
Secure SDLC

Sicherheit agil verankern

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.

Matthias Pöpping, Matthias Rohr, Christian Schneider


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ücksichtigt 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 di...

Entwickler Magazin
Secure SDLC

Sicherheit agil verankern

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.

Matthias Pöpping, Matthias Rohr, Christian Schneider


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ücksichtigt 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 di...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang