CISSP · Réussir du premier coup

Chapitre 22
SDLC et écosystème
de développement

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.

Domaine
8 — Software Development Security · 10 %
Objectifs couverts
8.1 · 8.2
Entraînement
25 questions + corrigé raisonné
L'essentiel en 60 secondes
  • La sécurité s'intègre dès le début du SDLC (shift left) : corriger tôt coûte bien moins cher.
  • Waterfall (séquentiel) · Spiral (piloté par le risque) · Agile (itératif) · DevOps/DevSecOps (CI/CD, security as code).
  • Agile : les 4 valeurs du manifeste ; Scrum (sprints, rôles), Kanban, XP.
  • CMMI, 5 niveaux : Initial → Repeatable/Managed → Defined → Quantitatively Managed → Optimizing.
  • Modèles de maturité applicative : SAMM (OWASP), BSIMM, IDEAL.
  • Langages : compilé vs interprété ; générations 1GL–5GL ; langages memory-safe.
  • Les bibliothèques héritent leurs vulnérabilités (Log4j) → SCA et SBOM (chapitre 3).
  • CI/CD : sécuriser le pipeline (gates, signed commits, secrets scanning).
  • Tests applicatifs : SAST · DAST · IAST · RASP · SCA.
  • DevSecOps = intégrer la sécurité dans le pipeline, automatisée, à chaque étape.

Objectif 8.1Le SDLC et le shift left

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).

Objectif 8.1Les méthodologies

MéthodologiePrincipeQuand l'utiliser
WaterfallPhases séquentielles, chacune achevée avant la suivanteExigences stables et bien connues
SpiralItératif et piloté par le risque — analyse de risque à chaque tourProjets à risque élevé
AgileItératif, incrémental, collaboratifExigences évolutives, livraison rapide
RADPrototypage rapideBesoin de démonstration rapide
DevOpsDev + Ops unifiés, CI/CD, automatisationLivraison continue
DevSecOpsDevOps + 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.

Objectif 8.1Modèles de maturité

Le CMMI (Capability Maturity Model Integration) mesure la maturité des processus — ses 5 niveaux à réciter :

NiveauNomCaractéristique
1InitialChaotique, imprévisible, dépend des individus
2Repeatable / ManagedProcessus de base établis, répétables
3DefinedProcessus documentés et standardisés
4Quantitatively ManagedProcessus mesurés et contrôlés (métriques)
5OptimizingAmélioration continue
🧠 Mnémonique — CMMI

« 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).

Objectif 8.2L'écosystème de développement

⚠️ Pièges d'examen
  • Shift left : intégrer la sécurité dès les exigences/conception ; corriger tôt coûte moins cher.
  • Spiral = piloté par le risque ; Waterfall = séquentiel ; Agile = itératif.
  • CMMI : Initial → Repeatable → Defined → Quantitatively Managed → Optimizing (5 niveaux).
  • SAMM/BSIMM = maturité de la sécurité applicative ; CMMI = maturité des processus en général.
  • Les bibliothèques héritent leurs vulnérabilités (Log4j) → SCA + SBOM.
  • DevSecOps intègre la sécurité dans le pipeline, automatisée — pas une étape finale.
  • SAST (statique) vs DAST (dynamique) vs IAST (instrumenté) vs RASP (auto-protection en prod) vs SCA (dépendances).
  • Memory-safe languages évitent les buffer overflows par conception.
  • Le pipeline CI/CD est une cible : signed commits, secrets scanning, gates.
Scénario fil rouge — Awa

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.


Quiz25 questions

Conditions réelles : 30 minutes, une seule passe, réponses notées avant de consulter le corrigé.

Question 1

What does "shift left" mean in secure software development?

  1. Testing only after deployment
  2. Integrating security early, from requirements and design onward
  3. Moving developers to a new office
  4. Delaying security until maintenance
Voir la réponse Réponse : B

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.

Question 2

Why is fixing a vulnerability during design cheaper than fixing it in production?

  1. Designers are paid less
  2. Defects caught earlier require far less rework and impact
  3. Production has no bugs
  4. It is not cheaper
Voir la réponse Réponse : B

Une faille détectée tôt exige bien moins de reprise et d'impact — la justification économique du shift left.

Question 3

Which methodology is sequential, completing each phase before the next?

  1. Agile
  2. Waterfall
  3. DevOps
  4. Kanban
