Doubleclickjacking : la nouvelle menace des attaques par double-clic

Les menaces de cybersécurité ne cessent de se diversifier, et les techniques d’attaque évoluent pour contourner les protections mises en place. Parmi ces nouvelles formes d’attaques, le doubleclickjacking se distingue par sa capacité à exploiter les failles des systèmes de sécurité par le biais du double-clic de la souris. Alors que le clickjacking était déjà une méthode redoutable, sa variante le doubleclickjacking, récemment découverte par Paulos Yibelo, ingénieur en sécurité chez Amazon, pourrait bien représenter un défi encore plus grand pour les développeurs et les administrateurs réseau.

Comprendre le principe du clickjacking

Initialement, le clickjacking repose sur le fait de masquer des éléments malveillants derrière des boutons ou des liens inoffensifs. Lorsque l’utilisateur clique sur ce qu’il pense être un élément légitime, il active en réalité une action cachée, souvent au profit des pirates informatiques. Que ce soit pour exfiltrer des données sensibles ou pour installer des logiciels malveillants, cette technique a longtemps été un outil prisé des cybercriminels.

Le détournement de clics exploite la confiance que les internautes accordent aux sites web connus. Les attaquants intègrent des éléments malveillants cachés dans des pages web apparemment inoffensives, en utilisant souvent des iframes ou d’autres techniques pour masquer leur véritable nature. Lorsqu’un utilisateur interagit avec le contenu licite, il active par inadvertance les éléments frauduleux cachés, ce qui peut entraîner le vol de données, l’installation de programmes indésirables ou des actions non autorisées.

Cette technique consiste souvent à inciter l’utilisateur à cliquer sur un élément qui semble anodin, alors qu’il s’agit en fait d’un lien ou d’un bouton caché qui déclenche l’action perverse. Les attaques classiques de détournement de clics sont souvent atténuées par des en-têtes HTTP tels que X-Frame-Options, qui limitent la capacité d’un site à être encadré dans un autre, et l’attribut SameSite : Lax/Strict pour les cookies, qui limite la transmission des cookies dans des contextes intersites. Cependant, comme le démontre la recherche de Paulos Yibelo, le doubleclickjacking réussit à contourner ces défenses.

Le doubleclickjacking : fonctionnement et implications

Comment fonctionne le doubleclickjacking

Le doubleclickjacking tire parti du délai entre le premier clic et le second dans une séquence de double-clic. Lorsqu’un utilisateur double-clique sur un bouton apparemment inoffensif, la première action déclenche l’affichage d’une fenêtre superposée. Cette fenêtre peut afficher une simple demande d’autorisation, telle qu’un CAPTCHA. Ce qui se passe en arrière-plan est beaucoup plus sinistre.

Entre les deux clics, le script JavaScript modifie l’action du double-clic pour interagir avec un élément sensible, tel qu’un bouton de confirmation d’autorisation OAuth ou un lien vers une page de comptes critiques. Le résultat est que l’utilisateur finit par cliquer sur quelque chose qu’il n’avait pas intentionnellement validé, permettant ainsi aux attaquants d’exploiter cette interaction pour leurs propres fins.

« L’un des aspects surprenants de cette méthode est que la lenteur ou la rapidité du double-clic de la cible n’a pas d’importance. Le fait de privilégier le gestionnaire de l’événement mousedown permet d’exploiter ce phénomène même pour les utilisateurs les plus rapides ou les plus lents. »
Paulos Yibelo

Le doubleclickjacking en bref : une menace insidieuse

Le doubleclickjacking exploite un intervalle de temps minuscule entre le mousedown (début du clic) et le onclick (fin du clic) pour effectuer un échange rapide de fenêtre. Cette technique permet aux attaquants de substituer une fenêtre inoffensive par une fenêtre contenant des éléments sensibles avant que l’utilisateur ne termine son double-clic. L’utilisateur croit effectuer une action anodine, alors qu’il autorise involontairement une action malveillante.

Comment ça marche ?

  1. Fenêtre initiale : une fenêtre apparemment inoffensive est ouverte (ex: vérification CAPTCHA).
  2. Échange de fenêtre : avant le deuxième clic, la fenêtre inoffensive est remplacée par une fenêtre cible, provenant de la même session, contenant les éléments malveillants (ex: autorisation OAuth).
  3. Exploitation du timing : le premier clic (mousedown) ferme la fenêtre inoffensive, dévoilant la fenêtre cible.
  4. Second clic malveillant : le deuxième clic, effectué par l’utilisateur, active l’élément sensible dans la fenêtre cible, sans qu’il en soit conscient. Cette action peut aller de l’autorisation d’accès à un compte à la validation d’un paiement frauduleux.
attaque doubleclicjacking
Déroulement de l’attaque de doubleclickjacking – Source Paulos Yibelo

Pourquoi c’est dangereux ?

Cette technique est particulièrement dangereuse car elle permet aux attaquants de :

  • Détourner des actions sensibles : les utilisateurs peuvent être amenés à autoriser des applications tierces fraduleuses ou à effectuer d’autres actions compromettant leur sécurité sans le savoir. Contrairement au phishing qui exige une interaction plus explicite et souvent une certaine crédulité de la part de la victime, le doubleclickjacking exploite une faille technique pour agir de manière insidieuse et automatique.
  • Contourner les protections existantes : même les sites web utilisant des protections contre le clickjacking peuvent être vulnérables à ces attaques, car le double-clickjacking ne s’appuie pas sur le même mécanisme.

