Kann ein anderes Programm auf X mein Root-Passwort erfassen, während ich es in ein virtuelles Terminal eingebe?

24

Normalerweise installiere ich nur Open-Source-Programme auf meiner Linux-Box, weil ich Closed-Source-Anwendungen nicht vertraue. Vor kurzem musste ich Dropbox für ein Universitätsprojekt verwenden. Ich habe ein separates Linux-Konto mit dem Namen work erstellt und die Dropbox (als Arbeit ) ohne Installation über ein Python-Skript ausgeführt. Das Skript hat auch ein Symbol in der Taskleiste erstellt, das eine grafische Benutzeroberfläche für einige Funktionen von Dropbox bietet.

Neulich musste ich etwas warten, also öffnete ich ein virtuelles Terminal (konsole auf KDE) und gab mein root-Passwort für su ein .

Besteht die Möglichkeit, dass die Dropbox-Anwendung mein Root-Passwort erfasst hat?

Ich benutze Fedora 20 mit KDE 4.14.3.

problemofficer
quelle

Antworten:

24

Kurze Antwort: Ja.

In den "alten Tagen" konnte effektiv verhindert werden, dass eine andere X-Anwendung eine bestimmte Eingabe las, indem sie diese aufgriff. Obwohl dies bis heute noch möglich ist, scheint die XI2-Protokollspezifikation darauf hinzudeuten , dass dies nicht mehr möglich ist (siehe die Beschreibung der unformatierten Ereignisse in Zeile 2220). Somit sind Sie unter X alleine nicht mehr sicher - zumindest nicht in den üblichen einfachen Setups. Siehe auch die Diskussion unter Meine Antwort auf Wie lasse ich einen Daemon nach einem Passwort fragen (in Xsession, keyloggersafe)? und die dort genannten Fragen und Antworten zu AskUbuntu. Es ist unnötig zu erwähnen, dass keine Terminals dies tatsächlich tun - weshalb Anwendungen wie OpenSSH oder GnuPG über eigene Benutzeroberflächen-Helfer verfügen, die die Tastatur greifen (obwohl dies, wie oben erwähnt, heutzutage nicht wirklich hilfreich ist).

Sie könnten jedoch eine Anwendung unter einem anderen X-Server ausführen, z. B. einem verschachtelten X-Server wie Xephyroder Xnestoder einem VNC-basierten Server wie Xvnc. Das Wayland-Protokoll sollte auch einen gewissen Schutz gegen das Abhören bieten.

Abgesehen von dem oben Gesagten hätte die Anwendung auch versuchen können, eine ungepatchte Sicherheitslücke in Ihrem System auszunutzen und dadurch erhöhte Berechtigungen zu erlangen. Oder machen Sie es sich leichter, indem Sie vor den System-Passwörtern einen suund sudoWrapper einfügen und so die Passwörter abfangen (danke @Joshua für den Kommentar).

peterph
quelle
Sagen wir, Sie leiten sudo zu ~ / .evil / sudo um und greifen nach Ihrem pw.
Joshua
Sie waren unter X nie sicher - das Greifen des Geräts verhindert lediglich, dass Eingabeereignisse generiert werden, und schützt nicht vor einem Programm, das beispielsweise xspyständig die Tastatur abfragt, um zu ermitteln, welche Tasten in diesem Moment gedrückt werden.
Alanc
@alanc hast du einen link zur quelle?
Peterph
@ Peterph für Xspy? Die ursprüngliche Website ist weg, aber im Internetarchiv wurde eine Kopie unter web.archive.org/web/20090207115718/http://www.acm.vt.edu/…
alanc
Weder Xnest noch Xephyr werden dich beschützen . Ereignisse sprudeln wie gewohnt an ihr Fenster.
Goldlöckchen