Résumé
Les attaques par falsification de requête intersite (CSRF) exploitent les sessions de navigateur authentifiées pour effectuer des actions non autorisées au nom d’utilisateurs à leur insu. Ces attaques reposent sur les cookies de session, des structures de requêtes prévisibles et le social engineering pour tromper à la fois les utilisateurs et les serveurs. Les défenses efficaces comprennent les jetons anti-contrefaçon, les cookies SameSite, les principes de conception REST (Representational State Transfer) et la vérification des utilisateurs avant toute action sensible.
Comment un site peut-il être amené à faire confiance à une requête malveillante ?
CSRF trompe les utilisateurs authentifiés pour leur faire accorder à des acteurs malveillants un accès via leur compte.
Lors d'une attaque CSRF, un cybercriminel agit sous l'authentification de la victime. C’est un peu comme un tour de magie. Une personne se connecte à un site web, et d’une manière ou d’une autre, la connexion de cette personne effectue toutes sortes d’actions que la personne n’aurait jamais réalisées de son plein gré.
Si les attaques CSRF semblent complexes, c’est volontaire. Il s’agit d’attaques qui reposent sur des compétences en programmation, la ruse, la confiance et une part de chance. Certaines personnes affirment que les attaques CSRF existent depuis les débuts du web. Dès qu’un site a commencé à effectuer des requêtes vers un autre site, les attaques CSRF sont apparues.
Mais il est possible d’identifier et de neutraliser même d’anciens vecteurs d’attaque sophistiqués. Poursuivez votre lecture pour découvrir comment fonctionnent ces attaques et quelles actions privilégier (ou éviter) lors de l’élaboration de vos plans de protection contre les attaques CSRF.
Comment fonctionnent les attaques CSRF ?
En termes techniques, une attaque CSRF consiste pour un pirate à usurper l’identité et les droits d’un utilisateur afin de les exploiter pour exécuter une action non souhaitée. En termes simples, une attaque CSRF consiste à vous tromper, à usurper votre identité, puis à effectuer une action en ligne, comme transférer de l’argent depuis votre compte bancaire avec vos identifiants.
Une attaque CSRF vise à modifier un élément sur le serveur hôte. Un hacker peut modifier votre nom d’utilisateur, voler votre argent ou changer une adresse de livraison courante. Le site ne vous informera pas qu’un problème est survenu, car le hacker recevra toutes les notifications associées.
Passons en revue les attaques CSRF étape par étape:
- Connexion normale : La personne saisit un nom d’utilisateur et un mot de passe connus.
- Configuration standard : le site crée des cookies de session et les enregistre dans le navigateur de la victime.
- Approche : La victime interagit avec l’attaquant pour la toute première fois. Ils peuvent entrer en contact via un e-mail de phishing, ou la personne ciblée peut charger un site web compromis.
- Erreur : La personne ciblée interagit avec l’appât de l’attaquant.
- Attaque : Le code du pirate informatique envoie une requête au site sur lequel l’utilisateur est connecté. Le navigateur répond et, dans cette réponse, il inclut les identifiants enregistrés de la victime.
- Résultat : Le serveur vérifie la requête et, puisqu’elle semble légitime, il exécute le code.
Les attaques CSRF nécessitent chacune de ces étapes, qui doivent être effectuées dans l’ordre. Si vous en omettez ne serait-ce qu’un, l’attaque échouera.
Votre site est-il vulnérable aux attaques CSRF ?
Un hacker ne peut pas mener une attaque CSRF sans un ensemble précis de conditions.
Ils ont notamment besoin de trois éléments.
- Cookies : Le site cible peut utiliser des cookies simples à usage unique pour valider les sessions des personnes connectées.
- Programmation simple : un ensemble prévisible et simple de paramètres définit les requêtes. Un hacker sait exactement ce qui va se passer ensuite.
- Actions ciblées : Un hacker doit pouvoir accomplir une action importante (comme transférer de l’argent) pour que l’effort en vaille la peine.
Comprendre les risques liés aux attaques CSRF en examinant les victimes précédentes. De grands sites web ont été attaqués, notamment :
- ING Direct. Une faille a permis à des hackers de créer de nouveaux comptes et de transférer de l’argent d’un endroit à un autre.
- YouTube. Des hackers ont pu ajouter des utilisateurs comme amis ou favoris, puis envoyer des messages au nom des victimes sous leurs identifiants.
- The New York Times. Des hackers pourraient trouver les adresses e-mail des utilisateurs.
Remarque : les entreprises ont corrigé toutes ces vulnérabilités.
Comment les attaques CSRF peuvent-elles affecter les individus ?
Les personnes peuvent, elles aussi, être victimes de piratage. Les spécialistes de la sécurité évoquent souvent les vulnérabilités liées à la messagerie électronique. Un pirate pourrait voler vos identifiants et envoyer des milliers de messages électroniques menaçants à des responsables gouvernementaux. Ils pourraient se présenter à votre domicile et exiger votre arrestation, car ils ignorent totalement qu’un hacker est impliqué.
Comment les attaques CSRF sont-elles conçues et propagées ?
Les attaques CSRF s’appuient sur des fonctionnalités courantes du navigateur. Chaque fois que vous effectuez une requête, celle-ci est encodée avec des données susceptibles d’être dérobées, telles que vos :
- Nom d’utilisateur
- Cookie de session
- adresse IP (Internet Protocol)
- Identifiants
Un hacker doit avoir la capacité d’extraire ces données. Le hacker doit alors utiliser du code HTML pour tromper le serveur et lui faire exécuter la fonction souhaitée. Malheureusement, les logiciels permettant de mener une telle attaque sont facilement accessibles en ligne. (Nous ne mettrons pas de lien ici, car nous ne souhaitons pas encourager ce type de comportement !)
Une fois le site cible sélectionné et le code développé, le hacker doit passer à l’action. Cela peut impliquer :
- E-mail. Près de la moitié des personnes cliquent sur tout ce qui leur est envoyé. Si un hacker envoie une note au moment précis où un utilisateur est déjà connecté, l’attaque est déjà en cours.
- Falsification. Un hacker crée un formulaire ou un script qui semble normal sur une page que la personne ciblée pourrait consulter alors qu'elle est également connectée au site visé. Bien que de nombreux visiteurs de ce site ne soient peut-être pas connectés au site ciblé, un hacker a besoin d’un seul visiteur pour que l’opération en vaille la peine.
- Social engineering. Un hacker peut inciter une personne à visiter un site falsifié en envoyant des messages qui semblent provenir de sources fiables sur des applications de messagerie des réseaux sociaux.
Que peut faire un attaquant avec vos identifiants ?
Si la personne ciblée est un utilisateur ou une utilisatrice standard, le hacker peut prendre le contrôle d’actions courantes comme la modification des mots de passe, le transfert d’argent et le changement d’adresse de livraison. Mais si la victime est un administrateur sur le site ciblé, le hacker peut en prendre le contrôle total.
Liste de contrôle de protection contre les attaques CSRF
Si vous gérez un site compromis, et qu’un cybercriminel y attaque une personne, vous en porterez une part de responsabilité. Il est judicieux de tout mettre en œuvre pour créer une communauté sûre et protégée.
| Ce qui ne fonctionne pas | Ce qu’il convient de faire |
|---|---|
| Cookies secrets : ils peuvent être partagés en tant qu'identifiants de session, tout comme d'autres cookies. | REST : Suivre les principes de conception REST et attribuer des actions aux différents verbes du protocole HTTP. Un hacker ne peut pas utiliser une requête GET (uniquement en lecture) pour obtenir des données, car elle est spécifique à l'affichage. |
| Restrictions POST : il est courant que les pirates informatiques ciblent la fonctionnalité POST (soumission de données) dans ce type d’attaques. Mais si vous limitez ce formulaire, les pirates trouveront une autre méthode. | Jetons anti-contrefaçon : le serveur doit exiger ce code pour toute requête ultérieure et, en son absence, refuser ces requêtes. |
| Ajout d’étapes : tant qu’un attaquant peut comprendre la séquence standard, cela n’offre aucune protection. | cookie SameSite : cet outil anti-CSRF développé par Google permet de bloquer les cookies transmis avec des requêtes provenant de tiers. |
| Réécriture d’URL : l’identifiant de session de l’utilisateur reste exposé, cette étape ne sera donc d’aucune utilité. | Vérifier : L’utilisateur confirmera les informations de connexion avant d’effectuer une action sensible. |
Comment réagir face à une attaque CSRF suspectée ?
Formez vos collaborateurs et collaboratrices à repérer les incohérences dans leurs activités en ligne. Et si vos clients et clientes signalent que des hackers les ont pris pour cible lors de leur visite sur votre site, soyez attentifs. Vous pourriez devoir verrouiller votre code le temps d’identifier la faille et d’y mettre fin.
Si vous cherchez d’autres moyens de protéger vos clients, nous pouvons vous accompagner. Nous contacter pour en savoir plus sur les solutions d'identité d'Okta. Nous pouvons vous aider à sécuriser les connexions sur votre site et à protéger les données, aussi bien au repos qu’en transit.
Foire aux questions (FAQ)
Quelles conditions doivent être réunies pour qu’une attaque par falsification de requête intersite (CSRF) réussisse ?
Trois conditions doivent être réunies pour qu'une attaque CSRF aboutisse : le site ciblé doit utiliser des cookies pour valider les sessions des personnes connectées, les paramètres de la requête doivent être prévisibles et suffisamment simples pour qu'un hacker puisse les reproduire, et il doit exister une action cible de valeur — comme transférer de l'argent ou modifier les informations d'un compte — qui justifie l'effort.
Comment un hacker lance-t-il une attaque par falsification de requête intersite (CSRF) contre une victime ?
Un hacker peut mener une attaque CSRF de plusieurs façons : en envoyant un lien malveillant par e-mail au moment où une personne est déjà connectée au site ciblé, en intégrant un formulaire ou un script falsifié sur une page susceptible d’être visitée par la victime, ou en utilisant le social engineering pour attirer la victime vers un site falsifié à l’aide de messages semblant provenir de sources fiables sur les réseaux sociaux ou les applications de messagerie.
Qu’est-ce qui rend les attaques par falsification de requête intersite (CSRF) difficiles à détecter ?
Les attaques CSRF sont difficiles à détecter, car le serveur reçoit la requête malveillante et, celle-ci semblant provenir d’une personne authentifiée de manière légitime, il exécute le code sans déclencher d’alerte. Toutes les notifications associées sont envoyées au hacker plutôt qu’à la victime, de sorte que la victime n’a aucune indication immédiate qu’un problème est survenu.
Quelles méthodes de protection contre la falsification de requête intersites (CSRF) sont inefficaces ?
Selon la Fondation The Open Web Application Security Project® (OWASP), plusieurs protections couramment mises en place ne sont pas efficaces : les cookies secrets (qui peuvent toujours être partagés comme identifiants de session), les restrictions sur les requêtes POST (puisque les hackers trouveront simplement une autre méthode), l’ajout d’étapes supplémentaires à un flux de travail (qu’un attaquant peut tout de même anticiper et reproduire), et la réécriture d’URL (qui expose malgré tout l’identifiant de session de l’utilisateur ou de l’utilisatrice).
Quelles sont les défenses recommandées contre les attaques par falsification de requête intersite (CSRF) ?
Quatre mesures de défense sont recommandées contre les attaques CSRF : suivre les principes de conception REST pour attribuer des actions à des verbes HTTP spécifiques, mettre en place des jetons anti-contrefaçon exigés par le serveur pour toutes les requêtes ultérieures, utiliser les paramètres SameSite Cookie afin de bloquer l’envoi de cookies avec des requêtes tierces, et demander aux utilisateurs de vérifier leurs informations de connexion avant d’effectuer toute action sensible.
Les attaques par falsification de requête intersite (CSRF) peuvent-elles toucher aussi bien les utilisateurs que les sites web ?
Oui, les utilisateurs individuels peuvent également être la cible d’attaques CSRF. Par exemple, un hacker pourrait voler les identifiants d’une personne utilisatrice et les utiliser pour envoyer des milliers de courriels menaçants à des responsables gouvernementaux, exposant ainsi la victime à de graves conséquences sans qu’elle sache qu’un hacker en est à l’origine.
Références
La falsification de requête intersite est morte. (février 2017), Scott Helme.
Réduire les attaques CSRF dans les applications monopages. (Janvier 2020). Medium.
Sites web populaires vulnérables aux attaques par falsification de requête intersites. (septembre 2008). Liberté d’expérimenter.
Formation anti-hameçonnage : la moitié des personnes cliquent sur tous les liens reçus. (août 2016). Ars Technica.
Veille sur les menaces : falsification de requête intersites (CSRF). (Décembre 2007). CSO
Cross-Site Request Forgery (CSRF). OWASP.
Protéger vos utilisateurs contre les attaques CSRF. Explication de piratage.
Votre site est-il exposé aux attaques CSRF ?
Un hacker ne peut pas mener une attaque CSRF sans un ensemble précis de conditions.
Ils ont notamment besoin de trois éléments.
- Cookies : le site cible peut utiliser des cookies simples et temporaires pour valider les sessions des personnes connectées.
- Programmation simple : un ensemble prévisible et simple de paramètres définit les requêtes. Un hacker sait exactement ce qui va se passer ensuite.
- Actions ciblées : un hacker doit pouvoir accomplir une action importante (comme transférer de l’argent) pour que l’effort en vaille la peine.
Comprenez les risques liés aux attaques CSRF en examinant les victimes précédentes. De grands sites web ont été attaqués, notamment :
- ING Direct. Une faille a permis à des hackers de créer de nouveaux comptes et de transférer de l’argent d’un endroit à un autre.
- YouTube. Des hackers ont pu ajouter des utilisateurs comme amis ou favoris, puis envoyer des messages au nom des victimes sous leurs identifiants.
- The New York Times. Des hackers pourraient trouver les adresses e-mail des utilisateurs.
Remarque : les entreprises ont corrigé toutes ces vulnérabilités.
Les personnes peuvent, elles aussi, être victimes de piratage. Les spécialistes de la sécurité évoquent souvent les vulnérabilités liées à la messagerie électronique. Un pirate pourrait voler vos identifiants et envoyer des milliers de messages électroniques menaçants à des responsables gouvernementaux. Ils pourraient se présenter à votre domicile et exiger votre arrestation, car ils ignorent totalement qu’un hacker est impliqué.
Création et livraison d’une attaque CSRF
Les attaques CSRF s’appuient sur des fonctionnalités courantes du navigateur. Chaque fois que vous effectuez une requête, celle-ci est encodée avec des données susceptibles d’être dérobées, telles que vos :
- Nom d’utilisateur
- Cookie de session
- Adresse IP
- Identifiants
Un hacker doit avoir la capacité d’extraire ces données. Le hacker doit alors utiliser du code HTML pour tromper le serveur et lui faire exécuter la fonction souhaitée. Malheureusement, les logiciels permettant de mener une telle attaque sont facilement accessibles en ligne. (Nous ne mettrons pas de lien ici, car nous ne souhaitons pas encourager ce type de comportement !)
Une fois le site cible sélectionné et le code développé, le hacker doit passer à l’action. Cela peut impliquer :
- E-mail. Près de la moitié des personnes cliquent sur tout ce qui leur est envoyé. Si un hacker envoie une note au moment précis où un utilisateur est déjà connecté, l’attaque est déjà en cours.
- Falsification. Un hacker crée un formulaire ou un script qui semble normal sur une page que la personne ciblée pourrait consulter alors qu’elle est également connectée au site visé. Bien que de nombreux visiteurs de ce site ne soient peut-être pas connectés au site ciblé, un hacker a besoin d’un seul visiteur pour que l’opération en vaille la peine.
- Social engineering. Un hacker peut inciter une personne à visiter un site falsifié en envoyant des messages qui semblent provenir de sources fiables sur des applications de messagerie des réseaux sociaux.
Si la personne ciblée est un utilisateur ou une utilisatrice standard, le hacker peut prendre le contrôle d’actions courantes comme la modification des mots de passe, le transfert d’argent et le changement d’adresse de livraison. Mais si la victime est un administrateur sur le site ciblé, le hacker peut en prendre le contrôle total.
Checklist de protection contre les CSRF
Si vous gérez un site compromis, et qu’un cybercriminel y attaque une personne, vous en porterez une part de responsabilité. Il est judicieux de tout mettre en œuvre pour créer une communauté sûre et protégée.
La fondation OWASP® avertit que ces mesures de protection contre les attaques CSRF ne fonctionnent pas:
- Cookies secrets : ils peuvent être partagés en tant qu’identifiants de session, tout comme d’autres cookies.
- Restrictions POST : il est courant que les hackers ciblent la fonctionnalité POST dans ce type d’attaques. Mais si vous limitez ce formulaire, les pirates informatiques trouveront une autre solution.
- Ajout d’étapes : tant qu’une personne malveillante peut comprendre la séquence standard, cela n’offre aucune protection.
- Réécriture d’URL : l’identifiant de session de l’utilisateur reste exposé, cette étape ne sera donc d’aucune utilité.
Voici quatre étapes de protection à suivre absolument :
- REST : appliquez ces principes de conception et attribuez des actions aux différents verbes HTTP. Un hacker ne peut pas utiliser une requête GET pour extraire des données, car celle-ci est réservée à la consultation.
- Tokens anti-falsification : le serveur doit exiger ce code pour toute requête ultérieure et, s’il est absent, il doit rejeter ces requêtes.
- Cookie SameSite : cet outil anti-CSRF développé par Google peut contribuer à bloquer les cookies transmis avec des requêtes provenant de tiers.
- Vérifier : l'utilisateur confirmera les informations de connexion avant d'effectuer une action sensible.
Formez vos collaborateurs et collaboratrices à repérer les incohérences dans leurs activités en ligne. Et si vos clients et clientes signalent que des hackers les ont pris pour cible lors de leur visite sur votre site, soyez attentifs. Vous pourriez devoir verrouiller votre code le temps d’identifier la faille et d’y mettre fin.
Si vous cherchez d’autres moyens de protéger vos clients, nous pouvons vous accompagner. Nous contacter pour en savoir plus sur les solutions d'identité d'Okta. Nous pouvons vous aider à sécuriser les connexions sur votre site et à protéger les données, aussi bien au repos qu’en transit.
Références
La falsification de requête intersite est morte. (février 2017), Scott Helme.
Réduire les attaques CSRF dans les applications monopages. (Janvier 2020). Medium.
Sites web populaires vulnérables aux attaques par falsification de requête intersites. (septembre 2008). Liberté d’expérimenter.
Formation anti-hameçonnage : la moitié des personnes cliquent sur tous les liens reçus. (août 2016). Ars Technica.
Veille sur les menaces : falsification de requête intersites (CSRF). (Décembre 2007). CSO
Cross-Site Request Forgery (CSRF). OWASP.
Protéger vos utilisateurs contre les attaques CSRF. Explication de piratage.