La sécurité des applications web

Objectif : Introduire la sécurité des applications web, l’OWASP et les risques fréquents des applications en ligne.

La sécurité des applications web

Pourquoi sécuriser les applications web ?

  • Les serveurs et les réseaux sont de mieux en mieux protégés.
  • Les vulnérabilités se déplacent souvent vers les applications web.
  • Les applications en ligne manipulent parfois des données confidentielles.
  • Une faille applicative peut exposer des comptes, des données ou des fonctions sensibles.
La sécurité des applications web

OWASP

  • L’Open Web Application Security Project est une organisation à but non lucratif.
  • Elle publie des recommandations pour améliorer la sécurité des applications web et mobiles.
  • Elle propose des méthodes et des outils de référence pour évaluer le niveau de sécurité.
  • Son projet le plus connu est l’OWASP Top 10.
La sécurité des applications web

Évaluation des risques

  • Plusieurs secteurs échouent encore des évaluations liées à l’OWASP Top 10.
  • Les risques applicatifs touchent autant les organisations publiques que privées.
  • Les applications web doivent être évaluées régulièrement.
  • Les corrections doivent être priorisées selon l’impact et la probabilité d’exploitation.
La sécurité des applications web

Architecture 3 tiers

right

  • Le web repose souvent sur un modèle client-serveur organisé en couches.
  • Le niveau présentation s’exécute dans le navigateur : HTML, CSS et JavaScript.
  • Le niveau application s’exécute côté serveur : PHP, Java, Python ou autres.
  • Le niveau données repose sur un SGBD comme MongoDB, MySQL, MariaDB ou Oracle.
  • Chaque couche possède ses propres faiblesses de conception et vulnérabilités.
La sécurité des applications web

Cadres applicatifs (frameworks)

  • Un cadre applicatif fournit une structure standard pour développer une application.
  • Les frameworks aident les développeurs à concevoir et organiser le code.
  • Exemples côté présentation : React, Vue et Angular.
  • Exemples côté serveur : Rails, Django et Spring.
  • Ils améliorent la sécurité seulement s’ils sont bien utilisés et tenus à jour.
La sécurité des applications web

Systèmes de gestion de contenu

  • Un CMS permet de créer un site, un blog, une boutique ou un forum.
  • Exemples : WordPress, Drupal, Joomla et PrestaShop.
  • Les CMS sont populaires parce qu’ils offrent des interfaces conviviales.
  • Les plugins et modules ajoutent des fonctionnalités, mais augmentent aussi la surface d’attaque.
  • Il faut maintenir le CMS, les plugins et les modules à jour.
La sécurité des applications web

Se prémunir des attaques

  • Authentification : lier une identité à une entité du système.
  • Contrôle d’accès : associer une ressource à des droits d’accès.
  • Intégrité : prévenir l’altération volontaire ou accidentelle des données.
  • Confidentialité : rendre les données volées inutilisables.
  • Non-répudiation : empêcher qu’un acteur nie son implication dans un échange.
  • Analyse du trafic : limiter les informations exploitables par observation des échanges.
La sécurité des applications web