Software Assurance Maturity Model Pravir Chandra OpenSAMM Project Lead chandra@owasp.org...

Post on 03-Apr-2015

105 views 0 download

Transcript of Software Assurance Maturity Model Pravir Chandra OpenSAMM Project Lead chandra@owasp.org...

Software Assurance Maturity Model

http://www.opensamm.org

Pravir ChandraOpenSAMM Project Lead

chandra@owasp.orgTranslated to French by Hubert Grégoire

hubert@gregware.fr

Sommaire•Inventaires des différentes initiatives

pour la sécurisation des développements

•Comprendre le modèle

•Mettre en oeuvre le modèle

•Explorer les niveaux et actions du modèle

•SAMM dans le monde réel

A la suite de ce cette intriduction vous serez

capables de...• Evaluer les pratiques en sécurité des logiciels

d ’une entreprise

• Construire a plan d’assurance qualité des logiciels équilibré en des étapes bien définies

• Démontrer les améliorations concrètes d’un plan de qualité en sécurité

• Définir et mesurer les actions liées à la sécurité au travers de l’entreprise.

Inventaire des initiatives des méthodes de développement

sécurisées

CLASP• Comprehensive, Lightweight Application Security

Process

• Centré autour des 6 Bonnes Pratiques de l’AppSec

• Recouvre l’ensemble du cycle de vie du logiciel (pas seulement le développement)

• Adaptable à beaucoup de processus de développement

• Définie les rôles de tout le cyle de développement

• 24 mini procédures basé surles rôles

• Commence simplement et s’aligne sur vos besoins

Microsoft SDL

•Crée en interne pour les logicielsMS

•Etendu et rendu public pour les autres

•Seulement des version MS depuis

Touchpoints

•Le modèle de Gary McGraw’s et Cigital’s

Quelles leçons retenir ?

• Microsoft SDL

• Lourd, utilisable chez les gros éditeurs de logiciels

• Touchpoints

• Haut niveau, pas assez de détail pour l’opérationnel

• CLASP

• Large ensemble de tâches, mais pas de priorité

• Tous: Bon pour des experts en guise de manuel, mais complexe à utiliser tel quel pour une population non experte en sécurité

Règles pour le Maturity Model

• Les comportements d’une entreprise changent doucement

• Les changements doivent être itératifs tout au long d’un d’objectifs balisés

• Il n’y a pas qu’une seule recette qui fonctionne dans tous les entreprises

• La solution doit permettre de choisir des options adaptées sur mesure à l’entreprise selon les riques qu’elle veut prendre

• Le guide des tâches de sécurité doit être très précis

• La solution doit fournir assez de détails pour des personnes non expertes en sécurité

Mais, un modèle viable doit...

• Définir les briques de base d’un processus qualité

• Définir les contours de toutes les fonctions à l'intérieur de l’entreprise qui pourront être améliorées avec le temps

• Définir comment les briques doivent s’assembler

• Faire que tout changement dans les itérations soit un non sens

• Définir les détails de chaque brique de façon claire

• Clarifier les parties liées à la sécurité d’une façon le plus générique possible (pour toute entreprise faisant du développement logiciel)

Comprendre le modèle

SAMM Business Functions

•Commencer par les tâches principales d ’une entreprise faisant du développement

•Nommées de façon génériques mais compréhensible par tout développeur ou manager

Les ‘Security Practices’ de SAMM

• A partir de chaque fonctions métiers, 3 ‘Security Practices’ sont définies

• Les ‘Security Practices’ recouvrent toutes la surface de l’assurance sécurité des logiciels

• Chacune est un ‘silo’ pour l’amélioration

Sous chaque ‘Security Practice’

• 3 cibles sous chaque ‘Practice’ définissent comment elle peuvent être améliorées dans le temps

• Cela établie à quel niveau une entreprise se trouve dans cette ‘Practice’

• Les trois niveaux d’une ‘Practice’ sont généralement:

• (0: Point de départ, ‘Practice’ non établie )

• 1: Compréhension initiale, et préparation à la mise en place de la ‘Practice’

• 2: Monté en puissance et/ou ‘Practice’ opérationnelle

• 3: Maitrise complète de la ‘Practice’

Exemple...

Pour chaque niveau, SAMM définie...•Un objectif

•Des tâches

•Des résultats

•Des mesures

•Des coûts

•Des rôles

•Des niveaux relatifs

Approche par l’amélioration itérative

