Un autre programme sur X peut-il capturer mon mot de passe root pendant que je le sais dans un terminal virtuel?

Habituellement, je n'installe que des programmes open source sur ma machine Linux car je ne fais pas confiance aux applications fermées. Récemment, j'ai dû utiliser Dropbox pour un projet universitaire. J'ai créé un count linux séparé nommé work et exécutez (en tant que travail ) dropbox sans installation via un script python. Le script a également créé un symbole dans la barre d'état système qui fournit une interface graphique pour certaines fonctions de Dropbox.

L'autre jour, j'ai dû faire un peu d'entretien donc j'ai ouvert un terminal virtuel (konsole sur KDE) et entré mon mot de passe root pour su .

Y a-t-il une chance que l'application Dropbox ait pu capturer mon mot de passe root?

J'utilise Fedora 20 avec KDE 4.14.3.

Réponse courte: Oui.

Dans les time anciens, il était possible d'empêcher efficacement toute autre application X de lire une input spécifique en la saisissant. Bien que cela puisse encore être fait à ce jour, la spécification du protocole XI2 semble suggérer que cela ne peut plus être fait (voir la description des events bruts autour de la ligne 2220). Ainsi sous X seul vous n'êtes plus en security – du less pas dans les configurations simples habituelles. Voir aussi la discussion sous ma réponse à Comment laisser un démon requestr un mot de passe (dans Xsession, keyloggersafe)? et les Q & A AskUbuntu référencés ici . Inutile de dire qu'aucun terminal ne le fait réellement. C'est pourquoi des applications telles qu'OpenSSH ou GnuPG sont équipées de leurs propres assistants d'interface user, ce keyboard de saisie (même si, comme mentionné ci-dessus, cela n'aide pas beaucoup ces jours-ci).

Ce que vous pourriez faire serait d'exécuter une application sous un server X différent, par exemple un server X nested comme Xephyr ou Xnest , ou un Xvnc basé sur VNC comme Xvnc . Le protocole Wayland devrait également fournir une certaine protection contre les écoutes.

En dehors de ce qui précède, l'application aurait pu également essayer d'exploiter un trou de security non corrigé dans votre système et ainsi get des privilèges élevés. Ou faites quelque chose de plus facile, comme mettre un su et sudo wrappers dans votre path avant les systèmes et ainsi intercepter les passwords (merci @Joshua pour le commentaire).