15 outubro 2008

Aumento de facilidades = Diminuição da segurança (2).

Um sistema GNU/Linux, para manter a sua elevada segurança, deve ser usado por utilizadores que apenas têm o privilégio de "usar o sistema", deixando as instalações/desinstalações e configurações do sistema para o "root".
Este "root" (que é o administrador) nunca deve usar o computador... ele não escreve cartas, não faz desenhos, não faz cálculos, não joga, não ouve música, nada destas coisas... o root apenas instala e configura programas e nem sequer arranca os programas que instala nem para experimentar se esses funcionam.

No entanto, alguns instaladores de programas para Linux estão a ficar muito "Windowsados" e alguns chegam a aliciar-nos a fugir à maneira correcta de usar um sistema GNU/Linux:
Como exemplo vejam o instalador do GoogleEarth, ele é um binário tal e qual os instaladores para Windows e que no fim nos apresenta o botão para arrancarmos o programa GoogleEarth.

Vejam bem este botão "Start" para arrancar o programa e que aparece no final da instalação... Ora, se o instalador foi arrancado pelo root, para que o programa seja instalado para uma área do sistema que possa ser usado por todos os utilizadores e não apenas por um, então se carregarmos nesse botão, o GoogleEarth vai arrancar com poderes de root, e vai criar uma pasta /root/.googleearth que nem nunca deveria existir... de lembrar que o root não deve usar programas nenhuns à excepção das ferramentas de configuração do sistema e ferramentas essas que já pertencem ao sistema.

Poderão pensar: e depois? é o googleearth! Não é um prog feito por desconhecidos...
Pois é, mas e se for uma cópia viciada dele, ou se for um outro programa qualquer que estamos a instalar, que tem este tipo de instalação e foi feito com intenções maliciosas? É que este tipo de instaladores estão a tornar-se comuns e desde o momento em que é o root a accionar os programas, as protecções do sistema que impedem o malware de proliferar de nada servem.
Neste caso do GoogleEarth, já não basta o root estar a accionar um binário que chegou de fora, como ainda somos aliciados a arrancar o programa depois de instalado com poderes de root também.

Não dá que pensar?

Abraços
ArameFarpado

5 comentários:

Bem visto! Pequenos pormenores mas muito perigosos....

Sempre que instalo algo que não venha por apt-get, tento instalar na minha $HOME/opt, onde não são precisos poderes de super-utilizador, umas vezes consigo, outras não. Nem todos os programas/scripts de instalação são fáceis de modificar.

Não gosto de ter terceiros (que não eu ou a Distribuição) a mexer nos meus ficheiros de sistema.

Cumps,
BL

Então e se a instalação for feita via 'sudo'? Será que ao iniciar, a aplicação ainda estará sob o efeito do sudo ou este já passou após a instalação? Assim que chegue a casa, logo, experimento isso.

@nuno - Se um programa em sudo arranca outro, então o outro programa será arrancado pelo utilizador que está a utilizar o outro programa, logo, será arrancado em sudo também.

@galv_bl - Também faço sempre isso,se não houver um ficheiro .deb, um repositório ou já estiver nos repositórios normais eu instalo em ~/bin, na verdade em ~/Aplicações, mas fiz um atalho para lá em ~/bin para ter tudo mais bonito :D

O IEs4Linux (só uso para testar os meus site) está em ~/bin, o Google Earth deveria estar em ~/bin (eu não personalizei a instalação) o meu Minefield para ver as novas características do Firefox está em ~/bin também.

Eu faço os máximos para que apenas corra o Synaptic, o Actualizador de Pacotes, ou o apt-get na linha de comandos como root e mais nada. Eu até já compilei programas para deixar em ~/bin :P (só coisas da treta)

@PTMBlogger
Mas o que pode/podia/devia acontecer seria o programa lançado com o sudo terminar, o lançar o próximo como o utilizador que invocou o sudo. Exemplo: 'sudo install_googleearth' instalava, e ao carregar no botão para abrir a aplicação devia terminar e lançar novo processo sem sudo. Claro que isto depende mais do aplicativo a instalar do que do sudo...