OWASP Top 10 - Logo officiel de la guêpe

OWASP Top 10 (2021)

🛡️ OWASP Top 10 – 2021

Le OWASP Top 10 est le classement des risques de sécurité applicative les plus critiques.
Il sert de référence aux développeurs, pentesters et responsables sécurité.


A01: Broken Access Control

  • Définition : Les contrôles d’accès sont absents, mal implémentés ou contournables.
  • Mécanisme :
    • Contrôles uniquement côté client.
    • Références directes non sécurisées (/user?id=124).
    • Bypass de contrôles via paramètres cachés.
  • Exemples :
    • Accès à /admin sans être administrateur.
    • Téléchargement de fichiers appartenant à d’autres utilisateurs.
  • Impacts :
    • Exposition de données sensibles.
    • Escalade de privilèges.
  • Mitigation :
    • Vérifications côté serveur obligatoires.
    • Politiques d’accès centralisées.
    • Principe du moindre privilège.
    • Tests automatiques sur les autorisations.

A02: Cryptographic Failures

  • Définition : Mauvaise protection des données sensibles.
  • Mécanisme :
    • Stockage en clair.
    • Protocole faible (MD5, SHA1, SSLv3).
    • Mauvaise gestion des clés ou certificats.
  • Exemples :
    • Mots de passe stockés en MD5.
    • Site en HTTP intercepté (attaque Man-in-the-Middle).
    • Clés API dans un repo GitHub public.
  • Impacts :
    • Fuite d’identifiants, données médicales ou bancaires.
    • Responsabilité légale (RGPD, PCI DSS).
  • Mitigation :
    • TLS 1.2+ obligatoire (HSTS).
    • Hashage fort des mots de passe (bcrypt, Argon2).
    • Rotation et protection des clés.
    • Ne jamais stocker plus de données que nécessaire.

A03: Injection

  • Définition : L’application interprète les données utilisateur comme du code.
  • Mécanisme :
    • Entrées concaténées dans des requêtes.
    • Absence de validation/échappement.
  • Exemples :
    • SQL Injection :
      SELECT * FROM users WHERE name = ' ' OR '1'='1';
      
    • Command Injection :
      ping 8.8.8.8 && rm -rf /
    • LDAP Injection.
  • Impacts :
    • Fuite massive de données.
    • Exécution de commandes arbitraires.
    • Contrôle total de l’application.
  • Mitigation :
    • Requêtes préparées.
    • Validation stricte des entrées.
    • Principe “deny by default”.
    • WAF en complément.

A04: Insecure Design

  • Définition : Vulnérabilités liées à la conception de l’application.
  • Mécanisme :
    • Pas de threat modeling.
    • Règles métier insuffisantes.
    • Pas de limite d’utilisation des ressources.
  • Exemples :
    • API bancaire sans limite de virement journalier.
    • Application sans MFA prévue dès le design.
  • Impacts :
    • Attaques exploitables même avec du code “propre”.
    • Défauts structurels impossibles à corriger rapidement.
  • Mitigation :
    • Security by design.
    • Scénarios d’attaque dès la phase projet.
    • Revues d’architecture.
    • Défense en profondeur.

A05: Security Misconfiguration

  • Définition : Paramétrage non sécurisé ou défaut par défaut.
  • Mécanisme :
    • Services inutiles activés.
    • Erreurs trop verbeuses.
    • Ports ou consoles admin exposés.
  • Exemples :
    • Tomcat Manager accessible sans restriction.
    • Stack-trace affichée en production.
  • Impacts :
    • Attaques automatisées faciles.
    • Compromission rapide d’un serveur.
  • Mitigation :
    • Hardening des environnements.
    • Configurations standardisées (infrastructure as code).
    • Suppression des services inutiles.
    • Tests de configuration réguliers.

