Keylogger pour X server

Saviez-vous que n’importe quelle application graphique lancée sur votre bureau peut écouter toutes les frappes au clavier alors même qu’elle n’a pas le focus ? C’est un travers du design du serveur X qui est la brique de base pour afficher un bureau depuis 20 ans sous Linux.

J’ai fait un petit keylogger en C++ pour tester à partir de vieux exemples de code trouvés sur le net. Avec quelques ko, vous pouvez écouter quelqu’un taper son mot de passe root quelque soit l’application graphique (popup de Gnome qui assombrit l’écran, Gnome terminal, etc…) et quelque soit l’utilisateur qui ait lancé l’application (sandbox fails).

Mieux, le design du serveur X permet à une application d’envoyer des frappes clavier dans une autre ainsi que de prendre des captures d’écran du bureau entier.

La seule solution à ce problème est d’utiliser Wayland en remplacement de X. Avec Wayland les applications sont cloisonnées et n’ont plus accès directement à tout le bureau ni au clavier. Vous pouvez facilement comparer la différence en utilisant mon programme puisque toutes les distributions modernes fournissent Wayland et X (même Debian 8). Il suffit de choisir l’option sur l’écran de connexion de votre utilisateur dans GDM.

Malheureusement, sous Debian 8, je rencontre encore quelques bugs avec Wayland (reprise d’écran de veille cahotique, le drag & drop entre applications ne fonctionne pas)

Dans l’attente, je vous conseille de lancer vos programmes non-sûr (steam, skype, etc…) dans un autre serveur X (ouvrer une session graphique sous un autre utilisateur). Cela permettra également d’isoler l’accès à vos données personnelles du même coup.

Related Posts:

Vus : 520
Publié par Tuxicoman : 338