Mecanismo automatizado para desativar a mídia de armazenamento USB + registrar tentativas de montagem?

Mecanismo automatizado para desativar a mídia de armazenamento USB + registrar tentativas de montagem?

Preciso de ajuda para juntar as peças para fazer isso:

  1. Execute um script ou programa que desative os dispositivos de armazenamento USB.
  2. Registre qualquer montagem de dispositivo bloqueado no log de eventos do sistema.
  3. Execute um segundo script ou programa (ou cancele o programa em execução na etapa 1) e reative os dispositivos de armazenamento USB.

(Meu aplicativo é executado em PCs em laboratórios públicos para criar uma "sandbox" de acesso restrito na qual um usuário faz um teste. Preciso bloquear dispositivos de armazenamento USB para evitar trapaças)

Minhas restrições:

  1. Minha solução será executada em computadores públicos sobre os quais não tenho controle. Qualquer coisa que exija reinicialização, modificação do BIOS ou alteração física do computador não funcionará.
  2. Posso presumir que a solução será executada como administrador, mas pontos extras se funcionar para um não administrador.
  3. Só estou preocupado com o Windows XP agora. Pontos de bônus para compatibilidade com Vista ou Win7.

Soluções parciais:

  1. Bloqueie a montagem automática de dispositivos viaKB 823732. Rápido e fácil, mas:

    • Não sou notificado quando um dispositivo é bloqueado. (Quero saber se alguém tenta trapacear, mesmo estando bloqueado)
    • De acordo comEste artigo, se o driver de armazenamento USB ainda não estiver instalado, o sistema Plug-N-Play irá instalá-lo na primeira utilização, substituindo a chave de registro e permitindo o acesso
  2. Desative o armazenamento USB via Política de Grupo (KB555324).

    • Possoroteiroa aplicação dessas políticas ao computador local em tempo de execução,sem reinicialização?
    • Com que facilidade posso reverter a política ao seu estado anterior quando terminar?
    • Os dispositivos bloqueados aparecerão no log de segurança?
  3. Modificar ACLs para USBSTOR.SYS, conforme mostrado nesta questão SF]4.

    • Se eu negar direitos ao arquivo para a classe atual de usuário, meu script de reversão poderá conceder os direitos de volta?
    • Se eu negar direitos ao arquivo, como posso garantir que todas as tentativas de montagem do dispositivo sejam registradas no log de segurança?

Estou aberto a soluções em .NET ou usando arquivos em lote ou scripts do PowerShell.

(Nota: isto está relacionado comminha pergunta semelhante e generosa sobre Stack Overflow. Se você se preocupa com o representante do SO, sinta-se à vontade para responder lá também)

Responder1

para implementar a política de grupo, você não precisa reinicializar. Executar gpupdate /force (duas vezes) no cliente é suficiente (use psexec para isso, por exemplo).

Se você quiser reverter a política, apenas desvincule-a do ou e execute novamente gpupdate /force no cliente (novamente com psexec).

Se os computadores não estiverem no AD e você não puder implementar políticas de grupo, ainda poderá obter os mesmos resultados com importações de registros. Dê uma olhada no modelo de adm que você usaria no AD e importe as alterações de registro com reg.exe e psexec. Outra opção seria usar wpkg (http://wpkg.org) onde você tem uma definição xml de ações para instalar/desinstalar coisas. Funciona muito bem e não custa nada.

informação relacionada