Qu’est-ce que l’OWASP ? Présentation du top 10 des vulnérabilités et des risques de l’OWASP

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

L’OWASP (Open Worldwide Application Security Project) est une communauté ouverte qui se consacre à donner les moyens aux entreprises de concevoir, de développer, d’acquérir, d’exploiter et de maintenir des logiciels pour des applications sécurisées de confiance. Ses programmes comprennent des projets de logiciels libres menés par la population civile ainsi que des conférences locales et mondiales, et impliquent des centaines de groupes dans le monde entier et plusieurs dizaines de milliers de membres.

Pourquoi l’OWASP est-il important ?

L’OWASP joue un rôle crucial dans la sensibilisation aux risques de sécurité des applications web et fournit des ressources, des outils, de la documentation et des bonnes pratiques très utiles pour relever les défis croissants de la sécurité des applications web. L’OWASP aide les développeurs, les professionnels de la sécurité et les entreprises à comprendre les menaces potentielles et à adopter les meilleures pratiques 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 pour atténuer ces risques. L’OWASP communique également la liste des dix principaux risques de sécurité pour les API pour informer les personnes impliquées dans le développement et la maintenance des API et les sensibiliser aux faiblesses de sécurité courantes des API.

La communauté de l’OWASP encourage individus et entreprises à contribuer à ses projets et ressources. Cette approche collaborative et axée sur des enquêtes permet à la communauté d’exploiter les connaissances et l’expertise collective de ses membres, ce qui se traduit par des ressources complètes et à jour.

Il existe des risques de sécurité communs aux applications et aux API qui doivent être pris en compte lors de la mise en œuvre de solutions de sécurité. Par exemple : 

  • Contrôles d’authentification/d’autorisation faibles
  • Mauvaise configuration
  • Abus de logique métier (credential stuffing, prise de contrôle de compte)
  • Server-Side Request Forgery (SSRF).

 

Le top 10 des risques de sécurité pour les applications de l’OWASP

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

La présence d’un risque sur la liste Top 10 de l’OWASP n’indique pas nécessairement sa prévalence ou sa gravité dans toutes les applications web, et le Top 10 n’est pas classé dans un ordre particulier ou par priorité.  

