Wenn sie es mit der sicheren Softwareentwicklung ernst meinen, sollten sie unbedingt das Security Requirements Engineering als Rückgrat Ihres SSDLC etablieren. Sobald sie diese Disziplin beherrschen, entstehen viele der Vorteile organisch aus dem zugrunde liegenden Prozess, und die kontinuierliche Verbesserung ergibt sich fast von selbst. Sind Sie bereit, auf den Grundlagen aufzubauen?
Ein Artikel von Thomas Kerbl, Principal Security Consultant (SEC Consult Vienna). Folgen sie ihm auf Twitter: @dementophobia für Updates zum Thema Sicherheit. Dieser Artikel ist Teil der Secure Software Development Deep Dive Serie.
Motivation
Sobald sie erste Erfahrungen im Security Requirements Engineering gesammelt haben, sind Sie wahrscheinlich bestrebt, die nächsten Schritte zu unternehmen, um das volle Potenzial dieser wichtigen Aktivität auszuschöpfen. Die Steuerung ihrer Entwicklungsaktivitäten anhand von Sicherheitsanforderungen ist ein eleganter Ansatz, um Konsistenz und Zuverlässigkeit in ihren Softwareentwicklungszyklus in Bezug auf Security zu gewährleisten.
In diesem Artikel werde ich zeigen, wie sie auf dem bereits errichteten Fundament aufbauen und die Vorteile eines ausgereiften Security Requirements Engineering Prozesses nutzen können. Ich werde auch meine auf Security Requirements Engineering zugeschnittene Qualitätsstufenmatrix mit ihnen teilen, damit sie einen ersten Eindruck davon bekommen, wo sie gerade stehen.
Dieser Artikel ist die Fortsetzung des vorangegangenen Artikels in dieser Reihe, den sie zuerst lesen sollten. Wenn sie jedoch bereits mit den Grundlagen des Sicherheitsanforderungs-Engineerings Erfahrung gesammelt haben, können Sie natürlich auch direkt hier einsteigen!
Security Requirements Engineering in der Vollausbaustufe
Ihr initialer Security Requirements Engineering Prozess ist etabliert? Ihre ersten Projekte verwendeten bereits wohldefinierte Sicherheitsanforderungen? Sie haben sogar ihre ersten Sicherheitstests basierend auf diesen Anforderungen durchgeführt? Und die aktuelle OWASP SAMM Bewertung hat gezeigt, dass die Reife ihres Security Requirements Engineering Prozesses zum ersten Mal über Stufe 1 hinausgeht?
Sieht so aus, als wären sie bereit für die nächsten Schritte! Die folgenden bewährten Tipps und Tricks helfen ihnen auf dem bevorstehenden Weg.
Berücksichtigen Sie Ihre Sicherheitsanforderungen in allen Entwicklungsphasen
Wenn ich über Security Requirements Engineering als Rückgrat des SSDLC spreche, bin ich mir über die Tragweite meiner Worte im Klaren. Ich diskutiere regelmäßig die Nuancen verschiedener Sicherheitsaktivitäten mit meinen Kunden, und einer der Sätze, die ich am häufigsten wiederhole, lautet: „Nun, es kommt darauf an. Schauen wir uns unsere definierten Sicherheitsanforderungen an, um uns danach auszurichten.“
Dieser Ansatz ist so wirkungsvoll, weil die meisten Sicherheitsanforderungen in vielen nachfolgenden Entwicklungsphasen berücksichtigt werden müssen. Nehmen wir ein einfaches Beispiel:
„Die im Internet exponierte API muss einen DDoS-Resiliency Score von mindestens 5 aufweisen.“
Was bedeutet dies für unsere nachfolgenden Sicherheitsaktivitäten?
Bei der Definition ihrer Sicherheitsarchitektur berücksichtigen sie unterschiedliche Anti-DDoS-Konzepte und zugrundeliegende Technologien. Während der Bedrohungsmodellierung analysieren sie, ob diese Maßnahmen von einem Angreifer umgangen werden können oder ob spezifische Angriffsmethoden ihre DDoS-Ausfallsicherheit beeinträchtigen würden. Wenn Sie ein externes Anti-DDoS-Service integrieren, nehmen Sie die relevanten Sicherheitsanforderungen in ihre Lieferantenverträge und SLAs auf. Während der Überprüfungsphase benötigen sie DDoS-Benchmark-Tests, um zu verifizieren, dass sie den angestrebten Resiliency Score tatsächlich erreichen. Um einen sicheren Betrieb zu gewährleisten, müssen sie eine Überwachung mit geeigneten Grenzwerten etablieren, um Last-Niveaus zu erkennen, die möglicherweise die Kapazität ihrer Infrastruktur überschreiten.
Das sind nur einige Beispiele, aber diese illustrieren das Konzept bereits recht gut. Sie wissen nicht, worauf es bei den nachfolgenden Sicherheitsaktivitäten wirklich ankommt, ohne sich regelmäßig auf die definierten Sicherheitsanforderungen zu beziehen.