Évaluez et pilotez la maturité de votre programme AppSec

Bannière décorative

Vos premières analyses réglementaires et votre note stratégique ont porté leurs fruits : vous avez convaincu le Comité de Direction (CoDir) d'OmniRoute de la nécessité d'agir pour sécuriser votre chaîne de développement logicielle. Félicitations !

Cependant, le plus dur reste à faire.

Maintenant que vous avez le feu vert, vous devez établir un état des lieux réaliste et objectif de vos pratiques de développement actuelles : passez d'une vision de gouvernance théorique à un diagnostic précis et quantifié de la maturité AppSec de votre organisation. À partir de ces mesures, vous concevrez une feuille de route d'amélioration validée et intégrée dans les cycles de vos projets logiciels.

Mesurez vos pratiques actuelles avec le référentiel OWASP SAMM v2.0

Par où commencer quand on doit auditer et sécuriser tout un cycle de développement au sein d'une grande entreprise comme OmniRoute ?

Pour ne pas naviguer à vue, vous allez conduire une auto-évaluation complète de vos processus en vous appuyant sur le modèle de maturité de référence : l'OWASP SAMM v2.0 (Software Assurance Maturity Model). En tant que projet ouvert, le contenu de SAMM est totalement indépendant des fournisseurs (vendor-neutral) et librement accessible.

Schéma du modèle OWASP SAMM structuré autour de 5 fonctions métier, 3 pratiques de sécurité par fonction et 3 niveaux de maturité progressifs, de 1 à 3.
Structure hiérarchique de l'OWASP SAMM v2.0

1/ Appropriez-vous les 5 fonctions métier : SAMM structure la sécurité applicative autour de 5 grandes thématiques métier qui couvrent l'intégralité de l'organisation : la Gouvernance (Governance), la Conception (Design), l'Implémentation (Implementation), la Vérification (Verification), et les Opérations (Operations).

2/ Analysez les 15 pratiques de sécurité : Chacune des 5 fonctions métier est déclinée en 3 pratiques de sécurité concrètes (soit 15 pratiques au total). Par exemple, sous la fonction « Implementation », vous retrouvez les pratiques Secure Build (incluant la sous-pratique Software Dependencies), Secure Deployment et Defect Management (gestion des défauts et vulnérabilités). Sous la fonction « Governance », vous traiterez notamment la pratique Policy & Compliance.

3/ Évaluez selon les 3 niveaux de maturité graduels : L'objectif n'est pas d'atteindre la perfection immédiatement. Pour chaque pratique de sécurité, SAMM définit une progression structurée sur 3 niveaux de maturité :

  • Niveau 1 (Compréhension initiale) : La pratique est exécutée de manière ad-hoc ou informelle au niveau d'un projet ou d'une équipe.

  • Niveau 2 (Organisation formalisée) : La pratique est documentée, répétable et intégrée de façon cohérente dans les processus projets.

  • Niveau 3 (Maîtrise & Optimisation) : La pratique est déployée à l'échelle de toute l'entreprise, pilotée par des métriques et continuellement optimisée.

4/ Calculez les scores de maturité : Ne faites pas cet exercice seul. Menez des ateliers structurés avec vos équipes de développement, le CTO, les ingénieurs DevOps et le RSSI. Utilisez les grilles de questions d'autoévaluation fournies par SAMM (les Assessment worksheets) pour moyenner et agréger vos scores par pratique de sécurité de manière objective.

Planifiez votre feuille de route de montée en maturité

Une fois votre diagnostic SAMM réalisé, vous obtenez une cartographie claire de vos forces et de vos faiblesses. L'étape suivante consiste à planifier votre transformation.

1/ Définissez vos objectifs cibles : Établissez les niveaux cibles à atteindre en fonction de votre exposition aux risques et à votre contexte réglementaire. Par exemple, pour répondre aux exigences de la directive NIS 2 qui impose la sécurisation de la supply chain à vos clients, viser rapidement le niveau 2 dans la pratique Security Requirements (notamment sur le volet Supplier Security) est une nécessité stratégique.

2/ Structurez une feuille de route progressive : Découpez votre plan d'actions en phases réalistes, s'étalant généralement sur 12 à 24 mois. Ce plan  doit considérer les types d'actions suivants : 

  • Outillage (par ex. intégration de scannings (SAST, SCA, DAST) et de contrôles automatisés dans vos pipelines CI/CD)

  • Évolution des pratiques (par ex. Threat Modeling, revues de code, critères de recette),

  • Montée en compétences (par ex. formations ciblées des équipes dev, QA et Ops.)

De plus, la mise en place de ce plan doit apporter des améliorations mesurables, par exemple la réduction du volume de failles en production, l’amélioration des délais de correction (MTTR - Temps moyen nécessaire pour corriger une vulnérabilité identifiée) ou encore le taux de couverture des mesures implémentées (par ex. proportion du portefeuille applicatif couvert par le S-SDLC et les contrôles automatiques).

