Si vous ne faites pas remplacer les plaquettes de frein de votre véhicule parce que vous n’avez pas remarqué leur usure, vous risquez de lui causer des dommages bien plus conséquents en un rien de temps. C’est à peu près la même chose si vous êtes victime de ce que l’on appelle une attaque de cross-site scripting.
Lisez la suite pour découvrir ce qu’est le cross-site scripting (abrégé XSS), comment il fonctionne et ce que vous pouvez faire pour vous en protéger.
Cross-site scripting (XSS) : qu’est-ce que c’est ?
Pour faire simple, les hackers utilisent le cross-site scripting (XSS) pour détourner les formulaires en ligne, les pages Web ou même les serveurs de leur fonctionnement normal.
Dans la plupart des cas, les pirates utilisent ce que l’on appelle des langages de script (JavaScript en particulier), car ces derniers sont largement utilisés par les programmeurs. C’est pourquoi le terme « script » est utilisé pour désigner ce type de cyberattaque. Le terme « cross » (le « X » de XSS) signifie que ces scripts malveillants fonctionnent sur plusieurs sites.
Le XSS est l’une des méthodes d’attaque les plus courantes sur Internet. Il permet aux cybercriminels d’injecter du code malveillant dans des pages Web ou des serveurs apparemment inoffensifs et fiables. Les pirates peuvent utiliser le cross-site scripting pour manipuler des pages Web, détourner des navigateurs, dérober des données confidentielles et voler des comptes d’utilisateurs entiers pour commettre ce que l’on appelle des usurpations d’identité en ligne.
Malheureusement, les failles de sécurité dans les pages Internet ou sur les serveurs, qui permettent aux cyberattaques de cross-site scripting de réussir, sont courantes. Les données d’utilisateurs reçues sont ainsi insuffisamment vérifiées, puis traitées voire transmises.
Ainsi, même une petite faille de sécurité dans une page Web ou sur un serveur peut provoquer l’envoi de scripts malveillants à un serveur Web ou à un navigateur, qui les exécute ensuite et entraîne des résultats catastrophiques.
Comment fonctionne le cross-site scripting ?
D’une manière générale, la plupart des pages Web vous permettent d’ajouter du contenu, comme des commentaires, des messages ou même des informations de connexion. Cela signifie que le cross-site scripting est toujours possible en théorie si, par exemple, il existe des failles de sécurité importantes au niveau de la vérification des instructions (scripts) pour la transmission du contenu que vous avez saisi sur un serveur.
Grâce à ces failles, également connues sous le nom de failles XSS, les cybercriminels peuvent transférer leurs scripts malveillants vers ce que l’on appelle le client, c’est-à-dire vers le serveur Web ainsi que vers votre navigateur ou votre appareil. Les fraudeurs en ligne profitent du fait que la plupart des pages Web sont désormais générées de manière dynamique, et que presque tout langage de script pouvant être interprété par un navigateur peut être accepté et utilisé pour manipuler les paramètres de transfert.
Par exemple, il est facile pour les pirates de modifier les scripts côté serveur qui définissent la manière dont les données des formulaires de connexion doivent être traitées. Ils peuvent alors, entre autres, faire en sorte que les données d’utilisation soient transférées vers un serveur frauduleux.
Cela dit, les attaques de XSS ne visent pas nécessairement à nuire directement au client touché (c’est-à-dire votre appareil ou un serveur) ou à voler des données personnelles. Les scripts frauduleux des attaquants sont plutôt utilisés pour exploiter le client affecté comme « expéditeur » de malwares et d’attaques de phishing, ce qui peut avoir des conséquences dévastatrices. Dans ce cas, les auteurs des cyberattaques restent naturellement anonymes et cachés à l’arrière-plan.
Il existe trois types d’attaques de cross-site scripting, que nous allons maintenant examiner plus en détail :
- Cross-site scripting réfléchi
- Cross-site scripting stocké ou permanent
- Cross-site scripting basé sur le DOM ou local
Cross-site scripting réfléchi
Dans le cas des attaques réfléchies, les pirates parviennent à introduire leurs scripts malveillants sur un serveur.
Si vous cliquez sur une page Web apparemment digne de confiance que les pirates ont créée, une requête est envoyée au serveur sur lequel se trouve la page Web cachée derrière le lien.
Si les réglages de sécurité pour la vérification des paramètres de transfert sur le serveur sont inadéquats ou si des failles sont présentes, même si une page Web générée dynamiquement s’affiche correctement, il s’agira d’une page qu’un pirate a manipulée ou complétée par des scripts malveillants. C’est parce que toutes les instances qui interagissent pour afficher cette page Web ont accepté les scripts du pirate. Si vous saisissez vos identifiants de connexion personnels, ils sont ensuite, sans surprise, souvent transmis directement au serveur du pirate.
Le cross-site scripting réfléchi est très courant dans les attaques de phishing. Comme vous pensez que les pages Web modifiées par le XSS basé sur le serveur sont authentiques, vous n’avez aucune raison de suspecter quoi que ce soit, et vous finissez par servir vos données de connexion aux hackers sur un plateau sans même vous en rendre compte.
Cross-site scripting stocké ou permanent
Dans le cas des attaques permanentes, le point de départ est également une faille de sécurité sur un serveur.
Toutefois, dans le cas du cross-site scripting permanent, les modifications apportées par un pirate aux scripts d’un site Web sont stockées de manière permanente, ou persistante, dans la base de données du serveur Web en question.
Dans ce cas, vous n’avez même pas besoin de cliquer sur un lien manipulé. En effet, en raison des modifications apportées à la base de données du serveur Web, les fausses pages Web s’affichent automatiquement lorsque vous visitez le site Web normal.
Très souvent, les pirates utilisent des forums mal protégés comme passerelles pour soumettre leur code manipulé au serveur Web qui héberge ces forums. Dans ce cas, un simple post de forum avec un script malveillant suffit pour qu’ils modifient la base de données du serveur Web et puissent ensuite accéder à des masses de données d’accès d’utilisateurs.
Les attaques de XSS stocké sont plus compliquées que celles de XSS réfléchi. Pour les cybercriminels, elles ne sont rentables que sur les sites Web très populaires, qui reçoivent suffisamment de visiteurs. Et bien sûr, ces sites Web doivent présenter des failles de sécurité pour que les pirates puissent injecter leurs scripts manipulés.
Mais une fois qu’ils y parviennent, le nombre de victimes potentielles augmente considérablement, car les scripts frauduleux sont envoyés aux navigateurs de toutes les personnes qui accèdent à ce site Web infecté à l’aide de scripts intersites permanents. C’est pourquoi il est presque impossible de détecter les attaques de XSS permanent ou stocké avant qu’il ne soit trop tard.
Cross-site scripting basé sur le DOM ou local
Avec les attaques de XSS local ou basé sur le DOM, les cybercriminels n’exploitent pas une faille de sécurité sur un serveur Web. Au lieu de cela, ils vous envoient leur script malveillant via un e-mail spécialement conçu. Ce script est ensuite exécuté dans votre navigateur sans même que vous vous en rendiez compte. Ils utilisent des méthodes d’ingénierie sociale telles que le phishing ou le spoofing pour vous inciter à visiter leur faux site Web.
Il vous suffit de cliquer sur un lien soi-disant fiable, envoyé par e-mail, pour que votre navigateur ait déjà intégré le script malveillant (appelé JavaScript du côté du client). Votre navigateur accepte ce script infecté parce qu’il est considéré à tort comme faisant partie du code source de cette page Web soi-disant fiable et l’exécute. Il vous montre la page Web à laquelle vous avez accédé, ou plutôt une version manipulée de celle-ci.
Si votre navigateur dispose également de droits spéciaux sur votre ordinateur portable ou votre PC, les pirates peuvent même espionner et manipuler les données stockées localement sur votre appareil.
Étant donné que ces codes ne sont pas visibles et que beaucoup d’entre nous ne connaissent pas les langages de programmation comme JavaScript, il nous est pratiquement impossible de détecter une attaque de XSS local.
Comment se protéger du cross-site scripting ?
De nombreuses attaques de cross-site scripting visent les serveurs hébergeant des sites Web d’entreprises, de banques ou de gouvernements. Cependant, des responsables informatiques sont chargés de vérifier en permanence les mécanismes de sécurité de ces sites Web et d’adapter les mesures de protection.
Mais en tant que particulier, vous disposez également d’un certain nombre d’options pour vous protéger des conséquences d’une attaque de XSS.
Pour éviter les attaques de XSS, vous devez manipuler les liens et les e-mails avec prudence
Comme vous le savez probablement, c’est le facteur humain qui constitue la vulnérabilité principale de l’utilisation d’appareils numériques. Après tout, combien de temps vous faut-il pour cliquer sur le lien d’un e-mail qui semble avoir été envoyé par quelqu’un que vous connaissez sans même y réfléchir ? Nous sommes également régulièrement mis en garde contre les attaques de phishing, notamment de la part des banques dont nous utilisons les services en ligne.
Même si votre banque ne vous a pas envoyé d’informations spécifiques sur une attaque de phishing, vous pouvez repérer les e-mails frauduleux grâce à quelques signes révélateurs :
- L’adresse de l’expéditeur affichée n’est pas nécessairement l’adresse réelle. En regardant les détails de l’expéditeur dans l’en-tête de l’e-mail, vous pouvez facilement voir si la personne qui l’a envoyé est vraiment celle qu’elle prétend être. Si, au lieu de cela, vous voyez une adresse e-mail à l’aspect plutôt cryptique, la meilleure chose à faire est de transférer immédiatement cet e-mail dans le dossier « Spam » de votre programme de messagerie.
- Si l’e-mail ne contient pas de salutation personnalisée ou, en d’autres termes, si l’on ne s’adresse pas à vous par votre nom, cela peut être le signe qu’il s’agit d’un message frauduleux.
- Les fautes de grammaire, d’orthographe et de ponctuation sont autant de signes que les pirates veulent vous orienter vers une page Web frauduleuse.
- Même une version légèrement différente d’un site Web que vous utilisez fréquemment peut être le signe qu’il a été manipulé.
Bloquez JavaScript pour minimiser les dommages causés par les scripts intersites
Vous pouvez améliorer votre protection contre les attaques de XSS local en désactivant le support Java de votre navigateur. En effet, les attaques JavaScript sont souvent inefficaces si le scripting actif est désactivé.
Toutefois, la désactivation de JavaScript ne vous protège que contre les attaques de XSS, et non contre les attaques par injection HTML ou injection SQL. Jetez un coup d’œil à notre article de blog pour en savoir plus sur ce qui se cache derrière cette forme de cyberattaque.
Évitez les attaques de XSS local avec Avira Browser Safety
Si vous installez un module complémentaire de protection du navigateur comme Avira Browser Safety, cette extension peut vous aider à détecter et à éviter les détournements de navigateur, les applications indésirables dans vos téléchargements et les pages de phishing, et vous protéger ainsi des résultats d’une attaque de XSS locale.
L’extension Browser Safety est entièrement personnalisable et fonctionne en arrière-plan sur les appareils Windows et Mac. Avira Browser Safety est disponible pour Firefox, Chrome, Opera et Edge (l’extension inclut dans chaque cas Avira Safe Shopping).
Un programme antivirus à l’efficacité éprouvée peut vous aider à éviter les attaques de cross-site scripting
On ne le répétera jamais assez : tous les appareils sur lesquels vous utilisez des applications et avec lesquels vous naviguez en ligne doivent être équipés d’une solution antivirus éprouvée. Avira Free Antivirus est fourni par l’un des principaux fournisseurs allemands de sécurité en ligne (identifiant de déclaration AVR004) et peut vous aider à améliorer la protection en temps réel de votre appareil.
Avira Free Antivirus est un système automatisé, intelligent et évolutif autonome qui renforce votre protection contre les cybermenaces en constante évolution. Grâce à la protection intégrée contre les PUA, Avira Free Antivirus peut également aider à détecter les applications potentiellement indésirables qui se cachent dans des logiciels légitimes.