Restringindo o acesso de um programa ao registro do Windows

2

É possível impedir que um determinado programa acesse o registro do Windows? Eu sei que existem ACLs para bloquear um usuário, mas e quanto ao controle por executável?

    
por Alexandr Zarubkin 24.06.2016 / 18:31

2 respostas

3

Desculpe, isso não é possível, pelo menos não na extensão que você parece querer. Como mencionado nos comentários por Ƭᴇcʜιᴇ007, todos os acessos ao Windows o controle é baseado nos usuários. Todo processo tem um token anexado a ele, que determina em qual usuário ele está sendo executado. Não há diferença entre você executar uma ação e um programa em execução em sua conta executando essa ação, desde que você faça literalmente tudo através de um processo ou outro. "Os programas não atacam os usuários; os usuários atacam os usuários."

Além disso, praticamente todo processo acessa o Registro. Mesmo que o programa em si não faça explicitamente qualquer acesso ao Registro, um exame com o Monitor de Processo revela que cada aplicativo GUI começa com uma grande quantidade de leituras do Registro para descobrir como configurar os controles gráficos. Execute o Process Monitor em um aplicativo que você acha que não precisa do registro; você ficará surpreso.

Mas se você quiser bloquear todas as gravações e apenas as escritas, realmente há algo que pode ajudar. O Windows tem um conceito de "níveis de integridade", uma parte do UAC. Basicamente, um programa em execução em um determinado nível de integridade não pode gravar em objetos rotulados com um nível de integridade mais alto. Processos normais e arquivos normais (e chaves do Registro) têm o nível de integridade Médio, mas você pode iniciar manualmente processos com o nível Baixo. Faça o download da ferramenta PsExec . Se você quisesse criar um prompt de comando que não pudesse gravar em lugares normais, execute isto:

psexec -l -i cmd

A opção -l define integridade Baixa; A opção -i torna o processo interativo. O prompt de comando resultante só pode gravar em locais especificamente marcados como Baixa integridade.

C:\Users\Ben>reg add HKCU\Test
ERROR: Access is denied.

Esse comando funciona em um prompt de comando normal, mas não nesse tipo de bloqueio.

    
por 25.06.2016 / 03:19
1

Outra solução é usar o Sandboxie . Este programa pode executar qualquer processo dentro do sandbox, para que qualquer alteração no sistema feita por esse processo possa ser desfeita.

    
por 29.06.2016 / 15:36