다음을 통해 공유


커널 모드 파일 복사 및 복사 파일 검색 시나리오

이 문서에서는 Windows 11 버전 22H2에 도입된 신뢰할 수 있는 커널 모드 파일 복사 기능에 대해 설명합니다. 이 기능을 사용하면 필터가 복사 시나리오를 쉽게 검색할 수 있습니다. V(바이러스 백신 필터)에 유용하므로 복사하는 동안 원본 및 대상 파일 모두 검사를 연기하거나 완전히 건너뛸 수 있는지 여부를 결정할 수 있습니다.

커널 모드 읽기 및 쓰기 작업이 복사 작업의 일부로 안전하게 표시되도록 하기 위해 다음 업데이트가 수행되었습니다.

  • 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 구조로 해석합니다. 그런 다음 I/O 관리자는 구조체의 필드를 NtCreateFile직접 제공된 것처럼 구문 분석합니다. 기본 필터는 확장 특성의 동작을 변경하지 않습니다.

  • IoCheckFileObjectOpenedAsCopySourceIoCheckFileObjectOpenedAsCopyDestination 이 추가되어 복사 의도를 위해 파일이 열렸는지 확인합니다.

  • 커널 모드 복사를 수행하도록 NtCopyFileChunk 가 추가되었습니다.

NtCopyFileChunk모든 읽기 및 쓰기 작업에는 다음이 있습니다.

  • KernelMode로 설정된 IRP의 요청자 모드
  • IopCopyInformationType 형식의 IRP 확장입니다.

필터는 IRP 확장에 직접 액세스할 수 없지만 이 확장의 존재를 확인하고 FltGetCopyInformationFromCallbackData를 호출하여 콜백 데이터에서 복사 정보를 가져올 수 있습니다.