Top 10 des vulnérabilités du web de l’OWASP

28 mai 2020
Top 10 des vulnérabilités du web de l’OWASP - banner

Les sites web sont des outils de plus en plus complexes qui permettent à des millions de personnes de traiter/échanger/stocker/consulter des données. L’accès, la modification, la suppression ou même la prise d’otage de ces données attirent des individus qui mettent en œuvre des moyens pas toujours si complexes pour parvenir à leurs fins. En effet, malgré la grande modernité des systèmes qui propulsent la plupart des sites du monde, malgré des sécurités embarquées de plus en plus performantes, la plupart des vulnérabilités que l’on rencontrent aujourd’hui sur le web sont les mêmes depuis longtemps. C’est pour lutter contre ces failles, sensibiliser et former les technicien(ne)s qui mettent en œuvre l’Internet d’aujourd’hui et de demain que des structures comme OWASP existent.

OWASP (Open Web Application Security Project) est une communauté en ligne partageant des outils, documents et méthodes libres pour la sécurisation des applications web. Elle publie régulièrement des rapports permettant d’évaluer les plus fréquentes vulnérabilités rencontrées dans le web, propose des solutions pour garantir la sécurité des applications et données et assure son l’intégrité face à l’évolution des menaces.

Top 10 des vulnérabilités du web de l’OWASP

Les 10 principales menaces répertoriées par la communauté OWASP sont globalement inchangées depuis des années. Les premières d’entre elles existent depuis plus de 10 ans et sont toujours les principales raisons de vulnérabilités à ce jour. C’est pourquoi il est important de comprendre ces menaces pour s’en prémunir.

  1. Les injections (en particulier dans le cas de Drupal les injections SQL)
  2. Le cross site scripting (XSS)
  3. La désérialisation non sécurisée
  4. Les entités XML externes (XXE)
  5. La défaillance de contrôle d’accès
  6. L’exposition de données sensibles
  7. La défaillance d’authentification
  8. Les mauvaises configurations de sécurité
  9. L’usage de composants à vulnérabilités connues
  10. La journalisation insuffisante

 

Quelles sont les sources principales des menaces ?

Tous les CMS et frameworks du marché offrent des solutions de sécurisation des données, de hachage des mots de passe, de cryptage, etc. Dans ces conditions pourquoi les applications web sont toujours les cibles de tiers malveillants qui parviennent à leurs fins ? Tout le monde commet des erreurs. Aucun système ne peut prémunir d’un oubli ou d’une erreur d’implémentation et d’architecture. Dans l’histoire de la communauté Drupal un exemple marquant est celui du premier événement sécuritaire connu sous le nom de « Drupalgeddon », à l’époque détecté sur Drupal 7. Cette ligne de code a existé dans le core de drupal pendant des années, une erreur, simple, qui a été l’une des vulnérabilités majeures du CMS jusqu’à sa détection en 2014.

Top 10 des vulnérabilités du web de l’OWASP - code initial drupalgeddon

Cette faille a été très simplement corrigée de la sorte (un correctif simple pour une erreur bête).

Top 10 des vulnérabilités du web de l’OWASP - code modifie drupalgeddon

Plus d’information sur la faille Drupalgeddon.
 

La principale vigilance que tout développeur, architecte ou concepteur d’application doit garder à l’esprit est la suivante : ne JAMAIS faire confiance à une saisie utilisateur ou à une source de données externe.

Top 10 des vulnérabilités du web de l’OWASP - saisie utilisateur

Cette vigilance s’étend à tout ce qui peut être modifié par un tiers extérieur à l’application : les soumissions de formulaires, les arguments d’URL, les chemins d’URL, les enregistrements de bases de données, les uploads d’utilisateurs, les e-mails entrants, les cookies, les headers http, les enregistrements DNS, les enregistrements WHOIS, les variables d’environnements, etc. Tout ce qui vient de l’extérieur de l’application est une menace potentielle.

Conclusion

Sur la base de cette liste de vulnérabilités et avec cette première vigilance exprimée sur le crédit à accorder aux données d’un utilisateur en tant que technicien(ne) implémentant une logique de traitement, il est désormais nécessaire de s’attarder plus en détail sur chacun des points pour comprendre son fonctionnement. C’est ce que la série d’articles suivante s’attachera à faire dès les prochaines semaines en centrant son propos à la fois sur l’explication des vulnérabilités elles-mêmes et sur la façon dont on peut s’en prémunir, en particulier avec le CMS Drupal.

Rubrique
Nicolas Loye
Nicolas LOYE
CTO
Drupal addict depuis 2006 et passionné de la philosophie open-source, Nicolas est CTO chez Actency et prône une contribution toujours plus rapprochée avec la communauté.