Auteur - Nikolai Grebennikov,
directeur adjoint du service
des nouvelles technologies
de Kaspersky Lab
L'enregistreur de frappes est un logiciel chargé de contrôler, à l'insu de l'utilisateur, les frappes au clavier et de les enregistrer dans un journal.
La majorité des enregistreurs de frappes qui existent à l'heure actuelle sont présentés par leurs développeurs comme des applications tout à fait légitimes qui peuvent intervenir dans la réalisation des tâches suivantes :
- Surveillance de l'utilisation d'Internet par les enfants (contrôle parental) ;
- Surveillance, dans un couple, de l'activité Internet d'un partenaire par l'autre (par exemple, si un des partenaires est soupçonné d'entretenir une "liaison virtuelle") ;
- Contrôle par les services de sécurité d'une entreprise de l'utilisation inadaptée des postes de travail ou de l'utilisation de ceux-ci en dehors des heures de travail ;
- Contrôle par les services de sécurité d'une entreprise de la saisie de mots ou d'expressions critiques qui constituent un secret commercial de l'entreprise et dont la divulgation pourrait entraîner des dommages matériels ou autres pour l'organisation ;
- Analyse et étude par les services de sécurité des incidents liés à l'utilisation des ordinateurs personnels ;
- Autres tâches.
Ceci étant, n'importe quel enregistreur de frappes légitimes peut être utilisé par des individus mal intentionnés pour voler des informations (pour de plus amples informations, lire l'article « Enregistreurs de frappes : principes de fonctionnement et méthodes d'identification »). En outre, de nombreux enregistreurs de frappes sont dotés d'un outil de dissimulation d'activité et se cachent dans le système, ce qui en fait des chevaux de Troie à part entière.
Au vu du potentiel criminel des enregistreurs de frappes, leur découverte doit être la priorité des priorités des éditeurs de logiciels antivirus. Cet article se penche sur la protection offerte par les logiciels Kaspersky Anti-Virus 6.0 et Kaspersky Internet Security 6.0 contre l'enregistreur de frappes Spy Lantern Keylogger et sa version nouvelle ou modifiée.
Caractéristiques générales de Spy Lantern Keylogger
Spy Lantern Keylogger possède des fonctions typiques pour la majorité des enregistreurs de frappes existants. Ce qui le différencie, c'est le recours à un outil de dissimulation d'activité pour dissimuler sa présence dans le système.
Informations générales
- URL de l'éditeur : http://www.spy-lantern.com/
- Description fournie sur le site du développeur :
Fonctions de Spy Lantern Keylogger :
- Surveillance et consignation des informations dans un rapport :
- frappes au clavier ;
- sites Internet visités ;
- messages transmis à l'aide de clients de messagerie instantanée tels qu’ICQ, Yahoo, AIM, MSN ;
- différents mots de passe ;
- applications exécutées ;
- mise sous tension, mise hors tension, entrée de l'ordinateur en mode de veille ;
- ouverture/fin de session des utilisateurs du système.
- Enregistrement de captures d'écran.
- Envoi de rapports :
- diffusion via courrier électronique ;
- enregistrement dans le répertoire indiqué.
- Sécurité :
- invisibilité totale ;
- protection par mot de passe contre la modification de la configuration et la suppression ;
- chiffrement des fichiers des rapports.
- Divers :
- touche d'accès rapide pour accéder au programme ;
- prise en charge des modes Fast User Switch, Windows Terminal Services ;
- interface utilisateur conviviale ;
- utilitaire de consultation des rapports. Compatibilité avec Windows WP/2000/2003 Server.
- Nom du fichier de distribution : spy-lantern-keylogger-pro.zip.
- Principe fondamental de fonctionnement : piège (hook) standard sur les événements du clavier.
- Principe complémentaire de fonctionnement : requête périodique de l'état du clavier.
- Protection par dissimulation de l'activité : à l'aide d'un pilote de mode de noyau.
- Installation cachée : n'est pas révélé dans la version 5.4.2 de l'enregistreur de frappes étudié.
Voici les résultats de l'analyse du pilote faisant partie de Spy Lantern Keylogger à l'aide de différents logiciels antivirus présentés sur le site www.virustotal.com.

