Sur les ordinateurs, Skype stocke en clair les données personnelles

Le chiffrement des échanges n'est pas suffisant 67
Vincent Hermann

Skype ne stocke pas ses données sous une forme chiffrée sur les ordinateurs où il est installé. Selon plusieurs développeurs qui se sont penchés sur cette pratique, il s’agit d’une porte ouverte aux pirates en cas d’accès à la machine.

skype

Skype est un logiciel populaire et son utilisation intensive par Microsoft renforce sa présence dans l’écosystème de la firme, au point qu’il est maintenant intégré à Windows depuis la mouture 8.1 du système. Ce client de communication, connu surtout comme solution VoIP, est utilisé par des centaines de millions de personnes, ce qui génère une quantité phénoménale de données personnelles. Or, ces dernières ne sont pas stockées de manière sécurisée sur les ordinateurs.

Skype crée automatiquement une base de données sur la machine 

Cristian Dinu et Dragos Gaftoneanu, deux développeurs roumains faisant partie de la communauté Hackyard Security Group, ont fait part de leurs travaux au site The Hacker News. Ils y montrent comment Skype enregistre de très nombreuses informations relatives aux échanges entre un utilisateur et ses contacts. Skype manipule en effet une grande quantité de données et de paramètres tels que les comptes desdites contacts, l’horodatage des messages et des appels, la position géographique quand elle est indiquée, et ainsi de suite.

Dragos Gaftoneanu, au cours d’une conversation avec Cristian Dinu, remarque ainsi que Skype crée un fichier intitulé « main.db » dans son répertoire personnel sous Linux. Ce fonctionnement est d’ailleurs identique sur l’ensemble des systèmes supportés. Sous Windows par exemple, vous trouverez ce fichier dans le dossier utilisateur en cours, puis AppData, Roaming, Skype. Il suffira alors d’entrer dans le répertoire portant le nom du compte qui sert habituellement à se connecter. Sous OS X, il faudra se rendre dans Bibliothèque, puis dans Application Support, Skype et enfin dans le dossier portant le nom de l’utilisateur.

skype base de données main.db skype base de données main.db

L'emplacement du fichier main.db sous Windows et sous OS X

Toutes les données sont présentes 

Utilisant un utilitaire (SQLite), il entre dans le fichier qui révèle alors plusieurs tables contenant des informations affichées en clair, dont :

  • La table « Account » contient toutes les données élémentaires des comptes telles que le nom d’utilisateur, le nom complet, la date d’anniversaire, le pays, la ville, les adresses email, le numéro de téléphone portable et ainsi de suite
  • La table « CallMembers » contient les informations des contacts qui ont été appelés, avec les horodatages
  • La table « Contacts » contient évidemment la liste de tous les contacts liés au compte actif, ainsi que des données personnelles telles que la date d’anniversaire, le pays, la ville, le numéro de téléphone et ainsi de suite
  • La table « Messages » est la plus riche en données puisqu’elle contient toutes les conversations texte échangées entre l’utilisateur et ses contacts. Les messages envoyés par SMS via la fonction du même nom sont également présents.

Ces informations sont disponibles en clair, ce qui signifie que le fichier n’est pas chiffré. Certains argueront que ces données seraient dans tous les cas disponibles si une personne pouvait accéder physiquement à la machine et que Skype était ouvert ou configuré pour s’ouvrir automatiquement sur un compte par défaut (ce qui est très souvent le cas). Ce qui est tout à fait vrai, à ceci près que le stockage en clair pose d’autres problèmes.

Un fichier créé pour chaque personne s'étant connectée sur une machine 

Le plus important est que les informations contenues n’ont justement pas besoin d’un mot de passe pour être lues. La simple récupération du fichier « main.db » suffit donc à accéder à une importante quantité de données personnelles. En clair, cela signifie qu’un accès distant pourrait suffire, ce qui peut être le cas en cas d’exploitation d’une ou plusieurs failles de sécurité. Couplée à la fin du support de Windows XP, la perspective est dangereuse.

Nous ajouterons un point que Cristian Dinu et Dragos Gaftoneanu n’abordent pas. Qu’il s’agisse de la version Windows, OS X ou Linux, Skype crée dans tous les cas un dossier par compte utilisateur qui s’est connecté au moins une fois sur la machine. Nous avons pu vérifier sur l’une de nos machines que ces autres dossiers contenaient eux aussi un « main.db ». Depuis un seul ordinateur, plusieurs bases de données non chiffrées sont ainsi accessibles.

Vérifier simplement chez soi 

Il est en fait très simple de refaire le test chez soi. Avec un utilitaire simple à utiliser tel que SQLite Browser, il suffit simplement d’aller récupérer le fichier et de l’ouvrir. Dans le premier onglet, la base de données révèle sa structure et notamment les fameuses tables que nous avons abordées plus haut. Dans le deuxième onglet cependant, on peut littéralement naviguer dans les données.

Comme le montre la capture de droite, il suffit de choisir l’une des tables dans le menu déroulant. Dans notre cas, la liste complète des contacts était accessible. Il suffit de basculer sur la table Conversations pour comprendre le vrai danger représenté par ce fichier : tous les échanges sont présents depuis la création du compte. Le problème est d’autant plus accentué que Skype ne permet pas de supprimer l’historique d’une conversation, alors qu’il s’agit pourtant d’une fonctionnalité de base dans de nombreuses solutions de communication.

Il est aisé de piéger une personne 

Sans même parler d’exploitation de failles, il suffirait en fait en pratique d’accéder à la machine d’une personne dont on souhaite espionner les conversations. À l’aide d’une clé USB, on copie rapidement le fichier et on peut même créer un script pour que l’opération soit encore plus simple. Il suffit alors de rentrer chez soi et de décortiquer les données ainsi obtenues. Évidemment, grâce à une exploitation distante et automatisée, des pirates pourraient récupérer assez facilement de nombreuses données personnelles qui pourront, à leur tour, servir dans d’autres campagnes, notamment de phishing. Par ailleurs, il est possible de piéger une personne en l'invitant simplement à se connecter avec son compte sur une machine qui ne lui appartient pas. Contrairement aux navigateurs, il n'existe pas ici de sessions privées ne laissant aucune trace.

Quelle serait alors la solution ? Elle est simple : chiffrer la base de données. En fait, toute application ayant besoin de stocker des données personnelles pour des besoins ultérieurs devrait systématiquement chiffrer ces informations. Skype utilise bien un chiffrement pour les échanges eux-mêmes, mais ce n’est pas suffisant. À une époque où la sécurité informatique devient un enjeu capital, ce type de bonne pratique doit être généralisé, en particulier quand il s’agit d’un produit très grand public.

Nous avons évidemment contacté Microsoft pour demander une réaction sur ce sujet et nous attendons actuellement une réponse.


chargement
Chargement des commentaires...