Qu’est-ce que l’OWASP ? Introduction aux 10 principales vulnérabilités et aux principaux risques selon l’OWASP

L’OWASP est une fondation à but non lucratif qui œuvre à l’amélioration de la sécurité des logiciels.

OWASP (Open Worldwide Application Security Project) est une communauté ouverte qui aide les organisations à concevoir, développer, acquérir, exploiter et maintenir des logiciels afin de créer des applications sécurisées et fiables. Ses programmes comprennent des projets de logiciels open source pilotés par la communauté ainsi que des conférences locales et internationales, avec la participation de centaines de sections dans le monde entier, regroupant des dizaines de milliers de membres.

Pourquoi l’OWASP est-elle importante ?

L’OWASP joue un rôle crucial dans la sensibilisation aux risques liés à la sécurité des applications web et fournit des ressources, des outils, de la documentation et des bonnes pratiques utiles pour relever les défis croissants dans ce domaine. L’OWASP aide les développeurs, les professionnels de la sécurité et les organisations à comprendre les menaces potentielles et à adopter les bonnes pratiques en matière de sécurité.

L’OWASP tient à jour une liste des dix risques de sécurité les plus critiques pour les applications web, ainsi que des processus, procédures et contrôles efficaces permettant de les atténuer. L’OWASP fournit également une liste des 10 principaux risques de sécurité des API afin de sensibiliser les personnes impliquées dans le développement et la maintenance des API et de mieux faire connaître les failles de sécurité courantes des API.

La communauté OWASP encourage les particuliers et les organisations à contribuer à ses projets et à ses ressources. Cette approche collaborative, fondée sur des enquêtes, permet à la communauté de tirer parti des connaissances et de l’expertise collectives de ses membres afin de proposer des ressources complètes et à jour.

Il existe des risques de sécurité communs aux applications et aux API qu’il convient de prendre en compte lors de la mise en œuvre de solutions de sécurité. Par exemple :

  • Contrôles d’authentification et d’autorisation insuffisants
  • Mauvaise configuration
  • Abus de la logique métier (bourrage d’identifiants, prise de contrôle de compte)
  • Falsification de requête côté serveur (SSRF).

Les 10 principaux risques de sécurité des applications selon l’OWASP

Le Top 10 de l’OWASP est une liste largement reconnue des risques de sécurité les plus critiques pour les applications web. Elle sert de guide aux développeurs, aux professionnels de la sécurité et aux organisations pour les aider à hiérarchiser leurs efforts visant à identifier et à atténuer les risques critiques liés à la sécurité des applications web.

La présence d’un risque dans la liste OWASP Top 10 n’indique pas nécessairement sa prévalence ou sa gravité dans toutes les applications web, et les dix principaux risques ne sont classés ni dans un ordre particulier ni par priorité.

