IoSpy e IoAttack
Observação
IoSpy e IoAttack não estão mais disponíveis no WDK após Windows 10 versão 1703.
Como alternativa a essas ferramentas, considere usar os testes de fuzzing disponíveis no HLK. Aqui estão alguns a considerar.
DF – Teste IOCTL aleatório do Fuzz (Confiabilidade)
DF – Sub-abre o teste do Fuzz (Confiabilidade)
DF – Teste FSCTL do buffer de comprimento zero do Fuzz (Confiabilidade)
DF – Teste FSCTL aleatório do Fuzz (Confiabilidade)
DF – Teste de API do Fuzz Misc (Confiabilidade)
Você também pode usar o fuzzing de atraso de sincronização do Kernel incluído no Verificador de Driver.
IoSpy e IoAttack são ferramentas que executam testes de fuzz IOCTL e WMI em drivers no modo kernel. Usando essas ferramentas, você pode garantir que o código IOCTL e WMI dos drivers valide os buffers de dados e os comprimentos do buffer corretamente. Ao fazer isso, você evita estouros de buffer que podem levar à instabilidade do sistema.
O teste de fuzz apresenta um driver com dados aleatórios, conhecidos como fuzz, a fim de determinar defeitos dentro do driver. O teste de fuzz em uma interface IOCTL ou WMI não é novo. No entanto, a maioria dos conjuntos de testes são testes genéricos de fuzz de caixa preta , que verificam apenas o acesso externo às interfaces IOCTL ou WMI de um driver ou são gravados para testar os caminhos IOCTL e WMI específicos dentro de um driver.
IoSpy e IoAttack usam mais uma abordagem de caixa branca para testes de fuzz. Quando um dispositivo está habilitado para teste de fuzz, o IoSpy captura as solicitações IOCTL e WMI enviadas ao driver do dispositivo e registra os atributos dessas solicitações em um arquivo de dados. IoAttack lê os atributos desse arquivo de dados e usa esses atributos para fuzz ou alterar aleatoriamente as solicitações IOCTL ou WMI de várias maneiras antes de enviá-los para o driver. Isso permite uma entrada adicional no código de validação de buffer do driver sem gravar testes específicos de IOCTL ou WMI.
Há suporte para IoSpy e IoAttack em sistemas que executam o Windows Vista ou versões posteriores do sistema operacional Windows. Essas ferramentas estão incluídas no WDK como parte do como parte dos testes de conceitos básicos do dispositivo, consulte Testes de penetração (Conceitos básicos do dispositivo). Você pode selecionar esses testes na caixa de diálogo Adicionar ou Remover Testes de Driver , na pasta Basic\Device Fundamentals\Penetração\IoSpy & Attack.
Importante IoSpy e IoAttack devem ser executados em sistemas de teste que foram previamente preparados para depuração no modo kernel.
Esta seção inclui os tópicos a seguir: