Sécurité applicative : intégrer la sécurité dès la conception, jusqu’à la production
Applications web, logiciels métier, API et chaînes CI/CD portent directement des processus, identités et données critiques. La sécurité applicative réduit les faiblesses de conception, d’implémentation, de dépendances et d’exploitation sans transformer la sécurité en contrôle final ajouté juste avant la production.
L’objectif n’est pas de « passer l’OWASP Top 10 » : il est de construire des applications dont les exigences, contrôles et tests suivent réellement les risques métier.
Qu’est-ce que la sécurité applicative ?
La sécurité applicative, ou AppSec, regroupe les pratiques visant à réduire les risques dans la conception, le développement, les dépendances, les interfaces, les pipelines de livraison et l’exploitation d’un logiciel.
Elle couvre contrôles d’accès, authentification, validation des données, logique métier, cryptographie, secrets, dépendances tierces, API, journalisation et déploiement. Elle ne se limite ni à un scanner, ni à un pentest, ni au seul OWASP Top 10.
Expertise AppSec, audit ou pentest : quelle différence ?
| Need | Réponse | Question |
|---|---|---|
| Structurer la sécurité du développement | Expertise AppSec / conseil | Comment concevoir, développer et livrer plus sûrement ? |
| Évaluer l’existant | Audit | Quels contrôles ou écarts améliorer ? |
| Rechercher des failles exploitables | Penetration Test | Que peut exploiter un attaquant dans le périmètre testé ? |
| Arbitrer architecture et pratiques | Conseil | Quelles décisions prendre avant ou pendant le projet ? |
Sécurité applicative : l’essentiel
- Concevoir les contrôles tôt.
- Développer avec des règles adaptées à la stack et aux scénarios.
- Maîtriser dépendances et chaîne d’approvisionnement.
- Sécuriser CI/CD, secrets et droits de livraison.
- Tester code, composants, application, API et logique métier.
- Prioriser selon exploitabilité et impact.
- Observer en production avec des logs utiles.
Quels risques applicatifs faut-il traiter en priorité ?
| Situation | Risque | Priority |
|---|---|---|
| Contrôles d’accès incohérents | Accès à des fonctions ou données non prévues | Modèle d’autorisation et contrôles serveur |
| Dépendances mal inventoriées | Composants vulnérables / supply chain | Inventaire, provenance et traitement |
| Secrets dans code/pipeline | Accès non autorisé | Stockage adapté, droits et rotation |
| API sans inventaire fiable | Endpoints oubliés ou obsolètes | Inventaire, documentation, authN/authZ |
| Pipeline trop privilégié | Altération du code ou des artefacts | Moindre privilège, intégrité, traçabilité |
| Logs insuffisants | Abus difficiles à détecter | Événements métier et sécurité utiles |
Que couvre réellement l’OWASP Top 10 en 2025 ?
L’OWASP Top 10:2025 comprend Broken Access Control, Security Misconfiguration, Software Supply Chain Failures, Cryptographic Failures, Injection, Insecure Design, Authentication Failures, Software or Data Integrity Failures, Security Logging & Alerting Failures et Mishandling of Exceptional Conditions.
Cette édition montre que l’AppSec ne se limite plus aux vulnérabilités de code classiques : conception, supply chain, intégrité, configuration et détection font aussi partie du problème.
Comment interpréter les 10 catégories OWASP Top 10:2025 ?
Chaque catégorie correspond à une famille de risques, pas à une vulnérabilité unique. L’intérêt est de relier ces familles aux choix d’architecture, de développement, de configuration et d’exploitation.
A01 — Broken Access Control
Les contrôles d’autorisation permettent à un utilisateur ou système d’effectuer une action ou d’accéder à une ressource non prévue. Les contrôles doivent être appliqués côté serveur et testés sur les objets, fonctions et rôles sensibles.
A02 — Security Misconfiguration
Configurations par défaut, fonctions inutiles, messages trop bavards ou environnements incohérents peuvent créer une exposition évitable. La configuration sécurisée doit être reproductible et maintenue.
A03 — Software Supply Chain Failures
Le risque ne vient pas seulement du code propriétaire : dépendances, outils de build, registres, plugins et artefacts peuvent être compromis ou vulnérables. Inventaire, provenance et intégrité deviennent essentiels.
A04 — Cryptographic Failures
La cryptographie échoue lorsqu’elle est absente, mal choisie, mal implémentée ou appliquée au mauvais endroit. La question centrale reste quelles données protéger, contre quel scénario et pendant combien de temps.
A05 — Injection
Une donnée non fiable peut modifier l’interprétation d’une commande, requête ou expression. Les protections dépendent de la technologie : séparation données/instructions, APIs sûres, validation adaptée et moindre privilège.
A06 — Insecure Design
Une application peut être correctement codée tout en restant vulnérable si les règles métier, frontières de confiance ou scénarios d’abus ont été mal conçus. C’est précisément là que threat modeling et revues d’architecture apportent de la valeur.
A07 — Authentication Failures
Les mécanismes d’authentification et de gestion de session doivent résister au vol, au contournement et aux mauvaises pratiques de cycle de vie. L’authentification ne remplace toutefois pas l’autorisation.
A08 — Software or Data Integrity Failures
L’application doit pouvoir faire confiance aux mises à jour, données et composants qu’elle consomme. Les contrôles d’intégrité concernent notamment artefacts, mises à jour, sérialisation et mécanismes de livraison.
A09 — Security Logging & Alerting Failures
Une application difficile à observer est difficile à défendre. Les événements importants doivent être journalisés avec suffisamment de contexte pour détecter, investiguer et répondre.
A10 — Mishandling of Exceptional Conditions
Erreurs, timeouts, états partiels ou dépendances indisponibles peuvent créer des comportements dangereux si l’application ne revient pas vers un état sûr et prévisible.
L’OWASP Top 10 suffit-il pour sécuriser une application ?
Non. Il s’agit avant tout d’un document de sensibilisation aux grandes catégories de risques, pas d’un standard complet de vérification.
L’OWASP ASVS fournit un ensemble plus structuré d’exigences permettant d’évaluer le niveau de confiance dans la sécurité d’une application web. OWASP indique ASVS 5.0.0 comme version stable actuelle.
OWASP Top 10 et CWE Top 25 : quelle différence ?
Les deux ressources sont complémentaires. L’OWASP Top 10 structure des catégories de risques applicatifs destinées notamment à la sensibilisation et à l’AppSec. Le CWE Top 25 classe des faiblesses logicielles fréquentes et impactantes observées derrière des vulnérabilités réelles.
Dans l’édition CWE Top 25 2025, les premières positions incluent notamment Cross-site Scripting (CWE-79), SQL Injection (CWE-89), Cross-Site Request Forgery (CWE-352) et Missing Authorization (CWE-862). Cette liste aide à raisonner sur les causes techniques récurrentes, sans remplacer une analyse propre à l’application.
Source primaire : CWE — Top 25 Most Dangerous Software Weaknesses
Pourquoi commencer par la conception plutôt que par le scanner ?
Un scanner peut identifier certaines vulnérabilités, mais comprend difficilement règles métier, relations de confiance, scénarios d’abus ou conséquences d’une décision d’architecture.
- actifs et données à protéger ;
- rôles utilisateurs et systèmes ;
- opérations sensibles ;
- frontières de confiance ;
- scénarios d’abus à empêcher ou détecter ;
- comportement en cas d’erreur ou dépendance indisponible.
Le threat modeling et les revues d’architecture permettent de traiter ces questions tôt.
Secure coding : quelles pratiques comptent réellement ?
Le secure coding ne se résume pas à valider les entrées. Il doit être adapté au langage, au framework, aux données et au modèle d’autorisation.
- contrôles d’accès côté serveur ;
- traitement sûr des données non fiables ;
- gestion robuste des erreurs ;
- cryptographie appropriée ;
- sessions et authentification ;
- protection des secrets ;
- journalisation pertinente ;
- revue des dépendances.
DevSecOps : intégrer la sécurité sans transformer le pipeline en barrage
Le DevSecOps intègre des contrôles de sécurité dans le développement et l’exploitation plutôt que de créer une étape séparée uniquement en fin de projet.
Le NIST Secure Software Development Framework (SSDF) propose des pratiques intégrables au cycle de développement afin notamment de réduire les vulnérabilités livrées, limiter l’impact de celles qui subsistent et traiter leurs causes racines.
DevOps et DevSecOps : quelle différence ?
| Approach | Objective | Place de la sécurité |
|---|---|---|
| DevOps | Rapprocher développement et exploitation pour livrer de manière plus fluide et fiable | La sécurité peut être intégrée, mais elle n’est pas explicitement le sujet du terme |
| DevSecOps | Intégrer explicitement les objectifs et contrôles de sécurité dans ce même cycle | Exigences, architecture, code, dépendances, pipeline, tests et exploitation sont concernés |
DevSecOps ne signifie pas « mettre un scanner dans Jenkins ou GitLab ». L’automatisation est utile pour les contrôles répétables, mais elle ne remplace pas l’analyse de conception, la logique métier, la revue des autorisations ou les arbitrages de risque.
CI/CD sécurisé : que faut-il protéger ?
Le pipeline dispose souvent d’accès puissants au code, secrets, registres, artefacts, environnements et parfois production. Sa compromission peut affecter le logiciel livré sans attaquer directement l’application en production.
- droits sur dépôts et pipelines ;
- branches et changements sensibles ;
- secrets et jetons ;
- provenance des dépendances ;
- séparation des environnements ;
- intégrité et traçabilité des artefacts ;
- droits de déploiement.
SAST, DAST, SCA et pentest : quelles différences ?
| Approach | Observe | Limit |
|---|---|---|
| SAST | Code ou représentation statique | Ne reproduit pas seul le comportement déployé |
| DAST | Application en fonctionnement | Visibilité limitée sur le code et certaines causes |
| SCA | Dépendances et composants | Ne couvre pas logique métier ni tout le code propre |
| Revue de code | Implémentation et logique | Profondeur dépendante du périmètre |
| Penetration Test | Failles exploitables dans un périmètre défini | Photographie limitée dans le temps et par le périmètre |
Ces approches sont complémentaires. Les multiplier sans stratégie produit surtout du bruit.
Que tester, et à quel moment du cycle de développement ?
| Moment | Questions principales | Contrôles possibles |
|---|---|---|
| Conception | Quels actifs, frontières de confiance et scénarios d’abus ? | Threat modeling, revue d’architecture, exigences ASVS adaptées |
| Développement | Le code respecte-t-il les règles de sécurité attendues ? | Secure coding, revues de code, SAST, tests unitaires de sécurité |
| Intégration | Les composants et dépendances restent-ils maîtrisés ? | SCA, contrôle des secrets, tests d’intégration, vérifications CI/CD |
| Préproduction | Le comportement réel expose-t-il des failles ? | DAST, tests API, scénarios négatifs, pentest selon le risque |
| Production | Peut-on détecter abus, régressions et événements importants ? | Logs, alertes, gestion de vulnérabilités, surveillance des dépendances |
Le but n’est pas de tout tester à chaque livraison, mais de placer chaque contrôle là où il apporte le plus d’information utile au meilleur coût.
Sécurité des API : pourquoi une approche spécifique ?
Les API exposent directement objets, fonctions, flux métier et parfois données sensibles. Elles nécessitent une attention particulière sur autorisation, authentification, inventaire, consommation de ressources et relations avec des services tiers.
L’OWASP API Security Top 10 2023 place Broken Object Level Authorization, Broken Authentication, Broken Object Property Level Authorization, Unrestricted Resource Consumption et Broken Function Level Authorization parmi ses cinq premiers risques ; trois concernent directement l’autorisation.
API security : authentification et rate limiting suffisent-ils ?
Non. Une API peut authentifier correctement un utilisateur tout en lui permettant d’accéder à un objet ou une fonction non autorisée. L’autorisation doit être vérifiée pour chaque opération sensible.
Le rate limiting peut réduire certains abus, mais OWASP distingue aussi flux métier sensibles, mauvaises configurations, inventaires incomplets et consommation non sûre d’API tierces.
Un WAF peut-il corriger une application vulnérable ?
Non. Un WAF peut apporter une couche de protection et bloquer certains motifs ou comportements, mais il ne corrige pas la logique métier, les autorisations défaillantes, une mauvaise conception ou le code vulnérable.
Comment protéger les secrets applicatifs et CI/CD ?
- identifier où les secrets sont stockés ;
- limiter qui peut les lire ;
- éviter leur présence dans code et logs ;
- organiser rotation et révocation ;
- séparer les secrets selon les environnements ;
- journaliser les accès sensibles lorsque pertinent.
Comment prioriser les vulnérabilités sans corriger uniquement le CVSS le plus élevé ?
Le score technique est utile mais ne décrit pas seul le risque réel. La priorité doit aussi considérer exposition, exploitabilité dans l’architecture réelle, privilèges nécessaires, actifs accessibles, données concernées, contrôles compensatoires et conséquences métier.
Comment construire une démarche AppSec pragmatique ?
- Cadrer applications, données, utilisateurs et flux critiques.
- Modéliser scénarios de menace et exigences.
- Intégrer les pratiques dans développement, dépendances et CI/CD.
- Tester avec les approches adaptées.
- Prioriser et corriger selon exploitabilité et impact.
- Mesurer et améliorer via vulnérabilités, incidents et retours développeurs.
Cette expertise peut être mobilisée dans un audit cybersécurité ou applicatif formalisé avec constats et livrables, un pentest lorsque l’objectif est de rechercher des failles exploitables, ou une mission de conseil pour agir sur la conception et les pratiques.
Quelles erreurs fragilisent le plus souvent la sécurité applicative ?
- faire de la sécurité uniquement avant la production ;
- confondre OWASP Top 10 et sécurité complète ;
- accumuler les scanners sans capacité de correction ;
- négliger logique métier et autorisations ;
- laisser secrets ou jetons dans code, logs ou pipelines ;
- ignorer dépendances et supply chain ;
- prioriser uniquement au CVSS ;
- sécuriser l’application mais oublier le pipeline qui la construit.
Que faire après avoir identifié une faiblesse applicative ?
| Constat | Suite pertinente |
|---|---|
| Faiblesse de conception ou d’architecture | Revoir le modèle de confiance, les exigences et la conception avec le conseil cybersécurité |
| Doute sur l’exploitabilité réelle | Faire valider le risque par un test de sécurité / pentest |
| Besoin d’une évaluation formelle et d’un plan d’actions | Structurer un audit cybersécurité |
| Problème récurrent dans le SDLC | Agir sur les causes racines : exigences, pratiques de développement, CI/CD, dépendances et gouvernance |
Ce que cette expertise ne signifie pas
Connaître OWASP, SAST, DAST, SCA ou DevSecOps ne signifie pas recommander tous les outils disponibles ni promettre une application sans vulnérabilité. La bonne combinaison dépend de la stack, du cycle de livraison, des risques et de la capacité des équipes à exploiter les résultats.
Une expertise applicative reliée au risque et au business
Gérard Levicki intervient directement dans les missions Mobhitech avec une approche reliant applications, architecture, identités, données, risque, gouvernance et conséquences métier. Son parcours dans les métiers de la cybersécurité s’étend sur plus de 25 ans.
Autres domaines d’expertise
Systèmes · Réseau · Cloud · Données · Industrie & IoT
Questions fréquentes
Quelle différence entre AppSec et pentest ?
L’AppSec couvre le cycle de conception, développement, livraison et exploitation. Le pentest cherche des failles exploitables dans un périmètre et à un moment définis.
L’OWASP Top 10 suffit-il ?
Non. C’est un document de sensibilisation, pas un standard exhaustif de vérification.
Quelle différence entre SAST et DAST ?
Le SAST analyse le code ou une représentation statique ; le DAST observe une application en fonctionnement depuis l’extérieur.
Un WAF remplace-t-il une correction de code ?
Non. Il peut compléter ou compenser temporairement certains contrôles, mais ne corrige pas la cause applicative.
Pourquoi les API nécessitent-elles des contrôles spécifiques ?
Parce qu’elles exposent directement objets, fonctions et flux métier ; l’autorisation doit être vérifiée au bon niveau pour chaque opération sensible.
DevSecOps signifie-t-il automatiser tous les contrôles ?
Non. L’automatisation est utile pour certains contrôles répétables, mais conception, logique métier, arbitrage et analyse humaine restent nécessaires.
OWASP Top 10 et ASVS sont-ils interchangeables ?
Non. Le Top 10 est principalement un document de sensibilisation aux catégories de risques ; ASVS fournit des exigences de vérification plus structurées pour la sécurité applicative.
Quand faut-il réaliser un pentest applicatif ?
Lorsque l’objectif est d’évaluer l’exploitabilité réelle d’un périmètre défini, notamment avant une mise en production importante, après une évolution majeure ou sur une application à fort enjeu. Il ne remplace pas les contrôles continus du cycle de développement.
Votre sécurité applicative intervient-elle assez tôt ?
Le diagnostic initial permet de clarifier architecture, API, dépendances, pipeline et pratiques de développement avant d’ajouter de nouveaux scanners.
Le bon objectif : détecter tôt ce qui peut l’être, et réserver l’analyse humaine aux risques que l’automatisation comprend mal.