Outils pour utilisateurs

Outils du site


glossaire:csrf

CSRF

Cross-Site Request Forgeries

Les attaques de type Cross-Site Request Forgeries (abrégées CSRF prononcées sea-surfing ou parfois XSRF) utilisent l'utilisateur comme déclencheur, celui-ci devient complice sans en être conscient. L'attaque étant actionnée par l'utilisateur, un grand nombre de systèmes d'authentification sont contournés

Les caractéristiques du CSRF sont un type d'attaque qui :

  • Implique un site qui repose sur l'authentification globale d'un utilisateur
  • Exploite cette confiance dans l'authentification pour autoriser des actions implicitement
  • Envoie des requêtes HTTP à l'insu de l'utilisateur qui est dupé pour déclencher ces actions

<note>Pour résumer, les sites sensibles au CSRF sont ceux qui acceptent les actions sur le simple fait de l'authentification à un instant donné de l'utilisateur et non sur une autorisation explicite de l'utilisateur pour une action donnée.</note>

Prévention

  • Éviter d'utiliser des requêtes HTTP GET pour effectuer des actions: Cette technique va naturellement éliminer des attaques simples basées sur les images, mais laissera passer les attaques fondées sur Javascript, lesquelles sont capables de lancer des requêtes HTTP POST.
  • Demander des confirmations à l'utilisateur pour les actions critiques: Au risque d'alourdir l'enchaînement des formulaires.
  • Vérifier l'adresse url du script appelant (referrer): Au risque d'alourdir le développement des formulaires.
  • Utiliser des jetons de validité dans les formulaires: Faire en sorte qu'un formulaire posté ne soit accepté que s'il a été produit quelques minutes auparavant : le jeton de validité en sera la preuve. Le jeton de validité doit être transmis en paramètre et vérifié côté serveur.

Voir:

glossaire/csrf.txt · Dernière modification: 19/05/2012 00:18 (modification externe)