• Jusqu’à ce que les douze ‘Practices’ soient à maturité, les objectifs successifs représentent les briques de base du programme d’assurance sécurité du logiciel

• Simplement s’assurer et améliorer le programme d ’assurance sécurité du logiciel en :

• Choisissant la ‘Practices’ pour améliorer la prochaine phase du programme d’assurance sécurité du logiciel

• Atteindre le prochain objectif de chaque ‘Practice’ en atteignant le seuil de succès de la tâche correspondante

Appliquer le modèle

Mener les évaluations

•SAMM comprends des feuilles d ’évaluation pour chaque ’Security Practice’

Processus d ’évaluation•Supporte à la fois des évaluations

légeres et des évaluations plus complètes

•Certaines entreprise peuvent se retrouver entre deux niveaux (+)

Feuille de score (scorecoard)

• Analyses détaillée

• Mesure des scores des différentes attentes, plutôt qu’un note brute

• Démonstration de l’amélioration

• Mesure des score avant et après une itération du programme d ’assurance sécurité

• Mesure au fil de l’eau

• Mesure des scores sur des période de temps pour un programme déjà en place

Feuilles de route

• Pour rendre les «Briques de base» utilisable, SAMM définie des modèles de feuille de route (Roadmaps) pour certains type d’entreprises

• Editeur de logiciels (ISV)

• Fournisseur de service en ligne (OSP)

• Monde de la finance (FSO)

• Administrations (GO)

• Ces type ont été choisi car

• Ils représente des cas d’usage courant

• Chaque entreprise varie dans un type de risque induits par les logiciels

• Création d'un programme optimal d'assurance adapté

Construire le programme d’assurance

sécurité

Etude de cas•Un passage en revue complet avec des

explications littérale des choix que l’entreprise a fait, et des améliorations

•Chaque phase est décrite en détail

•Contraintes organisationnelles

•Choix faire/acheter

•Une étude de cas existe aujourd’hui, d ’autres issues de partenaires sont en cours

Explorer les niveaux du modèle et les tâches

Le livrable SAMM 1.0

SAMM et le monde réel

Histoire de SAMM•Beta livrée en Août 2008

•version 1.0 livrée en Mars 2009

•Fondé à l’origine par Fortify

•Toujours très actif et utilise ce modèle

•Mis à disposition sous une licence de style Creative Commons

•Cédé à l’OWASP et actuellement un Projet de l’OWASP

Contributions d ’experts

• Fondations basées sur l’expérience issue de plus de 100 entreprises

• Comprenant des experts en sécurité, des développeurs, architectes, et managers IT

Soutenu par l’Industrie

•Plusieurs autres études de cas en cours

Le projet OpenSAMM

• http://www.opensamm.org

• Dédié à la définition, à l’amélioration et aux tests du framework SAMM

• Toujours indépendant de tout éditeur, mais nombreuses participations de l’industry

• Ouvert et géré par la communauté

• Objectif d’une nouvelle version tous les 6-12 mois

• Processus de gestion des changements

• SAMM Enhancement Proposals (SEP)

Projets Futurs•Mise en correspondance avec des

standards et des normes existantes (nombreux projets en cours)

•PCI, COBIT, ISO-17799/27002, ISM3, etc.

•Nouvelles feuilles de route si nécessaire

•Etudes de cas supplémentaires

•Prise en compte des retours pour l’amélioration du modèle

Autres approches “modernes”

•Microsoft SDL Optimization Model

•Fortify/Cigital Building Security In Maturity Model (BSIMM)

SDL Optimization Model

•Fait par MS pour simplifier l’adoption de SDL

BSIMM

•Framework dérivé de la Béta de SAMM

•Basé sur les données consolidées de 9 grands comptes

Récapitulatif rapide sur SAMM

• Evaluer les pratiques existantes des entreprise en matière de sécurité des logiciels

• Construire un programme d’assurance sécurité du logiciel équilibré en étapes successives clairement définies

• Démontrer des améliorations concrètes d’un programme d’assurance sécurité

• Définir et mesurer les actions en matière de sécurité au traveers de l’entreprise

Impliquez vous

•Utilisez SAMM et faites nous un retour

•Blog, email, etc.

•Actualités à http://www.opensamm.org

•Inscrivez vous sur la liste de diffusion

Merci pour votre attention ! Questions?

http://www.opensamm.org

Pravir ChandraOpenSAMM Project Lead

chandra@owasp.orgTraduit part Hubert Grégoire

hubert@gregware.fr