Voir la réponse Réponse : B

Waterfall enchaîne des phases séquentielles. Agile (A) et DevOps (C) sont itératifs.

Question 4

Which methodology is explicitly risk-driven, performing risk analysis at each iteration?

  1. Waterfall
  2. Spiral
  3. Scrum
  4. RAD
Voir la réponse Réponse : B

Le modèle Spiral fait de l'analyse de risque à chaque tour — sa signature. Waterfall (A) ne le fait pas.

Question 5

Which is one of the four values of the Agile Manifesto?

  1. Comprehensive documentation over working software
  2. Working software over comprehensive documentation
  3. Following a plan over responding to change
  4. Processes over individuals
Voir la réponse Réponse : B

« Working software over comprehensive documentation » est une des 4 valeurs. A, C et D inversent chacune une valeur.

Question 6

In Scrum, what is a fixed-length development iteration called?

  1. A sprint
  2. A waterfall
  3. A spiral
  4. A gate
Voir la réponse Réponse : A

En Scrum, une itération à durée fixe est un sprint. Les autres termes appartiennent à d'autres modèles.

Question 7

What does DevSecOps add to DevOps?

  1. Slower releases
  2. Security integrated and automated throughout the pipeline
  3. Manual security testing only at the end
  4. Removal of automation
Voir la réponse Réponse : B

DevSecOps intègre et automatise la sécurité dans tout le pipeline — pas une étape finale manuelle (C).

Question 8

What is the correct order of the five CMMI maturity levels?

  1. Defined, Initial, Optimizing, Managed, Quantified
  2. Initial, Repeatable/Managed, Defined, Quantitatively Managed, Optimizing
  3. Optimizing, Defined, Initial, Managed, Quantified
  4. Initial, Optimizing, Defined, Managed, Quantified
Voir la réponse Réponse : B

Initial → Repeatable/Managed → Defined → Quantitatively Managed → Optimizing. Les autres ordres mélangent les niveaux.

Question 9

At which CMMI level are processes measured and controlled using metrics?

  1. Level 1 (Initial)
  2. Level 3 (Defined)
  3. Level 4 (Quantitatively Managed)
  4. Level 5 (Optimizing)
Voir la réponse Réponse : C

Le niveau 4 (Quantitatively Managed) mesure et contrôle par métriques. Le niveau 5 optimise sur ces mesures.

Question 10

Which maturity model is specifically focused on software security assurance and maintained by OWASP?

  1. CMMI
  2. SAMM
  3. ITIL
  4. COBIT
Voir la réponse Réponse : B

SAMM (OWASP) cible la maturité de la sécurité applicative. CMMI (A) mesure les processus en général.

Question 11

Which statement about compiled versus interpreted languages is correct?

  1. Compiled code is executed line by line at runtime
  2. Compiled code is translated to machine code before execution; interpreted code runs on the fly
  3. They are identical
  4. Interpreted languages are always faster
Voir la réponse Réponse : B

Le compilé est traduit en binaire avant exécution ; l'interprété s'exécute à la volée. A décrit l'interprété.

Question 12

What is the PRIMARY benefit of a memory-safe language?

  1. It runs without electricity
  2. It prevents entire classes of bugs such as buffer overflows by design
  3. It removes the need for testing
  4. It compiles faster
Voir la réponse Réponse : B

Un langage memory-safe élimine par conception des classes entières de bugs (buffer overflows). Il ne supprime pas les tests (C).

Question 13

The Log4j incident illustrated which supply-chain risk?

  1. Hardware counterfeiting
  2. Vulnerabilities inherited from third-party libraries and dependencies
  3. Physical theft of servers
  4. Weak passwords
Voir la réponse Réponse : B

Log4j a montré qu'une faille dans une bibliothèque tierce se propage à tous ses utilisateurs — le risque de dépendance (chapitre 3).

Question 14

Which tool analyzes third-party components and dependencies for known vulnerabilities?

  1. SAST
  2. SCA (Software Composition Analysis)
  3. DAST
  4. Fuzzing
Voir la réponse Réponse : B

Le SCA analyse les composants tiers et leurs vulnérabilités connues. SAST (A) et DAST (C) analysent le code propre / l'appli.

Question 15

Which security practice prevents credentials from being committed to a code repository?

  1. Secrets scanning
  2. Load balancing
  3. Degaussing
  4. Broadcasting the SSID