Les 10 principaux risques de l’OWASP pour la sécurité des applications web en 2021 sont les suivants :

  1. Contrôles d’accès défaillants. Cette vulnérabilité survient lorsque l’application insuffisante des contrôles d’accès et des autorisations permet aux attaquants d’accéder à des fonctionnalités ou à des données sans y être autorisés. Elle peut être due à des références directes non sécurisées à des objets (IDOR), qui peuvent se produire lorsqu’une application ne valide ni n’autorise les données saisies par l’utilisateur lorsqu’elles servent de référence directe à un objet interne. Elle peut également résulter de l’absence de contrôles d’accès au niveau des fonctions, lorsque l’application ne vérifie les contrôles d’accès qu’à l’étape initiale d’authentification ou d’autorisation, sans les appliquer systématiquement à l’ensemble de ses fonctions ou opérations. Un pare-feu d’applications web (WAF) peut contribuer à protéger contre ces attaques en surveillant et en appliquant les contrôles d’accès afin d’empêcher tout accès non autorisé à des objets ou ressources sensibles.
  2. Défaillances cryptographiques. Ce risque résulte d’une protection insuffisante des données sensibles en transit et au repos. Les défaillances cryptographiques peuvent entraîner des violations de données, des accès non autorisés à des informations confidentielles et le non-respect des réglementations relatives à la confidentialité des données, telles que le règlement général sur la protection des données (RGPD) de l’UE, ainsi que des normes financières comme la norme de sécurité des données de l’industrie des cartes de paiement (PCI DSS). Ces défaillances peuvent résulter d’un stockage cryptographique non sécurisé, du stockage de données en texte clair ou d’une gestion non sécurisée des clés. Le risque peut également découler de fuites d’informations, qui peuvent provenir d’une génération peu robuste des clés ou des nombres aléatoires, ou encore de failles dans les protocoles cryptographiques.
  3. Attaques par injection. Les failles d’injection se produisent lorsque des attaquants insèrent des données non fiables ou malveillantes dans des langages de commande ou de requête, ou lorsque les données fournies par l’utilisateur ne sont pas validées, filtrées ou assainies par l’application, entraînant l’exécution involontaire de commandes malveillantes. Cette catégorie de risques englobe les injections NoSQL, de commandes du système d’exploitation, LDAP et les attaques par injection SQL, ainsi que le Cross-Site Scripting (XSS), qui consiste pour les attaquants à injecter des scripts malveillants côté client, tels que du JavaScript, dans des pages web consultées par d’autres utilisateurs. Cela peut entraîner le vol d’informations sensibles, telles que des identifiants de connexion, des données personnelles ou des cookies de session. Un WAF peut contribuer à détecter et à bloquer les tentatives d’injection de code malveillant en inspectant et en filtrant les requêtes entrantes, notamment les attaques XSS réfléchies (non persistantes), stockées (persistantes) et basées sur le modèle objet de document (DOM), afin de les empêcher d’atteindre l’application.
  4. Conception non sécurisée. Il s’agit d’une vaste catégorie regroupant différentes faiblesses, qui se manifestent par des contrôles de sécurité absents ou inefficaces et par des défauts d’architecture. Ces défauts peuvent survenir lorsqu’une application est conçue pour s’appuyer sur des processus intrinsèquement non sécurisés, ou lorsque les contrôles de sécurité nécessaires pour se protéger contre des attaques spécifiques ne sont pas mis en œuvre. Ces risques peuvent être réduits grâce à un recours accru à la modélisation des menaces, aux modèles de conception sécurisée et aux architectures de référence.
  5. Mauvaises configurations de sécurité. Un renforcement insuffisant de la sécurité des frameworks d’applications web, des plateformes, des serveurs ou des contrôles de sécurité peut entraîner des accès non autorisés, l’exposition d’informations sensibles ou d’autres vulnérabilités de sécurité. Les risques liés aux mauvaises configurations de sécurité peuvent également résulter d’autorisations mal configurées sur les services cloud, ou de l’installation ou de l’activation de fonctionnalités inutiles, telles que des ports, services, comptes ou privilèges inutilisés. Les mauvaises configurations des applications web comme des API constituent un risque important, car les principaux fournisseurs de services cloud appliquent des niveaux de sécurité par défaut variables, tandis que les architectures sont de plus en plus décentralisées et réparties au sein d’un environnement multicloud.
  6. Composants vulnérables et obsolètes. L’utilisation de composants obsolètes, non corrigés ou vulnérables, tels que des bibliothèques, des frameworks ou des plug-ins, peut exposer les applications à des failles de sécurité connues, augmentant ainsi le risque d’exploitation. Ces risques peuvent découler de logiciels qui ne sont plus pris en charge ou qui ne sont pas à jour, notamment le système d’exploitation (OS), le serveur web/d’applications, le système de gestion de base de données (SGBD), les applications, les API, ainsi que l’ensemble des composants, environnements d’exécution et bibliothèques. Ces menaces sont particulièrement dangereuses lorsque les organisations ne disposent pas de mesures rapides et fondées sur les risques pour corriger ou mettre à niveau la plateforme sous-jacente, les frameworks et les dépendances d’un système, laissant celui-ci inutilement exposé à des risques connus pendant plusieurs jours, voire plusieurs semaines. La complexité des chaînes d’approvisionnement logicielles et l’automatisation au moyen de pipelines CI/CD augmentent le risque d’introduire des logiciels vulnérables dans la pile informatique. Un WAF peut constituer une mesure provisoire essentielle pour se prémunir contre l’exploitation des vulnérabilités.
  7. Défaillances d’identification et d’authentification. Les faiblesses en matière d’authentification, d’identité et de gestion des sessions peuvent permettre aux attaquants de compromettre des comptes utilisateurs, des mots de passe ou des jetons de session, ou encore d’exploiter une gestion non sécurisée des sessions. Les défaillances dans ces domaines peuvent permettre des attaques automatisées telles que le bourrage d’identifiants. Les vulnérabilités liées aux mots de passe constituent la source la plus courante de ces risques, car de nombreuses personnes réutilisent leurs mots de passe ou utilisent des mots de passe par défaut, faibles ou bien connus. Les problèmes de gestion des sessions peuvent également entraîner des attaques liées à l’authentification, en particulier si les sessions utilisateur ou les jetons d’authentification ne sont pas correctement invalidés lors de la déconnexion ou après une période d’inactivité. Les attaques qui contournent les contrôles d’authentification représentent un risque croissant pour les applications web comme pour les API, comme l’expliquent les projets OWASP Top 10, API Security Top 10 et Automated Threats.
  8. Défaillances de l’intégrité des logiciels et des données. Ces vulnérabilités résultent d’un code applicatif et d’une infrastructure qui ne protègent pas contre les atteintes à l’intégrité des données et des logiciels. Elles peuvent survenir lorsqu’une application s’appuie sur des plug-ins, des bibliothèques ou des modules provenant de sources, de dépôts ou de CDN non fiables. Elles peuvent également se produire lors de mises à jour logicielles, de modifications de données sensibles ou de changements apportés au pipeline CI/CD qui ne sont pas validés. Des attaquants peuvent potentiellement téléverser leurs propres mises à jour afin qu’elles soient distribuées et exécutées sur toutes les installations. La désérialisation non sécurisée, qui se produit lorsqu’une application reçoit des données sérialisées non fiables et les utilise sans s’assurer de leur validité, relève également de cette catégorie de risques et permet des attaques telles que l’exécution de code à distance (RCE) et l’élévation de privilèges.
  9. Défaillances de la journalisation et de la surveillance de la sécurité. Une journalisation et une surveillance inadéquates peuvent entraver la détection et le traitement rapides des incidents de sécurité, ce qui complique l’identification et l’atténuation des attaques ou des activités non autorisées. Cela peut signifier que les événements auditables, tels que les connexions, les échecs de connexion et les transactions de grande valeur, ne sont ni identifiés ni consignés, et que les applications ne détectent pas les attaques en cours en temps réel.
  10. Falsification de requête côté serveur (SSRF). Ces vulnérabilités surviennent lorsqu’une application ne valide pas ou ne nettoie pas une URL saisie par un utilisateur avant de récupérer des données à partir d’une ressource distante. Les attaquants peuvent exploiter ces failles pour contraindre les applications à accéder à des destinations web malveillantes, même si elles sont protégées par un pare-feu ou un autre dispositif de défense. Ces attaques peuvent également se produire si la ressource ciblée entretient des relations de confiance avec d’autres systèmes, tels qu’un service de métadonnées cloud ou des API backend, ce qui permet à un attaquant d’envoyer des requêtes à ces services de confiance afin d’extraire des informations sensibles ou d’effectuer des actions non autorisées. Pour contribuer à atténuer les risques de SSRF, concevez les systèmes selon le principe du moindre privilège et utilisez un WAF afin de définir explicitement les paramètres de l’identificateur uniforme de ressource (URI) dans votre politique de sécurité et d’autoriser ou d’interdire les hôtes qui peuvent y accéder.

