Le vol d'identité, consistant à prendre l'identité d'une autre personne, est l'un des moyens utilisés par les malfaiteurs en ligne pour attaquer un système. Ce vecteur d'attaque des systèmes (probablement le principal venant à la tête des utilisateurs) est exploité via différentes méthodes. On assiste d'ailleurs à une recrudescence des nombres de cas suite à l'arrivée des nombreux sites sociaux sur le Web.
Cet article est en quelque sorte une suite à mon précédent article Introduction aux parasites de sites Web, introduisant sur le phénomène des infections Web. L'usurpation d'identité fait partie des nombreux vecteurs d'attaque utilisés par les malfaiteurs pour arriver à leurs fins. La littérature sur les principes et les méthodes d'attaque sont en grande partie disponibles en anglais sur le Web. Pour cette raison, j'ai décidé d'offrir cet article en français, afin de rejoindre (peut-être) des personnes ne connaissant pas les techniques utilisées ou les méthodes de prévention.
Je tiens à prévenir les lecteurs que les informations véhiculées dans ce message visent à prévenir les utilisateurs des technologies. Par expérience, la compréhension du phénomène et des méthodes utilisées par les malfaiteurs peut aider à mieux agir en conséquence, à mieux prévenir. Bien que le matériel puisse enrichir vos connaissances des technologies, il expliquera très sommairement le fonctionnement de certaines attaques. Je vous invite donc à user de ces connaissances avec sagesse.
Définition de l'usurpation d'identité
Pour bien débuter, l'usurpation d'identité consiste à prendre l'identité d'une autre personne à son avantage. Ce concept s'applique bien souvent au couple nom d'utilisateur et mot de passe requis par plusieurs services, mais également à tout autre identificateur (comme des clées d'API OAuth).
Exemples d'interfaces requérant une identification
Voici un aperçu des services requérant une quelconque identification:
- Le panneau d'administration d'un hébergeur;
- La base de données (que ce soit à un client comme PHPMyAdmin ou Adminer, à l'aide d'un script contenant le mot de passe en clair, via la ligne de commande par connexion à l'application...);
- Le serveur de fichiers (FTP / SFTP);
- Les boîtes de courriels (client en ligne, POP3, IMAP);
- Les applications Web dynamiques installées (Drupal, Wordpress, Joomla, phpBB...);
- Vos comptes de médias sociaux.
En usurpant l'identité, une personne malveillante peut donc avoir accès aux différents services et permissions du compte utilisateur, mais également aller beaucoup plus loin. Un excellent exemple est le vol d'un courriel d'un administrateur pour y obtenir d'autres courriels stockés (autres mots de passe), des informations confidentielles, etc.
Méthodes d'attaque utilisées
Maintenant, vous vous demandez probablement comment les malfaiteurs font pour obtenir vos informations personnelles. Il existe plusieurs méthodes, je vais décrire sommairement les principales qui me viennent à l'esprit. Certaines sont plus complexes que d'autres, alors que d'autres peuvent sembler banales.
Attaque par force brute (Bruteforce)
L'attaque par force brute (mieux connu sous bruteforce) est une attaque consistant à exécuter des tentatives de connexion automatiquement à un système, que ce soit avec des essais de façon incrémentale (a, b, c, d ... aa, ab, ac) ou à l'aide d'un dictionnaire de mots de passe commun (d'ailleurs, il en existe plusieurs sur le Web. Il existe divers outils pour effectuer un travail du genre, comme Cain & Abel, John the Ripper, THC-Hydra et autres. Parmi les mots de passe les plus communs, on compte par exemple 12345, 123456, querty, azerty, abcde et j'en passe... Sinon, les attaques incrémentales peuvent réussir à briser des mots de passe courts.
Attaque par tables arc-en-ciel (Rainbow tables)
L'attaque par tables arc-en-ciel (mieux connu sous Rainbow tables) consiste à comparer des hash de mots de passe à une base de données contenant les résultats conjoints d'une chaîne de caractère à son hash, afin de retrouver un mot de passe ayant été hashé avec un algorithme tel que MD5, SHA- (SHA-1, SHA-256, SHA-512...). Par définition, une fonction de *hashage transforme des données pour ne produire une empreinte à taille fixe, bref, une formule mathématique. Cette technique est notamment utilisée pour cacher des mots de passe stockés (par exemple, blogue.jpmonette.net
se transforme en 30f30fbf3e1f463855192664067c8098
en hash MD5). Ensuite, lorsqu'un utilisateur se connecte au service, son mot de passe entré est automatiquement transformé en son hash et comparé à celui stocké dans la base de données.
Attaque de l'homme du milieu (Man-in-the-middle)
L'attaque de l'homme du milieu (mieux connu sous MITM, signifiant man-in-the-middle) consiste à intercepter un échange de paquets entre un émetteur et un récepteur dans le but d'obtenir des données confidentielles (mots de passe, numéros de carte bancaire, fichiers témoins, etc.). Cette pratique est d'ailleurs souvent réalisée en corrompant un réseau grâce à une attaque de type ARP poisonning. L'effervescence de l'Internet sans fil a d'ailleurs grandement augmenté les attaques via cette méthode. L'utilisation de réseaux sans fil non cryptés (sans technologie WEP ou WPA) accentue grandement les possibilités d'attaques de type MITM.
Parmi les applications qui permettent d'exécuter ce type d'exploits, on compte la suite aircrack-ng, firesheep (utilisé pour voler les fichiers témoins de Facebook, Twitter et autres il y a quelques années: cela a d'ailleurs accéléré l'adoption du protocole SSL), arpspoof et plusieurs autres.
Attaque par ingénierie sociale (Social engineering)
L'attaque par ingénierie sociale (mieux connue sous le nom de social engineering) consiste à exploiter les failles de l'humain pour obtenir des données confidentielles (bref, de la manipulation). Cette pratique, qui a d'ailleurs été le sujet du premier livre Art of Deception de l'un des plus reconnus pirate informatique Kevin Mitnick, vise à abuser de l'insouciance des personnes pour contourner des contrôles de sécurité. Cette technique est d'ailleurs la seule n'exploitant pas réellement de vulnérabilités liées à l'informatique. Elle peut se faire par téléphone, par courriel, en personne ou par tout autre canal de communication. Je recommande d'ailleurs le livre mentionné précédemment qui donne un bon aperçu des techniques utilisées par Mitnick avant son arrestation.
Attaque par hameçonnage (Phishing)
L'attaque par hameçonnage (phishing) consiste souvent à répliquer le visuel d'un site Internet ou de tout autre système afin de collecter les informations personnelles d'utilisateurs peu méfiants. Le nom du type d'attaque, provenant du mot anglais fishing, représente le fait que les attaquants bombardent souvent des courriels en espérant que quelques personnes insouciantes (des poissons) tombent dans le panneau. Ce type d'attaque est récurrent dans le domaine bancaire. Il semble également difficile à identifier pour plusieurs, car certaines répliques de sites sont très réalistes. La meilleure façon est de vérifier le nom de domaine (dans la barre d'adresse) ou de ne pas cliquer sur n'importe quels liens dans vos courriels!
Attaque par logiciel malveillant (Malware)
L'attaque par logiciel malveillant (malware) est sûrement l'une des plus anciennes. Elle consiste à faire installer par un utilisateur (ou à installer à son insu) une application qui collecte des données sur ses activités, sur les touches appuyées sur son clavier et autre, afin de les renvoyer à l'auteur du code malveillant. Ces programmes sont souvent cachés à l'intérieur d'autres programmes (packés) à l'apparence honnête que les internautes téléchargent sur le Web.
Réinitialisation de mot de passe
La réinitialisation du mot de passe est également un moyen très simple d'accéder par exemple au compte d'une personne. Plusieurs services offrent la possibilité de réinitialiser le mot de passe d'un compte utilisateur. Certains ont un processus plus rigide, alors que d'autres reposent tout simplement sur des questions bêtes telles que le nom de la mère, le nom de la ville de naissance et autre. Évidemment, n'importe qu'elle personne connaissant les réponses relatives à la victime peuvent exploiter ces procédés. Votre vie privée repose donc entre les mains de l'organisation négligeant cette porte d'entrée.
Prévention de l'usurpation d'identité
Maintenant que vous en savez un peu plus sur les techniques, que pouvez-vous faire (que vous soyez un utilisateur ou autre) pour prévenir l'usurpation d'identité? Voici une liste de bonnes pratiques:
- Ayez un mot de passe contenant un mélange de chiffres, caractères spéciaux, ponctuation et majuscules/minuscules pour éviter le bruteforce ou les attaques par tables arc-en-ciel;
- Augmentez la longueur de votre mot de passe, ce qui est une bonne défense contre les attaques bruteforce dites incrémentales;
- Vérifiez si votre mot de passe ne figure pas dans un dictionnaire disponible librement sur le Web ou dans des moteurs de recherche de tables arc-en-ciel (vérifiez seulement sur les sites demandant la recherche par hash et non par mot de passe);
- Assurez-vous d'avoir un mot de passe différent sur chaque système utilisé, pour éviter qu'un compte compromis sur un service puisse permettre l'accès à une panoplie d'autres;
- Configurez votre réseau sans-fil afin d'utiliser l'une des technologies WEP ou WPA pour éviter les attaques MITM;
- Naviguez toujours en utilisant les protocoles SSL (https) des sites Web: ceux-ci cryptent vos communications et diminuent les risques d'attaques MITM;
- Ne donnez jamais votre mot de passe à qui que ce soit: le partage de compte est une très mauvaise habitude, et découle d'une certaine façon des attaques d'ingénierie sociale;
- Vérifiez toujours l'adresse des sites sur lesquels vous indiquez vos informations personnelles (le bon nom de domaine, certificat d'authenticité, protocole SSL);
- Analysez votre ordinateur régulièrement à l'aide d'un antivirus (y compris les Mac, vous n'êtes pas à l'abri) pour éviter les malwares;
- Évitez de céder la sécurité de vos comptes à des services insouciants: si le processus de récupération de mots de passe est trop simple (questions bêtes), répondez avec des réponses sans lien avec la question (ne répondez pas vraiment votre ville de naissance!) ou évitez complètement ces services.
Également, pour les personnes impliquées en technologies:
- Hashez les mots de passe de vos utilisateurs en utilisant des salts pour éviter le vol et les attaques par tables arc-en-ciel (en savoir plus sur le salage de hash);
- Achetez un certificat SSL pour protéger les transactions client-serveur nécessitant une sécurité particulière (il en existe des très abordables sur Namecheap);
- Mettez à jour vos sites Web pour prévenir les failles de sécurité;
- Instaurez des règles visant à changer le mot de passe sur une base régulière: plusieurs systèmes sérieux sur le plan de la sécurité le permettent;
- Assurez-vous que vos processus de réinitialisation de mots de passe soient sécurisés.
Plus vous intégrerez ces concepts dans votre quotidien, mieux vous serez protégés face à des problématiques comme la perte d'un courriel, l'utilisation de votre compte Facebook par des personnes mal intentionnées, la fraude de votre compte bancaire et plus encore.
En espérant en avoir éclairé certains ;)!