Pour 2021, le Top 10 de l’OWASP pour les risques de sécurité des applications web est le suivant :

  1. Contrôles d’accès défaillants. Cette vulnérabilité se produit lorsque l’application de contrôles d’accès et d’autorisations insuffisants permet aux attaquants d’accéder à des fonctionnalités ou à des données non autorisées. Cela peut être causé par des références d’objet directes non sécurisées (IDOR), qui peuvent survenir lorsqu’une application ne parvient pas à valider ou à autoriser une entrée utilisateur utilisée comme référence directe à un objet interne. Cela peut également se produire en raison de contrôles d’accès manquants au niveau des fonctions, lorsque l’application ne valide les contrôles d’accès qu’à l’étape d’authentification ou d’autorisation initiale, mais n’applique pas systématiquement ces contrôles tout au long des fonctions ou des opérations de l’application. Un pare-feu d’application web (WAF) peut protéger contre ces attaques en surveillant et en appliquant des contrôles d’accès qui empêchent tout accès non autorisé à des objets ou des ressources sensibles.

  2. Défaillances cryptographiques. Ce risque est dû à une protection insuffisante des données sensibles pendant le transit et au repos. Les défaillances cryptographiques peuvent entraîner des violations de données, un accès non autorisé à des informations confidentielles et le non-respect des réglementations en matière de confidentialité des données, telles que le règlement général sur la protection des données (RGPD) de l’UE et des normes financières telles que les normes de sécurité des données PCI (PCI DSS). Ces défaillances peuvent résulter d’un stockage cryptographique non sécurisé, d’un stockage de données en texte brut ou d’une gestion de clés non sécurisée. Le risque peut également provenir de fuites d’informations, qui peuvent provenir de la génération de clés faibles ou de 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 hostiles 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 désinfectées par l’application, ce qui entraîne l’exécution involontaire de commandes malveillantes. Cette catégorie de risque couvre les attaques par injection NoSQL, de commandes du système d’exploitation, LDAP et SQL, ainsi que le cross-site scripting (XSS), dans lequel les attaquants injectent des scripts malveillants côté client, tels que JavaScript, dans des pages web consultées par d’autres utilisateurs. Cela peut entraîner le vol d’informations sensibles comme les identifiants de connexion, les données personnelles ou les cookies de session. Un WAF peut aider à détecter et à bloquer les tentatives d’injection de code malveillant en inspectant et en filtrant les demandes entrantes,  y compris les XSS réfléchis (non persistants), stockés (persistants) et basés sur un modèle d’objets de document (DOM), les empêchant d’atteindre l’application.
  4. Conception non sécurisée. Il s’agit d’une large catégorie représentant différentes faiblesses, exprimées comme des contrôles de sécurité manquants ou inefficaces, ou des failles architecturales. Ces failles peuvent se produire 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 défendre contre des attaques spécifiques ne sont pas mis en œuvre. Ces risques peuvent être réduits avec l’utilisation accrue de la modélisation des menaces, de modèles de conception sécurisés et d’architectures de référence.  
  5. Mauvaises configurations de sécurité. Un manque de renforcement de la sécurité dans les cadres applicatifs web, les plateformes, les serveurs ou les contrôles de sécurité peut entraîner un accès non autorisé, l’exposition d’informations sensibles ou d’autres vulnérabilités de sécurité. Les risques liés à des erreurs de configuration de la sécurité peuvent également provenir 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. Une mauvaise configuration des applications web et des API constitue un risque important, car les principaux fournisseurs de cloud ont des postures de sécurité par défaut variables et l’architecture est de plus en plus décentralisée et distribuée dans un tissu multi-cloud.    
  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, ce qui augmente le risque d’exploitation de vulnérabilité. Ces risques peuvent résulter de logiciels non pris en charge ou obsolètes, comme le système d’exploitation (SE), le serveur web/d’applications, le système de gestion de base de données (DBMS), les applications, les API et tous les composants, environnements d’exécution et bibliothèques. Ces menaces sont particulièrement dangereuses lorsque les entreprises ne disposent pas de mesures opportunes et basées sur les risques pour réparer ou mettre à niveau la plateforme, les cadres et les dépendances sous-jacents d’un système, laissant le système exposé inutilement à des risques connus pendant des jours ou des semaines. Les chaînes d’approvisionnement logicielles complexes et l’automatisation via des pipelines CI/CD augmentent le risque d’introduire des logiciels vulnérables dans la pile informatique. Un WAF peut servir de palliatif critique pour se prémunir contre l’exploitation de la vulnérabilité.  
  7. Identification et authentification de mauvaise qualité. Les faiblesses dans la gestion de l’authentification, de l’identité et des sessions peuvent permettre aux attaquants de compromettre les comptes d’utilisateurs, les mots de passe et les jetons de session, ou d’exploiter une gestion de sessions non sécurisée. Les défaillances dans ces domaines peuvent rendre vulnérable à des attaques automatisées telles que le credential stuffing. Les vulnérabilités liées aux mots de passe sont la source la plus courante de ces risques, car de nombreuses personnes réutilisent des 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 à la déconnexion ou après une période d’inactivité. Les attaques qui contournent les contrôles d’authentification constituent un risque croissant pour les applications web et les API, comme détaillé dans les projets Top 10, API Security Top 10 et Automated Threats de l’OWASP.
  8. Manque d'intégrité des données et du logiciel. Ces vulnérabilités résultent d’un code d’application et d’une infrastructure qui ne protègent pas contre les violations d’intégrité des données et des logiciels. Cela peut se produire lorsqu’une application repose sur des plug-ins, des bibliothèques ou des modules provenant de sources, de référentiels et de CDN non fiables. Cela peut également se produire lors de mises à jour logicielles, de modifications de données sensibles et de changements de pipeline CI/CD qui ne sont pas validés. Les attaquants peuvent potentiellement transmettre leurs propres mises à jour pour les distribuer et les exécuter sur toutes les installations. La désérialisation non sécurisée, lorsqu’une application prend des données sérialisées non fiables et consomme ces données sans s’assurer qu’elles soient valides, fait également partie de cette catégorie de risque, et rend possible des attaques telles que l’exécution de code à distance et l’élévation des privilèges.
  9. Carence des systèmes de contrôle et de journalisation. Une journalisation et une surveillance inadéquates peuvent entraver la détection et une réponse rapides aux incidents de sécurité, ce qui rend difficile l’identification et l’atténuation des attaques ou des activités non autorisées. Cela peut vouloir dire que les événements vérifiables, tels que les connexions, les échecs de connexion et les transactions de valeur, ne sont pas identifiés ou enregistrés, et que les applications ne détectent pas les attaques actives en temps réel.
  10. Falsification de requête coté serveur (SSRF). Ces vulnérabilités se produisent lorsqu’une application ne valide pas ou n’assainit pas une saisie d’URL par un utilisateur avant d’extraire des données d’une ressource distante. Les attaquants peuvent utiliser ces failles pour forcer les applications à accéder à des destinations web malveillantes, même si elles sont protégées par un pare-feu ou une autre défense. Ces attaques peuvent également se produire si la ressource ciblée a des relations de confiance avec d’autres systèmes, tels qu’un service de métadonnées cloud ou des API backend, qui permettent à un attaquant de faire des demandes à ces services de confiance et d’extraire des informations sensibles ou d’effectuer des actions non autorisées. Pour atténuer les vulnérabilités SSRF, il est important de concevoir des systèmes avec un accès au moindre privilège et d’utiliser un WAF pour définir explicitement les paramètres d’identificateur de ressource uniforme (URI) dans la politique de sécurité et autoriser/interdire les hôtes qui peuvent y accéder.

