Outro programa no X pode capturar minha senha root enquanto eu a digito em um terminal virtual?

24

Normalmente, instalo apenas programas de código aberto na minha caixa Linux, porque não confio em aplicativos de código fechado. Recentemente, tive que usar o Dropbox para um projeto universitário. Criei uma conta linux separada chamada work and run (as work ) dropbox sem instalação por meio de um script python. O script também criou um símbolo na bandeja do sistema que fornece uma GUI para algumas das funções do Dropbox.

No outro dia, tive que fazer alguma manutenção, então abri um terminal virtual (konsole no KDE) e digitei minha senha root para su .

Existe uma chance de o aplicativo Dropbox ter capturado minha senha root?

Eu uso o Fedora 20 com o KDE 4.14.3.

problemofficer
fonte

Respostas:

24

Resposta curta: Sim.

Nos "velhos tempos", era possível impedir efetivamente qualquer outro aplicativo X de ler uma entrada específica, agarrando-a. Embora isso ainda possa ser feito até hoje, a especificação do protocolo XI2 parece sugerir que isso não pode mais ser feito (consulte a descrição de Raw Events na linha 2220). Portanto, somente no X, você não está mais seguro - pelo menos não nas configurações simples usuais. Consulte também a discussão na minha resposta para Como permitir que um daemon solicite uma senha (no Xsession, keyloggersafe)? e as perguntas e respostas do AskUbuntu referenciadas lá. Escusado será dizer que nenhum terminal está realmente fazendo isso - e é por isso que aplicativos como o OpenSSH ou o GnuPG vêm com seus próprios auxiliares de interface do usuário, que pegam o teclado (embora, como mencionado acima, isso não ajude muito hoje em dia).

O que você poderia fazer seria executar um aplicativo em um servidor X diferente, por exemplo, um servidor X aninhado como Xephyrou Xnestou um baseado em VNC Xvnc. O protocolo de Wayland também deve fornecer alguma proteção contra a escuta.

Além do acima, o aplicativo também poderia ter tentado explorar uma falha de segurança não corrigida em seu sistema e, assim, obter privilégios elevados. Ou faça algo mais fácil, como colocar um sue sudoinvólucros em seu caminho antes dos do sistema e, assim, interceptar as senhas (obrigado @ Josué pelo comentário).

peterph
fonte
Como, digamos, redirecionando o sudo para ~ / .evil / sudo e pegando seu pw.
Joshua
Você nunca esteve seguro sob o X - agarrar o dispositivo apenas impede a geração de eventos de entrada, ele não protege contra um programa, como xspypesquisar constantemente o teclado para saber quais teclas são pressionadas naquele momento.
Alanc
@alanc você tem um link para a fonte?
Peterph
@peterph para xspy? O site original desapareceu, mas o Internet Archive possui uma cópia salva em web.archive.org/web/20090207115718/http://www.acm.vt.edu/…
alanc
Nem xnest nem xephyr irão protegê-lo ; eventos borbulham até a janela como normal.
29515 goldilocks