Il est difficile de résister à cliquer sur un lien d'offre iPhone gratuit. Mais attention: votre clic peut être facilement détourné et les résultats peuvent être désastreux.
What is Clickjacking?
Le détournement de clic est une méthode d'attaque, également connue sous le nom de correction de l'interface utilisateur, car elle est configurée en déguisant (ou en corrigeant) un lien avec une superposition qui incite l'utilisateur à faire quelque chose de différent de ce qu'il pense.
La plupart des utilisateurs de réseaux sociaux apprécient la commodité de rester connectés à tout moment. Les attaquants pourraient facilement profiter de cette habitude pour forcer les utilisateurs à aimer ou à suivre quelque chose sans s'en rendre compte. Pour ce faire, un cybercriminel pourrait mettre un bouton tentant - par exemple, avec un texte attrayant, tel que "iPhone gratuit - offre à durée limitée" - sur sa propre page Web et superposer un cadre invisible avec la page du réseau social, dans un tel une façon dont un bouton «J'aime» ou «Partager» se trouve sur le bouton iPhone gratuit.
Cette simple astuce de détournement de clic peut forcer les utilisateurs de Facebook à aimer des groupes ou des pages de fans sans le savoir.
Le scénario décrit est assez innocent dans le sens où la seule conséquence pour la victime est d'être ajoutée à un groupe de réseau social. Mais avec un peu d'effort supplémentaire, la même technique pourrait être utilisée pour déterminer si un utilisateur est connecté à son compte bancaire, et au lieu d'aimer ou de partager un élément de réseau social, il pourrait être obligé de cliquer sur un bouton qui transfère des fonds à le compte d'un attaquant, par exemple. Le pire est que l'action malveillante ne peut pas être tracée car l'utilisateur était légitimement connecté à son compte bancaire et a volontairement cliqué sur le bouton de transfert.
Parce que la plupart des techniques de détournement de clic nécessitent ingénierie sociale, les réseaux sociaux deviennent des vecteurs d'attaque idéaux.
Voyons comment ils sont utilisés.
Clickjacking on Twitter
Il y a une dizaine d'années, le réseau social Twitter a subi une attaque massive qui a rapidement propagé un message, ce qui a conduit les utilisateurs à cliquer sur un lien, profitant de leur curiosité naturelle.

Les tweets avec le texte «Ne cliquez pas», suivi d'un lien, se sont rapidement propagés sur des milliers de comptes Twitter. Lorsque les utilisateurs cliquaient sur le lien, puis sur un bouton apparemment innocent sur la page cible, un tweet était envoyé depuis leurs comptes. Ce tweet contenait le texte «Ne cliquez pas», suivi du lien malveillant.
Les ingénieurs de Twitter ont corrigé l'attaque de détournement de clic peu de temps après son lancement. L'attaque elle-même s'est avérée inoffensive et a fonctionné comme une alarme signalant les risques potentiels impliqués dans les initiatives de détournement de clics sur Twitter. Le lien malveillant a conduit l'utilisateur vers une page Web avec une iframe masquée. À l'intérieur du cadre se trouvait un bouton invisible qui envoyait le tweet malveillant du compte de la victime.
Clickjacking on Facebook
Les utilisateurs de l'application mobile Facebook sont exposés à un bogue qui permet aux spammeurs de publier du contenu cliquable sur leur chronologie, sans leur consentement. Le bogue a été découvert par un professionnel de la sécurité qui analysait une campagne de spam. L'expert a observé que nombre de ses contacts publiaient un lien vers une page contenant des images amusantes. Avant d'accéder aux images, il était demandé aux utilisateurs de cliquer sur une déclaration de majorité.
Ce qu'ils ne savaient pas, c'est que la déclaration était sous un cadre invisible.

