Qu’est-ce qu’un keylogger ?
On peut l’appeler “enregistreur de frappe” en français et comme son nom l’indique, il s’agit d’un programme qui enregistre fidèlement les séquences de touches tapées au clavier.
Le keylogger fait partie des logiciels espions car il agit généralement en arrière plan comme un processus invisible et silencieux tout en récoltant des données très sensibles. Il peut enregistrer les touches dans un fichier de “log”, les envoyer vers une adresse e-mail ou vers un serveur distant, via FTP par exemple.
90% des keyloggers voire plus visent les systèmes Windows même si des keyloggers pour les autres systèmes d’exploitation comme Linux existent. Avis aux utilisateurs de Mac et Linux, oui vous avez raison sur ce point, vous avez moins de chance d’en attraper un !
C’est l’un des moyens les plus connus pour pirater un compte, d’où leur forte popularité. Les langages utilisant la méthode RAD (Rapid Application Development) ont favorisé cette prise en main facile de tels programmes malveillants.
Généralement un keylogger peut tenir longtemps sur un ordinateur de part le fait qu’il soit indétectable par l’utilisateur (invisible). Mais même si l’antivirus ne détecte pas le programme malveillant, nous saurons le détecter à travers cet article !
Types de keyloggers
On distingue communément deux types de keyloggers :
- Le keylogger logiciel : Celui qu’on connaît habituellement, le programme espion dont on parlera dans cet article.
- Le keylogger matériel : Qui est un petit dispositif physique achetable pour une trentaine d’euros sur le net mais qui n’est pas simple d’usage car il doit être installé physiquement sur un ordinateur cible (généralement à brancher entre le clavier et le pc, ou à intégrer directement dans le clavier).
On peut également noter que les keyloggers pour smartphones existent, ils font partie des keyloggers logiciels.
Comment fonctionnent-ils exactement ?
On s’intéressera aux détails sur les keyloggers fonctionnant sous Windows, même si le principe reste globalement le même pour tous.
Le keylogger une fois exécuté commencera généralement à s’assurer qu’il puisse se relancer automatiquement à chaque démarrage du système. C’est un premier indice de sa présence.
Ensuite, il exécutera ses fonctions à chaque lancement. Il utilise les APIs (interfaces de programmation) de Windows pour récupérer les évènements du clavier.
Il va insérer une fonction de récupération dans la chaîne d’évènements clavier de Windows. Du coup lorsqu’une touche est tapée, Windows récupère le message, initialise une structure contenant le code de la touche appuyée et l’envoie à toutes les fonctions qui “écoutent” les événements du clavier.
Cela n’est pas une menace telle quelle car beaucoup d’applications ont besoin de récupérer les événements du clavier pour un intérêt totalement légitime comme la mise en place de raccourcis clavier. Ce qui pose donc un problème de détection pour les antivirus.
Puis un timer (compteur) est déclenché à intervalles réguliers pour par exemple envoyer un e-mail contenant les données enregistrées. Une seconde piste de détection s’offre donc à nous : Il utilise le réseau.
Le message est envoyé aux autres fonctions qui écoutent les événements du clavier pour ne pas bloquer la chaîne.
Il répète continuellement ces étapes jusqu’à l’arrêt du système et recommencera le lendemain en toute transparence.
Que récupèrent-ils exactement ?
Le keylogger tel qu’on l’entend récupère seulement les séquences de touches tapées au clavier. Mais le keylogger de ne jours est devenu beaucoup plus redoutable.
On distingue même le keylogger du logiciel de surveillance qui lui peut récupérer énormément de données, quelles soient audio, textuelles ou visuelles.
Un logiciel de surveillance peut par exemple prendre des captures d’écran, récupérer le contenu du presse-papier dynamiquement, récupérer les conversations Skype (et MSN à l’époque) reçues ET envoyées, récupérer ou désactiver des sites web peu importe le navigateur, exécuter ou supprimer d’autres programmes…etc. Ça fait peur n’est-ce pas ?
Ces programmes “professionnels” sont cependant souvent payants et relativement chers, ils sont aussi un bien moins silencieux qu’un keylogger classique. Le fait qu’ils soient crées par des entreprises spécialisées permet heureusement de ne pas les offrir au large public. De plus ces programmes signalent généralement à l’utilisateur qu’il va être surveillé. Et un utilisateur ayant conscience et acceptant qu’un keylogger ou logiciel de surveillance soit utilisé sur son ordinateur rend l’action légale, et uniquement dans ce cas.
Limitations et contre-mesures
Les keyloggers semblent très redoutables, mais tout n’est pas rose pour eux non plus, et heureusement.
Il existent beaucoup de langues, donc beaucoup de caractères différents et certains nécessitent des combinaisons de touches comme AltGr + e pour “€”.
Les fonctions de Windows pour traiter correctement ces multiples combinaisons se font un peu vieilles et deviennent vraiment difficiles à utiliser pour un programmeur souhaitant tout enregistrer parfaitement.
À partir de là on a deux possibilités, soit le keylogger n’enregistre que les touches principales du clavier (d’où le fait de rappeler les bonnes pratiques). Soit les caractères peuvent être initialisés dans un tableau en bidouillant un peu pour avoir quelque chose de potable.
Ainsi, vous pouvez même faire planter un keylogger sans vous en rendre compte, en tapant par exemple une combinaison qu’il ne gère pas.
Astuce très efficace pour taper votre numéro de carte bancaire ou un mot de passe de façon sûre :
Les keyloggers enregistrent les touches tapées dans l’ordre. Si votre numéro est 1234 et que vous écrivez 34 puis cliquez au début et tapez 12, vous obtiendrez 1234 mais le keylogger enregistrera 3412.
« Taper son numéro de CB en toute sécurité »CLIQUEZ POUR TWEETERPARTAGER SUR FACEBOOKPARTAGER SUR LINKEDIN
Il existe aussi des anti keyloggers qui “cryptent” les touches avant que le keylogger y ait accès. Ces programmes sont malheureusement lourds et peu utilisés. Parmi ceux-là on peut noter le fameux Keyscrambler.
Enfin, mes recommandations habituelles valent également pour les keyloggers : Soyez vigilant lorsque vous lancez un programme suspect. Regardez régulièrement les programmes lancés au démarrage du système (voir cet article).
Concernant l’activité réseau, je vous conseille l’excellent TcpView qui affiche ce qu’il se passe afin de détecter un éventuel message envoyé toutes les x minutes et en déduire un programme potentiellement suspect.
Le guide Protéger son Ordinateur et sa vie Privée vous donnera bien d’autres pistes pour détecter un keylogger et pour vous protéger contre les programmes malveillants d’une façon générale.