Le Top 10 OWASP 2021 présente de nouvelles catégories et des changements de dénomination par rapport au précédent Top 10 OWASP de 2017. Ces changements comprennent l’intégration de la menace de 2017 « Entités externes XML » (XXE) dans la catégorie « Mauvaise configuration de la sécurité » de 2021, ainsi que l’ajout du « Cross-Site Scripting » (XSS) de 2017 à la catégorie « Injection » de 2021. Le risque de 2017 « Désérialisation non sécurisée » fait désormais partie de la catégorie « Défaillances de l’intégrité des logiciels et des données » de 2021.

Autres publications de l’OWASP

OWASP soutient actuellement 293 projets, dont les 16 projets phares OWASP suivants, qui apportent une valeur stratégique à OWASP et à la sécurité des applications dans son ensemble.

  1. Projet OWASP Amass, qui a développé un outil permettant aux professionnels de la sécurité de l’information de cartographier les surfaces d’attaque d’un réseau et de découvrir les actifs externes à l’aide de techniques de collecte d’informations en sources ouvertes et de reconnaissance active.
  2. Projet OWASP de norme de vérification de la sécurité des applications (ASVS), qui fournit une base pour tester les contrôles techniques de sécurité des applications web et propose également aux développeurs une liste d’exigences pour un développement sécurisé.
  3. OWASP Cheat Sheet Series, qui a été créée afin de proposer aux développeurs et aux spécialistes de la sécurité des applications un ensemble de guides de bonnes pratiques faciles à suivre. Plutôt que de présenter des bonnes pratiques détaillées, mais peu réalistes pour de nombreux développeurs et de nombreuses applications, ces guides proposent des pratiques que la majorité des développeurs pourront réellement mettre en œuvre.
  4. OWASP CycloneDX, une norme complète de nomenclature (BOM) qui offre des fonctionnalités avancées de gestion de la chaîne d’approvisionnement afin de réduire les cyberrisques.
  5. OWASP Defectdojo, qui est un outil open source de gestion des vulnérabilités rationalisant le processus de test grâce à des fonctionnalités de création de modèles, de génération de rapports et de métriques, ainsi qu’à des outils de référence en libre-service.
  6. OWASP Dependency-Check, qui est un outil d’analyse de la composition logicielle (SCA) visant à détecter les vulnérabilités rendues publiques présentes dans les dépendances d’un projet. Pour ce faire, il détermine s’il existe un identifiant CPE (Common Platform Enumeration) pour une dépendance donnée. Si un tel identifiant est trouvé, il génère un rapport contenant des liens vers les entrées associées de la base Common Vulnerabilities and Exposures (CVE).
  7. OWASP Dependency-Track, une plateforme intelligente d’analyse des composants qui permet aux organisations d’identifier et de réduire les risques liés à la chaîne d’approvisionnement logicielle.
  8. OWASP Juice Shop, qui est sans doute l’application web non sécurisée la plus moderne et la plus sophistiquée, utilisée dans le cadre de formations à la sécurité, de démonstrations de sensibilisation, de compétitions de type « capture du drapeau » et comme cobaye pour les outils de sécurité. Juice Shop couvre les vulnérabilités de l’ensemble de l’OWASP Top Ten ainsi que de nombreuses autres failles de sécurité présentes dans des applications réelles.
  9. OWASP Mobile Application Security, qui est le projet phare de l’OWASP visant à fournir une norme de sécurité pour les applications mobiles. Il comprend également un guide de test complet couvrant les processus, les techniques et les outils utilisés lors des tests de sécurité des applications mobiles, ainsi qu’un ensemble exhaustif de cas de test permettant aux testeurs de fournir des résultats cohérents et complets.
  10. OWASP ModSecurity Core Rule Set, qui est un ensemble de règles génériques de détection des attaques destiné à être utilisé avec ModSecurity ou des pare-feu d’applications web compatibles. Le CRS vise à protéger les applications web contre un large éventail d’attaques, notamment celles du Top 10 de l’OWASP, tout en réduisant au minimum les fausses alertes.
  11. Projet OWTF de l’OWASP (Offensive Web Testing Framework), un framework open source de test d’intrusion pour applications web, conçu pour évaluer et tester leur sécurité. L’objectif principal d’OWTF est d’aider les professionnels de la sécurité et les testeurs d’intrusion à automatiser la recherche de vulnérabilités dans les applications web, afin de leur permettre d’identifier et de corriger plus efficacement les failles de sécurité.
  12. OWASP SAMM (modèle de maturité de l’assurance logicielle), qui fournit une méthode efficace et mesurable pour analyser et améliorer la modélisation du cycle de vie du développement sécurisé. SAMM couvre l’ensemble du cycle de vie des logiciels et est indépendant des technologies et des processus.
  13. OWASP Security Knowledge Framework, une application web qui présente les principes du codage sécurisé dans plusieurs langages de programmation et vise à aider les développeurs à créer des applications sécurisées dès leur conception.
  14. OWASP Security Shepherd, qui est une plateforme de formation à la sécurité des applications web et mobiles conçue pour développer et améliorer la sensibilisation à la sécurité auprès de publics aux niveaux de compétence variés. Ce projet vise à permettre aux débutants en AppSec comme aux ingénieurs expérimentés de perfectionner leurs compétences en matière de tests d’intrusion jusqu’à atteindre un niveau d’expertise en sécurité.
  15. Guide OWASP des tests de sécurité Web, un guide complet sur les tests de sécurité des applications et services Web. Il fournit un cadre de bonnes pratiques utilisé par les testeurs d’intrusion et les organisations du monde entier.
  16. OWASP ZAP, un outil de test de la sécurité des applications web conçu pour aider les professionnels de la sécurité et les développeurs à identifier et à corriger les vulnérabilités de sécurité des applications web pendant les phases de développement et de test.

