Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Quando você cria um pacote de driver , você deve certificar-se de que a instalação do seu dispositivo será sempre realizada de forma segura. Uma instalação segura de dispositivo é aquela que faz o seguinte:
limita o acesso ao dispositivo e suas classes de interface de dispositivo
limita o acesso aos serviços de driver que foram criados para o dispositivo
protege os arquivos do driver contra modificação ou exclusão
limita o acesso às entradas de registo do dispositivo
limita o acesso às classes WMI do dispositivo
usa as funções SetupAPI corretamente
A segurança da instalação do dispositivo é controlada por descritores de segurança. O principal meio para especificar descritores de segurança é o arquivo INF. O sistema fornece descritores de segurança padrão e, na maioria das circunstâncias, você não precisa substituir esses descritores.
Configurações de segurança para dispositivos e interfaces
O sistema fornece descritores de segurança padrão para todas as classes de configuração de dispositivo fornecidas pelo sistema. Geralmente, esses descritores permitem acesso total para administradores de sistema e acesso de leitura/gravação/execução para usuários. (Os descritores de segurança que controlam o acesso a um dispositivo também controlam o acesso às classes de interface de dispositivo do dispositivo, se houver.)
Os arquivos INF para drivers WDM podem especificar configurações de segurança, por classe ou por dispositivo, que substituem as configurações padrão do sistema. Os fornecedores que criam uma nova classe de configuração de dispositivo devem especificar um descritor de segurança para a classe. Geralmente, não é necessário especificar um descritor de segurança específico do dispositivo. Pode ser útil fornecer um descritor de segurança específico do dispositivo se diferentes tipos de dispositivos que pertencem à mesma classe tiverem tipos significativamente diferentes de usuários.
Para especificar um descritor de segurança para todos os dispositivos que pertencem a uma classe de configuração de dispositivo WDM, use uma diretiva INF AddReg dentro de uma seção INF ClassInstall32 do arquivo INF do instalador de classe. A diretiva AddReg deve apontar para uma seção add-registry que define valores para as entradas de registro DeviceType e Security. Esses valores do Registro especificam um descritor de segurança para todos os dispositivos do tipo de dispositivo especificado.
Para especificar um descritor de segurança para um único dispositivo que pertença a uma classe de configuração de dispositivo WDM, use uma diretiva INF AddReg dentro de uma seção INF DDInstall.HW do arquivo INF do dispositivo. A diretiva AddReg deve apontar para uma seção de adição ao registo que define valores para as entradas de registo DeviceType e de Segurança. Esses valores do Registo especificam um descritor de segurança para todos os dispositivos que correspondem ao ID de hardware ou aos IDs compatíveis , especificados por uma seção associada de Modelos INF .
Por padrão, o sistema aplica o descritor de segurança definido para um dispositivo a uma solicitação para abrir o objeto de dispositivo que representa o dispositivo (por exemplo, uma solicitação para abrir o dispositivo cujo nome de dispositivo NT é \Device\DeviceName).
No entanto, o sistema não aplica, por padrão, o descritor de segurança definido para um dispositivo a uma solicitação para abrir um objeto no namespace do dispositivo, onde o namespace do dispositivo inclui todos os objetos cujos nomes têm a forma \Device\DeviceName\ObjectName. Para garantir que as mesmas configurações de segurança sejam aplicadas a solicitações abertas de objetos no namespace de um dispositivo, defina o sinalizador de características do dispositivo FILE_DEVICE_SECURE_OPEN para um dispositivo. Para obter mais informações sobre o acesso seguro a dispositivos, consulte Controlando o acesso ao namespace do dispositivo (drivers do Windows). Para obter informações sobre como definir o sinalizador de caraterísticas do dispositivo FILE_DEVICE_SECURE_OPEN, consulte Especificando Caraterísticas do Dispositivo (Drivers do Windows).
O gestor PnP define valores de segurança sobre os objetos do dispositivo após chamar a rotina AddDevicedode um driver. Alguns drivers WDM podem especificar um descritor de segurança específico do dispositivo ao criar um objeto de dispositivo físico (PDO) chamando IoCreateDeviceSecure. Para obter mais informações, consulte Protegendo objetos de dispositivo.
Configurações de segurança para arquivos de driver
Ao copiar arquivos usando a diretiva INF CopyFiles, é possível especificar um file-list-section.seção de de segurança. Esta seção especifica um descritor de segurança para todos os arquivos copiados pela diretiva CopyFiles. No entanto, os fornecedores nunca precisam especificar um descritor de segurança para arquivos de driver, se o destino da instalação for um dos subdiretórios do sistema do %SystemRoot%. (Para obter mais informações sobre esses subdiretórios, consulte Usando Dirids.) O sistema fornece descritores de segurança padrão para esses subdiretórios, e os descritores padrão não devem ser substituídos.
Configurações de segurança para serviços de controlador
Na secção de instalação de serviço de um ficheiro INF de controlador (consulte a Diretiva INF AddServicede), pode incluir um item Security. Esta entrada especifica as permissões necessárias para executar operações como iniciar, parar e configurar os serviços de driver associados ao seu dispositivo. No entanto, o sistema fornece um descritor de segurança padrão para serviços de driver, e esse descritor padrão geralmente não precisa ser substituído.
Configurações de segurança para entradas de registo de dispositivo e driver
Ao especificar entradas do registo em arquivos INF usando diretivas INF AddReg, pode-se incluir uma add-registry-section.seção Security, para cada add-registry-section. O add-registry-section.seção Security especifica permissões de acesso para as entradas do Registro criadas pela seção add-registry-section associada. O sistema fornece um descritor de segurança padrão para todas as entradas do registo criadas sob a HKR raiz relativa. Portanto, não é necessário especificar um descritor de segurança ao criar entradas do registo na raiz relativa.
Configurações de segurança para classes WMI
O sistema atribui descritores de segurança padrão aos GUIDs que identificam classes WMI. Para o Windows XP e versões anteriores do sistema operacional, o descritor de segurança padrão para GUIDs WMI permite acesso total a todos os usuários. A partir do Windows Server 2003, o descritor de segurança padrão permite acesso apenas a administradores.
Se o driver define classes WMI e você não deseja usar os descritores de segurança padrão do sistema para essas classes, você pode fornecer descritores de segurança usando um INF DDInstall.WMI seção dentro do arquivo INF do dispositivo.
Usando funções SetupAPI corretamente
Se o pacote de driver incluir instaladores, coinstaladores ou outros aplicativos de instalação que chamem funções SetupAPI, você deverá seguir as diretrizes de para usar o SetupAPI.
Testando as configurações de segurança da instalação
Use de log SetupAPI para verificar se as configurações de segurança associadas à instalação do dispositivo foram especificadas corretamente. Defina o nível de registo como verbose (0x0000FFFF) depois tente vários cenários de instalação.
Tais cenários devem incluir instalações iniciais e reinstalações, tanto de contas de usuário quanto de contas de administrador do sistema. Tente ligar o dispositivo antes de instalar o software e vice-versa.
Se uma instalação for bem-sucedida, exiba o log para confirmar que nenhum erro ocorreu. Se uma instalação falhar, exiba o log para determinar a causa da falha.
Além disso, após a conclusão de uma instalação, você pode fazer o seguinte:
Use o Editor do Registro para exibir as configurações de segurança atribuídas a uma entrada do Registro.
Use Meu Computador para exibir as configurações de segurança atribuídas a um arquivo.