HardcodedIVCNG (Consulta CodeQL do Driver do Windows)
Visão geral
Um IV (vetor de inicialização) é uma entrada para um primitivo criptográfico que está sendo usado para fornecer o estado inicial. O IV normalmente é necessário para ser aleatório ou pseudorandom (esquema randomizado), mas às vezes um IV só precisa ser imprevisível ou exclusivo (esquema com estado).
A aleatoriedade é crucial para que alguns esquemas de criptografia obtenham segurança semântica, uma propriedade pela qual o uso repetido do esquema sob a mesma chave não permite que um invasor infera relações entre segmentos (potencialmente semelhantes) da mensagem criptografada.
Recomendação
Todas as codificações de bloco simétrico também devem ser usadas com um IV (vetor de inicialização) apropriado de acordo com o modo de operação que está sendo usado.
Se estiver usando um esquema aleatório como CBC, é recomendável usar o gerador de números pseudorandom criptograficamente seguro, como BCryptGenRandom.
Additional Details
Essa consulta pode ser encontrada no repositório CodeQL do Microsoft GitHub. Consulte a página Teste do Logotipo das Ferramentas Estáticas e CodeQL para obter detalhes sobre como os desenvolvedores do Windows Driver podem baixar e executar o CodeQL.