Les données fournies montrent que de nombreux éditeurs (Symantec) le classe dans la catégorie des logiciels espions (Spyware). Kaspersky Lab place cette version dans la catégorie des programmes présentant un risque potentiel (préfixe not-a-virus) étant donné que l'absence d'un mode d'installation cachée complique la tâche de l'individu mal intentionné qui souhaiterait installer cet enregistreur de frappes sur l'ordinateur de sa victime potentielle. A en croire les informations fournies par les développeurs dans le forum officiel consacré à ce logiciel, le mode d'installation cachée devrait être disponible dans la version suivante de l'enregistreur de frappes.
Nous allons maintenant aborder les points suivants :
- Fonctions de l'enregistreur de frappes qui permettent d'identifier les particularités intéressantes pour les individus mal intentionnés ;
- Possibilité de dissimulation de l'enregistreur de frappes dans le système ;
- Mécanismes de neutralisation de l'enregistreur de frappes à l'aide des logiciels de Kaspersky Lab.
Fonctions de Spy Lantern Keylogger
Dans sa version d'évaluation, l'installation de l'enregistreur de frappes s'opère en modèle normal (non dissimulé) : après l'installation, un nouvel élément apparaît dans le menu Démarrer > Programmes. Toutefois, après l'installation de l'enregistreur de frappes, il faut redémarrer l'ordinateur. L'explication se situe au niveau de la nécessité d'exécuter le pilote qui cache les fichiers et les processus de l'enregistreur de frappes dans le système.
La fenêtre principale de l'enregistreur de frappes est accessible depuis le menu Démarrer ou à l'aide de la combinaison de touches (CTRL+ALT+SHIFT+L). Il est ainsi possible de passer à la configuration de l'application ou à la consultation des rapports.

Possibilités de configuration du programme
Les paramètres de l'enregistreur de frappes sont répartis en 5 onglets. Le premier d'entre eux permet de définir la taille du fichier de rapport et le lancement de l'enregistreur de frappes après le démarrage de Windows. De plus, il est également possible d'enregistrer le rapport actuel sur le disque et d'en commencer un nouveau.

Le deuxième onglet permet de régler un seul paramètre : l'intervalle après lequel l'enregistreur de frappes réalisera la capture d'écran.

Le troisième onglet est prévu pour définir le mode d'envoi des rapports de l'enregistreur de frappes à la personne qui l'a installé dans le système : l'administrateur, les parents ou un individu mal intentionné.

Le quatrième onglet, baptisé Security Options, permet de définir le mot de passe et la touche d'accès rapide pour l'accès aux paramètres de l'application et d'afficher ou non le nom de l'application dans le menu Démarrer. Les deux derniers paramètres sont prévus pour la dissimulation de l'enregistreur de frappes dans le système, ce qui permet de l'utiliser à l'insu de l'utilisateur.

Le cinquième et dernier onglet contiennent le message des avertissements qui peuvent être affichés à l'utilisateur au moment d'entrer dans le système. Le texte, intitulé par les auteurs de l'enregistreur de frappes "Politique de surveillance" indique judicieusement que la collecte de données à l'insu de l'utilisateur de l'ordinateur est illégale dans certains Etats des Etats-Unis et dans d'autres pays. Toutefois, cet avertissement est désactivé par défaut ce qui permet, en plus des paramètres de l'onglet précédent, de cacher l'enregistreurs de frappes.

Liste des rapports
Le module « Report Viewer », accessible depuis la fenêtre principale de l'application, permet de consulter les rapports sur les événements surveillés par l'enregistreur de frappes. La partie gauche de la fenêtre de consultation des rapports propose un dispositif de navigation qui offre un choix parmi 7 types de présentation des données :
- Frappes au clavier : affiche la liste des touches frappées et l'heure de la frappe, classée par nom d'application active au moment de la frappe au clavier :

- Pages Web ouvertes : affiche la liste des pages Web ouvertes par l'utilisateur. Les pages sont classées par nom de domaine de niveau supérieur.

