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

24

Habituellement, j'installe uniquement des programmes open source sur ma machine Linux car je ne fais pas confiance aux applications open source. Récemment, j'ai dû utiliser Dropbox pour un projet universitaire. J'ai créé un compte Linux séparé nommé work and run (as work ) 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 des fonctions de Dropbox.

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

Est-il possible que l'application Dropbox ait capturé mon mot de passe root?

J'utilise Fedora 20 avec KDE 4.14.3.

agent de problème
la source

Réponses:

24

Réponse courte: oui.

Dans les "temps anciens", il était possible d'empêcher efficacement toute autre application X de lire une entrée 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 événements bruts autour de la ligne 2220). Ainsi, sous X seul, vous n'êtes plus en sécurité - du moins pas dans les configurations simples habituelles. Voir aussi la discussion sous ma réponse à Comment laisser un démon demander un mot de passe (dans Xsession, keyloggersafe)? et le AskUbuntu Q&A référencé là. Inutile de dire qu'aucun terminal ne fait cela - c'est pourquoi des applications comme OpenSSH ou GnuPG sont livrées avec leurs propres assistants d'interface utilisateur, qui saisissent le clavier (bien que, comme mentionné ci-dessus, cela n'aide pas vraiment beaucoup ces jours-ci).

Ce que vous pourriez faire serait d'exécuter une application sous un autre serveur X, par exemple un serveur X imbriqué comme Xephyrou Xnest, ou basé sur VNC comme Xvnc. Le protocole Wayland devrait également fournir une certaine protection contre l'écoute clandestine.

En dehors de ce qui précède, l'application aurait également pu exploiter une faille de sécurité non corrigée dans votre système et ainsi gagner des privilèges élevés. Ou faites quelque chose de plus facile, comme mettre un suet des sudowrappers sur votre chemin avant ceux du système et ainsi intercepter les mots de passe (merci @Joshua pour le commentaire).

peterph
la source
Par exemple, rediriger sudo vers ~ / .evil / sudo et saisir votre pw.
Joshua
Vous n'étiez jamais en sécurité sous X - saisir l'appareil empêche simplement la génération d'événements d'entrée, il ne protège pas contre un programme tel que xspyd'interroger constamment le clavier pour obtenir les touches sur lesquelles vous appuyez à ce moment.
alanc
@alanc avez-vous un lien vers la source?
peterph
@peterph pour xspy? Le site Web d'origine a disparu, mais les archives Internet ont une copie enregistrée sur web.archive.org/web/20090207115718/http://www.acm.vt.edu/…
alanc
Ni xnest ni xephyr ne vous protégeront ; les événements remontent à leur fenêtre comme d'habitude.
goldilocks