应用程序隔离
Win32 应用隔离
Win32 应用隔离是一项安全功能,旨在成为 Windows 客户端上的默认隔离标准。 它基于 AppContainer 构建,并提供多个附加的安全功能,可帮助 Windows 平台抵御使用应用程序或第三方库中漏洞的攻击。 为了隔离其应用程序,开发人员可以使用 Visual Studio 更新它们。
Win32 应用隔离遵循两步过程:
- 在第一步中,Win32 应用程序是使用 AppContainer 作为低完整性进程启动的,该进程被 Windows 识别为安全边界。 默认情况下,该进程仅限于一组特定的 Windows API,并且无法将代码注入到以更高完整性级别运行的任何进程
- 第二步,通过授予对 Windows 安全对象的授权访问权限来强制实施最低特权。 此访问权限由通过 MSIX 打包添加到应用程序清单的功能确定。 此上下文中的安全对象是指其访问权限受功能保护的 Windows 资源。 这些功能支持在 Windows 上植入任意访问控制列表
为了帮助确保独立应用程序顺利运行,开发人员必须通过应用程序包清单中的访问功能声明来定义应用程序的访问要求。 应用程序功能探查器 (ACP) 允许应用程序以低特权在学习模式下运行,从而简化了整个过程。 如果应用程序要独立运行,ACP 允许访问并记录访问所需的其他功能,而不是在功能不存在时拒绝访问。
若要创建与非隔离的本机 Win32 应用程序一致的流畅用户体验,应考虑两个关键因素:
- 访问数据和隐私信息的方法
- 集成 Win32 应用以与其他 Windows 接口兼容
第一个因素与实现方法来管理对隔离边界 AppContainer 内外的文件和隐私信息的访问有关。 第二个因素涉及将 Win32 应用与其他 Windows 界面集成,从而帮助实现无缝功能,而不会引起用户同意提示。
了解更多信息
应用容器
除了 Win32 应用的Windows 沙盒外,通用 Windows 平台 (UWP) 应用程序在称为应用容器的 Windows 容器中运行。 应用容器充当进程和资源隔离边界,但与 Docker 容器不同,这些容器是设计用于运行 Windows 应用程序的特殊容器。
在应用容器中运行的进程以低完整性级别运行,这意味着它们对自己不拥有的资源的访问权限有限。 由于大多数资源的默认完整性级别为中等完整性级别,因此 UWP 应用只能访问文件系统、注册表和其他资源的子集。 应用容器还强制实施网络连接限制。 例如,不允许访问本地主机。 因此,恶意软件或受感染的应用的转义占用空间有限。
了解更多信息
Windows 沙盒
Windows 沙盒提供了一个轻型桌面环境,使用与 Hyper-V 相同的基于硬件的虚拟化技术,安全地隔离运行不受信任的 Win32 应用程序。 安装在 Windows 沙盒 中的任何不受信任的 Win32 应用仅保留在沙盒中,不会影响主机。
关闭Windows 沙盒后,设备上不会保留任何内容。 关闭不受信任的 Win32 应用程序后,将永久删除具有所有文件和状态的所有软件。
了解更多信息
适用于 Linux 的 Windows 子系统 (WSL)
使用 适用于 Linux 的 Windows 子系统 (WSL) 可以在 Windows 设备上运行 Linux 环境,而无需单独的虚拟机或双重启动。 WSL 旨在为想要同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。
Windows 11版本 24H2 中的新增功能
- Hyper-V 防火墙 是一种网络防火墙解决方案,可用于筛选来自 Windows 托管的 WSL 容器的入站和出站流量
- DNS 隧道 是一种网络设置,可提高不同网络环境中的兼容性,利用虚拟化功能获取 DNS 信息,而不是网络数据包
- 自动代理 是一种网络设置,它强制 WSL 使用 Windows 的 HTTP 代理信息。 在 Windows 上使用代理时打开,因为它使该代理自动应用于 WSL 分发版
可以使用 Microsoft Intune[7] 等设备管理解决方案设置这些功能。 Microsoft Defender for Endpoint (MDE) 与 WSL 集成,允许它监视 WSL 发行版中的活动,并将其报告给MDE仪表板。
了解更多信息
基于虚拟化的安全 enclave
基于虚拟化的安全 enclave 是基于软件的受信任执行环境, (主机应用程序中的 TEE) 。 VBS enclave 使开发人员能够使用 VBS 来保护其应用程序的机密免受管理员级攻击。
VBS enclave 从 Windows 11 版本 24H2 和 Windows Server 2025 开始在 x64 和 ARM64 上可用。
了解更多信息