RuntimeBroker.exe 是 Windows 操作系统中的一个系统进程,它负责管理 Metro 应用程序(现在称为 Universal Windows Platform 应用程序)的权限和沙盒环境。该进程通常在用户登录后启动,并且对于每个用户会话都会有一个实例在运行。
RuntimeBroker.exe(Windows Runtime Broker 运行时代理)完整拆解解构
术语概述
RuntimeBroker.exe,简称 Runtime Broker,自 Windows 8 引入,是 UWP / 打包应用 (Appx/MSIX) 安全模型核心 Broker 中介进程。
可执行文件标准路径:
C:\Windows\System32\RuntimeBroker.exe核心定位:UWP 应用运行在AppContainer 低完整性沙箱,无法直接访问系统敏感资源;RuntimeBroker 运行在中等完整性 Medium IL,作为权限代理、WinRT COM 激活中介,统一拦截、校验、代理应用对受保护能力(Capability)的访问。区分:传统 Win32 程序不经过 RuntimeBroker;仅 UWP、MSIX 打包桌面应用、部分系统现代组件依赖它。
一、底层原理
1. 安全架构模型
plaintext
UWP App(AppContainer,Low IL 沙箱)
↓ IPC/COM/WinRT调用(无法直接访问硬件/隐私资源)
RuntimeBroker.exe(Medium IL 权限中介)
↓ 权限校验、代理转发
系统资源:摄像头、麦克风、位置、联系人、文档库、剪贴板、通知、WinRT系统组件
2. 四大核心机制
(1)AppContainer 沙箱权限仲裁
UWP 启动时绑定独立 AppContainer 安全令牌;沙箱默认隔离文件、注册表、硬件。
所有超出沙箱边界的资源请求,必须通过 WinRT COM 接口转发至 RuntimeBroker 校验。
App 包清单 (
① 应用是否在清单声明该能力;
② 用户隐私设置是否授予该权限;
二者同时满足才允许访问。
PackageManifest.xml) 预先声明 Capability;RuntimeBroker 比对:
(2)WinRT COM 类托管与激活
WinRT(Windows Runtime)基于 COM 扩展;大量系统 WinRT 组件宿主在 RuntimeBroker 进程内(而非应用进程)。
应用不能直接实例化敏感 WinRT 对象,由 RPCSS → RuntimeBroker 完成对象激活,实现隔离。
(3)权限弹窗调度
当应用请求未授权资源时,RuntimeBroker 触发系统隐私授权弹窗,与 Shell (sihost.exe) 交互,采集用户允许 / 拒绝决策并持久化隐私配置。
(4)多实例模型
Windows 10/11 存在两类 Broker:
- RuntimeBroker.exe:通用运行时代理,多个应用可复用;
- PerAppRuntimeBroker.exe:单应用独立 Broker,强隔离场景一应用一进程。
任务管理器看到多条 RuntimeBroker,属于正常现象。
3. 关键安全设计思想
- 权限提升隔离:低权限沙箱 App 不能直接调用高权限系统 API;由独立 Broker 代理,缩小攻击面;
- 统一审计点:所有隐私资源访问集中经过 Broker,便于日志追踪;
- 动态权限生效:设置中随时撤销权限,无需重启应用,下一次 API 调用立即拦截。
4. 管控的典型 Capability 能力
位置信息、摄像头、麦克风、图片 / 视频 / 文档库、联系人、日历、蓝牙、网络、剪贴板访问、通知、后台任务。
二、依赖文件与核心组件
1. 主程序
RuntimeBroker.exe
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}2. 核心加载 DLL
combase.dll:COM/WinRT 底层通信基础ole32.dll:OLE/COM 调度winrt.dll:Windows Runtime 核心库kernel32.dll、ntdll.dll、user32.dll基础系统库cryptbase.dll:安全令牌、权限校验支撑
3. 注册表关键路径
reg
; WinRT类注册信息
HKLM\SOFTWARE\Microsoft\WindowsRuntime
; DCOM配置
HKCR\AppID\{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
; AppContainer沙箱配置
HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer
; 应用隐私权限存储
HKCU\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore
4. 事件日志路径
应用程序和服务日志 → Microsoft → Windows → AppModel-RuntimeBroker\Operational5. 配套协作进程
RPCSS.exe:COM/RPC 服务,负责 WinRT 对象跨进程激活sihost.exe:Shell 体验主机,协助弹出权限授权窗口explorer.exe:桌面 ShellBackgroundTaskHost.exe:UWP 后台任务宿主,与 Broker 协同校验后台能力AppXSvc:AppX 部署服务,提供应用包清单信息
三、依赖关系
硬性强制依赖
- RPCSS(COM 服务)
RuntimeBroker 本质是 DCOM 服务器,没有 RPCSS 无法接收 UWP 应用跨进程调用;
- AppContainer 安全子系统(内核层支持);
- WinRT 运行时组件;
- 用户会话环境(在登录用户会话内运行,无法在会话 0 运行)。
可选依赖
- Windows 推送通知服务 (WpnService):处理应用通知相关权限;
- 位置服务 (Locationservice)、Windows 音频 / 相机服务:对应硬件能力校验;
- AppXSvc:读取应用包 Manifest 声明的 Capability。
不依赖
- 不需要 IIS、RDS 组件(和前文 RD 系列 Broker 完全无关,只是名字都叫 Broker,体系独立);
- 不依赖 Hyper-V;
- 传统 Win32 软件运行不触发 RuntimeBroker。
约束与限制
- 无法直接结束进程:强行终止会导致所有 UWP 应用闪退、相机 / 定位等功能失效;
- 只管控声明式 Capability 权限,无法阻止应用访问沙箱内私有目录;
- MSIX 打包 Win32 只有使用 WinRT 隐私 API 时才经过 Broker;纯传统 Win32 API 不受管控。
四、完整逻辑链路
链路 A:UWP 应用请求摄像头权限(标准流程)
plaintext
1. 用户启动UWP应用,系统创建AppContainer沙箱进程;
2. 应用调用WinRT API请求访问摄像头;
3. API层检测为受保护Capability,封装COM请求转发至RPCSS;
4. RPCSS激活RuntimeBroker.exe,建立跨进程通道;
5. RuntimeBroker执行三重校验:
① 读取应用PackageManifest,确认应用已声明摄像头能力;
② 查询CapabilityAccessManager注册表,读取用户隐私授权状态;
6. 分支1【已授权】
RuntimeBroker代理调用系统相机服务,打通数据流;摄像头画面经由Broker中转给应用;
7. 分支2【未授权】
RuntimeBroker通知sihost.exe弹出系统授权弹窗;
用户选择允许 → 写入注册表授权记录,建立访问通道;
用户选择拒绝 → 返回访问拒绝错误给应用;
8. 应用持续使用资源期间,Broker维持代理会话;
9. 应用退出 → Broker释放资源句柄;无其他应用使用时,一段时间后自动退出RuntimeBroker实例。
链路 B:WinRT 对象激活流程
plaintext
UWP App → 请求实例化LocationTracker(WinRT类)
→ RPCSS路由激活请求
→ RuntimeBroker进程内加载对应WinRT组件
→ Broker持有对象实例,向App暴露代理接口
→ App所有调用经过Broker权限校验
典型异常分支
① AppManifest 未声明对应 Capability → Broker 直接拒绝访问,不弹出授权框;
② DCOM 权限异常(常见 10016 事件)→ 应用无法触发权限请求,功能报错;
③ 隐私注册表权限损坏 → 授权弹窗反复弹出、设置不生效;
④ RuntimeBroker 崩溃 → 所有关联 UWP 应用立刻丢失硬件 / 隐私资源访问。
五、配套运维链
1. 常用诊断命令
cmd
# 查看进程与模块
tasklist | findstr RuntimeBroker
# 列出已安装UWP包
Get-AppxPackage
# 清理权限存储(谨慎使用)
# 监控ETW追踪AppModel-RuntimeBroker日志
2. 故障排查顺序
- 确认进程路径:必须位于
System32,路径异常警惕恶意程序伪装; - 事件日志查看 AppModel-RuntimeBroker 报错;
- 检查 DCOM 配置 RuntimeBroker 本地激活权限;
- 验证
CapabilityAccessManager注册表权限; - 高 CPU 场景:定位关联 UWP 应用,卸载异常应用或重置应用包;
- 系统文件修复:
sfc /scannow && DISM /Online /Cleanup-Image /RestoreHealth
六、运维风险与认知误区
- 重大概念误区
RuntimeBroker ≠ RD Connection Broker / RD Gateway。二者名称都含 Broker,但属于两套完全独立体系:
- RuntimeBroker:UWP 应用权限中介(客户端本地进程);
- RD 系列 Broker:微软远程桌面 RDS 调度网关(服务器远程桌面组件),互不调用。
-
高 CPU 常见诱因:某款 UWP 应用频繁反复请求权限、后台轮询 WinRT API,持续驱动 Broker 工作;并非 Broker 本身故障。
-
安全边界认知:RuntimeBroker 是攻击热点历史多发区域(多条 EoP 权限提升漏洞);原理根源:Low IL 沙箱进程与 Medium IL Broker 跨进程 IPC,一旦 IPC 解析缺陷即可提权。
-
不能禁用:禁用相关组件会导致照片、相机、商店应用、设置等现代 App 全部无法正常工作。
七、横向对比:各类 Windows Broker 进程区分
| 进程 | 归属体系 | 核心职能 | 运行环境 |
|---|---|---|---|
| RuntimeBroker.exe | UWP/AppModel | 应用隐私权限、WinRT 代理 | Windows 客户端 / 服务器通用 |
| PerAppRuntimeBroker.exe | UWP | 单应用隔离版 RuntimeBroker | Win10/11 |
| Tssdis.exe(RD Connection Broker) | RDS 远程桌面 | 远程会话调度负载均衡 | 仅 RDS 服务器角色 |
| TSGateway.exe(RD Gateway) | RDS | 外网 RDP 隧道代理 | 仅 RDS 网关服务器 |
RuntimeBroker.exe 是 Windows 操作系统中的一个系统进程,它负责管理 Metro 应用程序(现在称为 Universal Windows Platform 应用程序)的权限和沙盒环境。该进程通常在用户登录后启动,并且对于每个用户会话都会有一个实例在运行。
具体来说,Runtime Broker 主要有以下作用:
-
权限管理: Metro 应用程序(UWP 应用程序)在 Windows 环境中处于沙盒中,意味着它们被限制在受控的环境中运行,不能直接访问系统资源。Runtime Broker 负责管理这些应用程序的权限,以确保它们只能访问其被授权的资源。
-
资源分配: Runtime Broker 还负责分配和管理应用程序使用的系统资源,如内存和处理器时间,以确保系统的稳定性和性能。
-
运行环境: 它提供了一个安全的执行环境,以隔离 Metro 应用程序,防止它们对系统造成不良影响。
通常情况下,用户不需要直接与 Runtime Broker 交互,它在后台默默地运行并完成其工作。但是,如果发现 Runtime Broker 占用了大量的系统资源,可能会导致系统变慢,此时可能需要检查是否有某个 Metro 应用程序出现了问题,或者进行系统调优来解决资源占用过高的问题。

浙公网安备 33010602011771号