A execução de programas como outro usuário é útil?

4

Depois de assistir a uma conversa de Douglas Crockford sobre segurança onde ele fala sobre como os navegadores obtiveram a resposta certa para a pergunta "O interesse de quem o programa representa?" , imaginei se era viável e uma boa ideia executar alguns programas como outro usuário.

Estou usando o Debian, mas acho que isso pode se aplicar a qualquer sistema operacional.

Eu costumo confiar em qualquer coisa vinda dos repositórios stable, backports e testing (por favor me diga se eu não deveria) mas sempre que eu instalo algo diferente, algo que não está nesses repositórios, eu realmente não confio nele . E tenho alguns dos programas de Matemática, como o Maple, para navegadores como o Chrome, para jogos como Heroes of Newerth.

Desde que isso me torna incapaz de confiar em meu próprio sistema operacional, eu inicializo em um CD ao vivo toda vez que eu quero usar meu cartão de crédito.

Então eu queria saber se apenas executar esses programas como um usuário específico poderia ser de alguma ajuda. Estou bem com o Chrome sendo capaz de ver tudo o que faço on-line, mas é aí que ele deve parar. Eu estou bem com Heroes of Newerth ver quais mods eu instalei, atualizando seus arquivos e assim por diante, mas eu não quero que seja capaz de acessar o cache do navegador ou qualquer outra coisa.

Do meu entendimento de como isso funciona, eu seria capaz de executar cada programa não totalmente confiável como um usuário separado, dando a eles acesso de leitura e gravação apenas aos arquivos de que precisam.

Isso é possível (como, eu ainda poderei controlar o volume e outras coisas por usuário?)? E isso adicionará o tipo de segurança que eu quero?

Agradecemos antecipadamente por suas respostas.

PS: Eu já encontrei isto: Execução de possivelmente prejudiciais programa no Linux

Mas uma máquina virtual não funciona para videogames, eu já estou fazendo o CD ao vivo, mas é meio chato, a coisa do chroot parece excessivamente complicada, já que eu precisava das bibliotecas, etc. é apenas um chroot atualizado. E ele diz que usar usuários é inútil porque os arquivos podem ser acessados se você não definir os direitos adequados. Mas posso apenas remover o acesso de leitura a qualquer pessoa, menos eu, não posso?

    
por xavierm02 01.03.2013 / 18:24

1 resposta

6

A execução de programas com uid diferente daquele que possui seus arquivos de dados fornece alguma segurança adicional - os aplicativos não devem poder acessar os dados (ou pelo menos escrevê-los se o usuário alternativo está no mesmo grupo e você está usando umask 0022 ). Por outro lado, é pouco provável que proteja você de explorações locais - geralmente, você quer que o usuário alternativo tenha um conjunto de direitos muito semelhante à sua conta principal. Por isso, será capaz de atacar o sistema de forma semelhante, como se fosse executado com o seu uid principal. Se você quiser que ele acesse seus arquivos, você basicamente quer executá-lo na sua conta.

No que diz respeito às aplicações com X11 GUI, você precisa dar a elas acesso ao seu servidor X - que elas podem usar de forma incorreta. Por segurança, você teria que executá-los em um servidor X separado (por exemplo, aninhado).

Usar um usuário alternativo realmente não lhe dará muita segurança (como também é mencionado na pergunta que você mencionou).

Dito isso, embora ser paranóico não signifique que eles não estejam atrás de você, você tem certeza de que seu sistema é o elo mais fraco? Você está mencionando e-mails - você realmente tem controle total das contas de e-mail reais? Eles são mantidos em um servidor altamente seguro, no qual apenas você conhece as senhas, que executam somente um servidor de correio e kernel totalmente corrigidos, e usa apenas protocolos protegidos por SSL / TLS para transferir dados para sua máquina? Você já revisou a implementação real do lado do cliente e do servidor das bibliotecas SSL / TLS? Tem certeza de que seu cliente de e-mail não está espionando você (ou pelo menos que esteja livre de falhas de segurança). Seu sistema operacional e kernel? Seu UEFI? Seu teclado? O UEFI do servidor de correio? (Eu estou intencionalmente omitindo o BIOS, já que isso é tão inseguro quanto possível quando se trata de inicializar.)

Por outro lado, você tem uma razão para acreditar que o Waterloo Maple ou a Wolfram Research estão colocando backdoors em seu software? Se você tem medo de que esses aplicativos sejam explorados remotamente, basta eliminá-los da rede e pronto.

    
por 01.03.2013 / 22:22