Le Top 10 de l’OWASP de 2021 reflète quelques nouvelles catégories et changements de dénomination par rapport au Top 10 de l’OWASP de 2017. Ces changements comprennent l’intégration de la menace XML External Entities (XXE) de 2017 dans la catégorie Mauvaise configuration de la sécurité de 2021 et l’ajout de la menace Cross-Site Scripting (XSS) de 2017 à la catégorie Injection de 2021. La catégorie Désérialisation non sécurisée des risques de 2017 fait désormais partie de la catégorie Défaillances des logiciels et de l’intégrité des données de 2021.    

Autres publications de l’OWASP

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

  1. OWASP Amass Project, qui a développé un outil pour aider les professionnels de la sécurité informatique à effectuer une cartographie réseau des surfaces d’attaque et à effectuer une découverte d’actifs externes grâce à des techniques de collecte des informations open source et de reconnaissance active. 
  2. OWASP Application Security Verification Standard Project (ASVS), qui fournit une base pour tester les contrôles de sécurité techniques des applications web et fournit également aux développeurs une liste des exigences pour un développement sécurisé.
  3. OWASP Cheat Sheet Series, qui a été créé pour fournir un ensemble de guides de bonnes pratiques simples à suivre pour les développeurs d’applications et les défenseurs. Plutôt que de se concentrer sur les bonnes pratiques détaillées, qui ne sont pas pratiques pour de nombreux développeurs et applications, cette série est destinée à fournir de bonnes pratiques que la majorité des développeurs seront réellement en mesure de mettre en œuvre.
  4. OWASP CycloneDX, qui est une norme de nomenclature complète qui fournit des capacités avancées de chaîne d’approvisionnement pour la réduction des cyber-risques.
  5. OWASP Defectdojo, qui est un outil de gestion des vulnérabilités en open source qui simplifie le processus de test en offrant des outils de modélisation, de génération de rapports, d’indicateurs et de libre-service de référence.
  6. OWASP Dependency-Check, qui est un outil d’analyse de composition logicielle (SCA) utilisé pour détecter les vulnérabilités divulguées publiquement que contiennent les dépendances d’un projet. L’analyse se fait en déterminant s’il existe un identifiant d’énumération de plateforme commune (CPE) pour une dépendance donnée. Si un tel déterminant est trouvé, cela génère un rapport indiquant les entrées de vulnérabilités et d’expositions courantes (CVE) associées.
  7. OWASP Dependency-Track, qui est une plateforme intelligente d’analyse des composants permettant aux entreprises d’identifier et de réduire les risques dans la chaîne d’approvisionnement des logiciels.
  8. OWASP Juice Shop, qui est peut-être l’application web non sécurisée la plus moderne et la plus sophistiquée utilisée dans les formations à la sécurité, les démonstrations de sensibilisation, les compétitions « Capture the flag », et en tant que cobaye pour les outils de sécurité. Juice Shop englobe les vulnérabilités de l’ensemble du Top 10 de l’OWASP, ainsi que de nombreuses autres failles de sécurité trouvées dans les applications du monde réel.   
  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 qui couvre 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 qui permet aux testeurs d’obtenir 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 d’attaque à utiliser avec ModSecurity ou des pare-feu applicatifs web compatibles. Le Core Rule Set vise à protéger les applications web contre un large éventail d’attaques, y compris celles figurant au Top 10 de l’OWASP, avec un minimum de fausses alertes.   
  11. Projet OWASP OWTF (Offensive web Testing Framework), qui est un cadre de test de pénétration des applications web en open source conçu pour évaluer et tester la sécurité des applications web. L’objectif principal de l’OWTF est d’aider les professionnels de la sécurité et les testeurs d’intrusion à automatiser le processus d’évaluation et de test des vulnérabilités pour les applications web, leur permettant ainsi d’identifier et de corriger plus efficacement les failles de sécurité.
  12. L’OWASP SAMM (Software Assurance Maturity Model), qui fournit un moyen efficace et mesurable d’analyser et d’améliorer la modélisation du cycle de vie du développement sécurisé. Le SAMM prend en charge le cycle de vie complet du logiciel et est agnostique vis-à-vis des technologies et des processus.
  13. OWASP Security Knowledge Framework, qui est une application web qui explique les principes de codage sécurisé dans plusieurs langages de programmation et vise à aider les développeurs à créer des applications sécurisées de par leur conception même.  
  14. OWASP Security Shepherd, qui est une plateforme de formation à la sécurité des applications web et mobiles conçue pour favoriser et améliorer la sensibilisation à la sécurité parmi une population aux compétences variées. L’objectif de ce projet est de s’adresser aux novices comme aux informaticiens expérimentés dans la sécurité des applications afin d’affiner leurs compétences en matière de tests de pénétration pour les faire passer au statut d’experts en sécurité.
  15. OWASP Web Security Testing Guide, qui est un guide complet pour tester la sécurité des applications web et des services web. Il fournit un cadre des meilleures pratiques utilisées par les testeurs de pénétration et les entreprises du monde entier.
  16. OWASP ZAP, qui est un outil de test de sécurité des applications web conçu pour aider les professionnels de la sécurité et les développeurs à identifier et à atténuer les vulnérabilités de sécurité des applications web pendant les phases de développement et de test.

