Contenido
La protección contra vulnerabilidades es una nueva característica de seguridad de Windows Defender que Microsoft introdujo en la actualización Fall Creators Update del sistema operativo.
Exploit Guard es un conjunto de funciones que incluye protección contra exploits, reducción de la superficie de ataque, protección de red y acceso controlado a carpetas.
La protección contra vulnerabilidades se puede describir mejor como una versión integrada de EMET (Exploit Mitigation Experience Toolkit) de Microsoft, una herramienta de seguridad que la empresa retirará a mediados de 2018.
Microsoft afirmó anteriormente que el sistema operativo Windows 10 de la compañía haría innecesario ejecutar EMET junto con Windows; Sin embargo, al menos un investigador refutó la afirmación de Microsoft.
Protección contra vulnerabilidades de Windows Defender
La protección contra vulnerabilidades está habilitada de forma predeterminada si Windows Defender está habilitado. La característica es la única característica de Exploit Guard que no requiere que la protección en tiempo real esté habilitada en Windows Defender.
La función se puede configurar en la aplicación Centro de seguridad de Windows Defender, a través de comandos de PowerShell o como políticas.
Configuración en la aplicación Centro de seguridad de Windows Defender
Puede configurar la protección contra exploits en la aplicación Windows Defender Security Center.
- Utilice Windows-I para abrir la aplicación Configuración.
- Vaya a Actualización y seguridad> Windows Defender.
- Seleccione Abrir el Centro de seguridad de Windows Defender.
- Seleccione Control de aplicaciones y navegador que aparece como un enlace de la barra lateral en la nueva ventana que se abre.
- Busque la entrada de protección contra vulnerabilidades en la página y haga clic en la configuración de protección contra vulnerabilidades.
La configuración se divide en Configuración del sistema y Configuración del programa.
La configuración del sistema enumera los mecanismos de protección disponibles y su estado. Lo siguiente está disponible en la actualización de Windows 10 Fall Creators:
- Control Flow Guard (CFG): activado de forma predeterminada.
- Prevención de ejecución de datos (DEP): activada de forma predeterminada.
- Forzar la aleatorización de imágenes (ASLR obligatorio): desactivada de forma predeterminada.
- Aleatorizar asignaciones de memoria (ASLR ascendente): activada de forma predeterminada.
- Validar cadenas de excepciones (SEHOP): activado de forma predeterminada.
- Validar la integridad del montón: activado de forma predeterminada.
Puede cambiar el estado de cualquier opción a «activado de forma predeterminada», «desactivado de forma predeterminada» o «usar predeterminado».
La configuración del programa le brinda opciones para personalizar la protección de programas y aplicaciones individuales. Esto funciona de manera similar a cómo podría agregar excepciones en Microsoft EMET para programas particulares; bueno si un programa se comporta mal cuando ciertos módulos de protección están habilitados.
Muchos programas tienen excepciones por defecto. Esto incluye svchost.exe, spools.exe, runtimebroker.exe, iexplore.exe y otros programas centrales de Windows. Tenga en cuenta que puede anular estas excepciones seleccionando los archivos y haciendo clic en editar.
Haga clic en «agregar programa para personalizar» para agregar un programa por nombre o ruta exacta del archivo a la lista de excepciones.
Puede establecer el estado de todas las protecciones admitidas individualmente para cada programa que haya agregado en la configuración del programa. Además de anular el valor predeterminado del sistema y forzarlo a uno o apagado, también hay una opción para configurarlo como «solo auditoría». Este último registra eventos que se habrían disparado si el estado de la protección hubiera estado activado, pero registrará solo el evento en el registro de eventos de Windows.
La configuración del programa enumera las opciones de protección adicionales que no puede configurar en la configuración del sistema porque están configuradas para ejecutarse solo en el nivel de la aplicación.
Estos son:
- Guardia de código arbitrario (ACG)
- Imágenes de blow low integration
- Bloquear imágenes remotas
- Bloquear fuentes que no son de confianza
- Guardia de integridad de código
- Deshabilitar puntos de extensión
- Deshabilitar las llamadas al sistema Win32
- No permitir procesos secundarios
- Exportar filtrado de direcciones (EAF)
- Importar filtrado de direcciones (IAF)
- Simular ejecución (SimExec)
- Validar la invocación de API (CallerCheck)
- Validar el uso del identificador
- Validar la integración de la dependencia de imágenes
- Validar la integridad de la pila (StackPivot)
Configuración de la protección contra vulnerabilidades mediante PowerShell
Puede usar PowerShell para establecer, eliminar o enumerar mitigaciones. Están disponibles los siguientes comandos:
Para enumerar todas las mitigaciones del proceso especificado: Get-ProcessMitigation -Name processName.exe
Para establecer mitigaciones: Set-ProcessMitigation –
- Alcance: es -System o -Name
. - Acción: es -Activar o -Desactivar.
- Mitigación: el nombre de la Mitigación. Consulte la siguiente tabla. Puede separar las mitigaciones por comas.
Ejemplos:
- Set-Processmitigation -System -Enable DEP
- Set-Processmitigation -Name test.exe -Eliminar -Desactivar DEP
- Set-ProcessMitigation -Name processName.exe -Enable EnableExportAddressFilterPlus -EAFModules dllName1.dll, dllName2.dll
Mitigación | Se aplica a | Cmdlets de PowerShell | Cmdlet del modo de auditoría |
---|---|---|---|
Protector de flujo de control (CFG) | Nivel de sistema y aplicación | CFG, StrictCFG, SuppressExports | Auditoría no disponible |
Prevención de ejecución de datos (DEP) | Nivel de sistema y aplicación | DEP, EmulateAtlThunks | Auditoría no disponible |
Forzar la aleatorización de imágenes (ASLR obligatorio) | Nivel de sistema y aplicación | ForceRelocate | Auditoría no disponible |
Aleatorizar asignaciones de memoria (ASLR ascendente) | Nivel de sistema y aplicación | De abajo hacia arriba, alta entropía | Auditoría no disponible |
Validar cadenas de excepciones (SEHOP) | Nivel de sistema y aplicación | SEHOP, SEHOPTelemetría | Auditoría no disponible |
Validar la integridad del montón | Nivel de sistema y aplicación | TerminateOnHeapError | Auditoría no disponible |
Guardia de código arbitrario (ACG) | Solo a nivel de aplicación | DynamicCode | AuditDynamicCode |
Bloquear imágenes de baja integridad | Solo a nivel de aplicación | BlockLowLabel | AuditImageLoad |
Bloquear imágenes remotas | Solo a nivel de aplicación | BlockRemoteImages | Auditoría no disponible |
Bloquear fuentes que no son de confianza | Solo a nivel de aplicación | DisableNonSystemFonts | AuditFont, FontAuditOnly |
Guardia de integridad de código | Solo a nivel de aplicación | BlockNonMicrosoftSigned, AllowStoreSigned | AuditMicrosoftSigned, AuditStoreSigned |
Deshabilitar puntos de extensión | Solo a nivel de aplicación | ExtensionPoint | Auditoría no disponible |
Deshabilitar las llamadas al sistema Win32k | Solo a nivel de aplicación | DisableWin32kSystemCalls | AuditSystemCall |
No permitir procesos secundarios | Solo a nivel de aplicación | DisallowChildProcessCreation | AuditChildProcess |
Exportar filtrado de direcciones (EAF) | Solo a nivel de aplicación | EnableExportAddressFilterPlus, EnableExportAddressFilter [1] | Auditoría no disponible |
Importar filtrado de direcciones (IAF) | Solo a nivel de aplicación | EnableImportAddressFilter | Auditoría no disponible |
Simular ejecución (SimExec) | Solo a nivel de aplicación | EnableRopSimExec | Auditoría no disponible |
Validar la invocación de API (CallerCheck) | Solo a nivel de aplicación | EnableRopCallerCheck | Auditoría no disponible |
Validar el uso del identificador | Solo a nivel de aplicación | StrictHandle | Auditoría no disponible |
Validar la integridad de la dependencia de la imagen | Solo a nivel de aplicación | EnforceModuleDepencySigning | Auditoría no disponible |
Validar la integridad de la pila (StackPivot) | Solo a nivel de aplicación | EnableRopStackPivot | Auditoría no disponible |
Importar y exportar configuraciones
Las configuraciones se pueden importar y exportar. Puede hacerlo mediante la configuración de protección contra vulnerabilidades de seguridad de Windows Defender en el Centro de seguridad de Windows Defender, mediante PowerShell, mediante políticas.
Además, las configuraciones de EMET se pueden convertir para que se puedan importar.
Uso de la configuración de protección contra vulnerabilidades
Puede exportar configuraciones en la aplicación de configuración, pero no importarlas. La exportación agrega todas las mitigaciones a nivel de sistema y de aplicación.
Para hacerlo, simplemente haga clic en el enlace «Configuración de exportación» debajo de Protección contra exploits.
Usar PowerShell para exportar un archivo de configuración
- Abra un indicador de Powershell elevado.
- Get-ProcessMitigation -RegistryConfigFilePath nombre de archivo.xml
Edite filename.xml para que refleje la ubicación de guardado y el nombre del archivo.
Usar PowerShell para importar un archivo de configuración
- Abra un indicador de Powershell elevado.
- Ejecute el siguiente comando: Set-ProcessMitigation -PolicyFilePath filename.xml
Edite filename.xml para que apunte a la ubicación y al nombre de archivo del archivo XML de configuración.
Uso de la directiva de grupo para instalar un archivo de configuración
Puede instalar archivos de configuración mediante políticas.
- Toque la tecla de Windows, escriba gpedit.msc y presione la tecla Intro para iniciar el Editor de políticas de grupo.
- Vaya a Configuración del equipo> Plantillas administrativas> Componentes de Windows> Protección contra vulnerabilidades de seguridad de Windows Defender> Protección contra vulnerabilidades.
- Haga doble clic en «Usar un conjunto de comandos de configuración de protección contra vulnerabilidades».
- Establezca la política en habilitada.
- Agregue la ruta y el nombre de archivo del archivo XML de configuración en el campo de opciones.
Conversión de un archivo EMET
- Abra un indicador de PowerShell elevado como se describe anteriormente.
- Ejecute el comando ConvertTo-ProcessMitigationPolicy -EMETFilePath emetFile.xml -OutputFilePath filename.xml
Cambie emetFile.xml por la ruta y la ubicación del archivo de configuración de EMET.
Cambie filename.xml por la ruta y la ubicación en la que desea que se guarde el archivo de configuración convertido.