Le clickjacking, ou détournement de clic, est une attaque malveillante sur une page web qui conduit un utilisateur à cliquer sur un lien autre que celui désiré. Une attaque par clickjacking est également appelée détournement de clic ou UI redressing (détournement de l’Interface utilisateur). Cela est dû au fait que l’attaquant « détourne » l’interface que voit l’utilisateur avec un cadre invisible qui le piège et le pousse à faire des choses qu’il ne ferait normalement pas.
Cet article vous aidera à comprendre ce qu’est le clickjacking, comment le détecter et comment empêcher ces attaques d’affecter votre site web et ses utilisateurs.
Les attaques les plus courantes de clickjacking sont dites attaques par superposition (overlay). Elles sont rendues possibles par des cadres invisibles (iframes) dans lesquels les attaquants recouvrent une page web semblant légitime avec une interface que l’utilisateur ne peut pas voir, à des fins malveillantes.
Lorsqu’ils sont utilisés correctement, les iframes ont plusieurs emplois légitimes. Par exemple, un iframe peut être utilisé pour intégrer une vidéo depuis Vimeo ou Youtube sur un blog ou une autre page de votre site web. Cette vidéo peut être jouée directement sur la page car elle réside dans un iframe.
Avec le clickjacking, un iframe est utilisé pour qu’un utilisateur croie qu’il clique sur quelque chose (télécharger un PDF, par exemple) alors qu’il fait autre chose (comme par exemple faire un achat involontaire ou télécharger un malware).
Les superpositions ne sont pas la seule manière de réaliser une attaque par clickjacking, mais le résultat final de n’importe quelle attaque par clickjacking est que l’utilisateur est piégé par des actions non intentionnelles, dues à des éléments malveillants déguisés en éléments légitimes.
Les attaquants peuvent utiliser plusieurs variables pour élaborer une attaque par clickjacking, mais il existe un exemple classique de déroulement d’une telle attaque.
Un clickjacker crée une page malveillante (par ex. factice.com) qui inclut un iframe contenant le site web cible (un site légitime, par ex. legit.com). Grâce au style, l’iframe sera paramétré pour être invisible et placé de sorte ce que la touche invisible sur legit.com soit placée directement sur une touche factice sur factice.com. Ainsi, lorsque l’utilisateur clique sur la touche factice qu’il voit, il clique en réalité sur la touche invisible.
Lorsque leur page web factice est en place, l’attaquant a typiquement recours à des tactiques d’ingénierie sociale, comme des emails frauduleux, pour inciter les victimes à les consulter. Dans ces emails, les victimes apprennent qu’elles ont gagné un prix ou se voient proposer des offres irrésistibles pour les attirer.
Une fois que l’attaquant a piégé la victime et qu’elle consulte le site web, la victime clique pour réclamer une fausse offre ou réaliser une autre action. Alors, l’action visée par l’attaquant, et non celle que pensait réaliser la victime, est exécutée par le navigateur de la victime.
Les attaques par clickjacking peuvent faire plus que détourner les clics de la souris. Elles peuvent être utilisées pour obtenir des informations, voler de l’argent, s’introduire dans la vie privée d’un utilisateur ou encore
Voler des identifiants de connexion (l’authentification passwordless peut contrecarrer cela)
Virer illégalement de l’argent
Faire des achats involontaires
Exposer l’emplacement de l’utilisateur
Activer le micro ou la caméra de l’utilisateur
Télécharger un malware
Obtenir plus de followers sur les réseaux sociaux (lifejacking)
Voler les cookies du navigateur (cookiejacking)
Accéder aux fichiers présents sur le disque dur de l’utilisateur (filejacking)
Techniquement, n’importe quel site pouvant être intégré à un iframe est vulnérable aux attaques par clickjacking. C’est pourquoi il est si important pour les administrateurs des sites web et pour les utilisateurs finaux de prendre des mesures pour les éviter.
Comment tester la vulnérabilité de votre site au clickjacking ? Une méthode consiste à coder une page HTML en particulier et de l’utiliser pour essayer d’intégrer une page sensible de votre site dans un iframe. L’OWASP fournit un échantillon de code HTML pour réaliser ce test.
La plupart des méthodes pour se protéger contre le clickjacking s’appuient sur l’origine de la page, c’est-à-dire le fait que le domaine de la page malveillante soit différent du domaine de la page légitime (par ex., factice.com et legit.com). Aussi, lorsque vous lancez cette page test, il vaut mieux ne pas la lancer avec le même domaine que la page cible (par ex. legit.com).
Une fois que vous lancez le HTML, vous devriez savoir si la page que vous testez est vulnérable au clickjacking. En faisant d’autres tests, vous pouvez savoir si des protections déjà en place sur la page peuvent être contournées par une attaque par clickjacking.
Vous pouvez défendre votre site web contre les attaques par clickjacking en prenant des mesures de prévention côté client et côté serveur.
Côté client, il existe trois principales méthodes de prévention contre le clickjacking et toutes sont liées aux navigateurs.
Si vous ne pouvez pas contrôler les navigateurs utilisés par vos utilisateurs, la plupart des navigateurs modernes sont compatibles avec l’API Intersection Observer. Cette API JavaScript permet de détecter la visibilité des éléments cibles. Cela permet à une page web de « savoir » si un composant spécifique de la page ou bien la page entière est visible par l’utilisateur. Le fait de savoir cela peut être utilisé pour déterminer si le contenu d’une page web est invisible par l’utilisateur (même s’il se trouve au sens d’un iframe).
Les add-on des navigateurs
Il existe aussi plusieurs add-on de navigateur conçus pour protéger contre le clickjacking, notamment NoScript et NoClickjack. Ces add-on ne sont pas compatibles avec tous les navigateurs, mais leur disponibilité augmente.
Casser le cadre est une pratique consistant à utiliser JavaScript pour qu’une page web ne puisse pas être chargée sur un cadre. C’est efficace dans les navigateurs d’ancienne génération qui ne sont pas compatibles avec les nouvelles méthodes telles que l’API Intersection Observer ou l’en-tête X-Frame-Options et la CSP mentionnés ci-dessous.
Remarque : en cassant le cadre, vous vous exposez à être remplacé par la page factice.
Côté serveur, il existe plusieurs manières de se protéger contre le clickjacking. Lorsque c’est possible, il vaut mieux utiliser plus d’une méthode pour renforcer vos défenses.
Cette option de cadre peut être ajoutée au HTTP comme en-tête de réponse. L’en-tête de réponse HTTP est conçu pour permettre au serveur de dire au client (navigateur web) si la page spécifique peut être montrée dans un cadre. La plupart des principaux navigateurs appliquent cette restriction. Une fois que l’administrateur du site web a établi l’X-Frame-Options du site, l’en-tête appliquera l’une des politiques de cadrage suivantes :
MÊMEORIGINE : seuls les cadrages des mêmes sites web sont autorisés
REFUSER : tous les cadrages sont interdits
L’X-Frame-Options est une alternative plus ancienne qui est devenue obsolète avec le standard Content Security Policy (expliqué ci-dessous), mais elle est toujours compatible avec les navigateurs modernes.
La directive frame-ancestors est conçue pour remplacer l’en-tête X-Frame-Options. Dans le cadre de la Content Security Policy (CSP), la directive frame-ancestors peut autoriser ou ne pas autoriser l’intégration du contenu d’un cadre. Sur les pages qui incluent l’en-tête X-Frame-Options et la directive frame-ancestors, le navigateur donne généralement sa préférence à la politique frame-ancestors.
Si l’on utilise généralement l’attribution de cookie SameSite pour se défendre contre une CSRF (cross-site request forgery), elle peut aussi servir à repousser le clickjacking. Elle empêche un cookie d’être envoyé si la demande provient d’un tiers. Pour ce qui est du clickjacking, cela signifie que même si la page web était affichée dans un cadre et que la victime avait cliqué par inadvertance sur un bouton, n’importe quel cookie qui serait normalement envoyé avec la demande en suivant le clic ne sera pas envoyé (par exemple un cookie de session).
Si des utilisateurs peuvent éviter d’être victimes d’ingénierie sociale, les attaques par clickjacking auront moins de succès. Suivre quelques règles de bon sens peut aider les utilisateurs à rester à l’abri des tactiques d’ingénierie sociale que les hackers utilisent pour en faire des proies :
Ne cliquez pas sur les pop-up, surtout sur les sites que vous n’utilisez pas régulièrement. Nombre d’entre elles sont malveillantes.
Faîtes attention aux avertissements du navigateur concernant les sites que vous consultez. Si vous recevez un avertissement pour ne pas continuer, respectez-le.
Ne cliquez pas sur un lien figurant dans un email provenant d’une source non familière. Avant de cliquer sur un lien qui ne semble pas fiable, vérifiez les fautes d’orthographe et regardez s’il s’agit d’un lien HTTP ou HTTPS. Les sites plus fiables utilisent le HTTPS.
Le clickjacking basé sur du texte est devenu plus fréquent. Ne cliquez pas sur les liens d’un message provenant d’un expéditeur inconnu.
Si votre organisation l’utilise, l’authentification multifacteur peut aider à vous protéger contre l’ingénierie sociale. N’oubliez pas que c’est surtout utile pour les collaborateurs, puisque les plateformes de CIAM ne peuvent pas former leurs clients sur les dangers de l’ingénierie sociale.
Les attaquants potentiels s’efforcent en permanence de compromettre votre système avec de multiples vecteurs d’attaque. Pour défendre votre organisation et ses utilisateurs, vous devez être tout autant vigilant quant à votre posture en matière de cybersécurité. En savoir plus sur la manière dont Ping aide à réduire vos risques en combinant la détection des fraudes en ligne, la preuve de l’identité et la gestion des accès avec une solution low code ou no-code.
Lancez-vous dès Aujourd'hui
Contactez-Nous
Découvrez comment Ping peut vous aider à protéger vos employés et améliorer l'expérience de vos clients dans un monde digital en constante évolution.
Démonstration Gratuite