Como impedir que mãos sujas toquem nos meus cookies?


8

De acordo com minha outra pergunta , parece que meus cookies não estão protegidos. (Eu deveria saber que, como houve um tempo, eu apenas apaguei manualmente os cookies dos Arquivos temporários da Internet.)

Então, para tornar minha pergunta um pouco mais geral:

Como impedir que um programa no meu computador acesse alguns recursos no meu computador?

Ou o contrário:

Como abrir o acesso de alguns recursos apenas aos programas selecionados?

Ou um pedido aparentemente impraticável:

Como fazer com que os programas solicitem permissão quando desejam acessar determinados recursos?


Embora o Windows 7 estabeleça como regra solicitar privilégios administrativos quando forem feitas alterações nos arquivos do sistema. No entanto, o acesso a (quero dizer, apenas visualizar) recursos está aberto a todos os programas.

Máquinas virtuais parecem ser uma opção, mas os programas isolados por uma máquina virtual não têm chance de exibir nenhum dos recursos do sistema externo (host), o que não parece ser preferível.

Estou usando o Windows 7 agora, mas as soluções em qualquer sistema operacional são bem-vindas.

Respostas:


7

Bem, deixe-me responder uma parte da sua pergunta mais ampla primeiro: como fazê-lo . Minha experiência imediata é no Linux, mas você disse que respostas em qualquer plataforma são bem-vindas, então aqui vai. Se você estivesse no Linux, provavelmente poderia exigir acesso root para acessar seus cookies de qualquer outra maneira que não fosse (em princípio) excluí-los. O procedimento geral ficaria assim:

  1. Altere as permissões do arquivo para que outros usuários não possam lê-lo. chmod 600 <file>deve funcionar como o modo certo para isso.
  2. Teste para garantir que seu navegador não derrube essas permissões acidentalmente.
  3. Crie uma nova conta de usuário para o seu navegador. Vamos chamá-lo foxypor uma questão de argumento.
  4. Altere a propriedade do arquivo de cookies do navegador para foxy, assim como qualquer outra coisa na qual o navegador possa precisar gravar. (De fato, tudo no diretório de usuários do navegador pode ser afetado.)
  5. Teste para garantir que seu navegador ainda saiba onde seus cookies são armazenados ao serem executados como foxy. Se necessário, forneça foxyum diretório inicial exclusivamente para essas coisas.
  6. Use visudopara dar permissão a si mesmo, mas somente ao executar o navegador, para alterar os usuários para foxyA linha no arquivo sudoers seria algo parecido <your user name> ALL = (foxy) NOPASSWD: /usr/bin/firefox. Isso garantiria que você só tenha permissão para executar este programa em particular como usuário foxy.
  7. Escreva um script de shell que execute seu navegador com o nome de usuário especificado, para que você possa recolocar os arquivos .desktop dos links que você usa para abrir o navegador. Digamos que você coloque em /usr/local/bin/browse; pode simplesmente conter (após a linha hash-bang) sudo -u foxy /usr/bin/firefoxou mais.

