内核模式文件复制和检测复制文件方案

Windows 11版本 22H2 引入了在内核模式下执行受信任文件复制的功能,包括筛选器轻松检测复制方案的功能。 此功能对于防病毒筛选器 (AV) 特别有用,这样它们就可以确定在复制期间是否可以延迟或完全跳过扫描源文件和目标文件。

若要确保内核模式读取和写入操作安全地标记为复制操作的一部分,请执行以下操作:

  • FILE_CONTAINS_EXTENDED_CREATE_INFORMATION标志和EXTENDED_CREATE_INFORMATION结构是在创建时通过 NtCreateFile 向信号复制意向添加的。 EXTENDED_CREATE_INFORMATION 结构充当 NtCreateFile 现有 EaBuffer 参数的包装器。

    指定 FILE_CONTAINS_EXTENDED_CREATE_INFORMATION 标志时,I/O 管理器会将 EaBufferEaLength 参数解释为 EXTENDED_CREATE_INFORMATION 结构,并将分析该结构的字段,就像它们直接提供给 NtCreateFile 一样。 基础筛选器在扩展属性的行为上不会发生任何更改。

  • 为筛选器添加了 IoCheckFileObjectOpenedAsCopySourceIoCheckFileObjectOpenedAsCopyDestination,以检查是否为复制意向打开了文件。

  • 添加了 NtCopyFileChunk 以执行内核模式复制。

NtCopyFileChunk 的所有读取和写入操作都将具有:

  • IRP 的请求者模式设置为 KernelMode
  • IopCopyInformationType 类型的 IRP 扩展。

筛选器无权直接访问 IRP 扩展,但可以检查此扩展的存在,并通过调用 FltGetCopyInformationFromCallbackData 从回调数据获取复制信息。