- Mots de passe saisis : affiche la liste des mots de passe saisis par l'utilisateur dans diverses applications ; classement par nom des applications.

- Messages instantanés : affiche les textes des messages envoyés ou reçus à l'aide des clients de messagerie instantanée (ICQ ou autres).
- Captures d'écran : affiche la liste des captures d'écran prises par le programme dans l'intervalle de temps défini.

- Listes des applications : affiche la liste des applications exécutées et leur durée totale d'utilisation.

- Listes des événements majeurs : affiche la liste des événements tels que les désactivations ou AA.
Ainsi que l'heure de la mise hors tension, l'entrée de l'ordinateur en mode de veille, l'ouverture et la fermeture de session par l'utilisateur.

En guise de conclusion, voici un exemple des informations qu'aurait pu recueillir un individu mal intentionné potentiel lors d'une séance d'utilisation concrète sur un ordinateur où Spy Lantern Keylogger aurait été installé et dont la capture d'écran figure ci-dessus. L'individu mal intentionné aurait ainsi pu savoir que :
- L'utilisateur avec le compte utilisateur Mamusha s'est connecté deux fois au système le 9 février 2007, à 23h13 et à 23h26 ;
- A cette occasion, l'utilisateur a lancé diverses applications, parmi lesquelles Acrobat Reader, Microsoft Excel, Far, PlayChess et d'autres ;
- L'utilisateur a lancé une recherche sur Internet depuis le site www.google.com, a relevé son courrier sur www.mail.ru et a lu les informations du journal en ligne WebPlanet ;
- L'utilisateur a saisi des données dans plusieurs applications, depuis la simple copie du texte d'un article intitulé « Comme devenir invisible dans Windows NT » dans le Bloc-Notes jusqu'au mot de passe d'utilisateur du client de jeu d'échec PlayChess ;
- L'utilisateur a joué quelques parties d'échec en ligne et la fonction de capture d'écran de l'enregistreur de frappes permet de voir presque chaque tour des parties jouées.
Il est probable que les données du compte d'accès au serveur d'échec et les textes des parties jouées ne figurent pas parmi les informations les plus sensibles par comparaison, par exemple, aux données relatives à son compte en banque. Mais imaginez un instant que l'utilisateur participe à un match mondial et qu'il analyse la variante débutante à titre de préparatifs pour la partie suivante. Dans ce cas, ces informations peuvent très vite avoir une grande valeur. Notez que lors de l'utilisation des sites des systèmes bancaires, les données confidentielles peuvent être tout aussi aisément recueillies par l'enregistreur de frappes.
Résultats du fonctionnement de l'outil de dissimulation d'activité inclus dans Spy Lantern Keylogger dans un système dépourvu de protection antivirus
Voyons comment agit la fonction de dissimulation des objets appartenant à l'enregistreur de frappes. Nous avons déjà évoqué deux fonctions simples de dissimulation dans la partie consacrée aux paramètres de l'enregistreur de frappes. Il s'agissait de la possibilité de ne pas faire figurer l'enregistreur de frappes dans le menu Démarrer de Windows et de ne pas afficher les avertissements lors du lancement. Nous allons évoquer ici les fonctions de dissimulation qui résultent de l'action de l'outil de dissimulation d'activité (rootkit) faisant partie de Spy Lantern Keylogger. Il est évident qu'une telle fonction n'est pas nécessaire dans un programme légitime mais qu'elle peut intéresser les individus mal intentionnés. C'est la raison pour laquelle les logiciels antivirus de Kaspersky Lab (cf. point 5.2.3) identifient les dissimulations réalisées d'un outil de dissimulation d'activité.
Fichiers dissimulés
A chaque nouvelle installation de l'enregistreur de frappes, le programme d'installation génère des noms aléatoires pour les fichiers de l'enregistreur de frappes. La seule explication pour ce comportement réside dans la volonté de compliquer la tâche de la recherche de l'enregistreur de frappes installé dans le système. Ceci ne suffit cependant pas car les logiciels antivirus ne réalisent pas les recherches sur la base du nom des fichiers mais bien sur la base de leur contenu. Mais il est toutefois possible de compliquer l'identification manuelle de l'enregistreur de frappes de cette manière : les noms de fichiers diffèrent, ce qui complique la tâche des utilisateurs qui souhaitent échanger des informations sur la manière de supprimer l'enregistreur de frappes du système.
A l'aide du menu File de la fenêtre de configuration du logiciel, il est possible de voir les noms de fichiers obtenus (ils seront différents à chaque nouvelle installation du programme). Vous remarquerez que tous les noms de fichiers d'une installation particulière commencent par le préfixe « ketaf ». C'est précisément grâce à ce préfixe dans le nom des fichiers que l'outil de dissimulation d'activité identifie les fichiers qu'il faut dissimuler lorsqu'il passe en revue tous les fichiers du système de fichier.

