Les OWASP Top 10 constituent la liste de référence la plus citée des risques de sécurité des applications web, publiée par l’Open Worldwide Application Security Project (OWASP) , une organisation à but non lucratif reconnue. Elle est rédigée pour les professionnels de la sécurité, mais les risques qu’elle décrit ont des conséquences directes pour l’entreprise : violations de données, interruptions de service, amendes et perte de confiance. Ce guide explique chaque catégorie en termes clairs afin que vous puissiez poser les bonnes questions sur vos propres applications.

OWASP révise la liste tous les quelques années à mesure que les schémas d’attaque évoluent. Les catégories ci-dessous reflètent la révision bien établie de 2021, qui reste la référence standard pour la plupart des équipes ; les risques sous-jacents demeurent stables même si leur classement change.

En bref

  • Les OWASP Top 10 sont la liste de référence du secteur des risques de sécurité les plus critiques pour les applications web
  • Les principales catégories concernent le contrôle d’accès, la cryptographie faible, les failles d’injection et les décisions de conception non sécurisées prises tôt
  • La plupart de ces risques se ramènent à quelques causes profondes : contrôles manquants, mauvaise configuration, composants obsolètes et surveillance insuffisante
  • Vous n’avez pas besoin d’être technicien pour tenir votre équipe ou votre prestataire responsable du traitement de chacun d’eux

1. Contrôle d’accès défaillant (Broken Access Control)

Ce que cela signifie : Les utilisateurs peuvent faire ou voir des choses auxquelles ils ne devraient pas avoir accès, par exemple consulter les données d’un autre client en modifiant un identifiant dans l’URL, ou atteindre une fonction d’administration sans être administrateur.

Pourquoi c’est important : C’est de manière constante l’un des risques les plus courants et les plus dommageables. Il conduit directement à l’exposition de données et à des actions non autorisées.

Demandez à votre équipe : Les autorisations sont-elles appliquées côté serveur pour chaque requête, et non simplement masquées dans l’interface ?

2. Défaillances cryptographiques (Cryptographic Failures)

Ce que cela signifie : Les données sensibles (mots de passe, informations de paiement, données personnelles) ne sont pas correctement protégées, par exemple non chiffrées en transit ou au repos, ou protégées par des algorithmes faibles ou obsolètes.

Pourquoi c’est important : Des données sensibles exposées déclenchent des violations et, au titre du RGPD, des amendes potentielles et une obligation de notification.

Demandez à votre équipe : Tout le trafic passe-t-il par HTTPS, et les données sensibles sont-elles chiffrées au repos avec des algorithmes modernes ?

3. Injection

Ce que cela signifie : Une entrée non fiable est traitée comme une commande, permettant à un attaquant de manipuler une base de données (SQL injection) ou d’exécuter des opérations non prévues. Le cross-site scripting (XSS) est inclus ici.

Pourquoi c’est important : L’injection peut exposer ou détruire des bases de données entières et détourner des sessions utilisateur.

Demandez à votre équipe : Utilisons-nous des requêtes paramétrées et validons-nous et encodons-nous toutes les entrées utilisateur ?

4. Conception non sécurisée (Insecure Design)

Ce que cela signifie : La faiblesse de sécurité réside dans la conception elle-même, et pas seulement dans le code, par exemple un processus de réinitialisation de mot de passe détournable, ou un paiement qui fait confiance à un prix envoyé par le navigateur.

Pourquoi c’est important : Les failles de conception ne peuvent pas être corrigées par un correctif après coup ; elles exigent de repenser la fonctionnalité. La sécurité doit être prise en compte dès le départ.

Demandez à votre équipe : Modélisons-nous les menaces des fonctionnalités importantes avant de les développer ?

5. Mauvaise configuration de sécurité (Security Misconfiguration)

Ce que cela signifie : Paramètres par défaut non sécurisés, fonctionnalités inutiles laissées activées, messages d’erreur trop détaillés, ou en-têtes de sécurité manquants.

Pourquoi c’est important : La mauvaise configuration est extrêmement courante et souvent triviale à repérer et exploiter pour les attaquants.

Demandez à votre équipe : Les comptes par défaut sont-ils supprimés, les fonctionnalités inutilisées désactivées et les en-têtes de sécurité en place ?

6. Composants vulnérables et obsolètes (Vulnerable and Outdated Components)

Ce que cela signifie : L’application repose sur des bibliothèques, frameworks ou plugins tiers présentant des vulnérabilités connues qui n’ont pas été mis à jour.

Pourquoi c’est important : Les attaquants recherchent à grande échelle les composants vulnérables connus. De nombreuses violations majeures remontent à une dépendance non corrigée.

Demandez à votre équipe : Suivons-nous nos dépendances et les mettons-nous à jour rapidement lorsque des vulnérabilités sont divulguées ?

7. Défaillances d’identification et d’authentification (Identification and Authentication Failures)

