Aktuelles, Experten, Gastbeiträge - geschrieben von am Donnerstag, Juli 9, 2015 12:54 - noch keine Kommentare

ISO 27034-basiertes Certified Secure Software Development & Testing

Berücksichtung von Sicherheitsaspekten in allen Entwurfsphasen von Software

Von unseren Gastautoren Ivan Miklecic und Hartmut Pohl

[datensicherheit.de, 09.07.2015] Nach wie vor werden wir nahezu täglich mit Nachrichten über kritische Sicherheitslücken in Software und Angriffe auf Systeme und Netzwerke überrollt. Schutzmaßnahmen zur Vorbeugung wie Firewalls, IDS/IPS, Password-Safes etc. sind nicht immer erfolgreich und Sicherheitsprodukte sind häufig selbst unsicher, enthalten Sicherheitslücken und sind daher in vielen Fällen selbst von Angriffen betroffen.

Software- und Produktentwickler bemühen sich – meist vergeblich – um eine sichere Produktentwicklung, dabei spielt es keine Rolle ob es sich um Web Applications, Apps, ERP, CRM, E-Business, Embedded Systems oder Firmware handelt.

Doch wie wird die Entwicklung sicherer Produkte gewährleistet?

Nicht nur die Wahl der wirkungsvollsten Sicherheitsaktivitäten, wie Methoden zur Identifizierung von Sicherheitslücken, sondern auch der optimale Zeitpunkt im Produktlebenszyklus, in dem diese Aktivitäten angewandt werden, entscheiden über den Erfolg. Um der ad hoc Implementierung von Sicherheitsaktivitäten vorzubeugen, bedarf es einer Strategie.

Einen allgemeinen Ansatz zum Management von Softwaresicherheit liefert die 2011 von der International Standards Organization verabschiedete ISO 27034-1 „Application Security“. Diese Norm bietet eine hersteller- und technologieunabhängige Grundlage; sie definiert Konzepte, Frameworks und Prozesse, die Entwicklern helfen, Application Security in ihren Entwicklungszyklus zu integrieren. In der noch jungen Norm ‚ISO 27034 Application Security‘ werden Empfehlungen für eine sichere Softwareentwicklung dargestellt. Dabei spielen zwei Hauptprozesse eine tragende Rolle:

  • Im Organisation Normative Framework (ONF) werden alle im Unternehmen verwendeten Richtlinien, Regularien, Best Practices etc. in einer Bibliothek zusammengefasst.
  • Anschließend wird für jedes Projekt ein Application Normative Framework (ANF) gebildet indem die notwendigen Richtlinien, Regularien, Best Practices etc. zusammen mit den zugehörigen Application Security Controls (ASC) „Sicherheitsaktivitäten“ aus dem ONF in den Produktlebenszyklus, insbesondere in den Entwicklungsprozess integriert werden.

Der Prozess startet mit einer Risikoanalyse zur Bestimmung des zu erreichenden Sicherheitsniveaus und einer anschließenden Festlegung von Sicherheitsanforderungen für die zu entwickelnden Software.

Erarbeitung einer Bedrohungsanalyse

In einer Bedrohungsanalyse (Threat Modeling) werden Threats identifiziert und entsprechende Sicherheitsmaßnahmen erarbeitet. Nach der Implementierung wird eine Qualitätssicherung der umgesetzten Sicherheitsmaßnahmen im Rahmen von Security Tests durchgeführt, um zu überprüfen ob das geforderte Sicherheitsniveau erreicht wurde.

Ist der gesamte Prozess in die Produktentwicklung integriert und vollständig ausgeführt worden, kann eine den Sicherheitsanforderungen entsprechend sichere Software erreicht werden, eine Zertifizierung mit Überprüfung (Evaluierung) der fertigen Software belegt dies dem Kunden gegenüber. Der Prozess lässt sich ebenso gut auf die Beschaffung von Produkten anwenden. So können für eingekaufte Produkte unternehmensweite einheitliche Sicherheitsniveaus gefordert und überprüft werden.

Prozessleitfaden sASM

Aufbauend auf der ISO 27034 hat softScheck den Prozessleitfaden softScheck Secure Application Management (sASM) entwickelt. Damit entfällt eine detaillierte Einarbeitung in die etwas abstrakt formulierte Norm. Der Prozessleitfaden kann auch auf das OWASP SAMM oder andere Modelle gemappt werden. Im Rahmen des Prozessleitfadens empfiehlt softScheck die Implementierung des seit über 10 Jahren erfolgreich eingesetzten ‚softScheck Security Testing Process‘ (sSTP) mit den 5 Methoden:

  • Security Requirements-Analysis
  • Threat Modeling: Untersuchung des Security Designs auf Sicherheitslücken
  • Static Source Code Analysis: Code Reading des Quelltextes auf Sicherheitslücken
  • Penetration Testing: Identifizierung veröffentlichter Sicherheitslücken
  • Dynamic Analysis – Fuzzing: Identifizierung von bislang nicht bekannten Sicherheitslücken (Zero-Day-Vulnerabilities) im Maschinen-ausführbaren Code
ONF und ANF Prozesse der ISO 27034 und das Mapping des sSTP auf einen Entwicklungsprozess

Bild: softScheck GmbH

ONF und ANF Prozesse der ISO 27034 und das Mapping des sSTP auf einen Entwicklungsprozess

Zusammen mit unserem Partner infoteam Software AG decken wir auch die Safety Aspekte bei der Softwareentwicklung mit ab.
IT-Sicherheitsaspekte werden in dem Secure Software Development Process in jeder Entwicklungsphase berücksichtigt und sofort umgesetzt. Durch Identifizierung ALLER Sicherheitslücken (und Patchen) – insbesondere der bislang nicht erkannten Zero-Day-Vulnerabilities – ist die Software dann erfahrungsgemäß angriffssicher!

Über die Autoren:

Ivan Miklecic ist Consultant bei der softScheck GmbH

Prof. Dr. Hartmut Pohl ist geschäftsführender Gesellschafter softScheck GmbH



Kommentieren

Kommentar

Kooperation

TeleTrusT

Mitgliedschaft

German Mittelstand e.V.

Mitgliedschaft

BISG e.V.

Multiplikator

Allianz für Cybersicherheit

Datenschutzerklärung