L’argument en faveur des contrôles de sécurité intégrés

Avec sa quête continue d’amélioration de la sécurité des logiciels, l’OWASP joue un rôle essentiel en sensibilisant les développeurs, les professionnels de la sécurité et les entreprises aux risques liés à la sécurité des applications web et en préconisant les bonnes pratiques à adopter. En tant que projet reposant sur la communauté, l’OWASP rassemble des experts et des passionnés et les fait collaborer à l’amélioration de la sécurité des applications web, contribuant à créer une culture de la sécurité avant tout qui promeut des pratiques de codage et des méthodologies de développement sécurisées.

En outre, l’OWASP propose une multitude d’outils, de documents et de ressources gratuits et open source qui permettent aux entreprises d’améliorer leur posture de sécurité, notamment le Top 10 de l’OWASP, l’API Security Top 10 de l’OWASP et le projet Automated Threats to web Applications. Les autres initiatives de l’OWASP sont les suivantes :

  • L’OWASP Bug Logging Tool (BLT), qui permet aux internautes de signaler tout problème rencontré en ligne et d’améliorer la sécurité sur Internet en promouvant une divulgation responsable et en favorisant un environnement en ligne plus sûr.
  • L’OWASP CSRFGuard, une bibliothèque qui protège les applications web contre les attaques Cross-Site Request Forgery (CSRF).
  • Un certain nombre de référentiels sur GitHub, notamment la Cheat Sheet Series, qui fournissent une collection concise d’informations de grande valeur sur des sujets de sécurité des applications spécifiques.
  • Top 10 Client-Side Security Risks de l’OWASP, une compilation des vulnérabilités spécifiques communes aux applications côté navigateur.
  • Cloud-Native Application Security Top 10 de l’OWASP, un projet encore en cours de développement qui fournira des informations sur les risques de sécurité les plus importants pour les applications cloud-natives, les défis que cela implique et comment les surmonter.

