Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Win32 app isolation
Win32 app isolation is a security feature designed to be the default isolation standard on Windows clients. It's built on AppContainer, and offers several added security features to help the Windows platform defend against attacks that use vulnerabilities in applications or third-party libraries. To isolate their applications, developers can update them using Visual Studio.
Win32 app isolation follows a two-step process:
- In the first step, the Win32 application launches as a low-integrity process by using AppContainer, which Windows recognizes as a security boundary. The process is limited to a specific set of Windows APIs by default and can't inject code into any process operating at a higher integrity level.
- In the second step, the application enforces least privilege by granting authorized access to Windows securable objects. This access is determined by capabilities that are added to the application manifest through MSIX packaging. Securable objects in this context refers to Windows resources whose access is safeguarded by capabilities. These capabilities enable the implantation of a Discretionary Access Control List on Windows.
To help ensure that isolated applications run smoothly, developers must define the access requirements for the application via access capability declarations in the application package manifest. The Application Capability Profiler (ACP) simplifies the entire process by allowing the application to run in learn mode with low privileges. Instead of denying access if the capability isn't present, ACP allows access and logs additional capabilities required for access if the application were to run isolated.
To create a smooth user experience that aligns with nonisolated, native Win32 applications, consider two key factors:
- Approaches for accessing data and privacy information
- Integrating Win32 apps for compatibility with other Windows interfaces
The first factor relates to implementing methods to manage access to files and privacy information within and outside the isolation boundary AppContainer. The second factor involves integrating Win32 apps with other Windows interfaces in a way that helps enable seamless functionality without causing perplexing user consent prompts.
Learn more
- Win32 app isolation overview
- Application Capability Profiler (ACP)
- Packaging a Win32 app isolation application with Visual Studio
- Sandboxing Python with Win32 app isolation
App containers
In addition to Windows Sandbox for Win32 apps, Universal Windows Platform (UWP) applications run in Windows containers known as app containers. App containers act as process and resource isolation boundaries, but unlike Docker containers, these containers are designed specifically to run Windows applications.
Processes that run in app containers operate at a low integrity level, which means they have limited access to resources they don't own. Because the default integrity level of most resources is medium integrity level, the UWP app can access only a subset of the file system, registry, and other resources. The app container also enforces restrictions on network connectivity. For example, access to a local host isn't allowed. As a result, malware or infected apps have a limited footprint for escape.
Learn more
Windows Sandbox
Windows Sandbox provides a lightweight desktop environment to safely run untrusted Win32 applications in isolation. It uses the same hardware-based virtualization technology as Hyper-V. Any untrusted Win32 app you install in Windows Sandbox stays only in the sandbox and can't affect the host.
When you close Windows Sandbox, it doesn't save anything on your device. It permanently deletes all the software, files, and state after you close the untrusted Win32 application.
Learn more
Windows Subsystem for Linux (WSL)
With Windows Subsystem for Linux (WSL), you can run a Linux environment on a Windows device without the need for a separate virtual machine or dual booting. WSL is designed to provide a seamless and productive experience for developers who want to use both Windows and Linux at the same time.
- Hyper-V Firewall is a network firewall solution that enables filtering of inbound and outbound traffic to and from WSL containers hosted by Windows.
- DNS Tunneling is a networking setting that improves compatibility in different networking environments. It uses virtualization features to obtain DNS information rather than a networking packet.
- Auto proxy is a networking setting that enforces WSL to use Windows' HTTP proxy information. Turn on this setting when using a proxy on Windows, as it makes that proxy automatically apply to WSL distributions.
Set up these features by using a device management solution such as Microsoft Intune[12]. Microsoft Defender for Endpoint (MDE) integrates with WSL, allowing it to monitor activities within a WSL distro and report them to the MDE dashboards.
Learn more
- Hyper-V Firewall
- DNS Tunneling
- Auto proxy
- Intune setting for WSL
- Microsoft Defender for Endpoint plug-in for WSL
Virtualization-based security enclaves
A Virtualization-based security enclave is a software-based trusted execution environment (TEE) inside a host application. VBS enclaves enable developers to use VBS to protect their application's secrets from admin-level attacks.
Learn more