Cenários de cópia de arquivo no modo kernel e detecção de arquivos de cópia
Este artigo descreve a funcionalidade de cópia de arquivo no modo Kernel confiável introduzida em Windows 11, versão 22H2. Essa funcionalidade permite que os filtros detectem facilmente cenários de cópia. É útil para filtros antivírus (AVs), permitindo que eles determinem se podem adiar ou ignorar totalmente a verificação dos arquivos de origem e destino durante a cópia.
Para garantir que as operações de leitura e gravação no modo Kernel sejam marcadas com segurança como parte de uma operação de cópia, as seguintes atualizações foram feitas:
A sinalização FILE_CONTAINS_EXTENDED_CREATE_INFORMATION e a estrutura EXTENDED_CREATE_INFORMATION foram adicionadas. Essa sinalização e estrutura são usadas para sinalizar a intenção de cópia no momento da criação por meio de NtCreateFile. A estrutura EXTENDED_CREATE_INFORMATION atua como um wrapper em torno do parâmetro NtCreateFile existente do EaBuffer.
Quando a sinalização FILE_CONTAINS_EXTENDED_CREATE_INFORMATION é especificada, o gerenciador de E/S interpreta os parâmetros EaBuffer e EaLength como uma estrutura EXTENDED_CREATE_INFORMATION. Em seguida, o gerenciador de E/S analisa os campos dessa estrutura como se eles fossem fornecidos diretamente ao NtCreateFile. Os filtros subjacentes não experimentam nenhuma alteração no comportamento dos atributos estendidos.
IoCheckFileObjectOpenedAsCopySource e IoCheckFileObjectOpenedAsCopyDestination foram adicionados para filtros para verificar se um arquivo foi aberto para intenção de cópia.
NtCopyFileChunk foi adicionado para fazer a cópia do modo kernel.
Todas as operações de leitura e gravação de NtCopyFileChunk têm:
- O modo de solicitante do IRP definido como KernelMode
- Uma extensão IRP do tipo IopCopyInformationType.
Os filtros não têm acesso diretamente às extensões IRP, mas podem verificar a presença dessa extensão e obter informações de cópia dos dados de retorno de chamada acionando FltGetCopyInformationFromCallbackData.