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:
Weitere Meilensteine werden mit dem Projektteam entwickelt. Community-Input ist über GitHub Discussions willkommen.
Dieses Repository ergänzt die FIASSE-Website.
Das OWASP FIASSE-Projekt ist Teil der OWASP Foundation, einer gemeinnützigen Organisation, die sich der Mission der Eliminierung unsicherer Software widmet. Die OWASP Foundation bietet eine Fülle von Ressourcen und Frameworks, die mit den Prinzipien von FIASSE übereinstimmen.
Dieses Framework konzentriert sich auf Securable Software Engineering und wird durch andere OWASP-Projekte ergänzt:
OWASP hostet auch zahlreiche Projekte, die Sicherheitsanforderungen und -funktionen dokumentieren, wie z. B. OWASP Mobile Application Security. Der OWASP Developer Guide ist eine umfassende Ressource für verschiedene andere OWASP-Ressourcen.
Eine weitere großartige Ressource für Referenzanforderungen und Assurance-Praktiken ist OpenCRE, das verschiedene Sicherheitsframeworks sammelt und abbildet.
Das NIST Secure Software Development Framework (SSDF) definiert vier Phasen, die verschiedene Facetten der Implementierung sicherer Softwareentwicklungspraktiken darstellen. Es stimmt mit den Prinzipien von FIASSE überein, indem es die Integration von Sicherheit in den Softwareentwicklungslebenszyklus betont.
Der NCSC Software Security Code of Practice definiert gewünschte Ergebnisse und einige Schlüsselstrategien. Während sich das FIASSE-Framework auf Prinzipien und Strategien der ersten Ebene zur Erreichung sicherer Ergebnisse konzentriert, die für Entwicklungs- und Assurance-Teams gedacht sind, um sie mit Geschäftsstrategien in Einklang zu bringen. SSEM spezifiziert die Attribute, die zur Erzielung der gewünschten Ergebnisse verwendet werden, und die FIASSE-Methodik bietet praktische Anleitungen zur Implementierung dieser Attribute in Softwareentwicklungspraktiken.
Das CERT der Carnegie Mellon University ist eine Reihe von sprachbezogenen Regeln, die sowohl "Was man nicht tun sollte"-Beispiele mit verwundbaren Codemustern als auch "Was man tun sollte"-Beispiele bereitstellt. FIASSE ergänzt diese Regeln durch einen prinzipienbasierten Ansatz, der Programmierern hilft, das "Warum?" hinter sicherem Code zu verstehen.
Das Software Factory Security Framework (SF2) "bietet Sicherheitsverantwortlichen einen strategischen Ansatz zur Skalierung von Sicherheitsfähigkeiten bei gleichzeitiger Verbesserung der Geschäftsergebnisse." Es ist ein Framework auf Organisationsebene, das den Fokus von FIASSE auf Softwareentwicklungspraktiken ergänzt.
Beiträge zur Verbesserung der Dokumentation und Beispiele sind willkommen. Bitte beachten Sie unsere Beitragsrichtlinien für Details.
Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) – siehe die Datei LICENSE für Details.
Dieses Projekt ist eine gemeinsame Anstrengung der OWASP-Community. Wir danken allen Mitwirkenden für ihren wertvollen Beitrag und ihr Engagement zur Verbesserung der Softwaresicherheit.
Es gibt eine Liste der Mitwirkenden, die an diesem Projekt teilgenommen haben. Einige frühe Mitwirkende halfen, die ersten Konzepte zu formen und die Ideen zu testen.