En matière de cybersécurité, le Top 10 de l’OWASP est un cadre clé qui aide les organisations à comprendre les vulnérabilités actuelles les plus courantes des applications Web.
Lisez notre guide pour en savoir plus sur les problèmes à connaître et sur la façon de réduire le risque d’attaques d’applications Web.
Qu’est-ce que le Top 10 de l’OWASP ?
Reconnu par les développeurs et les professionnels de la sécurité du monde entier, le Top 10 de l’OWASP décrit les principales vulnérabilités qui affectent la sécurité des applications Web. Il a été créé par l’Open Web Application Security Project (OWASP), une fondation à but non lucratif qui aide les organisations à améliorer la sécurité de leurs applications web. Publié pour la première fois en 2003, le Top 10 est mis à jour tous les trois ans, l’OWASP acceptant actuellement les soumissions pour aider à produire la prochaine itération du cadre.
Le Top 10 de l’OWASP fournit une hiérarchie claire des problèmes de sécurité des applications web les plus courants, permettant aux organisations de les identifier et de les traiter en fonction de leur prévalence, de leur impact potentiel, de la méthode d’exploitation par les attaquants et de la facilité ou de la difficulté de détection. Les dix principaux risques de sécurité des applications web identifiés par l’OWASP sont énumérés ci-dessous.
Fautes d’injection
Les failles d’injection telles que les injections SQL, NoSQL, OS et LDAP se produisent lorsque des données non fiables sont envoyées à un programme dans le cadre d’une commande ou d’une requête. Cela permet aux données hostiles d’un attaquant de tromper le programme pour qu’il exécute des commandes involontaires, par exemple en donnant accès à des données sans autorisation appropriée.
Du fait qu’elles sont faciles à apprendre et à exécuter, les injections SQL sont l’une des techniques les plus courantes utilisées pour attaquer les applications web. Des recherches récentes ont identifié que les attaques par injection SQL représentent plus de 65 % des attaques basées sur le web.
Un exemple récent d’exploitation d’une faille d’injection est l’attaque contre la société de services bancaires mobiles, Dave, qui a conduit au téléchargement des détails d’environ 7,5 millions de ses clients sur le dark web.
Waydev, une plateforme d’analyse qui a travaillé avec la société, a utilisé des jetons OAuth GitHub et GitLab compromis. On pense que les pirates se sont introduits dans la plateforme de Waydev et ont volé les tokens dans une base de données interne via une vulnérabilité d’injection SQL aveugle. Les pirates ont ensuite utilisé les tokens pour accéder à Dave et à d’autres entreprises.
Authentification brisée
L’authentification brisée est tout problème de sécurité qui affecte le mécanisme de connexion d’une application. L’authentification brisée donne aux attaquants la liberté de compromettre les mots de passe et les jetons de session des utilisateurs, ou d’exploiter les failles de mise en œuvre. Elle peut laisser les systèmes vulnérables aux attaques par force brute, où les attaquants utilisent des outils automatisés pour craquer les mots de passe des comptes utilisateurs.
Exposition de données sensibles
Les données, telles que les informations de carte de crédit des utilisateurs et les jetons de session, sont couramment laissées exposées sur les applications web et les API, ce qui permet aux attaquants de les voler pour entreprendre des vols d’identité et d’autres crimes. Pour éviter l’exposition de ces données et d’autres données sensibles, il est essentiel de les protéger à l’aide du chiffrement (en transit et au repos) et de s’assurer qu’il n’y a pas de failles dans la logique des applications qui pourraient permettre un accès non autorisé.
En 2016, des pirates ont volé les données personnelles de 57 millions de clients et de chauffeurs d’Uber en exploitant une vulnérabilité qui leur a permis de contourner l’authentification à deux facteurs. En plus de couvrir la brèche pendant plus d’un an, la société a effectué un paiement secret de 75 000 £ aux attaquants pour supprimer les données compromises.
Les entités externes XML (XXE)
Une vulnérabilité d’entité externe XML est une faiblesse dans la façon dont une application analyse les entrées XML. Elle se produit lorsqu’un attaquant injecte du XML qui contient une référence à une entité externe non autorisée et que l’entrée est traitée par un analyseur XML faiblement configuré.
Les vulnérabilités XXE sont souvent utilisées par les attaquants pour obtenir des informations techniques supplémentaires sur une application – des informations qui sont utilisées pour mener des dénis de service et d’autres types d’attaques. Une attaque par milliard de rires, également connue sous le nom de bombe XML, est un exemple bien connu d’un type d’attaque par déni de service qui exploite les vulnérabilités XXE.
Contrôles d’accès brisés
La gestion des accès fait référence au processus par lequel une application restreint l’accès aux données ou aux fonctionnalités. Les vulnérabilités de contrôle d’accès brisé (BAC) se produisent lorsque les restrictions sur ce que les utilisateurs sont autorisés à faire ne sont pas correctement appliquées, par exemple, lorsqu’un utilisateur avec des privilèges limités est en mesure d’accéder à des données auxquelles seul un utilisateur hautement privilégié devrait pouvoir accéder.
Bien que les vulnérabilités du BAC ne soient pas nécessairement exploitées par un attaquant malveillant, elles peuvent entraîner une grave violation du GDPR si les données d’un utilisateur sont involontairement exposées à un autre.
Mauvaise configuration de la sécurité
La mauvaise configuration de la sécurité est un type très courant de vulnérabilité des applications web. Elle est utilisée pour décrire les configurations par défaut non sécurisées, les configurations incomplètes et le stockage en nuage ouvert. Même une mauvaise configuration mineure, comme l’affichage de trop d’informations dans les messages d’erreur, peut être problématique.
Les mauvaises configurations de sécurité du cloud, comme les bases de données non sécurisées et les buckets Amazon S3 ouverts, sont courantes. La recherche suggère que les mauvaises configurations du cloud en 2018 et 2019 ont conduit à l’exposition de 33,4 milliards d’enregistrements dans les entreprises du monde entier, avec un coût estimé à 3,85 milliards de livres sterling.
Les failles XSS (cross-site scripting)
Les failles XSS (cross-site scripting) se produisent chaque fois qu’une application inclut des données non fiables dans une page web sans validation appropriée, ou lorsqu’une application met à jour une page web avec des données fournies par l’utilisateur en utilisant une API de navigateur qui peut créer du HTML ou du JavaScript. Les failles XXS permettent aux attaquants d’exécuter des scripts qui peuvent être utilisés pour détourner les sessions des utilisateurs, défigurer les sites Web ou rediriger les utilisateurs vers des sites Web malveillants.
Le cross-site scripting était autrefois un problème beaucoup plus important, mais il est maintenant plus bas dans la liste du Top 10 de l’OWASP, car de nombreux frameworks d’applications fournissent des protections intégrées. Une vulnérabilité critique, mais maintenant corrigée, dans le processus d’inscription de la plateforme de vidéoconférence Zoom a récemment été identifiée comme ayant le potentiel de permettre aux attaquants d’exécuter une attaque XSS.
Ceci est dû au fait que la plateforme web de Zoom, Zoom.us, n’a pas réussi à aseptiser le nom de l’utilisateur sur le flux d’inscription fédéré, permettant aux attaquants d’exécuter un JavaScript arbitraire dans le navigateur d’une victime. Le destinataire serait manipulé pour cliquer sur un lien malveillant envoyé via un email de phishing, donnant aux attaquants les mêmes pouvoirs que la victime pour accéder et modifier les paramètres de l’utilisateur.
Désérialisation non sécurisée
En programmation, la sérialisation consiste à convertir un objet en un flux d’octets pour le stocker ou le transmettre à la mémoire, à un fichier ou à une base de données. La désérialisation est l’inverse de ce processus, convertissant à nouveau les octets en un objet pour qu’il puisse être déplacé ou transféré. Ce type de vulnérabilité peut se produire lorsque des applications effectuent une désérialisation sur des données qui ne sont pas de confiance, notamment des données envoyées par un attaquant à une application.
En début d’année, l’entreprise de matériel réseau Cisco a dû rapidement développer un correctif pour une faille critique d’exécution de code à distance (RCE) dans sa solution de gestion des interactions avec les clients, Unified Contact Center Express (CCX). Cette faille était due à l’interface Java de gestion à distance du produit, qui présentait une désérialisation non sécurisée du contenu fourni par l’utilisateur. Cela signifie qu’un attaquant pouvait envoyer un objet Java sérialisé malveillant à un utilisateur spécifique sur un système affecté. En cas d’exécution réussie, cela pouvait conduire un attaquant à exécuter du code arbitraire en tant qu’utilisateur root sur un appareil affecté.
Utilisation de composants présentant des vulnérabilités connues
Les applications et les API utilisant des composants présentant des vulnérabilités connues peuvent miner les défenses des applications et fournir aux attaquants un point d’entrée. L’atténuation de ces vulnérabilités implique de maintenir à jour tous les composants utilisés par les applications web. Cela devrait inclure le système d’exploitation d’un serveur web et les bibliothèques tierces utilisées dans le cadre du code-base d’une application.
Un exemple de cette faille exploitée est la vulnérabilité de Citrix Netscaler, CVE-2020-19781, qui permet aux attaquants de prendre le contrôle du dispositif et de pivoter vers le réseau interne d’une organisation. Cette vulnérabilité a conduit à de nombreux ransomwares et permis à des cartels d’extorquer des millions de dollars aux victimes.
La journalisation insuffisante & la surveillance
La journalisation et la surveillance insuffisantes, combinées à une réponse aux incidents manquante ou inefficace, constituent un autre risque potentiellement grave qui et peut conduire à ce que des violations graves soient manquées ou que des mesures soient prises trop tard. L’exploitation inconnue des vulnérabilités peut permettre aux attaquants de maintenir la persistance, de pivoter vers d’autres systèmes et d’altérer, d’extraire et de détruire des données.
Pour minimiser le risque de sécurité, il est recommandé que les données des applications Web, y compris la télémétrie des pare-feu d’applications Web, soient surveillées de manière centralisée à l’aide des dernières technologies de surveillance du réseau et des points d’extrémité. Des procédures formelles de réponse aux incidents, y compris l’automatisation des playbooks, sont également fortement recommandées pour aider à réduire le temps de réponse aux attaques.
S’attaquer aux risques de sécurité des applications web
Comme le souligne le Top Ten de l’OWASP, les applications web sont potentiellement vulnérables à un large éventail de faiblesses. Vérifier chaque vulnérabilité au cours du processus de développement est vital.
La sécurité des applications web peut être abordée dès le début du développement en adoptant une approche Security by Design. Il est également conseillé aux organisations de commander régulièrement des tests de pénétration d’applications web formels et indépendants afin d’identifier et de traiter les nouvelles vulnérabilités qui auraient pu être manquées.
Les tests de pénétrationOWASP de Redscan
Les tests d’applications web font partie des nombreux services d’évaluation de la sécurité que nous proposons chez Redscan. Nos hackers éthiques testent de manière exhaustive les vulnérabilités des applications web, y compris celles figurant dans le Top 10 actuel de l’OWASP, et fournissent le soutien nécessaire pour aider à les aborder rapidement et efficacement.
À la fin de chaque pen test OWASP, nous fournissons un rapport détaillé soulignant le niveau des risques posés et les conseils de remédiation nécessaires pour aider à les aborder rapidement et efficacement.
Nos pen testers travaillent en étroite collaboration avec vous pour comprendre votre application logicielle et aider à définir la portée de vos exigences. Notre processus de pen testing accrédité par le CREST est mené selon les normes juridiques, éthiques et techniques les plus élevées et suit les meilleures pratiques dans des domaines clés tels que la préparation & du cadrage, l’exécution de la mission, la livraison post technique et la protection des données.
Demandez un devis rapide
.