Condividi tramite


Copiare e rilevare scenari di file in modalità kernel

Questo articolo descrive la funzionalità di copia file in modalità kernel attendibile introdotta in Windows 11 versione 22H2. Questa funzionalità consente ai filtri di rilevare facilmente gli scenari di copia. È utile per i filtri antivirus (AV), consentendo loro di determinare se possono rinviare o ignorare completamente l'analisi dei file di origine e di destinazione durante la copia.

Per assicurarsi che le operazioni di lettura e scrittura in modalità kernel siano contrassegnate in modo sicuro come parte di un'operazione di copia, sono stati eseguiti gli aggiornamenti seguenti:

  • Sono stati aggiunti il flag FILE_CONTAINS_EXTENDED_CREATE_INFORMATION e la struttura EXTENDED_CREATE_INFORMATION. Questo flag e struttura vengono usati per segnalare la finalità di copia in fase di creazione tramite NtCreateFile. La struttura EXTENDED_CREATE_INFORMATION funge da wrapper intorno al parametro EaBuffer esistente di NtCreateFile.

    Quando viene specificato il flag FILE_CONTAINS_EXTENDED_CREATE_INFORMATION, il gestore di I/O interpreta i parametri EaBuffer e EaLength come struttura EXTENDED_CREATE_INFORMATION. Il gestore di I/O analizza quindi i campi della struttura come se fossero stati forniti direttamente a NtCreateFile. I filtri sottostanti non cambiano il comportamento degli attributi estesi.

  • Sono stati aggiunti IoCheckFileObjectOpenedAsCopySource e IoCheckFileObjectOpenedAsCopyDestination per verificare se un file è stato aperto per la finalità di copia.

  • NtCopyFileChunk è stato aggiunto per eseguire la copia in modalità kernel.

Tutte le operazioni di lettura e scrittura da NtCopyFileChunk hanno:

  • La modalità richiedente di IRP impostata su KernelMode
  • Estensione IRP di tipo IopCopyInformationType.

I filtri non hanno accesso direttamente alle estensioni IRP, ma possono controllare la presenza di questa estensione e ottenere informazioni di copia dai dati di callback chiamando FltGetCopyInformationFromCallbackData.