CISSP · Réussir du premier coup
Domaine 8, première partie : la sécurité dans le cycle de développement, les méthodologies, les modèles de maturité et l'écosystème logiciel.
Le SDLC (Software Development Life Cycle) structure le développement : recueil des besoins → conception → développement → test → déploiement → maintenance → retrait. Le principe cardinal de sécurité est le shift left : intégrer la sécurité au plus tôt, dès les exigences et la conception (threat modeling, chapitre 3), plutôt qu'à la fin. Justification chiffrée classique : corriger une faille en production coûte des ordres de grandeur de plus qu'en phase de conception — c'est la version logicielle du « security by design » (chapitre 6).
| Méthodologie | Principe | Quand l'utiliser |
|---|---|---|
| Waterfall | Phases séquentielles, chacune achevée avant la suivante | Exigences stables et bien connues |
| Spiral | Itératif et piloté par le risque — analyse de risque à chaque tour | Projets à risque élevé |
| Agile | Itératif, incrémental, collaboratif | Exigences évolutives, livraison rapide |
| RAD | Prototypage rapide | Besoin de démonstration rapide |
| DevOps | Dev + Ops unifiés, CI/CD, automatisation | Livraison continue |
| DevSecOps | DevOps + sécurité intégrée et automatisée (security as code) | Sécurité à la vitesse du pipeline |
Agile repose sur le Manifeste Agile — quatre valeurs : les individus et interactions plutôt que les processus/outils ; un logiciel qui fonctionne plutôt qu'une documentation exhaustive ; la collaboration avec le client plutôt que la négociation contractuelle ; l'adaptation au changement plutôt que le suivi d'un plan. Ses cadres : Scrum (sprints, Product Owner, Scrum Master, backlog), Kanban (flux visuel), XP (pair programming, tests). SAFe met Agile à l'échelle de l'entreprise. Autres notions : operations & maintenance, gestion des changements logiciels (request/change/release control), et l'Integrated Product Team (IPT) — équipe pluridisciplinaire réunissant toutes les parties prenantes.
Le CMMI (Capability Maturity Model Integration) mesure la maturité des processus — ses 5 niveaux à réciter :
| Niveau | Nom | Caractéristique |
|---|---|---|
| 1 | Initial | Chaotique, imprévisible, dépend des individus |
| 2 | Repeatable / Managed | Processus de base établis, répétables |
| 3 | Defined | Processus documentés et standardisés |
| 4 | Quantitatively Managed | Processus mesurés et contrôlés (métriques) |
| 5 | Optimizing | Amélioration continue |
« Initial, Repeatable, Defined, Quantified, Optimizing » — du chaos (1) à l'amélioration continue (5). Retenez que le niveau 4 mesure et le niveau 5 optimise : « on ne peut optimiser que ce qu'on mesure ».
Modèles orientés sécurité applicative : SAMM (Software Assurance Maturity Model, OWASP), BSIMM (Building Security In Maturity Model — descriptif, basé sur l'observation d'organisations réelles) ; le modèle IDEAL guide l'amélioration (Initiating, Diagnosing, Establishing, Acting, Learning).
| Outil | Analyse |
|---|---|
| SAST | Code source au repos (chapitre 16) |
| DAST | Application en marche (chapitre 16) |
| IAST | Application instrumentée |
| RASP | Runtime Application Self-Protection — se défend depuis l'intérieur en production |
| SCA | Composants et dépendances tierces |
Awa industrialise le développement de la fintech. L'équipe de paiement passe en Scrum avec une démarche DevSecOps : la sécurité entre dès les exigences (shift left), plus en fin de course comme à Berlin. Le pipeline CI/CD intègre des gates — un build échoue si le SAST ou le SCA alerte — du secrets scanning (après qu'une clé API a fuité dans un dépôt) et des signed commits. Le souvenir de Log4j conduit Awa à imposer un SBOM et un suivi continu des dépendances. Elle fait évaluer la maturité de l'organisation au CMMI (niveau 2, « repeatable », avec un plan vers le niveau 3) et adopte l'OWASP SAMM pour piloter spécifiquement la maturité de la sécurité applicative. Enfin, le nouveau service critique est réécrit dans un langage memory-safe pour éliminer par conception les débordements de tampon — sujet du chapitre suivant.
Conditions réelles : 30 minutes, une seule passe, réponses notées avant de consulter le corrigé.
What does "shift left" mean in secure software development?
Le shift left intègre la sécurité dès les exigences et la conception. Attendre le déploiement (A) ou la maintenance (D) est l'anti-modèle.
Why is fixing a vulnerability during design cheaper than fixing it in production?
Une faille détectée tôt exige bien moins de reprise et d'impact — la justification économique du shift left.
Which methodology is sequential, completing each phase before the next?
Waterfall enchaîne des phases séquentielles. Agile (A) et DevOps (C) sont itératifs.
Which methodology is explicitly risk-driven, performing risk analysis at each iteration?
Le modèle Spiral fait de l'analyse de risque à chaque tour — sa signature. Waterfall (A) ne le fait pas.
Which is one of the four values of the Agile Manifesto?
« Working software over comprehensive documentation » est une des 4 valeurs. A, C et D inversent chacune une valeur.
In Scrum, what is a fixed-length development iteration called?
En Scrum, une itération à durée fixe est un sprint. Les autres termes appartiennent à d'autres modèles.
What does DevSecOps add to DevOps?
DevSecOps intègre et automatise la sécurité dans tout le pipeline — pas une étape finale manuelle (C).
What is the correct order of the five CMMI maturity levels?
Initial → Repeatable/Managed → Defined → Quantitatively Managed → Optimizing. Les autres ordres mélangent les niveaux.
At which CMMI level are processes measured and controlled using metrics?
Le niveau 4 (Quantitatively Managed) mesure et contrôle par métriques. Le niveau 5 optimise sur ces mesures.
Which maturity model is specifically focused on software security assurance and maintained by OWASP?
SAMM (OWASP) cible la maturité de la sécurité applicative. CMMI (A) mesure les processus en général.
Which statement about compiled versus interpreted languages is correct?
Le compilé est traduit en binaire avant exécution ; l'interprété s'exécute à la volée. A décrit l'interprété.
What is the PRIMARY benefit of a memory-safe language?
Un langage memory-safe élimine par conception des classes entières de bugs (buffer overflows). Il ne supprime pas les tests (C).
The Log4j incident illustrated which supply-chain risk?
Log4j a montré qu'une faille dans une bibliothèque tierce se propage à tous ses utilisateurs — le risque de dépendance (chapitre 3).
Which tool analyzes third-party components and dependencies for known vulnerabilities?
Le SCA analyse les composants tiers et leurs vulnérabilités connues. SAST (A) et DAST (C) analysent le code propre / l'appli.
Which security practice prevents credentials from being committed to a code repository?
Le secrets scanning empêche l'ajout de clés/mots de passe en clair dans le dépôt. Les autres options n'ont aucun rapport.
Which technology protects an application from inside the running process in production?
Le RASP se défend depuis l'intérieur de l'application en production. SAST/SCA analysent avant l'exécution.
What is the purpose of a security gate in a CI/CD pipeline?
Un gate fait échouer le build sur un finding critique : la sécurité bloque la livraison défaillante. Sauter les tests (A) est l'inverse.
Which statement BEST describes the Spiral model?
Le Spiral est itératif et répète l'analyse de risque à chaque boucle. A décrit le Waterfall.
What is an Integrated Product Team (IPT)?
L'IPT réunit toutes les parties prenantes pluridisciplinaires autour du produit. Ce n'est ni un développeur isolé (A) ni de l'infrastructure.
Which framework scales Agile across a large enterprise?
SAFe met Agile à l'échelle de l'entreprise. Waterfall et CMMI ne sont pas des cadres de scaling Agile.
Which describes BSIMM?
BSIMM est descriptif : il observe ce que font réellement des organisations. Ce n'est pas une checklist prescriptive (A).
Which generation of programming languages is closest to natural language and highly abstracted?
Les 4GL sont proches du langage naturel et fortement abstraits. Les 1GL/2GL sont proches de la machine.
Which practice ensures the integrity and attribution of code changes in a repository?
Les signed commits garantissent l'intégrité et l'attribution des changements. Partager un compte (C) détruit l'attribution.
Why should the CI/CD pipeline itself be secured?
Un pipeline compromis injecte du code malveillant dans chaque build : une attaque de supply chain (SolarWinds, chapitre 3). Il a un accès puissant à la production.
Which API security control limits how many requests a client can make in a period?
Le rate limiting borne le nombre de requêtes par période — contre l'abus et le déni de service applicatif. Les autres options sont hors sujet.
≥ 20/25 : passez au chapitre 23, le dernier du cours. Entre 15 et 19 : récitez les 5 niveaux CMMI et les outils SAST/DAST/IAST/RASP/SCA. < 15 : relisez le chapitre.