Plaidoyer en faveur de contrôles de sécurité intégrés

L’OWASP joue un rôle essentiel dans les efforts continus visant à améliorer la sécurité des logiciels, en sensibilisant aux risques liés à la sécurité des applications web et en encourageant l’adoption de bonnes pratiques auprès des développeurs, des professionnels de la sécurité et des organisations. En tant que projet porté par la communauté, l’OWASP réunit des experts et des passionnés afin qu’ils collaborent à l’amélioration de la sécurité des applications web, contribuant ainsi à instaurer une culture axée sur la sécurité qui favorise des pratiques de codage sécurisé et des méthodologies de développement sûres.

En outre, l’OWASP propose une multitude d’outils, de documents et de ressources gratuits et open source qui permettent aux organisations de renforcer leur niveau de sécurité, notamment l’OWASP Top 10, l’OWASP API Security Top 10 et l’Automated Threats to Web Applications Project. Parmi les autres initiatives de l’OWASP figurent :

  • L’outil de signalement des bugs de l’OWASP (BLT), qui permet aux internautes de signaler tout problème rencontré en ligne et de contribuer à améliorer la sécurité d’Internet en encourageant la divulgation responsable et en favorisant un environnement en ligne plus sûr.
  • OWASP CSRFGuard, une bibliothèque qui protège les applications web contre les attaques de falsification de requête intersites (CSRF).
  • Plusieurs dépôts sur GitHub, notamment la série de fiches pratiques, qui propose une sélection concise d’informations à forte valeur ajoutée sur des sujets spécifiques liés à la sécurité des applications.
  • Top 10 OWASP des risques de sécurité côté client, une compilation de vulnérabilités spécifiques courantes dans les applications exécutées côté navigateur.
  • Top 10 de l’OWASP sur la sécurité des applications cloud natives, un projet encore en cours de développement qui fournira des informations sur les principaux risques de sécurité liés aux applications cloud natives, les défis associés et les moyens de les surmonter.