L'illustration suivante montre le répertoire C:\Windows\System32 directement après l'installation de l'enregistreur de frappes. Il semblerait qu'aucun des fichiers cités ci-dessus n'existe mais nous savons bien que c'est loin d'être le cas.

Processus cachés
En plus des fichiers, le pilote d'outil de dissimulation d'activité cache également les processus de l'enregistreur de frappes. L'illustration suivante montre le Gestionnaire de tâches de Windows. Il n'affiche pas les processus de l'enregistreur de frappes alors que ce processus (ketaf.exe) existe bel et bien.

Clés cachées de la base de registres système
L'illustration suivante montre l'éditeur de la base de registres. Les clés KetafDriver et KetafSrv créées par l'enregistreur de frappes y figurent. Elles ne sont pas cachées bien qu'en général, les outils de dissimulation d'activité les cachent et il s'agit d'un aspect de la présence dans le système. Pour cette raison, l'expression « parfaitement invisible » utilisée par les développeurs dans la liste des particularités de l'enregistreur de frappes Spy Lantern Keylogger n'est pas tout à fait vrai.

Dans l'ensemble, cet enregistreur de frappes exploite toutes les possibilités de dissimulation à l'exception de la dissimulation des clés de la base de registres système. Et pour dissimuler les processus et les fichiers de l'enregistreur de frappes, le système a recours à un pilote du noyau du système d'exploitation, ce qui complique considérablement leur découverte. Les individus mal intentionnés peuvent utiliser ce programme en mode invisible. L'enregistreur de frappes ne peut être découvert ni manuellement, ni par les logiciels de sécurité informatique qui n'offrent pas une protection suffisante contre les outils de dissimulation d'activité du mode du noyau. Malheureusement, aux dernières nouvelles, la majorité des systèmes de protection intégrés ne contenait aucune des fonctions identiques, mais la situation s'améliore petit à petit.
Neutralisation de Spy Lantern Keylogger à l'aide de KIS 6.0
Cette rubrique est consacrée aux moyens offerts par Kaspersky Anti-Virus et Kaspersky Internet Security 6.0 pour neutraliser l'enregistreur de frappes aussi bien lors de son installation que lors de l'installation du logiciel de protection dans un système où se trouve déjà l'enregistreur de frappes. Les logiciels de Kaspersky Lab peuvent fonctionner en mode interactif ou en mode automatique (de base). Le choix du mode de fonctionnement s'opère lors de l'installation de l'application. En case de sélection du mode automatique, le logiciel décide lui-même de la solution à adopter dans la majorité des situations et informe l'utilisateur uniquement en cas d'événements dangereux. En mode interactif, le logiciel informe l'utilisateur des événements suspects et dangereux, ce qui permet à ce dernier de prendre les décisions de manière autonome. Nous évoquerons ici le fonctionnement des logiciels de Kaspersky Lab en mode interactif.
Découverte à l'aide des bases de signatures
Comme nous l'avons déjà dit, les bases antivirus de Kaspersky Lab contiennent la signature de cet enregistreur de frappes. Toutefois, dans la mesure où cet enregistreur de frappes se présente comme une application légitime et qu'il peut être utilisé à des fins tout à fait louables, cette signature est reprise dans la catégorie des logiciels présentant un risque potentiel. La détection des programmes qui figurent dans cette catégorie n'est pas activée par défaut après l'installation du logiciel. L'activation de cette fonction s'opère dans la fenêtre de configuration, rubrique Protection, en cochant la case « Programmes présentant un risque potentiel » dans la liste des catégories des programmes malveillants.

