Algunas aplicaciones y controladores de dispositivos de hardware pueden ser incompatibles con la integridad de la memoria. Esta incompatibilidad puede hacer que los dispositivos o el software no funcionen correctamente y, en raras ocasiones, puede provocar un error de arranque (pantalla azul). Estos problemas pueden producirse después de activar la integridad de la memoria o durante el propio proceso de habilitación. Si se producen problemas de compatibilidad, consulte Solución de problemas para ver los pasos de corrección.
La integridad de memoria es una característica de seguridad basada en virtualización (VBS) disponible en Windows. La integridad de la memoria y VBS mejoran el modelo de amenazas de Windows y proporcionan protecciones más seguras contra el malware que intenta aprovechar el kernel de Windows. VBS usa el hipervisor de Windows para crear un entorno virtual aislado que se convierte en la raíz de confianza del sistema operativo que supone que el kernel se puede poner en peligro. La integridad de memoria es un componente crítico que protege y protege Windows mediante la ejecución de la integridad de código en modo kernel dentro del entorno virtual aislado de VBS. La integridad de memoria también restringe las asignaciones de memoria del kernel que se podrían usar para poner en peligro el sistema.
Nota
La integridad de memoria a veces se conoce como integridad de código protegida por hipervisor (HVCI) o integridad de código aplicado por hipervisor, y se publicó originalmente como parte de Device Guard. Device Guard ya no se usa excepto para buscar la integridad de la memoria y la configuración de VBS en directiva de grupo o en el Registro de Windows.
La integridad de la memoria funciona mejor con Intel Kabylake y procesadores superiores con control de ejecución basado en modo y procesadores AMD Zen 2 y superiores con capacidades de captura de ejecución en modo invitado . Los procesadores más antiguos se basan en una emulación de estas características, denominada modo de usuario restringido, y tendrán un mayor impacto en el rendimiento. Cuando la virtualización anidada está habilitada, la integridad de la memoria funciona mejor cuando la máquina virtual es versión >= 9.3.
Características de integridad de memoria
Protege la modificación del mapa de bits de Control Flow Guard (CFG) para los controladores de modo kernel.
Protege el proceso de integridad de código en modo kernel que garantiza que otros procesos de kernel de confianza tengan un certificado válido.
Cómo activar la integridad de la memoria
Para habilitar la integridad de la memoria en dispositivos Windows con hardware compatible en toda una empresa, use cualquiera de estas opciones:
Habilitación de la integridad de memoria mediante Seguridad de Windows
La integridad de la memoria se puede activar en Seguridad de Windows configuración y se puede encontrar en Seguridad de Windows>Dispositivosdetalles> de aislamiento de seguridad > coreIntegridad de memoria. Para obtener más información, consulte Protección de dispositivos en Seguridad de Windows.
A partir de Windows 11 22H2, Seguridad de Windows muestra una advertencia si la integridad de la memoria está desactivada. El indicador de advertencia también aparece en el icono de Seguridad de Windows en la barra de tareas de Windows y en el Centro de notificaciones de Windows. El usuario puede descartar la advertencia desde dentro de Seguridad de Windows.
Habilitación de la integridad de memoria mediante Intune
Use la configuraciónDe integridad de código aplicada del hipervisorde tecnología> basada en virtualización mediante el catálogo de configuración para habilitar la integridad de la memoria. También puede usar el nodo HypervisorEnforcedCodeIntegrity en el CSP virtualizationBasedTechnology.
Habilitación de la integridad de la memoria mediante directiva de grupo
Use directiva de grupo Editor (gpedit.msc) para editar un GPO existente o crear uno nuevo.
Vaya a Configuración> del equipoPlantillas> administrativasSystem>Device Guard.
Haga doble clic en Activar seguridad basada en virtualización.
Seleccione Habilitado. En Protección basada en virtualización de integridad de código, seleccione Habilitado sin bloqueo UEFI. Solo seleccione Habilitado con bloqueo UEFI si desea evitar que la integridad de la memoria se deshabilite de forma remota o mediante la actualización de directivas. Una vez habilitado con el bloqueo UEFI, debe tener acceso al menú UEFI BIOS para desactivar el arranque seguro si desea desactivar la integridad de la memoria.
Seleccione Aceptar para cerrar el editor.
Para aplicar la nueva directiva en un equipo unido a un dominio, reinicie o ejecute gpupdate /force en un símbolo del sistema con privilegios elevados.
Habilitación de la integridad de memoria mediante el Registro
Establezca las siguientes claves del Registro para habilitar la integridad de la memoria. Estas claves proporcionan un conjunto similar de opciones de configuración proporcionadas por directiva de grupo
Importante
Entre los comandos que siguen, puedes elegir la configuración para Arranque seguro y Arranque seguro con DMA. En la mayoría de los casos, recomendamos elegir Arranque seguro. Esta opción proporciona el arranque seguro con tanta protección como sea compatible con el hardware de un equipo determinado. Un equipo con unidades de administración de memoria de entrada y salida (IOMMU) tendrá arranque seguro con protección de DMA. Un equipo sin las IOMMU simplemente tendrá habilitado el arranque seguro.
Si selecciona Arranque seguro con DMA, la integridad de la memoria y las otras características de VBS solo estarán activadas para los equipos que admitan DMA. Es decir, solo para equipos con IOMMU. Cualquier equipo sin IOMMU no tendrá VBS ni protección de la integridad de la memoria.
Todos los controladores del sistema deben ser compatibles con la protección basada en la virtualización de la integridad de código; en caso contrario, el sistema puede presentar errores. Recomendamos habilitar estas características en un grupo de equipos de prueba antes de habilitarlas en los equipos de los usuarios.
Configuración recomendada (para habilitar la integridad de la memoria sin bloqueo UEFI):
La configuración Obligatoria impide que el cargador del sistema operativo continúe arrancando en caso de que el hipervisor, el kernel seguro o uno de sus módulos dependientes no se carguen.
Importante
Se debe tener especial cuidado antes de habilitar este modo, ya que, en caso de error de los módulos de virtualización, el sistema se negará a arrancar.
Para atenuar la interfaz de usuario de integridad de memoria y mostrar el mensaje This setting is managed by your administrator:
Habilitación de la integridad de memoria mediante App Control para empresas
Puede usar la directiva de Control de aplicaciones para activar la integridad de la memoria mediante cualquiera de las técnicas siguientes:
Use el Asistente para control de aplicaciones para crear o editar la directiva de Control de aplicaciones y seleccione la opción Integridad de código protegida por hipervisor en la página Reglas de directiva del Asistente.
Edite el XML de la directiva de App Control y modifique el valor establecido para el <HVCIOptions> elemento.
Nota
Si la directiva de Control de aplicaciones está establecida para activar la integridad de la memoria, se activará incluso si la directiva está en modo de auditoría.
Validación de vbs habilitado y características de integridad de memoria
Uso de Win32_DeviceGuard clase WMI
Windows 10, Windows 11 y Windows Server 2016 y versiones posteriores tienen una clase WMI para las propiedades y características relacionadas con VBS: Win32_DeviceGuard. Esta clase puede consultarse desde una sesión de Windows PowerShell con privilegios elevados mediante el siguiente comando:
La propiedad Control de ejecución basada en modo solo se mostrará como disponible a partir de Windows 10 versión 1803 y Windows 11 versión 21H2. Este valor se notifica tanto para el control de ejecución basado en modo de Intel como para las funcionalidades de captura de ejecución en modo invitado de AMD.
La salida de este comando proporciona detalles de las características de seguridad basadas en hardware disponibles y las características que están habilitadas actualmente.
InstanceIdentifier: cadena única para un dispositivo determinado y establecida por WMI.
Versión: en este campo se muestra la versión de esta clase WMI. Actualmente, el único valor válido es 1.0.
AvailableSecurityProperties: este campo ayuda a enumerar e informar sobre el estado de las propiedades de seguridad pertinentes para VBS y la integridad de la memoria.
Valor
Descripción
0
Si se encuentra presente, no hay ninguna propiedad pertinente en el dispositivo.
1
Si se encuentra presente, existe compatibilidad con el hipervisor.
2
Si se encuentra presente, el arranque seguro está disponible.
3
Si se encuentra presente, la protección de DMA está disponible.
4
Si se encuentra presente, la sobrescritura de memoria segura está disponible.
5
Si se encuentra presente, las protecciones NX están disponibles.
6
Si se encuentra presente, las mitigaciones de SMM están disponibles.
7
Si está presente, MBEC/GMET está disponible.
8
Si está presente, la virtualización de APIC está disponible.
CodeIntegrityPolicyEnforcementStatus: este campo indica el estado de cumplimiento de la directiva de integridad de código.
Valor
Descripción
0
Desactivado
1
Auditoría.
2
Forzada.
RequiredSecurityProperties: en este campo se describen las propiedades de seguridad necesarias para habilitar VBS.
Valor
Descripción
0
No se necesita nada.
1
Si se encuentra presente, se necesita la compatibilidad con el hipervisor.
2
Si se encuentra presente, se necesita el arranque seguro.
3
Si se encuentra presente, se necesita la protección de DMA.
4
Si se encuentra presente, se necesita la sobrescritura de memoria segura.
5
Si está presente, se necesitan las protecciones NX.
6
Si está presente, se necesitan las mitigaciones de SMM.
7
Si está presente, se necesita MBEC/GMET.
SecurityServicesConfigured: este campo indica si se ha configurado Credential Guard o la integridad de la memoria.
Valor
Descripción
0
No se configura ningún servicio.
1
Si se encuentra presente, Credential Guard se ha configurado.
2
Si está presente, se configura la integridad de la memoria.
3
Si está presente, se configura Protección del sistema inicio seguro.
4
Si está presente, se configura la medición de firmware de SMM.
5
Si está presente, se configura La protección de pila aplicada por hardware en modo kernel.
6
Si está presente, protección de pila aplicada por hardware en modo kernel se configura en modo auditoría.
7
Si está presente, se configura Hypervisor-Enforced traducción de paginación.
SecurityServicesRunning: este campo indica si se está ejecutando Credential Guard o la integridad de la memoria.
Valor
Descripción
0
No se está ejecutando ningún servicio.
1
Si se encuentra presente, Credential Guard está en ejecución.
2
Si está presente, se está ejecutando la integridad de la memoria.
3
Si está presente, se está ejecutando Protección del sistema inicio seguro.
4
Si está presente, se está ejecutando la medición de firmware de SMM.
5
Si está presente, se está ejecutando la protección de pila aplicada por hardware en modo kernel.
6
Si está presente, la protección de pila aplicada por hardware en modo kernel se ejecuta en modo auditoría.
7
Si está presente, Hypervisor-Enforced traducción de paginación se está ejecutando.
SmmIsolationLevel: este campo indica el nivel de aislamiento de SMM.
UsermodeCodeIntegrityPolicyEnforcementStatus: este campo indica el estado de cumplimiento de la directiva de integridad de código en modo de usuario.
Valor
Descripción
0
Desactivado
1
Auditoría.
2
Forzada.
VirtualizationBasedSecurityStatus: este campo indica si VBS está habilitado y en ejecución.
Valor
Descripción
0
VBS no está habilitado.
1
VBS está habilitado, pero no en ejecución.
2
VBS está habilitado y en ejecución.
VirtualMachineIsolation: este campo indica si el aislamiento de máquina virtual está habilitado.
VirtualMachineIsolationProperties: este campo indica el conjunto de propiedades de aislamiento de máquina virtual que están disponibles.
Valor
Descripción
1
AMD SEV-SNP
2
Seguridad basada en virtualización
3
Intel TDX
Uso de msinfo32.exe
Otro método para determinar las características de VBS disponibles y habilitadas es ejecutar msinfo32.exe desde una sesión de PowerShell con privilegios elevados. Al ejecutar este programa, las características de VBS se muestran en la parte inferior de la sección Resumen del sistema .
Solución de problemas
Si un controlador de dispositivo no se carga o se bloquea en tiempo de ejecución, es posible que pueda actualizar el controlador mediante Administrador de dispositivos.
Si experimenta un error crítico durante el arranque o el sistema es inestable después de activar la integridad de la memoria, puede recuperarlo mediante el entorno de recuperación de Windows (Windows RE).
En primer lugar, deshabilite las directivas que se usan para habilitar VBS y la integridad de la memoria, por ejemplo, directiva de grupo.
Si ha activado la integridad de la memoria con bloqueo UEFI, deberá deshabilitar Arranque seguro para completar los pasos de recuperación de Windows RE.
Implementación de integridad de memoria en máquinas virtuales
La integridad de la memoria puede proteger una máquina virtual de Hyper-V, igual que lo haría con una máquina física. Los pasos para habilitar la integridad de la memoria son los mismos desde dentro de la máquina virtual.
La integridad de la memoria protege contra el malware que se ejecuta en la máquina virtual invitada. No proporciona protección adicional del administrador del host. Desde el host, puede deshabilitar la integridad de memoria de una máquina virtual:
Requisitos para ejecutar la integridad de memoria en máquinas virtuales de Hyper-V
El host de Hyper-V debe ejecutar al menos Windows Server 2016 o Windows 10, versión 1607.
La máquina virtual de Hyper-V debe ser de la generación 2 y ejecutar como mínimo Windows Server 2016 o Windows 10.
La integridad de la memoria y la virtualización anidada se pueden habilitar al mismo tiempo. Para habilitar el rol de Hyper-V en la máquina virtual, primero debe instalar el rol de Hyper-V en un entorno de virtualización anidada de Windows.
Canal de fibra virtual adaptadores no son compatibles con la integridad de la memoria. Antes de conectar un adaptador de canal de fibra virtual a una máquina virtual, primero debe excluirse de la seguridad basada en virtualización mediante Set-VMSecurity.
La opción AllowFullSCSICommandSet para discos de paso a través no es compatible con la integridad de la memoria. Antes de configurar un disco de paso a través con AllowFullSCSICommandSet, primero debe rechazar la seguridad basada en virtualización mediante Set-VMSecurity.
Demuestre los aspectos básicos de la seguridad de los datos, la administración del ciclo de vida, la seguridad de la información y el cumplimiento para proteger una implementación de Microsoft 365.