Partilhar via


DF – Teste de API do Fuzz Misc (Confiabilidade)

Esse teste recupera o descritor de segurança e altera o estado de segurança dos dispositivos.

Testes de API do Fuzz Misc

Os testes de API do Fuzz Misc são testes que determinam se o driver pode lidar com uma variedade de chamadas comuns de drivers de modo kernel.

O pacote testa o seguinte:

  • Chamadas para ZwReadFile e ZwWriteFile, especificando ponteiros de buffer de dados válidos, comprimentos variados (incluindo zero) e deslocamentos de bytes variados, incluindo deslocamentos de bytes de zero, -1 e 64 bits.

  • Chamadas para cancelar e/S e liberar buffers.

  • Uma série de chamadas de consulta de diretório usando classes comuns de informações de arquivo com ponteiros de buffer de dados de usuário válidos e comprimentos de buffer variados (incluindo zero).

  • Chamadas de consulta de diretório semelhantes às emitidas por programas em execução sob controle da VDM (Máquina virtual dos DOS).

  • Chama para recuperar os atributos estendidos de um arquivo com tamanhos e comprimentos de buffer variados.

  • Chamadas para criar e fechar objetos de seção, com proteção de página de seção variável e atributos de alocação seccional (seção confirmada, seção arquivo de imagem).

  • Chamadas para bloquear e desbloquear arquivos.

  • Chamadas para recuperar entradas de cota para um volume.

  • Teste de atributos de arquivo, uma série de consultas de atributo de arquivo com ponteiros válidos para uma estrutura ObjectAttributes.

    O Teste de Atributos de Arquivo tem um teste opcional de comprimento zero. Ao recuperar os atributos estendidos de um arquivo, o teste do Fuzz passa por uma consulta em branco (comprimento zero) e um endereço de buffer inválido para o driver.

Binário de teste:método de teste de Devfund_FuzzTest.dll: DoMiscAPITest

Detalhes do teste

   
Especificações
  • Device.DevFund.Reliability.BasicReliabilityAndPerformance
  • Device.DevFund.Reliability.BasicSecurity
  • Device.DevFund.DriverFramework.KMDF.Reliability
  • Device.DevFund.DriverFramework.UMDF.Reliability
Plataformas
  • Windows 10, edições de cliente (x86)
  • Windows 10, edições de cliente (x64)
  • Windows Server 2016 (x64)
  • Windows 10, edições de cliente (Arm64)
  • Windows 10, edição móvel (Arm)
  • Windows 10, edição móvel (Arm64)
Versões com suporte
  • Windows 10
  • Windows 10, versão 1511
  • Windows 10, versão 1607
  • Windows 10, versão 1703
  • Windows 10, versão 1709
  • Windows 10, versão 1803
  • Windows 10, versão 1809
  • Windows 10, versão 1903
  • Próxima atualização para Windows 10
Tempo de execução esperado (em minutos) 15
Categoria Cenário
Tempo limite (em minutos) 180
Requer reinicialização false
Requer configuração especial true
Tipo automático

 

Documentação adicional

Os testes nessa área de recursos podem ter documentação adicional, incluindo pré-requisitos, configuração e informações de solução de problemas, que podem ser encontrados nos tópicos a seguir:

Executando o teste

Antes de executar o teste, conclua a configuração de teste conforme descrito nos requisitos de teste: Pré-requisitos de Teste de Confiabilidade device.fundamentals.

Solucionando problemas

Para solucionar problemas genéricos de falhas de teste do HLK, consulte Solução de problemas de falhas de teste do Windows HLK.

Para obter informações de solução de problemas específicas dos testes de Conceitos Básicos do Dispositivo no HLK e no WDK, consulte Documentação adicional device.DevFund.

Mais informações

Parâmetros

Nome do parâmetro Descrição do parâmetro
DQ Uma consulta SDEL do WDTF usada para identificar os dispositivos de destino – https://go.microsoft.com/fwlink/?LinkId=232678
Wpa2PskAesSsid Obrigatório SOMENTE se o DUT ou um de seus dispositivos filho for um adaptador WiFi. Forneça SSID de uma rede WiFi AES WPA2 que o teste pode usar para testar o adaptador WiFi. O padrão é 'kitstestssid'.
Wpa2PskPassword Obrigatório SOMENTE se o DUT ou um de seus dispositivos filho for um adaptador WiFi. Forneça a senha da rede WiFi do AES WPA2 especificada usando o parâmetro Wpa2PskAesSsid. O padrão é 'password'.
ChangeBufferProtectionFlags Verdadeiro ou falso. Altera os sinalizadores de proteção de memória dos buffers passados para o dispositivo testado. Os sinalizadores de proteção de memória alternam entre nenhum acesso, somente leitura e somente leitura com o page guard.
Impersonate Verdadeiro ou falso. Executa o teste como um usuário não administrativo.
FillZeroPageWithNull Verdadeiro ou falso. Mapeia a página zero e a preenche com valores NULL. Esse teste identifica drivers que não verificam uma referência de ponteiro antes de desreferenciar um ponteiro.
DoPoolCheck Verdadeiro ou falso. Monitora o uso do driver dos pools de memória do sistema paginados e nãopagados usando marcas de pool e listas lookaside. Essa opção também monitora as alterações no número de exceções tratadas, o que pode indicar erros no tratamento de exceções.
DoSync Verdadeiro ou falso. Também abre identificadores de dispositivo no modo SYNC (FILE_SYNCHRONOUS_IO_ALERT). Operações aleatórias de leitura e gravação são ignoradas.
TestCycles Número de ciclos de teste.
DriverVerifierAdditionalDrivers Drivers adicionais que devem ter o Verificador de Driver habilitado
DriverVerifierExcludedFlags Espaço reservado para sinalizadores do Verificador de Driver que podem ser excluídos manualmente para a execução do teste
WDKDeviceID ID do dispositivo em teste
QueryHardwareID ID de hardware do dispositivo em teste
WDTFREMOTESYSTEM Obrigatório SOMENTE se DUT ou um de seus dispositivos filho for uma NIC com fio que não tenha um endereço de gateway IPv6. Se determinado a ser necessário, forneça um endereço IPv6 que a NIC de teste pode executar ping para testar a E/S da rede. Por exemplo: fe80::78b6:810:9c12:46cd
DriverVerifierCustomizeConfiguration Especifica que esse teste pode querer atualizar automaticamente as configurações do Verificador de Driver