Impliquez-vous en devenant membre de l’OWASP ou en participant à une réunion d’une section locale, gratuite et ouverte aux membres comme aux non-membres. En outre, l’OWASP organise chaque année près d’une douzaine d’événements mondiaux et régionaux, qui constituent d’excellentes occasions de développer vos compétences professionnelles, d’élargir votre réseau et de découvrir les nouvelles tendances du secteur.

F5 répond aux risques de sécurité de l’OWASP

F5 soutient l’OWASP Foundation et son engagement en faveur de l’amélioration de la sécurité des logiciels et de la sensibilisation aux risques et vulnérabilités liés à la sécurité des applications web. Les solutions F5 Web Application Firewall bloquent et atténuent un large éventail de risques issus de l’OWASP Top 10.

Les solutions WAF de F5 combinent des protections basées sur les signatures et les comportements, notamment des renseignements sur les menaces provenant de F5 Labs, ainsi qu’une sécurité basée sur le machine learning, afin de suivre l’évolution des menaces émergentes. Elles réduisent la charge et la complexité liées à la sécurisation cohérente des applications dans les environnements cloud, sur site et en périphérie, tout en simplifiant la gestion grâce à une infrastructure SaaS centralisée. Les WAF de F5 simplifient également la sécurité des applications en intégrant des protections aux frameworks de développement et aux pipelines CI/CD, avec des fonctionnalités de sécurité essentielles, une orchestration centralisée et une supervision depuis un tableau de bord unique offrant une vue à 360 degrés des performances des applications et des événements de sécurité dans l’ensemble des applications distribuées.

