Un altro programma su X può acquisire la mia password di root mentre la digito in un terminale virtuale?


24

Di solito installo solo programmi open source sulla mia scatola di Linux perché non mi fido delle applicazioni chiuse. Di recente ho dovuto usare Dropbox per un progetto universitario. Ho creato un account Linux separato chiamato work and run (as work ) dropbox senza installazione tramite uno script Python. Lo script ha anche creato un simbolo nella barra delle applicazioni che fornisce una GUI per alcune delle funzioni di Dropbox.

L'altro giorno ho dovuto fare un po 'di manutenzione, quindi ho aperto un terminale virtuale (konsole su KDE) e ho inserito la mia password di root per su .

È possibile che l'applicazione Dropbox abbia acquisito la mia password di root?

Uso Fedora 20 con KDE 4.14.3.

Risposte:


24

Risposta breve: Sì.

Ai vecchi tempi, era possibile impedire efficacemente a qualsiasi altra applicazione X di leggere un input specifico afferrandolo. Mentre questo può ancora essere fatto fino ad oggi, la specifica del protocollo XI2 sembra suggerire che ciò non può più essere fatto (vedere la descrizione di Raw Events intorno alla linea 2220). Quindi sotto X da solo non sei più al sicuro - almeno non nelle solite semplici configurazioni. Vedi anche la discussione sotto la mia risposta a Come lasciare che un demone richieda una password (in Xsession, keyloggersafe)? e le domande e risposte di AskUbuntu citate qui. Inutile dire che nessun terminale lo sta effettivamente facendo, motivo per cui applicazioni come OpenSSH o GnuPG vengono fornite con i loro aiutanti dell'interfaccia utente, che afferrano la tastiera (anche se come menzionato sopra, in questi giorni non aiuta molto).

Quello che potresti fare sarebbe comunque eseguire un'applicazione su un altro server X, ad esempio un server X nidificato come Xephyro Xnest, o come uno basato su VNC Xvnc. Il protocollo Wayland dovrebbe anche fornire una certa protezione contro l'intercettazione.

A parte quanto sopra, l'applicazione avrebbe potuto anche tentare di sfruttare un buco di sicurezza senza patch nel sistema e ottenere quindi privilegi elevati. O fare qualcosa di più facile, come mettere un sue sudoinvolucri nel vostro percorso prima di quelle di sistema e quindi intercettare le password (grazie @Joshua per il commento).


Ad esempio, reindirizzando sudo a ~ / .evil / sudo e afferrando il tuo pw.
Joshua,

Non sei mai stato al sicuro con X: afferrare il dispositivo impedisce semplicemente la generazione di eventi di input, non protegge da un programma come il xspypolling costante della tastiera per ottenere quali tasti vengono premuti in quel momento.
alanc,

@alanc hai un link alla fonte?
peterph

@peterph for xspy? Il sito Web originale è sparito, ma Internet Archive ne ha una copia salvata su web.archive.org/web/20090207115718/http://www.acm.vt.edu/…
alanc,

Né xnest né xephyr ti proteggeranno ; gli eventi saltano alla loro finestra come al solito.
Riccioli d'oro,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.