Le doubleclickjacking est une menace sérieuse qui nécessite une vigilance constante de la part des développeurs et des utilisateurs. Contrairement au phishing qui repose sur l’ingénierie sociale, cette attaque exploite une faille technique pour causer des dommages significatifs.

Doubleclickjacking vs. Clickjacking classique : les différences clés

Bien que le doubleClickjacking soit une évolution du clickjacking classique, plusieurs distinctions importantes les différencient.

Clickjacking classique :

  • Mécanisme : l’attaquant intègre un élément invisible ou déguisé sur une page web légitime. Lorsque l’utilisateur clique sur cet élément, il est redirigé vers un site malveillant sans le savoir.
  • Protection : les navigateurs ont mis en place des mesures de protection comme X-Frame-Options et SameSite cookies pour limiter les risques de clickjacking.

Doubleclickjacking :

  • Mécanisme : l’attaquant exploite une séquence de double-clic pour tromper l’utilisateur. Il ouvre une fenêtre pop-up avec un bouton apparemment inoffensif. Lorsque l’utilisateur double-clique sur ce bouton, l’attaquant remplace rapidement la fenêtre par une page sensible (comme une page de connexion ou de paiement).
  • Protection : les protections classiques contre le clickjacking ne sont pas toujours efficaces contre le doubleclickjacking. De nouvelles mesures de protection sont nécessaires, comme l’utilisation de scripts côté client pour désactiver les boutons sensibles par défaut.

Cas de figures et démonstrations

Paulos Yibelo a démontré avec succès la faisabilité de ces attaques sur des plateformes populaires telles que Salesforce, Slack ou Shopify. Par exemple, il a pu autoriser indûment des applications tierces à accéder aux comptes des utilisateurs ou désactiver des paramètres de sécurité critiques.

Exemple d’attaque sur un compte Salesforce – Source Paulos Yibelo

Cette technique ne se limite pas aux pages web classiques. Elle peut également cibler les extensions de navigateur, ouvrant ainsi la porte à des compromissions potentielles de portefeuilles cryptographiques, d’applications Web3, ou même de services VPN.

Défenses contre le doubleclickjacking

Limites des protections existantes

Les méthodes traditionnelles de protection contre le clickjacking, telles que les en-têtes HTTP, se montrent inefficaces face au doubleclickjacking. En effet, ces défenses ne sont pas conçues pour prendre en compte les nuances du timing et de l’ordre des événements utilisés dans cette nouvelle forme d’attaque.

Sans iframes ni tentatives de transfert de cookies entre domaines, le doubleclickjacking échappe aux mécanismes de détection établis, nécessitant donc des approches de sécurité véritablement innovantes et spécifiques à cette menace.

Les nouvelles solutions proposées

Pour contrer le doubleclickjacking, il serait nécessaire de développer de nouveaux scripts de protection côté client. Ces scripts JavaScript pourraient désactiver par défaut les boutons sensibles ou liens critiques jusqu’à ce que des interactions utilisateur plus fiables soient détectées. Voici quelques approches potentielles :

  • Désactivation des boutons critiques jusqu’à ce qu’une interaction gestuelle valide soit détectée
  • Vérification renforcée des actions utilisateurs via plusieurs étapes de validation
  • Supervision continue des interactions de l’utilisateur pour repérer les patterns suspects
  • Solutions à long terme, les navigateurs pourraient adopter de nouvelles normes pour limiter les changements de contexte rapides entre les fenêtres lors d’une séquence de double-clic.
  • Bonnes pratiques pour les développeurs, il est recommandé d’intégrer des scripts de protection sur les pages sensibles (authentification, paiements, etc.) jusqu’à ce que des solutions intégrées soient disponibles dans les navigateurs.

En plus des solutions techniques, une vigilance accrue de la part des utilisateurs reste primordiale. Avant de valider un double clic, prenez une fraction de seconde pour examiner attentivement le contenu de l’écran, vérifier l’URL du site web et vous assurez de la légitimité de l’opération. Même si le double clic est un geste automatique, n’oubliez pas que pendant ce bref instant, une page malveillante peut se substituer à la page légitime. La prudence est de mise pour contrer cette menace insidieuse, car même le double clic le plus rapide peut vous rendre vulnérable à ce type d’attaque.

En résumé, le doubleclickjacking représente une nouvelle frontière dans les attaques de redirection de l’interface utilisateur. Sa capacité à contourner les mécanismes de sécurité traditionnels en exploitant des double-clics soulève des défis substantiels pour les professionnels de la cybersécurité. Il devient essentiel de rester vigilant et de mettre en œuvre des stratégies de défense adaptées pour protéger efficacement les utilisateurs contre cette menace pernicieuse.

Pour en savoir plus : DoubleClickjacking: A New Era of UI Redressing (Paulos Yibelo)

Image de Florent Chassignol
Florent Chassignol
Attiré très jeune par l'informatique, je suis aujourd'hui Fondateur et CEO de Recoveo, leader français de la récupération de données. Vous êtes victime d'un ransomware, votre serveur est HS, votre téléphone a plongé dans la piscine ? Nous sommes là pour vous !

Partager cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *