Un cadre pour l'intégration de la sécurité applicative dans le génie logiciel (FIASSE) utilisant le modèle d'ingénierie logicielle sécurisable (SSEM)
Remarque : Ce dépôt est un travail en cours. Les contributions sont les bienvenues !
TL;DR : veuillez lire le DOC. Explorez le site web FIASSE. Visitez GitHub Discussions pour contribuer.
Ce dépôt contient des ressources et des documents pour le cadre OWASP d'intégration de la sécurité applicative dans le génie logiciel (FIASSE). FIASSE (prononcé /feiz/ comme « phase ») promeut une approche centrée sur le développeur et fondée sur des principes pour construire des logiciels sécurisables — reconnaissant que la sécurité est un processus dynamique et continu, tout comme le développement. Il introduit le Modèle d'Ingénierie Logicielle Sécurisable (SSEM) comme langage de conception commun qui utilise des termes établis du génie logiciel pour intégrer la sécurité dans l'architecture, la conception et l'ingénierie des logiciels. Intégrer la sécurité dans les principes qui façonnent le code lui-même. Le cadre vise à construire des applications résilientes capables de résister aux menaces au fil du temps.
Fournir des lignes directrices pratiques qui permettent aux développeurs de créer des logiciels sécurisables sans nécessiter une expertise approfondie en sécurité, et guider les professionnels de la sécurité dans l'intégration efficace de leur expérience en sécurité dans le génie logiciel. FIASSE y parvient grâce à une perspective de génie logiciel, réduisant la charge cognitive et favorisant la collaboration entre les équipes de développement et de sécurité.
Alors que les projets axés sur l'assurance comme l'OWASP Top 10 mettent en évidence ce qu'il faut éviter (une liste de blocage), OWASP FIASSE fournit un ensemble d'attributs et de pratiques positifs à suivre (une liste d'autorisation). Cette approche exploite les compétences existantes en génie logiciel pour construire des logiciels sécurisables, plutôt que d'exiger des développeurs qu'ils apprennent des techniques d'exploitation ou adoptent un état d'esprit axé sur les vulnérabilités. L'accent est mis sur la possibilité d'un codage sécurisé pratique grâce à des principes d'ingénierie familiers.
En définissant clairement le rôle pratique de la sécurité dans le processus de développement, ce cadre garantit que la valeur commerciale est capturée efficacement. En établissant les attentes de cette manière, cela réduit considérablement la probabilité que des failles de sécurité soient découvertes et nécessitent une correction ultérieure.
/docsCe dépôt définit un logiciel sécurisable comme des systèmes fiables, résilients et adaptables. Il souligne que la véritable sécurité est un processus continu, et non un accomplissement statique. Il introduit le Modèle d'Ingénierie Logicielle Sécurisable (SSEM), qui cadre la sécurité comme un ensemble inhérent de qualités d'un logiciel bien conçu. Pour ce faire, il présente les catégories d'attributs de Maintenabilité, de Fiabilité et de Sûreté (qui inclut la Résilience). FIASSE préconise l'intégration des pratiques de sécurité dans le flux de travail de développement là où elles ont le plus d'impact. Cela passe d'une approche « sécurité après coup » ou « shift left » à un modèle proactif et collaboratif. L'idée est que les propriétaires de produits, les développeurs et les professionnels de la sécurité travaillent ensemble dès les premières étapes de la conception, en particulier à travers des activités comme la définition des exigences de sécurité, la modélisation collaborative des menaces et les critères d'acceptation. Cela établit des attentes claires pour les activités de codage et les tests. Les ingénieurs logiciels reçoivent des conseils sur l'équilibre entre flexibilité et contrôle. Ils disposent également d'un modèle définitif pour prendre des décisions en matière de sécurité. En fin de compte, cela permet à toutes les parties prenantes de contribuer à la construction de systèmes plus robustes, fiables et intrinsèquement sécurisables.
FIASSE diffère des approches existantes en n'exigeant pas des développeurs qu'ils deviennent des experts en sécurité ou adoptent un état d'esprit adversarial. Cette approche vise à réduire la charge cognitive des développeurs tout en garantissant que la sécurité peut avoir confiance que ses préoccupations sont traitées à travers des attributs spécifiques du code et des processus de génie logiciel.
FIASSE entend être ouvert, accessible et collaboratif.
Premiers jalons pour le projet FIASSE :