Qu’est-ce que le détournement de session et comment pouvez-vous l’empêcher ?
Une attaque de détournement de session est une attaque dans laquelle un attaquant prend le contrôle de la session utilisateur de sa victime. Une session utilisateur est créée à chaque fois qu'un utilisateur se connecte à un service en ligne : les sites bancaires, les sites commerciaux, votre webmail, etc. créent tous des sessions utilisateur une fois connecté. Ces sessions sont tracées par le serveur à l'aide d'un cookie de session. Si un attaquant met la main sur votre cookie de session, il peut se connecter à vos comptes comme s'il était vous, sans avoir besoin d'un mot de passe. Cela vous semble effrayant ? C'est.
Dans cet article, nous verrons comment fonctionnent les attaques et ce qui peut être fait pour s’en protéger.
Cookies de session
Chaque fois que vous vous connectez à un service en ligne, le serveur définit un biscuit sur votre ordinateur afin qu'il sache que vous êtes connecté et authentifié. Sans ce cookie de session, vous devrez ressaisir vos informations d'identification chaque fois que vous accédez à une autre section du site Web. Une attaque de détournement de session peut se produire lorsqu’un attaquant dispose d’une copie du cookie de session de la victime. Une fois que l’attaquant a accès au cookie de session de la victime, il peut se connecter au service en question comme s’il était l’utilisateur et effectuer des transactions, modifier les paramètres, etc., dans le compte utilisateur.
Le cookie de session contient un identifiant de session qui identifie votre session et votre statut. C’est la pépite d’or que recherche l’attaquant. Pour l'obtenir, l'attaquant doit soit le voler, soit convaincre sa victime de cliquer sur un lien malveillant contenant un identifiant de session préconfiguré. Dans les deux cas, une fois que l’utilisateur légitime s’est connecté avec succès à son compte, l’attaquant peut reprendre la session (c’est la partie détournement) en utilisant le même identifiant de session que la victime. Le serveur est trompé en authentifiant l'attaquant en tant qu'utilisateur légitime.
Que peut faire un attaquant avec une session piratée ?
Étant donné que le serveur considère que l'attaquant est l'utilisateur légitime, aucune limite n'est imposée à ce que l'attaquant peut faire par rapport à l'utilisateur d'origine.
Les piratages de compte commencent généralement par le changement par l'attaquant de l'adresse e-mail associée au compte en une adresse sous son contrôle. Ils modifieraient ensuite le mot de passe du compte, verrouillant l'utilisateur légitime hors de son propre compte, puis procéderaient à la modification des questions de sécurité du compte, du numéro de téléphone enregistré dans le compte, etc.
Cela permet à l'attaquant de gagner du temps, tandis que l'utilisateur bloqué est vraisemblablement au téléphone avec le service client, pour effectuer des opérations telles que transférer des fonds depuis les comptes bancaires de l'utilisateur, effectuer des achats au nom de la victime, voler des informations personnelles sensibles, etc. sur le compte qui a été compromis. Tout ce que l’utilisateur pouvait faire, l’attaquant peut désormais le faire également. Aie.
Comment fonctionnent les attaques par détournement de session ?
Il existe de nombreuses façons différentes d’effectuer une attaque de piratage de session. La méthode utilisée dépendra de la configuration du serveur et de la capacité de l’attaquant à le compromettre. Voici les cinq façons les plus courantes de perpétrer une attaque de piratage de session.
Scripts intersites (XSS)
Scripts intersites est la méthode la plus répandue pour mener une attaque de détournement de session. Lorsqu'un serveur Web est vulnérable aux scripts intersites, un attaquant peut injecter des scripts (généralement écrits en JavaScript) dans des pages Web et tromper votre navigateur Web pour qu'il exécute du code arbitraire lors du chargement de la page compromise.
Un attaquant pourrait créer un lien contenant un script malveillant pointant vers un site Web de confiance. Lorsque vous cliquez dessus, il enverra une copie du cookie de session de la victime à un site contrôlé par l'attaquant. Ils pourraient diffuser le lien par courrier électronique ou par messagerie instantanée. Si la victime clique sur le lien, elle vient de transmettre son cookie de session à l'attaquant. Dans ce contexte, l'attaque réussira si le serveur ne valide pas et ne nettoie pas les entrées de l'utilisateur.
Un tel lien pourrait ressembler à ceci :
|_+_|Bien sûr, s’il s’agissait d’une véritable URL d’attaque, l’attaquant utiliserait probablement des services de raccourcissement d’URL et de codage de caractères pour tenter de passer inaperçu.
Une attaque de détournement de session basée sur XSS se déroulerait généralement comme suit :
- L'attaquant injecte le script dans l'URL du lien.
- La victime s'authentifie sur le serveur.
- Le serveur renvoie une page avec le script injecté à la victime.
- Le navigateur de la victime exécute le script malveillant et envoie involontairement ses cookies de session à un serveur contrôlé par l'attaquant.
- L’attaquant détourne la session de la victime à l’aide du cookie de session de la victime.
Jacking côté session
Une autre méthode courante pour réaliser une attaque de détournement de session est le détournement de session. Cela dépend de l’accès au réseau de la victime, cela implique donc généralement des réseaux WiFi non sécurisés, qu’ils soient publics ou privés.
Cela nécessite également que le site Web en question utilise uniquement HTTPS pour la page de connexion et non lorsque l'utilisateur authentifié navigue sur le site. Cela devient de moins en moins courant.
Ainsi, ayant accès au réseau de la victime et sachant que le service auquel elle se connectera n'utilise pas HTTPS sur l'ensemble du site, l'attaquant va soit renifler/surveiller le trafic de l'utilisateur sur le WiFi public, soit configurer son propre point d'accès, se faisant passer pour l'utilisateur. SSID de la victime et lancez une attaque de l'homme du milieu (MitM) pour intercepter le trafic de la victime pour le WiFi privé. Dans les deux cas, lorsque la victime est authentifiée et navigue sur le site Web, l’attaquant peut voir tout ce qui se passe sur le réseau. Cela inclut les cookies de session de la victime.
Pire encore, si l’attaque de l’homme du milieu est mise en place avant que la victime ne saisisse ses informations d’identification et qu’aucun HTTPS n’est utilisé, l’attaquant les obtient également. Votre navigateur Web devrait vous avertir si tel est le cas.
Fixation de séance
La fixation de session est un autre moyen d’accéder aux cookies de la victime – en « réparant » la session. Cette méthode repose sur le fait que l’attaquant dispose déjà d’un identifiant de session connu pour le site en question. L’attaquant pourrait alors envoyer un lien de connexion malveillant contenant l’ID de session connu à la victime par e-mail, messagerie instantanée, etc. Le lien utilise l’URL authentique mais ajoute l’ID de l’attaquant à la fin.
Si la victime se connecte au site à l’aide du lien, elle sera authentifiée à l’aide de l’ID de session connu de l’attaquant. Une fois que cela se produit, l’attaquant peut détourner la session comme ci-dessus.
Un exemple de lien ressemblerait à ceci :
|_+_|L’attaquant pourrait également diriger la victime vers une fausse page de connexion d’apparence légitime qui connecterait en réalité la victime au site Web légitime, mais en utilisant l’ID de session de l’attaquant. Encore une fois, si la victime se connecte, l'attaquant peut détourner la session.
Logiciel malveillant
Logiciel malveillant est un autre moyen courant d'obtenir des cookies de session pour les attaques de piratage de session. Une fois le malware installé, il analysera le trafic Web de la victime de l’intérieur et communiquera les identifiants de session de la victime à l’attaquant. Ou bien, selon le malware en question, il pourrait accéder aux cookies de la victime directement depuis le stockage local du navigateur.
Force brute
Les ID de session sont des chaînes de caractères générées par le serveur. Supposons que le serveur utilise des modèles séquentiels simples pour générer les identifiants de session de ses utilisateurs (user0001, user0002, user0003, etc.). Dans ce cas, il y a de fortes chances que l’attaquant puisse « deviner » (en utilisant des logiciels pour parcourir rapidement des milliers de possibilités) l’ID de session de l’utilisateur.
C'était un gros problème dans le passé, mais aujourd'hui, la plupart des sites Web génèrent des identifiants de session longs et aléatoires, ce qui rend attaques par force brute pas pratique.
Exemples d'attaques de détournement de session
Mouton de feu
Firesheep est une extension de Mozilla Firefox, publiée en 2010, qui offrait un moyen simple d'extraire des informations privées, y compris les cookies de session, des utilisateurs de réseaux WiFi non cryptés. Des sites comme Twitter et Facebook étaient vulnérables à Firesheep jusqu'à ce qu'ils activent HTTPS sur leurs sites Web respectifs.
DroïdeMouton
DroidSheep est une application Android qui permet le détournement de session, auparavant disponible sur Google Play. Il analyse les paquets HTTP et extrait l'ID de session des cookies de session. DroidSheep prend en charge les réseaux WiFi non cryptés, les réseaux WiFi sécurisés WEP et même les réseaux cryptés WPA/WPA2, à condition qu'ils utilisent une clé pré-partagée (PSK).
FaceNiff
FaceNiff est une autre application Android utilisée pour le détournement de session sur les réseaux WiFi publics. Mais celui-ci n’a jamais été disponible sur Google Play et votre téléphone doit être rooté pour pouvoir utiliser l’application. L'application fonctionne en reniflant le trafic sur le réseau et en recherchant systématiquement les informations de connexion aux grands sites Web, tels que Facebook, Youtube, etc. Une fois que FaceNiff trouve des paquets intéressants, il les analyse puis fournit à l'attaquant les informations de connexion de la victime dans une interface utilisateur conviviale.
Comment pouvez-vous empêcher les attaques de détournement de session ?
La manière de se défendre contre les attaques de piratage de session dépend du côté de l’attaque dans lequel vous vous trouvez : du côté utilisateur ou du côté serveur. Nous commencerons par des conseils côté serveur avant de passer aux défenses côté client.
Défenses côté serveur
Il s'agit de mesures que les administrateurs de sites peuvent mettre en œuvre pour atténuer les attaques de piratage de session.
- Utilisez HTTPS sur l’ensemble du site Web pour envelopper tout le trafic dans le cryptage SSL/TLS. De cette façon, un attaquant ne peut pas intercepter les identifiants de session en texte brut, même s’il surveille le trafic de la victime. Si possible, vous devez également utiliser HSTS (HTTP Strict Transport Security) pour vous assurer que toutes les connexions sont cryptées et pour empêcher les attaques de l'homme du milieu (MitM).
- Définissez le |_+_| attribut en utilisant le |_+_| En-tête HTTP pour empêcher les scripts côté client d'accéder aux cookies. Cette mesure protégera également votre site/application Web contre les scripts intersites (XSS) et autres attaques par injection JavaScript. Ajout du |_+_| et |_+_| directives est également recommandée.
- Utilisez des frameworks Web bien établis pour la génération et la gestion des ID de session plutôt que d’utiliser une solution développée en interne.
- Utilisez de longs nombres ou chaînes aléatoires comme ID de session. Cela limitera votre vulnérabilité aux attaques par force brute.
- Régénérez l'ID de session une fois l'utilisateur authentifié. Cela fermera la porte aux attaques de fixation de session, car l'ID de session change avant que l'attaquant n'ait la possibilité de l'utiliser. Pensez également à modifier l’ID de session à chaque demande de l’utilisateur. Cela réduirait considérablement le temps dont disposerait un attaquant pour exploiter un identifiant de session compromis.
- Ne comptez pas uniquement sur l’ID de session pour l’authentification des utilisateurs. Validez également l’identité de vos utilisateurs par d’autres moyens. Il peut s’agir de l’adresse IP habituelle de l’utilisateur ou de ses modèles d’utilisation des applications.
- Définissez un délai d'inactivité de l'utilisateur pour fermer la session utilisateur après un certain temps d'inactivité.
Défenses côté client
Les défenses côté client sont simplement des mesures de bon sens que tout internaute devrait suivre.
- Utilisez un pare-feu – Tous les principaux systèmes d'exploitation disposent d'un pare-feu entrant intégré, et tous les routeurs commerciaux du marché disposent d'un pare-feu NAT intégré. Assurez-vous de les activer.
- Ne cliquez jamais sur les pop-ups.
- Si votre navigateur affiche un avertissement concernant un site Web auquel vous essayez d'accéder, vous devez y prêter attention et obtenir les informations dont vous avez besoin ailleurs.
- Désactivez JavaScript dans votre navigateur Web, soit de manière native, soit à l'aide d'une extension de navigateur, telle que Pas de script .
- N’ouvrez les pièces jointes d’un e-mail que si vous faites confiance à l’expéditeur et êtes sûr de pouvoir vérifier son identité – des virus arrivent dans le courrier, et c’est pourquoi c’est toujours une bonne idée d’analyser tout votre courrier entrant avec un programme antivirus.
- Gardez vos programmes à jour. Les logiciels malveillants et les virus tentent généralement d'exploiter les failles de sécurité trouvées dans les logiciels obsolètes.
- Assurez-vous de vous déconnecter des sites Web lorsque vous avez terminé.
- Si vous recevez un email demandant des informations tout en prétendant appartenir à une organisation officielle avec laquelle vous entretenez une relation, lisez-le très attentivement avant de faire quoi que ce soit. Y a-t-il des fautes d’orthographe et de grammaire ? Est-ce que cela a un air d’urgence ? Ce sont des signes classiques d’une tentative de phishing. Et n’oubliez pas que votre banque ou le gouvernement ne vous demandera jamais de leur envoyer des informations sensibles par courrier électronique.
- Ne cliquez pas sur les liens (URL) dans les e-mails à moins que vous sachiez exactement qui a envoyé l'URL et où elle renvoie. Et même alors, scrutez le lien. Est-ce un lien HTTP ou HTTPS ? La plupart des sites légitimes utilisent aujourd'hui HTTPS. Le lien contient-il des fautes d'orthographe (google au lieu de google) ? Si vous pouvez arriver à destination sans utiliser le lien, faites-le à la place.
Que puis-je faire d'autre pour protéger ma vie privée et ma sécurité ?
Consultez notre liste d’outils de confidentialité et de sécurité recommandés ;
- Meilleurs VPN
- Meilleur antivirus
- Meilleurs gestionnaires de mots de passe
- Meilleure protection contre le vol d'identité
Voir également:
- Plus de 300 statistiques sur la cybercriminalité
- Escroqueries par phishing courantes et comment les éviter
- Plus de 70 escroqueries en ligne utilisées par les cybercriminels
- Cybermenaces contre les entreprises en 2022