Que sont les attaques auto-XSS ?
Self-XSS (auto-XSS) est un type d'attaque d'ingénierie sociale qui vous pousse à exécuter du code malveillant dans votre navigateur Web. Contrairement aux attaques XSS classiques, qui reposent sur des failles dans les applications Web permettant aux pirates informatiques d'injecter du code malveillant, les attaques auto-XSS reposent sur vos propres actions potentielles d'exécution de code.
Les attaques auto-XSS impliquent généralement le pirate informatique qui vous incite à copier et coller du code malveillant dans la console DevTools de votre navigateur. L’attaquant y parvient généralement en promettant une sorte de récompense. Il peut s'agir de:
- vous promettre que le code vous permettra d'accéder à des fonctionnalités cachées ou à des récompenses virtuelles ;
- Faire semblant que le code est un test de sécurité ou une correction de bug.
- Promettre que le code permet de pirater un site Web à des fins lucratives
Une fois le code exécuté, le pirate informatique peut prendre le contrôle de votre compte. Cela peut permettre à l'attaquant:
- voler vos informations personnelles, telles que votre nom, votre adresse et votre numéro de carte de crédit ;
- publier des messages ou des commentaires non autorisés en votre nom ;
- Prenez le contrôle de vos comptes de réseaux sociaux.
- propager des logiciels malveillants aux autres utilisateurs ;
Comment les outils pour les développeurs Chrome tentent-ils de limiter les attaques auto-XSS ?
Il est intrinsèquement risqué de permettre aux utilisateurs de coller du code dans les outils de développement, puis de l'exécuter. Mais c'est aussi l'une des fonctionnalités essentielles des outils pour les développeurs Chrome. Nous avons donc dû trouver un équilibre entre limiter les potentielles attaques de type auto-XSS et ne pas interférer avec le travail des développeurs qui souhaitent simplement déboguer des sites Web.
En règle générale, les développeurs ne copient pas le code qu'ils trouvent sur le Web, le collent dans les outils de développement, puis l'exécutent, sans avoir préalablement examiné rapidement son rôle. La plupart des développeurs sont parfaitement conscients des risques de sécurité liés à l'exécution de code qu'ils ont découvert dans un coin équivoque du Web.
Les outils pour les développeurs Chrome font confiance aux développeurs pour savoir ce qu'ils font. Nous ne voulons pas les ralentir ni les distraire de quelque manière que ce soit lorsqu'ils copient et collent du code.
Nous pensons que les non-développeurs ont un risque beaucoup plus élevé d'être victimes d'une attaque auto-XSS. Pour vous protéger, nous pensons qu'il est acceptable et bénéfique d'interrompre vos activités lorsque vous faites quelque chose de potentiellement dangereux. Lorsque les outils pour les développeurs Chrome détectent qu'un utilisateur inexpérimenté tente de coller du code dans les outils de développement, ils s'arrêtent et affichent un avertissement.
Quand les outils de développement afficheront-ils des avertissements d'auto-XSS ?
Les outils de développement utilisent une heuristique très simple pour décider d'afficher ou non des avertissements XSS. Elles se basent sur l'historique de la console de votre profil utilisateur.
Si votre profil comporte au moins cinq entrées dans l'historique de la console, aucun avertissement ni pop-up ne s'affiche dans les outils de développement. L'historique de la console est la liste des commandes que vous avez saisies et exécutées dans la console. Voici les commandes qui s'affichent lorsque vous placez le curseur dans la console et appuyez plusieurs fois sur la flèche vers le haut.
À quoi ressemblent les avertissements auto-XSS ?
Lorsqu'un utilisateur inexpérimenté tente de coller du code dans la console, cette action est bloquée et la console affiche un avertissement à la place.
Vous pouvez ignorer cet avertissement et activer le collage, mais pour ce faire, vous devez saisir "allow pasting".
Lorsqu'un utilisateur inexpérimenté colle du code dans l'éditeur de code des outils de développement (par exemple, le panneau Sources), l'expérience utilisateur est très similaire. Au lieu d'un avertissement, une boîte de dialogue modale s'affiche.
Là encore, la fermeture de cette boîte de dialogue seule ne suffit pas pour permettre le collage. Pour ignorer cet avertissement, vous devez saisir "Autoriser le collage" dans le champ de saisie.
S'agit-il d'un paramètre unique ?
Oui. Une fois que vous avez autorisé le collage, vous n'avez plus à vous préoccuper d'avertissements XSS.
Nous espérons que cela vous permettra de trouver le bon compromis entre utilité et gêne. En ajoutant des frictions, nous augmente la probabilité que vous lisiez l'avertissement et réduisons donc les chances de réussite d'une attaque auto-XSS.
Les outils pour les développeurs Chrome conservent un indicateur qui spécifie si des avertissements auto-XSS doivent s'afficher ou non dans votre profil Chrome. Par conséquent, si vous créez un profil et commencez immédiatement à coller du code dans les outils de développement, cette opération est bloquée et des avertissements auto-XSS s'affichent à la place.
Pouvez-vous le désactiver pour automatiser les tests ?
Mais qu'en est-il des tests automatisés ? De nombreux outils de test créent un profil temporaire pour chaque exécution de test. Par conséquent, si vous utilisez les outils de développement pour déboguer vos tests automatisés, le collage dans la console est initialement bloqué.
Pour contourner ce problème, effectuez l'une des opérations suivantes:
utiliser Chrome for Testing, un ensemble de navigateurs Chrome spécialement conçus pour les tests et l'automatisation ; Les avertissements auto-XSS sont désactivés.
Pour les autres versions disponibles de Chrome, transmettez l'indicateur de ligne de commande
--unsafely-disable-devtools-self-xss-warnings
à Chrome pour désactiver complètement la boîte de dialogue d'avertissement auto-xss.
Conclusion
Que pensez-vous de cette stratégie d'atténuation des attaques de type auto-XSS ? Si vous avez des commentaires ou des suggestions, ajoutez un commentaire à ce bug ou contactez-nous via l'une des méthodes suivantes.
En particulier si vous travaillez sur un site Web qui vous avertit des attaques d'auto-XSS par le biais des journaux de la console, nous aimerions parler de l'alignement de nos efforts ou de la mesure de l'impact des mesures d'atténuation de l'auto-XSS.
Télécharger les canaux de prévisualisation
Vous pouvez utiliser Chrome Canary, Dev ou Bêta comme navigateur de développement par défaut. Ces versions preview vous permettent d'accéder aux dernières fonctionnalités des outils de développement, de tester des API de plates-formes Web de pointe et de détecter les problèmes sur votre site avant vos utilisateurs.
Contacter l'équipe des outils pour les développeurs Chrome
Utilisez les options suivantes pour discuter des nouvelles fonctionnalités et des modifications dans l'article, ou de tout autre sujet lié aux outils de développement.
- Envoyez-nous une suggestion ou un commentaire via crbug.com.
- Signalez un problème dans les outils de développement en sélectionnant Autres options > Aide > Signaler un problème dans les outils de développement dans les outils de développement.
- Tweetez à l'adresse @ChromeDevTools.
- Faites-nous part de vos commentaires sur les vidéos YouTube sur les nouveautés des outils de développement ou sur les vidéos YouTube de conseils pour les outils de développement.