Voir la réponse Réponse : A

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.

Question 16

Which technology protects an application from inside the running process in production?

  1. SAST
  2. RASP (Runtime Application Self-Protection)
  3. SCA
  4. A network firewall
Voir la réponse Réponse : B

Le RASP se défend depuis l'intérieur de l'application en production. SAST/SCA analysent avant l'exécution.

Question 17

What is the purpose of a security gate in a CI/CD pipeline?

  1. To speed up builds by skipping tests
  2. To fail the build when a security check (such as SAST) raises a critical finding
  3. To delete the source code
  4. To disable version control
Voir la réponse Réponse : B

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.

Question 18

Which statement BEST describes the Spiral model?

  1. A single-pass sequential process
  2. An iterative model that repeats risk analysis on each loop
  3. A model with no planning
  4. A model only for hardware
Voir la réponse Réponse : B

Le Spiral est itératif et répète l'analyse de risque à chaque boucle. A décrit le Waterfall.

Question 19

What is an Integrated Product Team (IPT)?

  1. A single developer working alone
  2. A multidisciplinary team bringing together all relevant stakeholders
  3. A firewall cluster
  4. A backup rotation
Voir la réponse Réponse : B

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.

Question 20

Which framework scales Agile across a large enterprise?

  1. SAFe
  2. Waterfall
  3. CMMI
  4. RAD
Voir la réponse Réponse : A

SAFe met Agile à l'échelle de l'entreprise. Waterfall et CMMI ne sont pas des cadres de scaling Agile.

Question 21

Which describes BSIMM?

  1. A prescriptive checklist of required controls
  2. A descriptive maturity model based on observing real organizations' software security
  3. An encryption algorithm
  4. A firewall configuration
Voir la réponse Réponse : B

BSIMM est descriptif : il observe ce que font réellement des organisations. Ce n'est pas une checklist prescriptive (A).

Question 22

Which generation of programming languages is closest to natural language and highly abstracted?

  1. 1GL (machine code)
  2. 2GL (assembly)
  3. 4GL
  4. Binary
Voir la réponse Réponse : C

Les 4GL sont proches du langage naturel et fortement abstraits. Les 1GL/2GL sont proches de la machine.

Question 23

Which practice ensures the integrity and attribution of code changes in a repository?

  1. Signed commits
  2. Disabling logging
  3. Sharing one account
  4. Removing version control
Voir la réponse Réponse : A

Les signed commits garantissent l'intégrité et l'attribution des changements. Partager un compte (C) détruit l'attribution.

Question 24

Why should the CI/CD pipeline itself be secured?

  1. It is not a security concern
  2. A compromised pipeline can inject malicious code into every build (a supply-chain attack)
  3. Only developers use it
  4. It has no access to production
Voir la réponse Réponse : B

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.

Question 25

Which API security control limits how many requests a client can make in a period?

  1. Rate limiting
  2. Degaussing
  3. NAT
  4. Full disk encryption
Voir la réponse Réponse : A

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.

Auto-diagnostic

≥ 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.

FicheFiche de révision

À savoir par cœur avant le chapitre 23
  1. Shift left : sécurité dès les exigences/conception ; corriger tôt coûte moins cher.
  2. Méthodologies : Waterfall (séquentiel) · Spiral (risque) · Agile (itératif) · RAD · DevOps/DevSecOps (CI/CD).
  3. Agile : 4 valeurs du manifeste ; Scrum (sprints, PO, Scrum Master), Kanban, XP ; SAFe (échelle) ; IPT.
  4. CMMI 5 niveaux : Initial · Repeatable/Managed · Defined · Quantitatively Managed · Optimizing (4 mesure, 5 optimise).
  5. SAMM (OWASP), BSIMM (descriptif), IDEAL — maturité de la sécurité applicative.
  6. Langages : compilé vs interprété ; 1GL–5GL ; memory-safe (évite les buffer overflows).
  7. Bibliothèques héritent leurs vulnérabilités (Log4j) → SCA + SBOM.
  8. CI/CD sécurisé : gates, signed commits, secrets scanning, protection des branches ; pipeline = cible supply chain.
  9. Tests : SAST (statique) · DAST (dynamique) · IAST (instrumenté) · RASP (auto-protection prod) · SCA (dépendances).
  10. API : authentification, rate limiting, validation ; OWASP API Top 10.