L'Open application Web Security Project (OWASP) est une organisation à but non lucratif dont la mission est d'améliorer la sécurité des applications Web. L'OWASP poursuit cette mission en fournissant aux développeurs un accès gratuit à un large éventail de ressources en matière de sécurité, notamment des listes de vulnérabilité, les meilleures pratiques en matière de sécurité, des systèmes délibérément vulnérables pour pratiquer des tests sur le site application, et bien plus encore. L'OWASP a également soutenu le développement d'outils de test de sécurité sur le siteapplication et organise de nombreuses conférences annuelles dans le monde entier.
L'OWASP a développé un certain nombre de ressources qui décrivent les vulnérabilités les plus courantes qui existent dans divers systèmes, notamment les applications Web, les API, les appareils mobiles, etc. Le plus célèbre d'entre eux est le Top Ten de l'OWASP, qui décrit les dix vulnérabilités les plus courantes et les plus impactantes qui apparaissent dans les applications Web de production. Cette liste est mise à jour tous les deux ans sur la base d'une combinaison de données de tests de sécurité et d'enquêtes menées auprès de professionnels du secteur.
La version la plus récente de la liste OWASP Top 10 a été publiée en 2021. Cette ressource fournit des informations sur les vulnérabilités les plus courantes, des exemples de chaque type, les meilleures pratiques pour les prévenir et des descriptions de la manière dont la vulnérabilité peut être exploitée. En outre, chaque vulnérabilité comprend des références aux spécifications CWE (Common Weakness Enumeration) connexes, qui décrivent un cas particulier de vulnérabilité. Par exemple, l'utilisation de mots de passe codés en dur (CWE-259) relève de la vulnérabilité "Identification and Authentication Failures" (Défaillances d'identification et d'authentification) dans la liste des dix principales vulnérabilités de l'OWASP.
La liste des dix premiers de l'OWASP est basée sur une combinaison d'analyse de données fournies par les utilisateurs et d'enquête auprès de professionnels du secteur. Sur la base des données soumises par la communauté, l'équipe de l'OWASP détermine les huit vulnérabilités les plus importantes de sa liste, offrant ainsi une visibilité sur les vulnérabilités les plus courantes dans le code de production aujourd'hui. Les organisations ont été invitées à communiquer les CWE qu'elles ont observés lors des tests et le nombre de sites application testés qui contenaient au moins une instance de CWE. Les 400 CWE ainsi obtenus ont ensuite été analysés en fonction de leur impact et de leur exploitabilité, puis classés de manière à obtenir huit des dix catégories les plus importantes.
Toutefois, lors de la mise à jour de la liste en 2021, l'équipe de l'OWASP a réservé les deux derniers emplacements de la liste à une enquête auprès de la communauté. L'objectif était de refléter les tendances plus récentes et émergentes en matière de vulnérabilités, où le manque de données ou l'impossibilité de tester une vulnérabilité peut entraîner sa sous-estimation par un processus qui s'appuierait uniquement sur les vulnérabilités découvertes lors des tests.
La dernière version du Top Ten de l'OWASP contient plusieurs changements par rapport à la version précédente. La liste 2021 comprend les vulnérabilités suivantes :
Parmi celles-ci, quatre catégories de vulnérabilité (4, 8 et 10) sont entièrement nouvelles, quatre sont inchangées à l'exception du classement, et les autres consolident ou renomment des catégories de la version précédente de la liste.
Les systèmes de contrôle d'accès visent à garantir que seuls les utilisateurs légitimes ont accès aux données ou aux fonctionnalités. Les vulnérabilités dans la catégorie des contrôles d'accès non respectés incluent tout problème permettant à un attaquant de contourner les contrôles d'accès ou ne mettant pas en œuvre le principe du moindre privilège. Par exemple, une application Web peut permettre à un utilisateur d'accéder au compte d'un autre utilisateur en modifiant l'URL fournie.
Les algorithmes cryptographiques sont inestimables pour la protection de la confidentialité et de la sécurité des données ; cependant, ces algorithmes peuvent être très sensibles aux erreurs de mise en œuvre ou de configuration. Les défaillances cryptographiques comprennent la non-utilisation du chiffrement, les mauvaises configurations des algorithmes cryptographiques et la gestion non sécurisée des clés. Par exemple, une organisation peut utiliser un algorithme de hachage non sécurisé pour le stockage des mots de passe, ne pas saler les mots de passe ou utiliser le même sel pour tous les mots de passe stockés.
Les vulnérabilités d'injection sont rendues possibles par un défaut d'assainissement des données utilisateur avant leur traitement. Cela peut être particulièrement problématique dans des langages tels que SQL, où les données et les commandes sont entremêlées, de sorte que des données malformées fournies par l'utilisateur peuvent être interprétées comme faisant partie d'une commande. Par exemple, SQL utilise généralement des guillemets simples (') ou doubles (") pour délimiter les données de l'utilisateur dans une requête, de sorte qu'une entrée de l'utilisateur contenant ces caractères peut être susceptible de modifier la commande en cours de traitement.
La vulnérabilité peut être introduite dans un logiciel au cours du processus de développement de différentes manières. Alors que de nombreuses vulnérabilités figurant sur la liste des dix principales vulnérabilités de l'OWASP concernent des erreurs de mise en œuvre, cette vulnérabilité décrit des défaillances dans la conception qui compromettent la sécurité du système. Par exemple, si la conception d'une application qui stocke et traite des données sensibles n'inclut pas de système d'authentification, une mise en œuvre parfaite du logiciel tel qu'il a été conçu ne sera toujours pas sûre et ne protégera pas correctement ces données sensibles.
Outre sa conception et sa mise en œuvre, la sécurité d'une application est également déterminée par la manière dont elle est configurée. Un fabricant de logiciels propose des configurations par défaut pour son site application, et les utilisateurs peuvent également activer ou désactiver divers paramètres, ce qui peut améliorer ou compromettre la sécurité du système. Parmi les exemples de mauvaises configurations de sécurité, on peut citer l'activation de application ou de ports inutiles, le fait de laisser des comptes et des mots de passe par défaut actifs et inchangés, ou la configuration de messages d'erreur qui exposent trop d'informations à l'utilisateur.
La vulnérabilité de la chaîne d'approvisionnement est devenue une préoccupation majeure ces dernières années, notamment parce que les acteurs de la menace ont tenté d'insérer des codes malveillants ou vulnérables dans des bibliothèques couramment utilisées et des dépendances tierces. Si une organisation n'a pas de visibilité sur le code externe utilisé dans son site application - y compris les dépendances imbriquées - et ne l'analyse pas pour détecter les dépendances, elle peut être vulnérable à l'exploitation. En outre, le fait de ne pas appliquer rapidement les mises à jour de sécurité à ces dépendances pourrait laisser des vulnérabilités exploitables ouvertes à des attaques. Par exemple, une application peut importer une bibliothèque tierce qui a ses propres dépendances pouvant contenir des vulnérabilités connues et exploitables.
De nombreuses applications et systèmes nécessitent une certaine forme d'identification et d'authentification, par exemple un utilisateur prouvant son identité à une application ou un serveur fournissant un certificat numérique vérifiant son identité à un utilisateur lors de l'établissement d'une connexion cryptée TLS. Les échecs d'identification et d'authentification se produisent lorsqu'une application s'appuie sur des processus d'authentification faibles ou ne valide pas correctement les informations d'authentification. Par exemple, une application dépourvue d'authentification multifacteurs (MFA) peut être vulnérable à une attaque par saturation (credential stuffing) dans laquelle un pirate essaie automatiquement des combinaisons de noms d'utilisateur et de mots de passe à partir d'une liste d'informations d'identification faibles, courantes, par défaut ou compromises.
La vulnérabilité Software and Data Integrity Failures de la liste Top 10 de l'OWASP concerne des faiblesses dans la sécurité du pipeline DevOps d'une organisation et des processus de mise à jour des logiciels similaires à ceux qui ont rendu possible le piratage de SolarWinds. Cette classe de vulnérabilité inclut le fait de s'appuyer sur du code tiers provenant de sources ou de dépôts non fiables, de ne pas sécuriser l'accès au pipeline CI/CD et de ne pas valider correctement l'intégrité des mises à jour appliquées automatiquement. Par exemple, si un pirate peut remplacer un module ou une dépendance de confiance par une version modifiée ou malveillante, le site application construit avec cette dépendance pourrait exécuter un code malveillant ou être vulnérable à l'exploitation.
Les défaillances en matière d'enregistrement et de surveillance de la sécurité sont la première des vulnérabilités dérivées des réponses à l'enquête et sont passées de la dixième place dans l'itération précédente de la liste. De nombreux incidents de sécurité sont rendus possibles ou exacerbés par le fait qu'une application ne consigne pas les événements de sécurité importants ou que ces fichiers journaux ne sont pas correctement contrôlés et traités. Par exemple, une application peut ne pas générer de fichiers journaux, générer des journaux de sécurité qui ne contiennent pas d'informations essentielles, ou ces fichiers journaux peuvent n'être disponibles que localement sur un ordinateur, ce qui fait qu'ils ne sont utiles qu'après la détection d'un incident. Toutes ces défaillances réduisent la capacité d'une organisation à détecter rapidement un incident de sécurité potentiel et à réagir en temps réel.
La falsification des requêtes côté serveur (SSRF) est inhabituelle parmi les vulnérabilités figurant dans la liste des dix principales vulnérabilités de l'OWASP, car elle décrit une vulnérabilité ou une attaque très spécifique plutôt qu'une catégorie générale. Les vulnérabilités des SSRF sont relativement rares ; cependant, elles ont un impact significatif si elles sont identifiées et exploitées par un attaquant. Le piratage de Capital One est un exemple d'incident de sécurité récent à fort impact qui a tiré parti d'une vulnérabilité du SSRF.
La vulnérabilité SSRF peut exister lorsqu'une application Web ne valide pas correctement une URL fournie par un utilisateur lors de la récupération d'une ressource distante située à cette URL. Si c'est le cas, un attaquant exploitant la vulnérabilité peut utiliser l'application Web vulnérable pour envoyer une requête élaborée par l'attaquant à l'URL indiquée. Cela permet à l'attaquant de contourner les contrôles d'accès, tels qu'un pare-feu, qui bloquerait les connexions directes de l'attaquant à l'URL cible, mais qui est configuré pour permettre l'accès à l'application Web vulnérable.
Les applications Web d'une organisation constituent l'une des parties les plus visibles et les plus exploitables de sa surface d'attaque numérique. Cependant, ces sites application contiennent aussi souvent des vulnérabilités exploitables, souvent en raison d'un manque de sensibilisation à ces vulnérabilités et aux meilleures pratiques de sécurité pour les éviter. La liste OWASP Top Ten est une initiative de la fondation OWASP visant à résoudre ce problème et à réduire les risques de sécurité du site application en attirant l'attention sur ces vulnérabilités et en fournissant des ressources qui aident les développeurs à les identifier, à les éviter et à y remédier.
La recherche, la correction et la protection contre les vulnérabilités décrites dans la liste Top Ten de l'OWASP constituent un bon point de départ pour application Web DevSecOps. Ces vulnérabilités sont parmi les plus courantes et les plus lourdes de conséquences dans les applications Web, et leur visibilité en fait des cibles courantes pour les acteurs de la cybermenace.
Alors que application se déplacent de plus en plus vers cloud, la protection de la charge de travail cloud est essentielle pour les protéger contre les dix principaux risques de sécurité de l'OWASP et d'autres risques majeurs de application. Pour plus d'informations sur les menaces qui pèsent sur la sécurité de votre site application, consultez cet eBook.
Check Point CloudGuard AppSec offre une protection complète contre le Top Ten de l'OWASP et d'autres application Web vulnérabilité courantes. Découvrez comment CloudGuard AppSec peut protéger votre site cloud application grâce à ce livre blanc. Ensuite, découvrez ses capacités par vous-même en vous inscrivant pour une démo gratuite.