Browsing Tag Hijacking

Piratage de session(Hijacking) dans les réseaux sans fil

Une introduction à la vulnérabilité des applications web

Introduction

Le terme piratage de session renvoie à l’exploitation d’une session valable d’un ordinateur , parfois aussi appelée « session key » ou « session Id » – pour atteindre l’accès non autorisé à des informations ou des services dans un système informatique. En particulier, il est utilisé pour désigner le vol de la « magic cookie » utilisé pour authentifier un utilisateur à un serveur distant. Elle a un intérêt particulier pour les développeurs Web, comme les cookies HTTP utilisé pour maintenir
une session sur de nombreux sites Web peuvent facilement être volé par un pirate utilisant un ordinateur ou intermédiaires ayant accès à la sauvegarde de cookies sur l’ordinateur de la victime
De nombreux sites Web permettent aux utilisateurs de créer et de gérer leurs propres comptes, la connexion en utilisant un nom d’utilisateur et mot de passe (qui peut être ou non cryptées pendant le transit) ou autre méthode d’authentification. Pour que l’utilisateur n’ai pas à entrer à nouveau son nom d’utilisateur et un mot de passe sur chaque page pour maintenir leur session, de nombreux sites Web utilisent les cookies de session: un gage que l’information délivrée par le serveur et retourné à l’utilisateur
du navigateur Web pour confirmer son identité . Si les pirates réussissent à voler ce cookie, ils peuvent faire des demandes comme s’ils étaient les véritables utilisateurs, pour avoir accès à des informations privilégiées ou de la modification des données. Si ce cookie est un cookie persistant, l’usurpation d’identité peut ensuite se poursuivre pendant une période de temps considérable. Bien sûr, le piratage de session ne se limite pas au Web; tout protocole dans lequel l’état est mis à jour en utilisant une
clé passée entre les deux parties est vulnérable, surtout si ce n’est pas crypté. Merci Wiki!

Terminologie

Un des plus grands avantages d’utiliser le navigateur Mozilla Firefox est que vous pouvez obtenir un grand nombre de plug-ins précieux pour étudier les demandes d’application. Tamper Data, Cookie Culler, AEC Cookie Editor sont quelques-uns d’entre eux. Une brève introduction à l’ensemble des outils ci-dessus, Tamper Data est utilisé pour le suivi de la communication entre le navigateur et le serveur et son usage permet d’intercepter et de modifier les données pour les soumettre à nouveau au serveur. Quand au Cookie Culler, il peut être utilisé pour afficher et supprimer les cookies. AEC Cookie Editor donne encore plus de contrôle sur les cookies, car vous pouvez remplacer leur contenu et ainsi tester la vulnérabilité de vos applications Web .
HTTP (Hypertext Transfer Protocol) est un protocole de communication utilisé pour transférer ou transmettre des informations sur les intranets et le World Wide Web. Son objectif initial était de fournir un moyen de publier et de récupérer les pages hypertextes à l’aide d’un identifiant unique. Le protocole HTTP est universel. L’avantage d’un protocole universel est que les hôtes n’ont pas besoin de conserver des informations sur les utilisateurs entre les demandes, mais cela oblige les développeurs web à recourir à des méthodes alternatives en fonction de l’état des utilisateurs. Par exemple, quand un hôte tiens à personnaliser un contenu pour un utilisateur visitant un site web, l’application Web doit être écrite pour suivre les progrès de l’utilisateur de page en page. Une méthode pour résoudre ce problème est de demander à envoyer les cookies.
Permettre aux utilisateurs de se connecter à un site web est une autre utilisation de cookies. HTTP cookies est utilisés par les serveurs Web pour différencier les utilisateurs et maintenir des données relatives à l’utilisateur en cours de navigation, éventuellement sur plusieurs visites. Les utilisateurs se connectent en insérant leurs codes dans une page de connexion, les cookies permettent au serveur de savoir que l’utilisateur est déjà identifié, et il est donc autorisé à accéder à des services ou à réaliser des opérations réservées aux utilisateurs identifiés.
Le cookie peut spécifier une date de suppression, dans ce cas, le cookie sera retiré à cette date. Si le cookie ne spécifie pas de date d’expiration, le cookie est supprimé lorsque l’utilisateur quitte son navigateur. En conséquence, préciser une date est un moyen de faire survivre un cookie à travers les sessions. Pour cette raison, les cookies avec une date d’expiration sont appelés persistants. A titre d’exemple d’application, un site d’achats en ligne peut utiliser des cookies persistants pour stocker les articles que les utilisateurs ont placé dans leur panier. De cette façon, si les utilisateurs quittent leur navigateur sans faire des achats et qu’ils revienent plus tard, ils trouvent toujours les mêmes produits dans leur panier de façon à ne pas avoir à les rechercher. Si ces cookies n’ont pas reçu une date d’expiration, ils expirent lorsque le navigateur est fermé, et les informations sur le contenu du panier seraientt perdues.
HTTPS n’est pas un protocole séparé, mais se réfère à la combinaison de l’interaction HTTP normal et du protocole crypté Secure Sockets Layer (SSL) ou TLS (Transport Layer Security) pour la connexion. Cela permet d’assurer une protection raisonnable contre l’ »eavesdroppers » et les attaques « man-in-the-middle » lors de transfert de données par le biais de réseaux câblés ou sans fil. Certe cela n’empêchera pas un sniffer d’obtenir les données, mais l’interprétation des données ne sera pas facile car ils seraient sous forme codée. Mais en cas de communication HTTP, les sniffers peuvent écouter la communication de l’interaction navigateur-serveur et obtenir un maximum d’information et ce serait beaucoup plus facile dans le cas des réseaux sans fil qui ne sont pas protégés par mot de passe.

