Que veut dire une erreur CSRF ?

Definition

En sécurité des systèmes d'information, le cross-site request forgery, abrégé CSRF (parfois prononcé sea-surf en anglais) ou XSRF, est un type de vulnérabilité des services d'authentification web.
L’objet de cette attaque est de transmettre à un utilisateur authentifié une requête HTTP falsifiée qui pointe sur une action interne au site, afin qu'il l'exécute sans en avoir conscience et en utilisant ses propres droits. L’utilisateur devient donc complice d’une attaque sans même s'en rendre compte. L'attaque étant actionnée par l'utilisateur, un grand nombre de systèmes d'authentification sont contournés.

Que faire quand une telle erreur apparaît ?

Beaucoup de systèmes utilisent des techniques de "provenance" et de péremption pour éviter des attaques CSRF. Souvent quand vous rouvrez votre navigateur ou bien vous avez un autre onglet du même site ouvert, le système peut détecter une attaque CSRF. Pour se remettre sur les rails, il suffit la plupart du temps de recharger la page d'accueil du site concerné.


Petite astuce: Quand vous voulez tester un accès d'un lien de partage sur le cloud par exemple, ouvrez une fenêtre privée pour éviter de mélanger les accès de votre compte cloud connecté et le partage extérieur.

Comment fonctionne une attaque CSRF ?

Si vous insérez une lettre dans cette boîte aux lettres, l'adresse de départ sera automatiquement définie comme votre adresse.

Imaginons maintenant le scénario suivant:

  • Un de vos amis veut vous faire une farce. Il écrit une lettre d'amour à quelqu'un ("X") avec votre nom. Il place cette lettre dans votre pile de lettres que vous devez envoyer demain.
  • Le lendemain arrive. Comme tous les autres jours, vous insérez toutes ces lettres dans votre boîte aux lettres. Les messages sont envoyés. Le lendemain, "bam", vous recevez une lettre de ce "X". Vous connaissez la suite. Vous ne savez pas comment cela s'est produit ....Aucune idée... Quelqu'un a posté une lettre avec votre identité.
Il s'agit d'un scénario réel de Cross Site Request Forgery (CSRF).

Que pouvons-nous faire pour empêcher cela ?

  • Le lendemain, vous informez le facteur qu'à partir de maintenant, vous placerez chaque jour dans la boîte aux lettres un code secret que personne ne connaît et que chaque lettre que vous posterez portera ce code secret à l'intérieur de l'enveloppe. Le facteur ne doit poster les lettres que si les codes sont identiques. Il s'agit d'une solution simple pour empêcher la falsification.
  • Par exemple, si votre ami essaie à nouveau de vous faire une farce, il ne connaîtra pas le code et la lettre ne sera pas postée par le facteur.
  • Passons maintenant à la partie technique. Ici, votre ami est l'attaquant qui tente de falsifier une requête. Cette falsification est appelée Cross Site Request Forgery (falsification des requêtes intersites). Le code secret est le jeton anti-csrf qui vous sauve.

Sources: Wikipedia / Quora
Traduction: Deepl