O sudo e o gksudo são seguros?

6

Eu notei que depois de executar um comando sudo no terminal ou executar um aplicativo administrativo que usa gksudo , ele não pedirá novamente a senha por um tempo (algo como 5 minutos).

Agora vamos supor que um dos programas (não em execução como root) que estou usando tenha um exploit de dia zero (como o navegador da web ou seus plugins). E um invasor consegue executar um código arbitrário em meu nome.

É possível que um invasor execute sudo ou gksudo sem o prompt de senha antes que a senha expire e assuma o controle do meu sistema?

    
por Calmarius 27.10.2012 / 13:24

3 respostas

6

Sim, um invasor que está executando o código como seu usuário pode fazer qualquer coisa que você mesmo possa fazer. Ele pode até mesmo mudar o processo do shell para que, quando você achar que está executando o sudo, esteja realmente executando o programa do invasor que apenas registra silenciosamente sua senha de root.

O Ptys / ttys não oferece nenhuma segurança quando são de propriedade do mesmo usuário, ao contrário de outra resposta aqui.

    
por 27.10.2012 / 17:01
1

Não, não será.

sudo mantém o token de acesso pelo seu nome tty (ou pty), uma vez que o navegador e seu emulador de terminal estão sendo executados em diferentes ptys, ele não usará o mesmo token.

Uma maneira fácil de descobrir isso, está executando o sudo em um terminal e executá-lo novamente em outro, você será solicitado a senha novamente (veja / var / db / sudo)

    
por 27.10.2012 / 13:39
1

"É possível que um invasor faça sudo ou gksudo sem o aviso de senha antes que a senha expire e assuma o controle do meu sistema?"

Sim.

O ataque mais fácil vem de um shell interativo e você não bloqueia a tela quando se afasta do teclado.

Se você estiver preocupado, mude a linha

Defaults        timestamp_timeout=90

no seu /etc/sudoers , ele altera o tempo limite de 5 minutos.

    
por 27.10.2012 / 22:55