L'Open Web Application Security Project (OWASP) est une fondation à but non lucratif qui se consacre à l'amélioration de la sécurité des logiciels. Cette fondation a créé le Top 10 de l'OWASP. Il s'agit d'une liste des dix risques de sécurité les plus critiques pour les applications Web modernes, classés en fonction de leur importance observée. Une nouvelle version a été mise à jour en 2021, et cet article expliquera brièvement les différences depuis la dernière publication de l'OWASP Top 10 en 2017. Les risques sont classés en fonction de la fréquence des défauts de sécurité découverts, de la gravité des vulnérabilités et de l'ampleur de leurs impacts potentiels.
- A01: 2021 - Broken Access Control
Cette catégorie passe de la cinquième position à la première catégorie. Les données fournies indiquent qu'en moyenne, 3,81 % des applications testées présentaient une ou plusieurs énumérations de faiblesses communes (CWE), avec plus de 318 000 occurrences de CWE dans cette catégorie de risque.
- A02: 2021 - Cryptographic Failures (auparavant connue sous le nom de A3: 2017-Sensitive Data Exposure )
Le nouveau nom met l'accent sur les défaillances liées à la cryptographie. Cette catégorie conduit souvent à l'exposition de données sensibles ou à la compromission du système.
- A03: 2021 - Injection glisse vers la troisième position.
Les injections sont des attaques dans lesquelles un attaquant tente d'envoyer des données à une application Web pour exécuter quelque chose que l'application Web n'a pas été conçue pour faire. Il peut s'agir de vulnérabilités d'injection telles que des injections SQL, OS ou LDAP. Le Cross-Site Scripting (XSS) fait désormais partie de cette catégorie dans cette édition.
- A04: 2021 - Conception sécurisée
A04: 2021-Insecure Design est une nouvelle catégorie. Elle couvre les défauts d'architecture et les erreurs de conception qui entraînent une conception de contrôle manquante ou inutile. Cette nouvelle catégorie est d'une importance capitale. De nombreux projets démarrent sans véritable phase de conception et ne sont pas axés sur la sécurité.
- A05: 2021 - L'erreur de configuration de la sécurité
Les logiciels modernes sont de plus en plus complexes. Nous sommes passés de systèmes simples avec un serveur Web et une base de données à des architectures de microservices, où plusieurs services sont déployés sur plusieurs serveurs. L'ancienne catégorie A4: 2017-XML External Entities (XXE) fait désormais partie de cette catégorie de risque. XXE est une attaque contre une application qui traite les entrées XML d'un client.
- A06: 2021 - Composants vulnérables et obsolètes
Cette catégorie est un problème connu où il est difficile d’évaluer le risque. C'est la seule catégorie qui n'a pas de CVE (Common Vulnerability and Exposures).
- A07: 2021 - Défaillances d'identification et d'authentification
Précédemment dénommée Authentification défaillante, perd sa deuxième position et inclut désormais des CWEs plus liés à des défaillances d'identification. Cette catégorie fait toujours partie intégrante du Top 10, mais la disponibilité accrue de cadres normalisés semble l'aider.
- A08: 2021 - Défauts d'intégrité des logiciels et des données est une nouvelle catégorie pour 2021
Il s'agit du code et de l'infrastructure qui ne sont pas protégés contre les violations d'intégrité. Cela peut se produire lorsqu'une application Web s'appuie sur des plugins, des bibliothèques ou des modules provenant de sources, de dépôts et de réseaux de diffusion de contenu qui ne sont pas fiables.
- A09: 2021-Défaillances de la journalisation et de la surveillance de la sécurité
Cette catégorie est élargie pour inclure plus de types de défaillances, est difficile à tester et n'est pas bien représentée dans les données CVE/CVSS. Cependant, les défaillances de cette catégorie peuvent avoir un impact direct sur la visibilité, l'alerte en cas d'incident et la médecine légale.
- A10: 2021-Server-Side Request Forgery (SSRF)
Enfin, le dernier changement A10:2021-Server-Side Request Forgery (SSRF). Une vulnérabilité SSRF peut se produire lorsqu'un attaquant a le contrôle total ou partiel des requêtes envoyées par une application Web.