TL;DR
Completely isolating processes under Windows is tricky but achievable to varying degrees. True isolation (like a virtual machine) isn’t usually possible without significant overhead. However, you can use techniques like AppContainers, sandboxing, and careful service configuration to limit the damage a compromised process can do.
Understanding Process Isolation
Windows processes normally share resources – memory, files, registry keys etc. Isolation aims to restrict what one process can access from others. This is key for cyber security as it limits the impact of malware or buggy software.
Methods for Isolating Processes
- AppContainers (Windows Sandbox & MSIX Packaging)
- Windows Sandbox: The easiest way to run untrusted software. It’s a lightweight virtual machine, providing strong isolation but limited persistence.
DISM /Online /Enable-SandboxAfter running this command (as administrator), you can launch the sandbox from the Start Menu.
- MSIX Packaging: Packages applications with dependencies and permissions. Offers better control than traditional installers, but requires repackaging software.
Requires the MSIX packaging tool. You define capabilities in the package manifest controlling access to system resources.
- Windows Sandbox: The easiest way to run untrusted software. It’s a lightweight virtual machine, providing strong isolation but limited persistence.
- Standard User Accounts
- Run processes under a standard user account instead of administrator. This prevents them from making system-wide changes without explicit permission.
Right-click the application icon and select ‘Run as different user’.
- Run processes under a standard user account instead of administrator. This prevents them from making system-wide changes without explicit permission.
- Service Accounts & Permissions
- Configure services to run under dedicated, low-privilege service accounts. Limit their access to only the files and registry keys they absolutely need.
Use
services.mscto manage service properties and change the ‘Log On As’ account. - File System Permissions: Restrict read/write access to critical system folders for specific user or service accounts.
icacls "C:ImportantFolder" /grant:r UserAccount:(OI)(CI)FThis example grants full control (F) to ‘UserAccount’ on the folder and its contents (OI=Object Inherit, CI=Container Inherit).
- Configure services to run under dedicated, low-privilege service accounts. Limit their access to only the files and registry keys they absolutely need.
- Virtualisation-Based Security (VBS) & Hypervisor-Protected Code Integrity (HVCI)
- These features use hardware virtualisation to create a secure kernel. They provide strong isolation but require compatible hardware and can impact performance.
Enabled through Windows Security settings (‘Device security’ > ‘Core isolation’).
- These features use hardware virtualisation to create a secure kernel. They provide strong isolation but require compatible hardware and can impact performance.
- Process Guard (Third-Party Tools)
- Tools like Process Guard allow you to define rules for process behaviour, blocking access to specific files or registry keys.
These tools often provide more granular control than built-in Windows features.
- Tools like Process Guard allow you to define rules for process behaviour, blocking access to specific files or registry keys.
Limitations
- Kernel Sharing: All processes ultimately run within the same kernel, meaning a vulnerability in the kernel can compromise isolation.
- Complexity: Setting up robust isolation requires careful planning and configuration.
- Performance Overhead: Isolation techniques often introduce performance overhead.
Checking Process Access
Use Process Explorer (Sysinternals) to view the open handles, DLLs loaded, and permissions of a process. This helps verify isolation is working as expected.

