Executando como membro do grupo usuários

Este tópico explica como configurar contas de usuário do Windows como membro do grupo de usuários (em oposição ao grupo Administradores) aumenta a segurança, reduzindo as chances de serem infectados com o código mal-intencionado.

Riscos de segurança

Executando como administrador torna o sistema vulnerável a vários tipos de ataque de segurança, como, por exemplo, "Cavalo de Tróia" e "estouro de buffer". Simplesmente visita um site da Internet como um administrador pode ser prejudicial ao sistema, como um código mal-intencionado que é baixado de um site da Internet pode atacar seu computador. Se for bem-sucedido, ele herda as permissões de administrador e, em seguida, pode executar ações como, por exemplo, a exclusão de todos os seus arquivos, reformatar o disco rígido e criar contas de um novo usuário com acesso administrativo.

Grupos de usuário não administrador

As contas de usuário do Windows que os desenvolvedores usam normalmente devem ser adicionadas aos usuários ou de grupos de usuários de energia. Os desenvolvedores também devem ser adicionados ao grupo de depuração. Sendo um membro do grupo usuários permite que você executar tarefas de rotina, incluindo a execução de programas e visitar sites da Internet, sem expor o computador a riscos desnecessários. Como um membro do grupo usuários avançados, você também pode executar tarefas como, por exemplo, a instalação do aplicativo, a instalação de impressora e a maioria das operações do painel de controle. Se você precisar executar tarefas administrativas, como atualizar o sistema operacional ou configurar parâmetros do sistema, você deve fazer logon em uma conta de administrador para apenas longa suficiente para executar a tarefa administrativa. Como alternativa, o Windows runas comando pode ser usado para iniciar aplicativos específicos, com acesso administrativo.

Clientes de exposição a riscos de segurança

Não sendo parte do grupo Administradores é especialmente importante para desenvolvedores, porque, para além de proteger as máquinas de desenvolvimento, ela impede que os desenvolvedores inadvertidamente escrever código que requer que os clientes ingressar no grupo de administradores para executar os aplicativos desenvolvidos. Se um código que requer acesso de administrador é apresentado durante o desenvolvimento, ele falhará em tempo de execução, alertando-o sobre o fato de que seu aplicativo agora requer que os clientes executem como administradores.

Código que requer privilégios de administrador

Alguns códigos requer acesso de administrador para executar. Se possível, alternativas para esse código devem ser adotadas. Exemplos de operações de código que exigem acesso de administrador são:

  • Gravar em áreas protegidas do sistema de arquivos, como, por exemplo, os diretórios do Windows ou arquivos de programa

  • Gravar em áreas protegidas do registro, como HKEY_LOCAL_MACHINE

  • Instalar assemblies no Global Assembly Cache (GAC)

Geralmente, essas ações devem ser limitadas a programas de instalação do aplicativo. Isso permite que os usuários usem o status de administrador apenas temporariamente.

Debugging

Você pode depurar os aplicativos que iniciam em Visual Studio (nativos e não gerenciado) como não-administrador tornando-se parte do grupo de depuração. Isso inclui a capacidade de anexar a um aplicativo em execução usando a anexação ao comando do processo. No entanto, é necessário ser parte do grupo de administrador para depurar aplicativos nativos ou gerenciados que foram iniciados por um usuário diferente.

Consulte também

Conceitos

Práticas recomendadas de segurança para C++