Si l'option de détection des logiciels présentant un risque potentiel est activée, l'Antivirus Fichiers affichera un avertissement semblable à celui-ci lors de l'installation de l'enregistreur de frappes :

Le fonctionnement de l'enregistreur de frappes est bloqué et l'utilisateur a la possibilité de supprimer le fichier installé en cliquant sur le bouton adéquat.
Si l'utilisateur autorise l'installation, l'ordinateur sera redémarré après l'installation de l'enregistreur de frappes et ce dernier commencera à fonctionner en mode dissimulé. Malgré ce mode, KIS 6.0 est capable de l'identifier et de le neutraliser.
Conformément à la configuration par défaut, KIS 6.0 lance la recherche de virus dans les objets de démarrage en utilisant une méthode spéciale d'énumération des objets dans le système. Cette méthode permet de trouver les fichiers cachés de l'enregistreur de frappes Spy Lanter Keylogger (dans ce cas ci, les fichiers avec le préfixe « ketaf ») invisibles pour les autres applications du système d'exploitation.

Cela entraîne l'affichage d'une boîte de dialogue identique à la précédente. Si l'utilisateur décide de supprimer l'enregistreur de frappes, alors, étant donné que le processus de l'enregistreur est actif à ce moment (même s'il est dissimulé grâce à l'outil de dissimulation d'activité), KIS 6.0 propose de lancer une procédure de réparation de l'infection active.

La procédure de réparation de l'infection active a été développée par les experts de Kaspersky Lab afin de neutraliser les programmes malveillants, quelle que soit la « profondeur » à laquelle ils se trouvent dans le système d'exploitation. Cette procédure est activée chaque fois que KIS 6.0 découvre un processus malveillant dans la mémoire vive ou dans les objets de démarrage.
Elle entraîne la suppression de l'enregistreur de frappes et requiert le redémarrage de l'ordinateur (ce redémarrage est obligatoire afin de priver le code malveillant actif de la possibilité de s'incruster dans l'ordinateur de l'utilisateur en recevant à nouveau l'administration après le redémarrage).
Si l'utilisateur a adopté la procédure de réparation de l'infection active, les fichiers de l'enregistreur de frappes seront visibles, après le redémarrage de l'ordinateur, pour tous les processus du système.

Par analogie avec les fichiers de l'enregistreur de frappes, si l'utilisateur a adopté la procédure de réparation de l'infection active, alors après le redémarrage de l'ordinateur, tous les processus de l'enregistreur de frappes (ketaf.exe et ketafl.exe) seront visibles pour l'utilisateur, comme le montre la fenêtre du gestionnaire de tâches de Windows :

Défense Proactive
Une des caractéristiques essentielles des produits de la version 6.0 de Kaspersky Lab, c'est la présence d'un puissant module de défense proactive.La défense proactive se distingue de la détection à base de signatures (réactive) par le fait que l'utilisateur n'a pas besoin d'attendre l'ajout des nouvelles définitions relatives aux nouvelles menaces dans les bases antivirus et l'actualisation de ces bases depuis les serveurs de l'éditeur. Le module de défense proactive offre une protection à l'utilisateur contre les nouveaux types de menaces et les nouvelles variantes des programmes malveillants existants sans mise à jour des bases car il fonctionne selon le principe de la surveillance continue des actions de tous les processus dans le système de l'utilisateur. Les verdicts (dangereux, suspect, etc.) sont attribués sur la base de l'analyse de ces actions. La défense proactive dans la sixième version des logiciels de Kaspersky Lab offre une protection contre différents types de programmes malveillants, y compris les enregistreurs de frappes et les outils de dissimulation d'activité.
Les paramètres du sous-système « Analyse de l'activité des applications » du module de défense proactive proposent 3 options qui ont un effet sur la protection contre les enregistreurs de frappes et les outils de dissimulation d'activité : « découverte d'un outil de dissimulation d'activité », « intrusion d'intercepteurs dans la fenêtre » et « découverte d'intercepteurs de frappes » :

