Apresentando o Driver Verifier estático
Static Driver Verifier (SDV) é uma ferramenta de verificação estática que é executada em tempo de compilação. Ele explora caminhos no código do driver executando simbolicamente o código-fonte, fazendo o menor número possível de suposições sobre o estado do sistema operacional e o estado inicial do driver. Como resultado, o SDV pode exercer código em caminhos que são perdidos no teste tradicional.
O SDV inclui um conjunto de regras que definem a interação adequada entre um driver e o kernel do sistema operacional. Durante a verificação, o SDV examina cada ramificação aplicável do código do driver e o código da biblioteca que ele usa e tenta provar que o driver viola as regras. Se a SDV não conseguir provar uma infração, informa que o motorista cumpre as regras e passa na verificação.
Esta seção inclui:
Noções básicas sobre o verificador de driver estático
Conceitos de verificador de driver estático
Limitações do verificador de driver estático
Importante
O SDV não é mais suportado e o SDV não está disponível nas versões WDK ou EWDK do Windows 24H2. Ele não está disponível em WDKs mais recentes que a compilação 26017 e não está incluído no Windows 24H2 RTM WDK.
O SDV ainda pode ser usado baixando o Windows 11, versão 22H2 EWDK (lançado em 24 de outubro de 2023) com as ferramentas de compilação do Visual Studio 17.1.5 de Baixar o Kit de Driver do Windows (WDK). Recomenda-se apenas o uso do Enterprise WDK para executar o SDV. Usar versões mais antigas do WDK padrão em conjunto com versões recentes do Visual Studio não é recomendado, pois isso provavelmente resultará em falhas de análise.
No futuro, o CodeQL será a principal ferramenta de análise estática para drivers. O CodeQL fornece uma linguagem de consulta poderosa que trata o código como um banco de dados a ser consultado, simplificando a gravação de consultas para comportamentos, padrões e muito mais específicos.
Para obter mais informações sobre como usar o CodeQL, consulte CodeQL e o teste de logotipo de ferramentas estáticas.