El aislamiento de aplicaciones Win32 es una capacidad de seguridad ingeniosa que Microsoft introdujo en Windows 11 el mes pasado, así es como funciona.
En su conferencia anual Build el mes pasado, Microsoft anunció la capacidad de ejecutar aplicaciones Win32 de forma aislada en Windows 11. La compañía no entró en muchos detalles en su publicación de blog inicial, pero destacó la opción de ejecutar Win32 aplicaciones en un entorno sandbox para que el resto del sistema operativo esté protegido contra ataques potencialmente maliciosos software. Ahora, ha revelado más información sobre esta capacidad en particular, incluido cómo funciona y cómo se adapta al resto de la infraestructura de seguridad de Windows.
El vicepresidente de seguridad del sistema operativo y empresa de Microsoft, David Weston, ha escrito un extenso entrada en el blog, explicando la naturaleza del aislamiento de la aplicación Win32. La característica es otra opción de seguridad de sandbox al igual que Caja de arena de Windows
y Microsoft Defender Application Guard, pero se basa en AppContainers, no en software basado en virtualización como las otras dos medidas de seguridad. Para aquellos que no lo saben, los AppContainers sirven como una forma de controlar la ejecución de un proceso encapsulándolo y asegurándose de que se ejecute con niveles de integridad y privilegios muy bajos.Microsoft ha recomendado enfáticamente usar Control inteligente de aplicaciones (SAC) y el aislamiento de aplicaciones Win32 en tándem mientras protege su entorno de Windows de aplicaciones no confiables que utilizan vulnerabilidades de día cero. El mecanismo de seguridad anterior detiene los ataques al instalar solo aplicaciones confiables, mientras que el segundo puede ser se utiliza para ejecutar aplicaciones en un entorno aislado y seguro para limitar posibles daños y proteger al usuario privacidad. Esto se debe a que una aplicación Win32 que se ejecuta de forma aislada no tiene el mismo nivel de privilegios que el usuario del sistema.
La empresa de tecnología de Redmond ha identificado varios objetivos clave del aislamiento de la aplicación Win32. Para empezar, limita el impacto de una aplicación comprometida, ya que los atacantes tienen acceso con pocos privilegios a una parte de la sistema operativo, y necesitarían encadenar un ataque complejo de varios pasos para atravesar su sandbox. Incluso si tienen éxito, esto también brinda más información sobre su proceso, lo que hace que sea mucho más rápido implementar y entregar parches de mitigación.
La forma en que esto funciona es que una aplicación se inicia primero con niveles bajos de integridad a través de AppContainer, lo que significa que tienen acceso a las API de Windows seleccionadas y no pueden ejecutar código malicioso que requiere mayores privilegios niveles En el siguiente y último paso, se aplican los principios de privilegios mínimos otorgando a una aplicación acceso autorizado a los objetos asegurables de Windows, lo que equivale a implementar un Lista de control de acceso discrecional (DACL) en Windows
Otra ventaja del aislamiento de la aplicación Win32 es la reducción del esfuerzo del desarrollador, ya que los creadores de la aplicación pueden aprovechar el generador de perfiles de capacidad de la aplicación. (ACP) disponible en GitHub para entender qué permisos necesitan exactamente. Pueden habilitar ACP y ejecutar su aplicación en un "modo de aprendizaje" en el aislamiento de la aplicación Win32 para obtener registros sobre las capacidades adicionales que necesitan para ejecutar su software. ACP funciona con el backend de la capa de datos de Windows Performance Analyzer (WPA) y los registros de seguimiento de eventos (ETL). La información de los registros generados por este proceso simplemente se puede agregar al archivo de manifiesto del paquete de una aplicación.
Finalmente, el aislamiento de la aplicación Win32 tiene como objetivo ofrecer una experiencia de usuario perfecta. El aislamiento de la aplicación Win32 facilita esto al requerir que las aplicaciones usen la capacidad "isolatedWin32-promptForAccess" para avisar al usuario en caso de que necesite acceso a sus datos, como bibliotecas .NET y registro protegido llaves. El aviso debe ser significativo para el usuario de quien se obtiene el consentimiento. Una vez que se otorga acceso a un recurso, esto es lo que sucede a continuación:
Cuando el usuario otorga su consentimiento a un archivo específico para la aplicación aislada, la aplicación aislada interactúa con Windows Sistema de archivos de intermediación (BFS) y otorga acceso a los archivos a través de un controlador de mini filtro. BFS simplemente abre el archivo y sirve como interfaz entre la aplicación aislada y BFS.
La virtualización de archivos y registros ayuda a garantizar que las aplicaciones continúen funcionando sin actualizar el archivo base o el registro. Esto también minimiza cualquier fricción en la experiencia del usuario mientras mantiene la compatibilidad de las aplicaciones. Los espacios de nombres protegidos se crean para permitir el acceso solo a la aplicación y no requieren el consentimiento del usuario. Por ejemplo, se puede otorgar acceso a una carpeta que tiene una propiedad que solo conoce la aplicación Win32 y que se requiere para la compatibilidad de la aplicación.
Microsoft ha hecho hincapié en que, para tener paridad de características entre las aplicaciones aisladas y no aisladas, aplicaciones Win32, la primera puede interactuar con el sistema de archivos y otras API de Windows aprovechando Windows BFS. Además, las entradas en el manifiesto de la aplicación también aseguran que la aplicación pueda interactuar de manera segura con elementos de Windows como notificaciones de shell e íconos en la bandeja del sistema. Puede Obtenga más información sobre la iniciativa en GitHub aquí..