F5 répond également aux risques identifiés dans le Top 10 de l’OWASP sur la sécurité des API grâce à des solutions qui protègent contre l’élargissement de la surface d’attaque et les menaces émergentes à mesure que les applications évoluent et que les déploiements d’API se multiplient. Les solutions F5 de protection des applications web et des API (WAAP) protègent l’ensemble de la surface d’attaque des applications modernes grâce à des protections complètes comprenant un WAF, la sécurité des API, l’atténuation des attaques DDoS des couches 3 à 7 et une défense contre les bots, les menaces automatisées et la fraude. La plateforme distribuée permet de déployer facilement des politiques cohérentes et d’étendre la sécurité à l’ensemble de votre parc d’applications et d’API, quel que soit leur environnement d’hébergement, tout en intégrant la sécurité au cycle de vie des API et aux écosystèmes plus larges.

F5 propose également des solutions pour faire face aux risques décrits dans le projet de l’OWASP sur les menaces automatisées visant les applications web.F5 Distributed Cloud Bot Defense empêche la fraude et les abus susceptibles de contourner les solutions existantes de gestion des bots, et fournit une surveillance et des renseignements en temps réel, ainsi qu’une analyse rétrospective basée sur le machine learning, afin de protéger les organisations contre les attaques automatisées, sans ajouter de contraintes pour les utilisateurs ni perturber l’expérience client. Distributed Cloud Bot Defense reste efficace quelle que soit la manière dont les attaquants adaptent leurs outils, que les attaques passent des applications web aux API ou qu’elles tentent de contourner les défenses contre l’automatisation en falsifiant les données de télémétrie ou en faisant appel à des personnes pour résoudre les CAPTCHA.

F5 propose également une protection DDoS multiniveau pour une sécurité en ligne avancée, sous la forme d’un service d’atténuation managé fourni dans le cloud, qui détecte et atténue en temps réel les attaques à grande échelle ciblant le réseau, les protocoles et les applications. Ces mêmes protections sont également disponibles sous forme de solutions matérielles et logicielles sur site, ainsi que de solutions hybrides. F5 Distributed Cloud DDoS Mitigation protège contre les attaques volumétriques et propres aux applications visant les couches 3 et 4, ainsi que contre les attaques avancées visant la couche 7, avant qu’elles n’atteignent votre infrastructure réseau et vos applications.

Pour en savoir plus sur la manière dont les composants de la plateforme F5 ADSP protègent contre les risques de sécurité de l’OWASP, veuillez consulter les ressources suivantes :