Vous avez peut-être entendu parler, la semaine dernière, de Firesheep, un module d'extension pour le navigateur Web Firefox qui permet de prendre le contrôle de la session d'un autre utilisateur—par exemple, la demande de connexion à Twitter ou à Facebook—en interceptant les paquets sur un réseau local et en copiant les témoins des victimes. Firesheep profite de failles de sécurité déjà connues pour effectuer un vol ou un détournement des session. Cette opération se déroule en deux étapes :
- L'attaquant doit être en mesure de « renifler » les paquets en vue de s'emparer du témoin. Firesheep n'y habilite pas l'attaquant, mais recourt à un logiciel de capture des paquets dont les nouveaux ordinateurs sont couramment dotés (ou qu'on peut télécharger gratuitement). L'attaquant se connecte sur le même réseau que la victime—par exemple, dans un café Wi-Fi—et si le réseau sans fil est ouvert, il peut épier clandestinement le trafic des données.
-
Firesheep surveille alors le trafic pour détecter l'envoi d'un « témoin ». Pour se connecter à certains sites Web, on doit d'abord saisir son nom d'utilisateur et son mot de passe, lesquels sont souvent envoyés sous forme chiffrée (l'adresse URL de ces pages commence par « https »). Toutefois, une fois la connexion réussie, certains sites utilisent un témoin temporaire qui demeure actif pendant la session; quiconque s'empare de ce témoin et l'envoie au site Web qui en était l'expéditeur d'origine pourra se faire passer pour l'utilisateur. Par exemple, si vous ouvrez une session Twitter, des témoins temporaires sont envoyés à votre ordinateur et à Twitter, et l'attaquant peut s'en servir pour envoyer des microbillets sous votre nom.
L'attaquant n'a pas besoin de connaître votre mot de passe; le site Web croira qu'il s'agit de vous en recevant votre témoin. Plusieurs sites Web ne protègent que la page d'accueil (en chiffrant les noms d'utilisateurs et les mots de passe), mais désactivent la fonction de chiffrement dans le reste du site Web. Résultat? L'envoi de témoins non chiffrés qu'un attaquant peut intercepter avant de pirater une session et d'accéder au compte d'un utilisateur. Il n'y a aucun moyen de savoir si quelqu'un connecté au même réseau sans fil que vous utilise Firesheep. Plusieurs sites Web sont exposés à cette vulnérabilité, y compris Flickr, Tumblr, et WordPress.
Si Firesheep s'est mérité une importante couverture médiatique, ce problème n'a rien de nouveau. Le créateur du plugiciel fait valoir que les outils de détournement de session existaient déjà, mais que Firesheep est plus convivial. Néanmoins, parce qu'il est facile à utiliser et qu'il a attiré l'attention des médias, Firesheep a mis en lumière un problème de sécurité persistant et a sensibilisé les gens à cette vulnérabilité et à la nécessité de trouver une solution.
Empêcher la transmission de témoins non chiffrés
Les opérateurs de sites Web peuvent recourir à des méthodes de chiffrement pour protéger les témoins temporaires.
- Pour les opérateurs de sites Web : Dans la mesure du possible, les sites Web devraient s'assurer qu'ils n'envoient pas de témoins « ouverts », en ne réservant pas le chiffrement (SSL/TLS/HTTPS) uniquement à la page de connexion. Certains sites offrent ce paramètre par défaut, d'autres en option—il ne fait pas de doute qu'il est préférable de l'adopter par défaut. Si on offre le HTTPS en option, le minimum serait d'en faire la publicité afin que les utilisateurs en connaissent l'existence. (On peut également afficher l'entête HSTS (Sécurisation stricte des connexions) et activer l'option de sécurité des témoins temporaires et envoyer ces derniers uniquement par le biais du protocole SSL).
On a noté une certaine résistance face à l'usage du protocole SSL, en raison de craintes d'une diminution marquante de la performance. Toutefois, dans la plupart des cas, cette idée est surannée: la surcharge est minimale et certains services tels que Gmail de Google ont réussi à mettre en œuvre le protocole SSL pour des sessions entières (non limité à la page de connexion). Les coûts associés au protocole SSL sont bas et ce dernier représente un gain immense en matière de protection des utilisateurs.
- Pour les utilisateurs de sites Web : si vous possédez un compte sur un site Web (tel qu'un site de réseautage social), vérifiez s'il existe une version « https:// » de ce site et assurez-vous que le site ne revient pas en mode « http » une fois connecté. Les utilisateurs de Firefox ont accès à des modules d'extension utiles dont HTTPS Everywhere et Force-TLS, qui tentent de garantir que vous utilisez des connexions https:// chaque fois qu'elles sont disponibles (sachez que certains sites n'offrent pas d'accès à des versions https://, ce qui fait que les modules complémentaires ne peuvent pas vous fournir de protection supplémentaire).
Protéger les témoins non chiffrés envoyés par les sites Web.
Lorsqu'un site n'offre pas de version https://, les utilisateurs peuvent adopter des mesures de chiffrement.
- Vous pouvez utiliser un réseau privé virtuel (RPV), lequel agit comme intermédiaire pour chiffrer vos données. Les RPV chiffrent votre trafic de réseau et l'acheminent de votre ordinateur à un serveur à distance, pour ensuite effectuer la connexion au site Web. Si vous n'avez pas accès à un RPV (certains employeurs les fournissent aux employés), des services RPV sont accessibles à prix modique ou par des logiciels de publicité. (Pour ceux et celles qui possèdent les aptitudes techniques et qui souhaitent mettre à l'essai une solution gratuite, visitez (http://www.tuaw.com/2010/10/26/how-to-guard-yourself-and-your-mac-from-firesheep-and-wi-fi-snoo/; http://tech.kateva.org/2010/10/firesheep-sidejacking-and-ssh-tunneling.html); ils pourront mettre en place un tunnel SSH.)
Toutefois, cette solution n'est pas parfaite. On ne peut assurer le chiffrement que pour une partie du réseau—et la destination de la connexion finale pourrait ne pas être chiffrée—mais il est fort probable que vos données de trafic seront plus difficiles à intercepter si vous utilisez un RPV. Autre bémol : mettre en place un RPV exige certains efforts (et d'éventuels coûts) et ne sont pas fiables en tout temps. Par contre, il pourrait s'agir du seul choix offert aux utilisateurs en attendant que les opérateurs de sites Web mettent en place leur propres solutions pour empêcher le détournement de session.
Garder ses distances?
On a proposé une solution toute simple à cette situation : arrêter d'utiliser des réseaux sans fil ouverts, verrouiller son propre réseau sans fil et ne pas utiliser de réseau Wi-Fi ouverts. À l'instar de bien des mesures simples, il s'agit d'une solution provisoire qui n'aborde qu'une partie du problème. Le fond du problème, ce n'est pas le sans fil, c'est le danger de diffuser des renseignements sensibles, non protégés, sur un réseau, n'importe lequel, qu'il soit filaire ou sans fil. Il est peu judicieux de présumer qu'un réseau vous protégera—une connexion sans fil sécurisée est une valeur ajoutée, pas une garantie. S'il y a des avantages à limiter l'accès à un réseau sans fil et à mettre en place le chiffrement, il ne s'agit pas d'une mesure infaillible contre Firesheep—une véritable solution efficace exige le chiffrement de bout en bout. La sécurisation d'un réseau sans fil, lorsque disponible, devrait renforcer le http:// et non le remplacer.
Une armure appropriée
La leçon à retenir, c'est que les sites Web, comme les utilisateurs, ont un rôle à jouer pour contrecarrer le détournement de session. Si la solution ultime impliquerait que les sites Web déploient le protocole SSL, voici quelques démarches à l'intention des utilisateurs :
- Si vous utilisez un réseau Wi-Fi ouvert sans la protection additionnelle d'un RPV, limitez vos activités à ce qui comporte peu de risques, comme lire les bulletins d'information. Si vous devez vous connecter à un compte—par exemple, sur un site de réseautage social—essayez de vous assurer que le site recourt au mode « https:// » en tout temps, de façon à protéger vos témoins, plutôt qu'uniquement sur la page de connexion. (Les utilisateurs de Firefox peuvent utiliser les modules d'extension mentionnés ci-avant). Si le site n'offre pas de version https:// et que vous n'avez pas recours à un RPV, vous n'avez aucune protection... très mauvaise idée.
- Pour une sécurité accrue, utilisez un RPV, lequel fournit une couche additionnelle de protection grâce au chiffrement. Ce sera très utile si vous êtes connectés à un réseau douteux. Pour faciliter les choses, abonnez-vous à un service de RPV.
- Avisez les opérateurs de sites Web que vous désirez des connexions plus sûres lorsque vous accédez à vos comptes. Demandez-leur de mettre en place une version https pour tout le site de façon à protéger vos renseignements.