Ce que cela signifie : Systèmes de connexion faibles : politiques de mot de passe médiocres, aucune protection contre la force brute, gestion de session faible, ou absence d’authentification multifacteur.

Pourquoi c’est important : Les comptes compromis sont une voie directe vers les données et les fonctionnalités.

Demandez à votre équipe : Proposons-nous l’authentification multifacteur (MFA) et protégeons-nous contre le credential stuffing et la force brute ?

8. Défaillances d’intégrité des logiciels et des données (Software and Data Integrity Failures)

Ce que cela signifie : Faire confiance à du code, des mises à jour ou des données provenant de sources non vérifiées, par exemple un mécanisme de mise à jour logicielle non sécurisé ou un pipeline de build compromis (un risque lié à la chaîne d’approvisionnement).

Pourquoi c’est important : Les attaques de la chaîne d’approvisionnement se multiplient et peuvent compromettre de nombreuses victimes à la fois via un seul canal de confiance.

Demandez à votre équipe : Vérifions-nous l’intégrité des mises à jour et des dépendances et sécurisons-nous notre pipeline de build et de déploiement ?

9. Défaillances de journalisation et de surveillance de sécurité (Security Logging and Monitoring Failures)

Ce que cela signifie : Ne pas enregistrer les événements de sécurité, ou ne pas les surveiller, de sorte que les attaques passent inaperçues pendant de longues périodes.

Pourquoi c’est important : On ne peut pas réagir à ce que l’on ne voit pas. Une surveillance médiocre explique pourquoi les violations restent souvent indétectées pendant des mois.

Demandez à votre équipe : Journalisons-nous les événements de sécurité et déclenchons-nous des alertes en cas d’activité suspecte ?

10. Falsification de requête côté serveur (SSRF)

Ce que cela signifie : Un attaquant amène le serveur à effectuer des requêtes vers des systèmes qu’il ne devrait pas atteindre, atteignant potentiellement des services internes qui ne sont pas censés être publics.

Pourquoi c’est important : Le SSRF peut exposer l’infrastructure interne et les métadonnées du cloud, et a figuré dans des violations importantes.

Demandez à votre équipe : Validons-nous et restreignons-nous les destinations que notre serveur est autorisé à appeler ?

Points clés à retenir

  • Les OWASP Top 10 sont la référence standard pour les risques de sécurité des applications web ; la plupart des points se ramènent à des contrôles manquants, une mauvaise configuration, des composants obsolètes et une surveillance faible.
  • Le contrôle d’accès, la cryptographie, l’injection et la conception non sécurisée sont les catégories à plus fort impact.
  • Vous n’avez pas besoin d’être technicien pour tenir votre équipe ou votre prestataire responsable de chaque risque ; les questions ci-dessus sont un bon point de départ.
  • Le moyen le plus fiable de connaître votre situation est un test indépendant.

Testez votre site contre les OWASP Top 10

Les questions ci-dessus ouvrent la conversation ; un test professionnel apporte la réponse. Les tests de sécurité applicative combinent analyse statique du code, tests dynamiques à l’exécution, audit des dépendances et de la chaîne d’approvisionnement, ainsi qu’une revue de l’authentification et de la cryptographie afin de détecter ces risques dans votre application réelle, avec des conclusions notées par niveau de risque et des recommandations de correction. Pour une vue plus large de la sécurisation d’un site en production, consultez le guide d’audit de sécurité de site web pour les entreprises britanniques .

Foire aux questions (FAQ)

Qu’est-ce que les OWASP Top 10 ? C’est une liste régulièrement mise à jour des dix risques de sécurité les plus critiques pour les applications web, publiée par l’Open Worldwide Application Security Project (OWASP). C’est la référence standard du secteur pour prioriser le travail de sécurité applicative.

Les OWASP Top 10 sont-ils un standard de sécurité complet ? Non. C’est un document de sensibilisation et de priorisation couvrant les risques les plus critiques, et non une liste de contrôle exhaustive. Utilisez-le comme point de départ, en complément de tests plus approfondis et de pratiques de développement sécurisé.

À quelle fréquence les OWASP Top 10 sont-ils mis à jour ? OWASP les révise tous les quelques années à mesure que les données et les schémas d’attaque évoluent. Les catégories évoluent et sont reclassées, mais les risques sous-jacents restent globalement stables, de sorte que les concepts demeurent pertinents entre les révisions.

Quel risque OWASP est le plus dangereux ? Cela varie selon l’application, mais le contrôle d’accès défaillant et l’injection ont historiquement figuré parmi les plus courants et les plus dommageables. La bonne priorité pour vous dépend de la façon dont votre application spécifique est conçue et exposée.

Comment savoir si mon application est concernée ? Le seul moyen fiable est le test : analyse statique, tests dynamiques et audit des dépendances par rapport à votre code réel et à votre application en cours d’exécution. Un test professionnel de sécurité applicative associe vos risques à ces catégories avec des correctifs priorisés.