Un exemple

Faisons une investigation à travers certains des outils mentionnés plus haut. Ici, TamperData montre les cours de communication, dont j’ai fait une recherche pour une « session hijacking » dans Google. Vous seriez capable de voir à la fois la demande et la réponse header de l’information et de GET, les paramètres POST et leurs valeurs.

AEC Cookie Editor affiche les informations sur les cookies dans le système qui explique comment un serveur Web pistes les clients utilisant les cookies.

Tous les cookies et d’autres informations sont envoyées par le même canal de communication au moyen du protocole HTTP ou HTTPS.

Scénario d’exploitation

La plupart des applications Web utilisent à la fois le protocole HTTP et HTTPS pour leur communication en fonction de la sensibilité des informations transmises par l’intermédiaire du canal de communication. Le HTTPS est coûteux et prend du temps au protocole utilisé pour l’envoi de login / mot de passe, données financières et autres informations importantes. Une fois que l’information est transmise, il repart en mode HTTP.
Normalement, si vous regardez une application Web, il recupere les cookies dès que vous visitez la page pour la première fois, et les cookies peuvent contenir l’identifiant de session. Cet identifiant est un important élément d’information qui seront utilisées pour le suivi de la session, une fois que l’utilisateur se connecte. La plupart des personnes ont tendance à négliger l’importance de cette information d’identification dans le canal de communication . Même après authentification via un canal sécurisé, ils utilisent le même identifiant de session pour faire le suivi. C’est là que la vulnérabilité existe. Le Sniffing d’un réseau est une tâche facile, beaucoup de matériel et de logiciels sont disponibles sur le marché pour « sniffer » l’information activement ou passivement. En particulier dans les réseaux sans fil, sniffer c’est comme manger un morceau de gâteau.
La plupart des applications Web accorde l’accès aux renifleur s’il a la session d’un identifiant déjà connecté, et il serait en mesure d’accéder aux informations importantes de la victime. Cette vulnérabilité existe dans la plupart des sites Web commerciaux qui fournissent divers services. Email Providers, Shopping Sites, etc sont tous vulnérables à ce type d’attaque, si elles ont mis en place un mécanisme d’authentification de cette manière.

Protection

Il est possible de protéger la session par un autre cookie aprés l’authentifier de l’utilisateur et de maintenir cette valeur dans le cookie de session HTTPS ou encore changer la valeur de l’identifiant de session cookie pourrait être une autre option. Même si le sniffer récupere les informations du cookie de la session de HTTP non sécurisée, il ne pourra pas se connecter au système, car il n’a pas le jeton sécurisé pour la session HTTPS. Cela permettra d’assurer que la session utilisateur est à l’abri de piratage de session dans les réseaux sans fil.

Références

• Applied Cryptography de Bruce Schneier

• Email Security de Bruce Schneier

• Web Hacking – Attacks and Defense de Addison Wesley

• Hacking – The Art of Exploitation

• Network Programming with Perl de Addison Wesley

mai 16, 2010 Par : admin Catégorie : Sécurité Informatique Tags:,
0 Comment