Autenticación de archivo de registro CLFS

La autenticación de archivos de registro CLFS es una mitigación de seguridad que mejora la seguridad del análisis de archivos asegurándose de que el controlador CLFS es el autor y el escritor de los archivos de registro. La autenticación del archivo de registro se logra mediante la grabación de códigos de autenticación de mensajes basados en hash (HMAC) en una sección reservada al final de cada archivo de registro. Si un archivo de registro se crea o modifica mediante cualquier otro elemento que no sea la API clFS (por ejemplo, el controlador CLFS), el archivo de registro se considera no seguro para analizar y CLFS genera un error al autor de la llamada (ERROR_LOG_METADATA_CORRUPT en modo de usuario, STATUS_LOG_METADATA_CORRUPT en modo kernel). La comprobación de autenticación clFS está habilitada de forma predeterminada en las siguientes versiones:

  • Windows 11, versión 25H2

Impacto en el usuario

Los códigos de autenticación se crean mediante el hash de los datos del archivo de registro y una clave criptográfica única del sistema. Dado que la clave criptográfica es única para cada sistema, CLFS produce un error en la comprobación de autenticación en los archivos de registro creados en otros sistemas, lo que hace que los archivos de registro clFS no seanportables sin intervención del administrador (para obtener más información, consulte las secciones siguientes).

Sobrecarga de almacenamiento

Un nuevo archivo, con la extensión .cnpf, se almacena junto con los contenedores de datos y BLF. Si el BLF de un archivo de registro se encuentra en C:\Users\User\example.blf, su archivo de revisión debe encontrarse en C:\Users\User\example.blf.cnpf. Si un archivo de registro no está cerrado de forma limpia, el archivo de revisión contiene los datos necesarios para que CLFS recupere el archivo de registro. El archivo de revisión se crea con los mismos atributos de seguridad que el archivo para el que proporciona información de recuperación. El archivo tiene el mismo tamaño que "FlushThreshold" (HKLM\SYSTEM\CurrentControlSet\Services\CLFS\Parameters [FlushThreshold]).

Se asigna más almacenamiento de archivos para almacenar más códigos de autenticación. Se agrega espacio adicional encima del tamaño de archivo solicitado por el llamador, como al llamar a ClfsAddLogContainer o ClfsAddLogContainerSet. La cantidad de espacio necesario para los códigos de autenticación depende del tamaño solicitado del archivo. Consulte la lista siguiente para obtener una estimación sobre la cantidad de datos que se asignan a los archivos de registro:

  • Los archivos de contenedor de 512 KB asignan aproximadamente 8 192 bytes adicionales.

  • Los archivos de contenedor de 1024 KB asignan aproximadamente 12.288 bytes adicionales.

  • Los archivos de contenedor de 10 MB asignan aproximadamente 90 112 bytes adicionales.

  • Los archivos de contenedor de 100 MB asignan aproximadamente 57 344 bytes adicionales.

  • Los archivos de contenedor de 4 GB asignan aproximadamente 2 101 248 bytes adicionales.

Sobrecarga de E/S

Debido al aumento de las operaciones de E/S para mantener los códigos de autenticación, se aumenta el tiempo necesario para crear, abrir y escribir registros en los archivos de registro. El aumento del tiempo para la creación de archivos de registro y la apertura del archivo de registro depende completamente del tamaño de los contenedores, con archivos de registro más grandes que tienen un impacto mucho más notable. En promedio, el tiempo que se tarda en escribir una entrada en un archivo de registros se duplica.

Modo de mitigación

De forma predeterminada, CLFS se ejecuta con la mitigación de seguridad de autenticación de archivos de registro CLFS habilitada. CLFS produce un error al abrir archivos de registro cuando los códigos de autenticación faltan o no son válidos.

Es probable que un sistema que reciba una actualización con esta versión de CLFS tenga archivos de registro existentes en el sistema que no tengan códigos de autenticación. Para asegurarse de que estos archivos de registro se pasan al nuevo formato, el sistema coloca el controlador CLFS en un modo de aprendizaje, lo que indica a CLFS que agregue automáticamente códigos de autenticación a los archivos de registro que no los tengan. La adición automática de códigos de autenticación se produce en el archivo de registro abierto y solo si el subproceso de llamada tiene acceso de escritura a los archivos subyacentes. El período de adopción se define en el Registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CLFS\Authentication [EnforcementTransitionPeriod] (en segundos).

Aunque no se recomienda, la mitigación se puede deshabilitar. Cuando se deshabilita, CLFS no realiza comprobaciones de autenticación y analiza archivos de registro potencialmente dañados o malintencionados.

Configuración

El modo de mitigación de autenticación de archivos de registro clFS se puede administrar (habilitado o deshabilitado) de varias maneras:

  1. MDM, utilizando la /Vendor/MSFT/Policy/Config/FileSystem/ClfsAuthenticationChecking política.

  2. Directiva de grupo, con la configuración "Habilitar /disable autenticación de archivos de registro CLFS" (en Administrative Templates\System\Filesystem\).

  3. Modificar el valor del registro Mode que se encuentra en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CLFS\Authentication.

    1. Valor de 0: Se aplica la mitigación. CLFS produce un error al abrir archivos de registro que tienen códigos de autenticación faltantes o inválidos.

    2. Valor de 1: La mitigación está en modo de aprendizaje. CLFS siempre abre los archivos de registro. Si a un archivo de registro le faltan códigos de autenticación, entonces CLFS los genera y escribe en el archivo (suponiendo que el autor de la llamada tenga acceso de escritura). Este proceso es un modo de auditoría destinado a sistemas que adoptan esta mitigación.

    3. Un valor de 2: La mitigación está deshabilitada por un administrador.

    Un administrador local puede deshabilitar la mitigación con el siguiente comando de PowerShell:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\CLFS\Authentication" -Name Mode -Value 2
    

Corrección de códigos de autenticación con fsutil

Los administradores usan la utilidad de línea de comandos fsutil clfs authenticate para agregar o corregir códigos de autenticación para un archivo de registro. Este comando es útil para los siguientes escenarios:

  1. Si no se abre un archivo de registro durante el período de adopción de mitigación o faltan códigos de autenticación por cualquier motivo, este comando se puede usar para agregar códigos de autenticación al archivo de registro.

  2. Si desea poder abrir archivos de registro creados en un sistema diferente (y, por tanto, una clave criptográfica diferente), este comando se puede usar para corregir los códigos de autenticación existentes mediante la clave criptográfica del sistema local.

Consulte también

ClfsAddLogContainer

ClfsAddLogContainerSet

fsutil clfs authenticate