Lorsque les utilisateurs ont accepté la déclaration, ils ont été dirigés vers une page avec des images amusantes. Mais entre-temps, le lien a été publié dans la chronologie Facebook des utilisateurs. Cela a été possible car le composant de navigateur Web de l'application Facebook pour Android n'est pas compatible avec les en-têtes d'options de cadre (nous expliquons ci-dessous ce qu'ils sont) et permet donc la superposition de cadres malveillants.
Facebook ne reconnaît pas le problème comme un bogue car il n'a aucun impact sur l'intégrité des comptes des utilisateurs. Il n'est donc pas certain que cela soit réparé un jour.
Il n'y a pas que Twitter et Facebook. D'autres réseaux sociaux et plateformes de blogs moins populaires présentent également des vulnérabilités qui permettent le détournement de clics. LinkedIn, par exemple, avait une faille qui ouvrait la porte aux attaquants pour inciter les utilisateurs à partager et publier des liens en leur nom, mais sans leur consentement. Avant qu'elle ne soit corrigée, la faille permettait aux attaquants de charger la page LinkedIn ShareArticle sur un cadre caché et de superposer ce cadre sur des pages avec des liens ou des boutons apparemment innocents et attrayants.

Un autre cas est Tumblr, la plate-forme publique de blogs Web. Ce site utilise du code JavaScript pour empêcher le détournement de clic. Mais cette méthode de protection devient inefficace car les pages peuvent être isolées dans un cadre HTML5 qui les empêche d'exécuter du code JavaScript. Une technique soigneusement conçue pourrait être utilisée pour voler des mots de passe, combinant la faille mentionnée avec un plugin de navigateur d'aide aux mots de passe: en incitant les utilisateurs à taper un faux texte captcha, ils peuvent envoyer par inadvertance leurs mots de passe au site de l'attaquant.
Cross-site request forgery
Une variante d'attaque de détournement de clic est appelée falsification de requête intersite, ou CSRF en abrégé. Avec l'aide de l'ingénierie sociale, les cybercriminels dirigent les attaques CSRF contre les utilisateurs finaux, les forçant à exécuter des actions indésirables. Le vecteur d'attaque peut être un lien envoyé par e-mail ou par chat.

Les attaques CSRF ne visent pas à voler les données de l'utilisateur car l'attaquant ne peut pas voir la réponse à la fausse requête. Au lieu de cela, les attaques ciblent des demandes de changement d'état, comme un changement de mot de passe ou un transfert de fonds. Si la victime a privilèges administratifs, l'attaque a le potentiel de compromettre une application Web entière.
Une attaque CSRF peut être stockée sur des sites Web vulnérables, en particulier des sites Web présentant des «failles CSRF stockées». Cela peut être accompli en entrant des balises IMG ou IFRAME dans des champs de saisie qui seront affichés ultérieurement sur une page, tels que des commentaires ou une page de résultats de recherche.
Real Life Clickjacking Example
En 2016, Andres Ferrate (responsable de la qualité du trafic Google Ads) a précisé dans un article de blog que certains éditeurs cachaient des annonces (iFrames) sur un contenu cliquable typique.


Ainsi, lorsqu'un utilisateur normal essaie de cliquer sur un élément souhaité, les publicités superposées sont cliquées à la place. Dans le deuxième GIF, vous pouvez voir le bloc d'annonces invisible suivre le mouvement de la souris. Cela charge les publicités, quel que soit l'endroit où un visiteur clique sur la page Web malveillante.
Pour ces nouveaux, ce sont les clics publicitaires qui rapportent de l'argent réel à n'importe quel site Web, bien plus que ce qu'ils gagnent avec de simples impressions.
Alors que ce cas particulier de détournement de clic était ennuyeux pour les visiteurs, les annonceurs perdaient de l'argent pour rien. Enfin, Google a résilié les comptes Adsense de ces éditeurs pour s'assurer que leur réseau publicitaire reste productif pour chaque partie prenante.
Preventing framing attacks
Les navigateurs modernes peuvent savoir si une ressource particulière est autorisée ou non à se charger dans un cadre. Ils peuvent également choisir de charger une ressource dans un cadre uniquement lorsque la demande provient du même site sur lequel se trouve l'utilisateur. De cette façon, les utilisateurs ne peuvent pas être incités à cliquer sur des cadres invisibles contenant du contenu provenant d'autres sites, et leurs clics ne sont pas détournés.

