Ein Framework zur Integration von Anwendungssicherheit in die Softwareentwicklung (FIASSE) unter Verwendung des Securable Software Engineering Model (SSEM)
Hinweis: Dieses Repository ist eine laufende Arbeit. Beiträge sind willkommen!
TL;DR: Bitte lesen Sie das DOK. Entdecken Sie die FIASSE-Website. Besuchen Sie GitHub Discussions, um einen Beitrag zu leisten.
Dieses Repository enthält Ressourcen und Materialien für das OWASP Framework for Integrating Application Security into Software Engineering (FIASSE). FIASSE (ausgesprochen /feiz/ wie 'phase') fördert einen entwicklerzentrierten, prinzipienbasierten Ansatz zur Entwicklung sicherbarer Software – in der Erkenntnis, dass Sicherheit ein dynamischer, fortlaufender Prozess ist, ebenso wie die Entwicklung. Es führt das Securable Software Engineering Model (SSEM) als gemeinsame Entwurfssprache ein, die etablierte Begriffe der Softwareentwicklung nutzt, um Sicherheit in Softwarearchitektur, -design und -entwicklung zu integrieren. Sicherheit wird in die Prinzipien integriert, die den Code selbst formen. Das Framework zielt darauf ab, widerstandsfähige Anwendungen zu entwickeln, die Bedrohungen im Laufe der Zeit standhalten.
Praktische Richtlinien bereitzustellen, die Entwickler befähigen, sichere Software zu erstellen, ohne tiefgehende Sicherheitsexpertise zu benötigen, und Sicherheitsexperten dabei zu unterstützen, ihre Sicherheitserfahrung effektiv in die Softwareentwicklung zu integrieren. FIASSE erreicht dies durch eine Softwareentwicklungs-Perspektive, die die kognitive Belastung reduziert und die Zusammenarbeit zwischen Entwicklungs- und Sicherheitsteams fördert.
Während assurance-orientierte Projekte wie das OWASP Top 10 hervorheben, was vermieden werden sollte (eine Blockliste), bietet OWASP FIASSE eine Reihe positiver Attribute und Praktiken, denen gefolgt werden sollte (eine Erlaubnisliste). Dieser Ansatz nutzt vorhandene Softwareentwicklungsfähigkeiten, um sichere Software zu entwickeln, anstatt von Entwicklern zu verlangen, Exploit-Techniken zu erlernen oder eine verwundbarkeitsorientierte Denkweise anzunehmen. Der Schwerpunkt liegt darauf, praktisches, sicheres Codieren durch vertraute technische Prinzipien zu ermöglichen.
Durch die klare Definition der praktischen Rolle der Sicherheit innerhalb des Entwicklungsprozesses stellt dieses Framework sicher, dass der Geschäftswert effektiv erfasst wird. Durch diese Art der Erwartungssetzung wird die Wahrscheinlichkeit erheblich reduziert, dass Sicherheitsfehler später entdeckt werden und behoben werden müssen.
/docsDieses Repository definiert sichere Software als zuverlässige, widerstandsfähige und anpassungsfähige Systeme. Es betont, dass wahre Sicherheit ein fortlaufender Prozess ist, keine statische Errungenschaft. Es führt das Securable Software Engineering Model (SSEM) ein, das Sicherheit als eine inhärente Reihe von Qualitäten gut entwickelter Software darstellt. Dazu präsentiert es die Attributkategorien Wartbarkeit, Vertrauenswürdigkeit und Zuverlässigkeit (einschließlich Widerstandsfähigkeit). FIASSE befürwortet die Integration von Sicherheitspraktiken in den Entwicklungsablauf, wo sie die größte Wirkung entfalten. Dies bewegt sich von einem "Sicherheit als nachträglicher Gedanke" oder einem "Shift-Left"-Ansatz zu einem proaktiven, kollaborativen Modell. Die Idee ist, dass Produktverantwortliche, Entwickler und Sicherheitsexperten von den frühesten Phasen des Designs an zusammenarbeiten, insbesondere durch Aktivitäten wie die Definition von Sicherheitsanforderungen, kollaboratives Threat Modeling und Abnahmekriterien. Dies setzt klare Erwartungen für Codeaktivitäten und Tests. Softwareentwickler erhalten Anleitungen zur Balance zwischen Flexibilität und Kontrolle. Sie erhalten auch ein definitives Modell für Sicherheitsentscheidungen. Letztendlich befähigt dies alle Beteiligten, zum Aufbau robusterer, zuverlässigerer und inhärent sicherer Systeme beizutragen.
FIASSE unterscheidet sich von bestehenden Ansätzen, indem es nicht von Entwicklern verlangt, Sicherheitsexperten zu werden oder eine gegnerische Denkweise anzunehmen. Dieser Ansatz zielt darauf ab, die kognitive Belastung für Entwickler zu reduzieren und gleichzeitig sicherzustellen, dass die Sicherheitsabteilung darauf vertrauen kann, dass ihre Bedenken durch spezifische Attribute von Code und Softwareentwicklungsprozessen adressiert werden.
FIASSE beabsichtigt, offen, zugänglich und kollaborativ zu sein.
Erste Meilensteine für das FIASSE-Projekt: