Comment prévenir la falsification entre sites?
La falsification entre sites (XSRF ou CSRF), également connue sous divers noms, notamment la falsification de requêtes entre sites, l'équitation de session et l'attaque en un clic, est un type d'exploitation exploitable à empêcher. Il fonctionne en incitant un navigateur Web à envoyer des commandes non autorisées à un serveur distant. Les attaques de contrefaçon entre sites ne concernent que les utilisateurs qui se sont connectés à des sites Web avec des informations d'authentification authentiques. Par conséquent, la déconnexion de sites Web peut constituer une mesure préventive simple et efficace. Les développeurs Web peuvent utiliser des jetons générés aléatoirement pour empêcher ce type d'attaque, mais doivent éviter de vérifier le référent ou de s'appuyer sur des cookies.
Il est courant que des attaques de contrefaçon entre sites ciblent les navigateurs Web dans le cadre de ce que l’on appelle une «attaque confuse d’administrateur». Croyant agir pour le compte de l’utilisateur, le navigateur est amené à envoyer des commandes non autorisées à un serveur distant. Ces commandes peuvent être cachées dans des parties apparemment innocentes du code de balisage d'une page Web, ce qui signifie qu'un navigateur essayant de télécharger un fichier image pourrait en réalité envoyer des commandes à une banque, à un détaillant en ligne ou à un site de réseau social. Certains navigateurs incluent désormais des mesures conçues pour empêcher les attaques par falsification entre sites. Les programmeurs tiers ont créé des extensions ou des plug-ins dépourvus de ces mesures. Il peut également être judicieux de désactiver le courrier électronique HTML (HyperText Markup Language) dans votre client préféré, car ces programmes sont également vulnérables aux attaques par falsification de sites.
Depuis, les attaques de contrefaçon entre sites reposent sur des utilisateurs ayant légitimement ouvert une session sur un site Web. Dans cet esprit, l’un des moyens les plus simples d’empêcher une telle attaque consiste à simplement vous déconnecter des sites que vous avez utilisés. De nombreux sites traitant de données sensibles, y compris les banques et les sociétés de courtage, le font automatiquement après une certaine période d'inactivité. D'autres sites adoptent l'approche inverse et permettent aux utilisateurs d'être connectés en permanence pendant des jours ou des semaines. Bien que cela puisse vous convenir, cela vous expose à des attaques CSRF. Recherchez une option "Mémoriser mes informations sur cet ordinateur" ou "Me garder connecté", désactivez-la et assurez-vous de cliquer sur le lien de déconnexion lorsque vous avez terminé une session.
Pour les développeurs Web, l'élimination des vulnérabilités de contrefaçon entre sites peut être une tâche particulièrement ardue. La vérification des informations de référence et de cookie ne fournit pas beaucoup de protection, car les exploits CSRF tirent parti des informations d'identification légitimes des utilisateurs et ces informations sont faciles à falsifier. Une meilleure approche consisterait à générer de manière aléatoire un jeton à usage unique chaque fois qu'un utilisateur se connecte et à exiger que le jeton soit inclus dans toute demande envoyée par l'utilisateur. Pour les demandes importantes telles que les achats ou les transferts de fonds, le fait de demander à l'utilisateur de ressaisir le nom d'utilisateur et le mot de passe peut aider à garantir l'authenticité de la demande.