A parte que o Linux realmente faz bem é nesse tipo de opções extras. Não sei muito sobre o Windows 7, mas ficaria surpreso se ele pudesse fazer a mesma coisa - se tivesse um sistema de usuário substituto que pudesse restringir o usuário que você substitui com base no nome do executável. (Observe que, se eu me der permissão arbitrária para substituir como foxy, isso não interromperá um invasor dedicado; eles apenas substituirão um comando arbitrário para ler os cookies como foxy.

Agora, deixe-me explicar por que talvez essa seja a pergunta errada. O Gmail tem boas opções que obrigam você a enviar apenas seus cookies por TLS / SSL (conexões de navegação seguras). A maioria dos serviços baseados em login não . Isso significa que seus cookies são, em princípio, visíveis para toda a infraestrutura da Internet. Surpreendentemente, essa infraestrutura se mostrou bastante passiva e geralmente não o atacará, exceto talvez para censurá-lo, embora existam partes da Internet como o Tor, onde essa regra quebra completamente.

No entanto, ainda é um problema quando, por exemplo, você está usando a conexão Wi-Fi de outra pessoa. Eles podem "ouvir" tudo o que você envia e que não é TLS, e você não tem como interrompê-los sem, por exemplo, usar um esquema de proxy seguro para passar. (Como Tor! ... gritos.) Não é apenas sobre a segurança sem fio da qual estou falando (embora, se eles não estiverem usando criptografia adequada, seus cookies também podem estar em perigo para qualquer pessoa que tenha um laptop na mesma sala como você). É o próprio estabelecimento. Talvez o recepcionista do seu hotel seja tecnologicamente experiente e queira escutar o tráfego da Internet no hotel em que trabalha; como você o para?

Você também pode resolver isso no Linux, mas requer dinheiro para alguém comprar o que é chamado de servidor de encapsulamento SSH . É um proxy remoto que você controla, que tem (espero) uma conexão à Internet mais segura do que as suas viagens sem fio do dia-a-dia; você se conecta a ele através de uma conexão criptografada. Ainda depende do resto da Internet para ser seguro, mas seu entorno imediato pode ser inseguro. Ao configurar um ~/.ssh/authorized_keysarquivo nesse servidor, é possível fazer o túnel funcionar sem fornecer uma senha, embora você queira (ou precise) configurar um script de shell para adicioná-lo ao Firefox por padrão, como antes.


No Windows, as 'runas' podem fazer parte da solução para a execução de usuários alternativos, bem como o uso adequado da NTFS ACL
Journeyman Geek

1

Uma maneira de conseguir isso ...

  1. Crie uma nova conta de usuário e defina uma senha
  2. Entre nessa conta e instale o Chrome ou execute o Firefox para criar a pasta% Appdata%
  3. Criptografe a pasta% AppData% usando EFS (Clique com o Botão Direito -> Propriedades -> Avançado -> Criptografar ...)
  4. Alterne para sua conta principal Mantenha pressionada a tecla Shift e clique com o botão direito do mouse no atalho do navegador e escolha "Executar como usuário diferente"
  5. Digite as novas credenciais da conta e clique em ok

Agora você está executando o navegador como um usuário diferente e esses arquivos são criptografados para que somente o usuário / aplicativo possa lê-los.

Para o Chrome, você precisará editar o atalho para abrir o Chrome instalado na conta do navegador.

Você também precisará alterar o diretório de download para seus usuários principais e conceder ao usuário do navegador permissão nesse diretório, ou pode configurá-lo para uma pasta pública e adicionar essa pasta pública como uma biblioteca.

Edit: Apenas testei em uma VM com Firefox e Chrome ... Firefox funcionou, mas o Chrome falha. Pode ser devido ao sandbox usado, mas não tenho certeza e provavelmente existe uma solução simples.

Edit2: Sim, é a caixa de areia. Se você adicionar --no-sandbox ao atalho, ele funcionará: \ Se você tiver o sandboxie, poderá configurar o Chrome para ser forçado a entrar em uma sandbox criptografada pelo usuário do navegador.


A execução com credenciais diferentes pode ajudar. O Chrome pode não iniciar como um usuário diferente, porque se instala para o usuário atual e outra conta não pode ser executada / acessada.
Nime Cloud

0

A maioria dos sistemas operacionais modernos suporta um modelo de segurança chamado " Controle de acesso obrigatório ", que pode facilmente atingir o que você deseja, mas é difícil aprender o conhecimento necessário para configurar corretamente as políticas de controle de acesso.

Uma solução mais simples no Windows é usar um sistema de detecção de intrusões (HIDS) baseado em host, que agora está incluído em muitos softwares antivírus. Eles normalmente permitem que você defina regras para cada aplicativo em que recursos ele pode acessar. Basta colocar sua pasta de cookies na lista de arquivos protegidos (ou arquivos particulares ou o que eles chamam no seu software A / V) e permitir apenas que o IE os acesse. Alguns produtos antivírus não têm proteção novamente, acesso de leitura; nesse caso, talvez você precise voltar a criar um usuário apenas para acessar o aplicativo (IE).

No entanto, se você quiser enfrentar o problema, poderá executar o IE em uma caixa de areia.


0

O esvaziamento automático de arquivos temporários da Internet pode ajudar, se você usar o Internet Explorer.

Se você deseja manter os cookies, basta criptografar os discos, remover os compartilhamentos administrativos ocultos e restringir o acesso às pastas nas quais deseja proteger. Use a combinação Win + L, atribua a senha quando o computador retornar do protetor de tela. Isto é o que eu faço.


Por acesso restrito , como? De qualquer forma, qualquer programa no computador tem o mesmo privilégio que eu.

Clique com o botão direito do mouse em qualquer pasta> selecione Propriedades. Uma caixa de diálogo será aberta. Clique na guia segurança, defina as permissões. PS: Você pode definir permissões em unidades formatadas em NTFS. Muitos discos rígidos são formatados em NTFS. Muitas unidades portáteis - incluindo cartões de memória e memórias USB - não são.
Nime Cloud

1
@Nime Cloud: ele quer proteger seus arquivos de um programa , não de um usuário . O que você descreve apenas permite definir ACLs, dependendo do usuário conectado. Uma opção pode ser executar os programas selecionados como um usuário diferente e modificar as ACLs dos arquivos de acordo. No entanto, sinto um problema arquitetônico e uma causa perdida.
Jürgen Strobel
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.