Les techniques d'atténuation côté client sont appelées frame busting ou frame kill. Bien qu'ils puissent être efficaces dans certains cas, ils peuvent également être facilement contournés. C'est pourquoi les méthodes côté client ne sont pas considérées comme des meilleures pratiques. Au lieu de contourner les trames, les experts en sécurité recommandent des méthodes côté serveur telles que X-Frame-Options (XFO) ou des méthodes plus récentes, comme la politique de sécurité du contenu.
Options X-Frame est un en-tête de réponse que les serveurs Web incluent sur les pages Web pour indiquer si un navigateur est autorisé ou non à afficher son contenu dans un cadre.
L'en-tête X-Frame-Option autorise trois valeurs.
- DENY, qui interdit d'afficher la page dans un cadre
- SAMEORIGIN, qui permet d'afficher la page dans un cadre, tant qu'elle reste dans le même domaine
- ALLOW-FROM URI, qui permet l'affichage de la page dans un cadre mais uniquement dans un URI spécifié (Uniform Resource Identifier), par exemple uniquement dans une page Web particulière et spécifique.
Les méthodes anti-détournement de clic plus récentes incluent la stratégie de sécurité du contenu (CSP) avec la directive frame-ancestors. Cette option est largement utilisée pour remplacer XFO. Un avantage majeur de CSP par rapport à XFO est qu'il permet à un serveur Web d'autoriser plusieurs domaines à encadrer son contenu. Cependant, il n'est pas encore pris en charge par tous les navigateurs.
Les ancêtres des cadres de CSP La directive admet trois types de valeurs: 'aucun,' pour empêcher tout domaine d'afficher le contenu; 'soi,' pour autoriser uniquement le site actuel à afficher le contenu dans un cadre, ou une liste d'URL avec des caractères génériques, tels que '* .some site.com,' 'https://www.example.com/index.html, 'etc., pour autoriser uniquement le cadrage sur toute page correspondant à un élément de la liste.
Comment se protéger contre le détournement de clic
Il est pratique de rester connecté à un réseau social tout en naviguant, mais si vous le faites, vous devez être prudent avec vos clics. Vous devez également faire attention aux sites que vous visitez car tous ne prennent pas les mesures nécessaires pour éviter le détournement de clics. Dans le cas où vous n'êtes pas sûr d'un site Web que vous visitez, vous ne devez pas cliquer sur un clic suspect, aussi tentant que cela puisse être.

Une autre chose à laquelle il faut faire attention est la version de votre navigateur. Même si un site utilise tous les en-têtes de prévention du détournement de clic que nous avons mentionnés précédemment, tous les navigateurs ne les prennent pas en charge tous, alors assurez-vous d'utiliser la dernière version que vous pouvez obtenir et qu'elle prend en charge les fonctionnalités anti-détournement de clic.
Le bon sens est un dispositif d'autoprotection efficace contre le détournement de clic. Lorsque vous voyez un contenu inhabituel, y compris un lien publié par un ami sur un réseau social, avant de faire quoi que ce soit, vous devriez vous demander si c'est le type de contenu que votre ami publierait. Sinon, vous devez avertir votre ami qu'il pourrait être victime d'un détournement de clic.
Un dernier conseil: si vous êtes un influenceur, ou si vous avez juste un très grand nombre de followers ou d'amis sur n'importe quel réseau social, vous devez doubler vos précautions et pratiquer un comportement responsable en ligne. Parce que si vous devenez une victime du détournement de clic, l'attaque finira par toucher un grand nombre de personnes.