A06: Vulnerable and Outdated Components

  • Définition : Utilisation de composants tiers vulnérables ou non maintenus.
  • Mécanisme :
    • Dépendances obsolètes.
    • Libs open-source non mises à jour.
  • Exemples :
    • Faille Apache Struts → Equifax.
    • jQuery 1.x vulnérable à XSS.
  • Impacts :
    • Exploitation de failles connues publiques.
    • Chaîne de dépendances compromise.
  • Mitigation :
    • Inventaire des dépendances.
    • Outils SCA (OWASP Dependency-Check, Snyk).
    • Mises à jour régulières.
    • Suppression des dépendances inutiles.

A07: Identification and Authentication Failures

  • Définition : Failles dans l’authentification et gestion de session.
  • Mécanisme :
    • Sessions non sécurisées.
    • MFA absent.
    • Identifiants par défaut laissés.
  • Exemples :
    • Attaque brute force sans limite de tentatives.
    • JWT sans expiration.
    • Cookies sans HttpOnly ni Secure.
  • Impacts :
    • Compromission de comptes utilisateurs/admin.
    • Usurpation d’identité.
  • Mitigation :
    • MFA obligatoire.
    • Politique de mots de passe robustes.
    • Expiration/renouvellement des sessions.
    • Tokens signés et vérifiés.

A08: Software and Data Integrity Failures

  • Définition : Données ou code non protégés contre modification.
  • Mécanisme :
    • Dépendances non vérifiées.
    • CI/CD non sécurisé.
  • Exemples :
    • Dépendance npm compromise (event-stream).
    • Update non signée d’un logiciel.
  • Impacts :
    • Exécution de code malveillant.
    • Supply Chain Attack.
  • Mitigation :
    • Signatures numériques obligatoires.
    • CI/CD sécurisé avec contrôle d’intégrité.
    • Contrôle d’origine des dépendances.
    • Séparation des environnements.

A09: Security Logging and Monitoring Failures

  • Définition : Manque de surveillance et de journalisation efficace.
  • Mécanisme :
    • Absence de logs.
    • Logs insuffisants ou non surveillés.
  • Exemples :
    • Attaques brute force non détectées.
    • Absence d’alerte sur des accès critiques.
  • Impacts :
    • Détection tardive (voire inexistante) des attaques.
    • Investigation impossible.
  • Mitigation :
    • Centralisation des logs (ELK, Splunk).
    • SIEM avec alertes.
    • Tests de incident response.
    • Rétention des logs sécurisée.

A10: Server-Side Request Forgery (SSRF)

  • Définition : L’application récupère des ressources externes sans contrôle.
  • Mécanisme :
    • L’attaquant fournit une URL malveillante.
    • Le serveur fait la requête à sa place.
  • Exemples :
    • App qui va chercher http://localhost:8080/admin.
    • Accès aux métadonnées AWS via http://169.254.169.254/.
  • Impacts :
    • Accès non autorisé aux services internes.
    • Mouvement latéral dans le réseau.
  • Mitigation :
    • Whitelist des domaines.
    • Bloquer les plages IP internes.
    • Timeout stricts.
    • Filtrage DNS et proxy.

🚨 Synthèse

  • Le Top 10 OWASP est une base minimale pour toute organisation.
  • Il couvre 3 grands axes :
    1. Failles techniques (injection, SSRF, crypto).
    2. Failles humaines/organisationnelles (config, logs, design).
    3. Chaîne logicielle (dépendances, CI/CD, supply chain).
  • C’est une référence mondiale utilisée dans les normes (ISO, PCI DSS, etc.).

Schéma OWASP Top 10

2025-09-03 · Articles · 4 min
Illustration abstraite représentant les attaques applicatives

📲 Attaques Applicatives

Les attaques applicatives ciblent directement le code métier, les API et les frameworks. Découvrez les vecteurs classiques (injection, XSS, CSRF) et modernes (GraphQL, JWT, API abuse), ainsi que les meilleures pratiques de défense.

2025-08-28 · Articles · 17 min