Get a Pentest and security assessment of your IT network.

Cyber Security

Windows Process Isolation: A Practical Guide

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

  1. 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-Sandbox

      After 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.

  2. 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’.

  3. 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.msc to 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)F

      This example grants full control (F) to ‘UserAccount’ on the folder and its contents (OI=Object Inherit, CI=Container Inherit).

  4. 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’).

  5. 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.

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.

Related posts
Cyber Security

Zip Codes & PII: Are They Personal Data?

Cyber Security

Zero-Day Vulnerabilities: User Defence Guide

Cyber Security

Zero Knowledge Voting with Trusted Server

Cyber Security

ZeroNet: 51% Attack Risks & Mitigation