Participez en devenant membre de l’OWASP ou en assistant à une réunion de section locale. Ces réunions sont gratuites et ouvertes aux membres et aux non-membres. En outre, l’OWASP organise chaque année près d’une douzaine d’événements mondiaux et régionaux. Ce sont d’excellentes occasions d’améliorer vos compétences professionnelles, de renforcer votre réseau professionnel et de vous familiariser avec les nouvelles tendances de l’industrie.

F5 aide à faire face aux risques de sécurité de l’OWASP

F5 soutient la Fondation de l’OWASP et son engagement à améliorer la sécurité des logiciels et à sensibiliser aux risques et aux vulnérabilités de sécurité des applications web. Les solutions F5 web Application Firewall bloquent et atténuent un large éventail de risques découlant du Top 10 de l’OWASP.

Les solutions F5 WAF combinent des protections par signature et par comportement, avec des renseignements sur les menaces fournis par F5 Labs et une sécurité basée sur l’apprentissage automatique, pour suivre le rythme des menaces émergentes. Elles allègent la charge et la complexité liée à une sécurisation cohérente des applications dans les environnements cloud, sur site et en périphérie, tout en simplifiant la gestion par le biais d’une infrastructure SaaS centralisée. F5 WAF rationalise également la sécurité des applications en intégrant des protections dans les cadres de développement et les pipelines CI/CD avec des fonctionnalités de sécurité fondamentales, une orchestration centralisée et une supervision via un tableau de bord unique avec une vue à 360° sur les performances et les événements de sécurité des applications distribuées. 

F5 aborde également les risques identifiés dans le API Security Top 10 de l’OWASP avec des solutions qui protègent la surface d’attaque en pleine croissance contre les menaces émergentes à mesure que les applications évoluent et que les déploiements d’API augmentent. Les solutions F5 web Application and API Protection (WAAP) défendent l’intégralité de la surface d’attaque des applications modernes avec des protections complètes qui incluent les WAF, API Security, l’atténuation des DDoS L3-L7 et Bot Defense contre les menaces automatisées et la fraude. La plateforme distribuée facilite le déploiement de politiques cohérentes et la mise à l’échelle de la sécurité sur l’ensemble de votre parc d’applications et d’API, quel que soit l’endroit où elles sont hébergées, et intègre la sécurité dans le cycle de vie des API et des écosystèmes plus larges.

F5 propose des solutions pour faire face aux risques décrits dans le projet de l’OWASP relatif aux menaces automatisées pour les applications web. F5 Distributed Cloud Bot Defense prévient les fraudes et les abus capables de contourner les solutions existantes de gestion des robots et fournit une surveillance et des renseignements en temps réel ainsi qu’une analyse rétrospective basée sur l’apprentissage automatique pour protéger les entreprises contre les attaques automatisées, sans créer de frictions pour les utilisateurs ni perturber l’expérience client. Distributed Cloud Bot Defense maintient son efficacité quelle que soit la façon dont les attaquants se réoutillent, que les attaques passent des applications web aux API ou tentent de contourner les défenses anti-automatisation en usurpant la télémétrie ou en utilisant des humains pour résoudre les CAPTCHA.

F5 offre également une protection DDoS à plusieurs niveaux, pour une sécurité en ligne avancée, en tant que service d’atténuation géré en cloud qui détecte et atténue les attaques à grande échelle ciblant le réseau, le protocole et les applications en temps réel ; les mêmes protections sont également disponibles que pour le matériel, les logiciels et les solutions hybrides sur site. F5 Distributed Cloud DDoS Mitigation protège contre les attaques volumétriques et spécifiques aux applications de couche 3 et 4 et de couche 7 avancée avant qu’elles n’atteignent votre infrastructure réseau et vos applications.