Nous allons voir maintenant comment le module de défense proactive peut neutraliser les actions de l'enregistreur de frappes Spy Lantern Keylogger.
Interception des tentatives d'installation d'un piège global (hook)
La principale méthode utilisée par l'enregistreur de frappes SpyLantern pour intercepter les frappes au clavier, c'est l'installation d'un piège pour les événements du clavier à l'aide de la fonction SetWindowsHook.
Le module de la défense proactive de KIS 6.0 avertit l'utilisateur de l'installation du piège et permet d'arrêter le fonctionnement de l'enregistreur de frappes et d'autoriser ou d'interdire l'installation du piège à l'aide des boutons correspondants.

En cas d'utilisation de la méthode d'interception des frappes au clavier à l'aide de l'installation d'un piège global pour ces événements, le système recourt à une fonction de filtrage spéciale située dans une bibliothèque dynamique distincte (dll). Kaspersky Internet Security 6.0 permet à l'utilisateur d'obtenir un maximum d'informations pour la prise de décision et dans ce cas, en cliquant sur « Détails », il pourra consulter les informations relatives à cette dll. Comme nous l'avons vu au point 3, le nom de la dll est généré de manière aléatoire à chaque installation de l'enregistreur de frappes (dans notre cas, il s'agit de ketafh.dll) :

Si l'utilisateur a interdit l'interdiction du piège pour les événements de clavier, alors plus aucune frappe au clavier ne sera consignée dans les rapports de l'enregistreur de frappes.
Si l'utilisateur a arrêté le processus de l'enregistreur de frappes, alors lors de la tentative d'ouverture de la fenêtre de configuration ou des rapports de l'enregistreur de frappes, le message d'erreur suivant s'affichera :

Interception des tentatives de requête cyclique sur l'état du clavier
Un autre moyen utilisé par Spy Lantern Keylogger pour intercepter les frappes au clavier est la requête cyclique de l'état du clavier à l'aide de la fonction GetAsyncKeyState.
Le module de défense proactive de KIS 6.0 avertit directement l'utilisateur et lui permet d'interrompre le processus de l'enregistreur de frappes.

Découverte des processus cachés de l'enregistreur de frappes
Après le redémarrage de l'ordinateur suite à l'installation de Spy Lantern Keylogger, KIS 6.0 active une fenêtre spéciale qui signale que le processus ketaf.exe est caché. La dissimulation du processus est le résultat de l'action du pilote ketaf.sys qui intercepte les appels de deux fonctions d'énumération de la liste des processus et de la liste des fichiers dans le noyau du système d'exploitation.
Le module de la défense proactive de KIS 6.0 permet de mettre en quarantaine le fichier exécutable du processus caché, de l'arrêter ou de l'autoriser.

Le module de défense proactive de Kaspersky Lab permet d'identifier, sans aucune exception, tous les processus cachés dans le système quelle que soit la méthode appliquée pour les dissimuler.
Conclusions
- Nous vous avons présenté un exemple d'un enregistreur de frappes légitime particulièrement puissant qui utilise deux technologies pour intercepter les frappes au clavier ainsi qu'un outil de dissimulation d'activité pour dissimuler sa présence dans le système.
- Les fonctions de Spy Lantern Keylogger sont typiques pour la majorité des enregistreurs de frappes et elles peuvent être utilisées par des individus mal intentionnés à des fins d'espionnage de l'activité de l'utilisateur sur Internet et de vol de données confidentielles.
- Les logiciels de Kaspersky Lab permettent d'identifier tous les aspects de l'activité destructrice de Spy Lantern Keylogger et de les neutraliser, qu'il soit protégé ou non par un pilote de mode de noyau de système d'exploitation Windows.
- En raison des dommages que les enregistreurs de frappes peuvent infliger, leur découverte et leur neutralisation doit devenir la priorité des éditeurs de logiciels antivirus.
- Les logiciels de Kaspersky Lab permettent de détecter les enregistreurs de frappes existants (à l'aide des bases de signatures) ainsi que leurs variantes ou les nouveaux enregistreurs de frappes (grâce au module de défense proactive).