3/ Identifiez et mettez en œuvre vos « quick wins » : Capitalisez sur les recommandations de l'étude de l'ANSSI sur le marché du S-SDLC pour déployer des actions rapides et à fort impact (comme l'interdiction stricte des secrets codés en dur ou la protection des branches principales de votre gestionnaire de code source). 

En fonction du contexte de votre entreprise, vous pouvez considérer trois stratégies d'outillage (et opter pour une approche hybride si le contexte le permet) :

Schéma présentant trois approches d’outillage : SaaS-First avec modules intégrés aux forges, Best-of-Breed avec outils experts spécialisés, et Open Source avec scanners légers communautaires.
Les 3 stratégies d'outillage (ANSSI S-SDLC)
  1. SaaS-first (Fonctionnalités natives des forges logicielles) : Activez l'authentification multifacteur (MFA) obligatoires sur tous vos dépôts et exploiter les fonctionnalités avancées de vos forges logicielles (par ex. Dependabot et Secret Scanning sur GitHub, scanners SAST/SCA natifs sur GitLab).

  2. Best-of-Breed (Solutions tierces spécialisées) : Déployez des outils experts, comme GitGuardian(détection exhaustive des fuites de secrets et un suivi automatisé de la remédiation), SonarQube (qualité et sécurité du code) ou encore Snyk (sécurité des composants Open-Source).

  3. Open Source (Outils communautaires) : Intégrez des scanners légers dans vos pipelines ou en hooks de pré-commit (par ex. Gitleaks pour les secrets, Syft pour la génération de SBOM, et Trivy ou Grype pour  l'analyse des dépendances et conteneurs).

4/ Mise en pratique progressive : Ne négligez pas le facteur humain. Lancez des sessions de sensibilisation ciblées et des formations de base (correspondant au Niveau 1 de la pratique SAMM Education & Guidance) comme premier levier de transformation culturelle. Celà peut prendre la forme de l’initiation au Top 10 de l’OWASP, à la sensibilisation aux risques de fuites de secrets (clés API, etc.), ou encore des sessions d'entraînement interactives sur des applications vulnérables de démonstration comme OWASP Juice Shop.

Intégrez la sécurité dans les jalons et la gouvernance projet

Déployer des outils ne suffit pas si l'organisation ne suit pas. Votre objectif est l’application concrète des mesures que vous avez définies. Vous devez donc ancrer la sécurité applicative directement dans la gouvernance de vos projets logiciels.

Schéma d’un commit développeur orienté selon la branche : en branche Feature (Dev), mode Warning avec feedback non bloquant ; en branche principale (Main), mode Bloquant avec Security Gates en cas de faille critique ou de secret.
Contrôles adaptatifs (Mode Warning vs Bloquant)

1/ Formalisez une matrice RACI AppSec : Définissez clairement les rôles de chacun dans le S-SDLC. Qui réalise (R), qui valide (A), qui est consulté (C) et qui est informé (I) pour chaque livrable ? Par exemple, l'ingénieur DevOps est responsable (R) de la gestion des pipelines, mais c'est le Manager AppSec ou le RSSI qui reste Accountable (A) de la validation des configurations globales de sécurité. Important : L'équipe Sécurité ne doit jamais devenir un goulot d'étranglement. Le développeur reste le seul responsable final (Accountable) de la sécurité du code qu'il produit, tout comme il l'est pour sa qualité fonctionnelle (“You build it, you secure it”).

2/ Configurez des jalons de sécurité ("Security Gates") : Intégrez des critères d'acceptation stricts avant tout passage en production, par exemple au moment du Merge sur la branche principale, afin de bloquer en amont tout code non conforme / amenant un risque de Sécurité. Une Security Gate efficace ne doit laisser passer aucune faille critique. Elle s'appuie sur des règles de blocage automatiques, par exemple la détection de secrets dans le code, un scoring du résultats du scan SAST, la présence de dépendances vulnérables ou encore le non-respect du taux minimal de couverture de code par des tests unitaires/de sécurité.
3/ Quelques facteurs clés de succès pour l’adoption de votre approche S-SDLC : Pour garantir le succès de cette intégration, prêtez une attention particulière à aux trois éléments ci-dessous :

  • Protection stricte des branches critiques : Verrouillez la branche principale (main/master) via votre gestionnaire de code (SCM). Interdisez tout push direct et imposez le passage par une Pull/Merge Request. La fusion ne doit être autorisée qu'à deux conditions strictes : la validation du code par au moins un pair (Peer Review) et le succès des vérifications automatisées (Security Gates).

  • Posture d'accompagnement graduée, entre warning jusqu’au blocage : Pour maintenir la vélocité de livraison, mettez en œuvre des contrôles adaptatifs. En phase de dev / branches de fonctionnalités (Mode Warning) : Privilégiez des contrôles asynchrones et informatifs dans l'IDE ou la CI pour donner du feedback au plus tôt, sans interrompre le travail du développeur. En phase de fusion / mise en production (Mode Bloquant) : Activez des règles de blocage strictes et non négociables uniquement pour les vulnérabilités de sévérité élevée ou critique et la présence de secrets.

  • Ownership de la sécurité aux développeurs : Responsabilisez les équipes de réalisation ("You build it, you secure it"). L'équipe AppSec ne joue pas les gendarmes : elle fournit les outils, le cadre et le support. Pour ancrer cette culture au quotidien, vous ppouvez nommer des Security Champions (par ex. un développeur relais au sein de chaque équipe pour faire le pont avec l'équipe sécurité et participer au triage des alertes) ou encore animer une Guilde Sécurité (par ex. un espace d'échange cross-équipes pour partager les retours d'expérience, diffuser les bonnes pratiques et célébrer les réussites).

Et quelle place donner à l’IA dans le S-SDLC ?

Laissez l’IA accélérer le développement sans maintenir de contrôle humain. L’IA peut aider les développeurs à produire et documenter du code, faciliter le tri des alertes de sécurité, détecter davantage de vulnérabilités ou automatiser certains tests et rejeux. Mais cette accélération ne doit pas supprimer le principe de “human in the loop”, notamment lors du merge vers les branches principales. 

L'utilisation de l'IA générative permet un gain de vélocité majeur dans la production de code, mais comporte un biais critique : la perte de compréhension technique par les équipes. L'absence de maîtrise de la logique sous-jacente crée une dette technique complexe, rendant la maintenance ultérieure et les évolutions applicatives particulièrement risquées. De plus les assistants IA suggèrent parfois d'installer des bibliothèques inexistantes. Des attaquants créent sciemment des paquets malveillants portant ces noms inventés pour piéger les développeurs.

Dès lors, conservez une validation humaine et assurez-vous que les équipes comprennent le code généré : un code mis en production sans être réellement maîtrisé peut devenir difficile à faire évoluer, à auditer et à maintenir.

À vous de jouer !

Contexte

L'autoévaluation initiale d'OmniRoute d'après le référentiel OWASP SAMM v2.0 vient de s'achever, et les résultats révèlent un constat critique pour l'entreprise.

La pratique Secure Build (qui englobe le Flux A : processus de build, et le Flux B : gestion des dépendances logicielles) est évaluée à un niveau de maturité de 0. Concrètement, vos développeurs compilent manuellement des artefacts depuis leurs postes locaux, et ils installent des bibliothèques tierces au gré de leurs besoins, sans aucune vérification de sécurité préalable. Face aux exigences réglementaires de vos clients OIV, cette situation est inacceptable et amène des risques forts.

Consignes

Concevez un plan d'actions structuré d'après la méthodologie SAMM pour faire progresser cette pratique Secure Build du niveau 0 au niveau 2 d'ici 12 mois.

  1. Pour le niveau de maturité 1, définissez des activités concrètes et proposez deux "quick wins" de sécurité spécifiques, inspirés des recommandations de l'ANSSI pour le profil PME/ETI ou start-up.

  2. Pour le niveau de maturité 2, définissez les activités d'optimisation et d'intégration requises dans les pipelines CI/CD. Rédigez ce plan de remédiation sous forme de liste hiérarchisée, en environ 400 mots.

En résumé

  • OWASP SAMM v2.0 permet d’évaluer objectivement la maturité AppSec de l’organisation à travers 5 fonctions métier, 15 pratiques de sécurité et 3 niveaux de maturité.

  • Le diagnostic SAMM permet de construire une feuille de route progressive, adaptée aux risques et aux contraintes métier, combinant outillage, évolution des pratiques et montée en compétences.

  • Des quick wins et des outils adaptés permettent d’améliorer rapidement la sécurité, notamment en protégeant les dépôts, en détectant les secrets et en automatisant les contrôles dans les pipelines CI/CD.

  • La sécurité doit être intégrée directement à la gouvernance des projets, avec des responsabilités clairement définies, des Security Gates et une protection stricte des branches critiques.

  • L’IA peut accélérer le développement et renforcer certains contrôles de sécurité, mais elle doit rester sous supervision humaine, notamment avant le merge et la mise en production du code.

Maintenant que vous avez évalué votre maturité AppSec, défini votre feuille de route et intégré la sécurité à la gouvernance de vos projets, vous devez traduire cette stratégie en règles concrètes et vérifiables : voyons comment définir et piloter vos exigences de sécurité logicielles !

Ever considered an OpenClassrooms diploma?
  • Up to 100% of your training program funded
  • Flexible start date
  • Career-focused projects
  • Individual mentoring
Find the training program and funding option that suits you best