Kopieren und Erkennen von Kopierdateiszenarien im Kernelmodus

Die Möglichkeit, vertrauenswürdige Dateikopien im Kernelmodus durchzuführen, wurde in Windows 11 Version 22H2 eingeführt, einschließlich der Möglichkeit für Filter, Kopierszenarien einfach zu erkennen. Diese Funktion ist besonders für Antivirenfilter (AVs) nützlich, sodass sie bestimmen können, ob sie die Überprüfung sowohl der Quell- als auch der Zieldateien während des Kopierens verzögern oder vollständig überspringen können.

So stellen Sie sicher, dass Lese- und Schreibvorgänge im Kernelmodus sicher als Teil eines Kopiervorgangs markiert werden:

  • Das FILE_CONTAINS_EXTENDED_CREATE_INFORMATION-Flag und EXTENDED_CREATE_INFORMATION Struktur wurden hinzugefügt, um die Kopierabsicht bei der Erstellung über NtCreateFile zu signalisieren. Die EXTENDED_CREATE_INFORMATION-Struktur fungiert als Wrapper um den vorhandenen EaBuffer-Parameter von NtCreateFile.

    Wenn das FILE_CONTAINS_EXTENDED_CREATE_INFORMATION-Flag angegeben wird, interpretiert der E/A-Manager die EaBuffer - und EaLength-Parameter als EXTENDED_CREATE_INFORMATION-Struktur und analysiert die Felder dieser Struktur so, als würden sie direkt für NtCreateFile bereitgestellt. Zugrunde liegende Filter haben keine Änderungen im Verhalten erweiterter Attribute.

  • IoCheckFileObjectOpenedAsCopySource und IoCheckFileObjectOpenedAsCopyDestination wurden für Filter hinzugefügt, um zu überprüfen, ob eine Datei für die Kopierabsicht geöffnet wurde.

  • NtCopyFileChunk wurde hinzugefügt, um den Kernelmodus zu kopieren.

Alle Lese- und Schreibvorgänge von NtCopyFileChunk verfügen über Folgendes:

  • Der Anforderermodus des IRP ist auf KernelMode festgelegt.
  • Eine IRP-Erweiterung vom Typ IopCopyInformationType.

Filter haben keinen direkten Zugriff auf die IRP-Erweiterungen, können jedoch das Vorhandensein dieser Erweiterung überprüfen und Kopierinformationen aus den Rückrufdaten abrufen, indem sie FltGetCopyInformationFromCallbackData aufrufen.