剥离 SYSTEM 权限
StripSystemPrivileges 控制从通过特定 SbieSvc 服务路径和 RpcSs 路径创建的 SYSTEM 源令牌中移除权限的行为:
默认值为 y,即具有保护作用的行为。
Warning
StripSystemPrivileges=n 会为受影响的 SYSTEM 令牌路径恢复较早的、限制较少的行为,不建议这样做。
移除的权限
在受影响的路径上启用时,Sandboxie 会从新复制的令牌中移除以下权限:
SeTcbPrivilegeSeCreateTokenPrivilege
Sandboxie 使用 Windows 的 SE_PRIVILEGE_REMOVED 操作。这些权限会从该令牌中移除,而不只是被禁用,因此无法简单地在同一令牌上重新启用它们。当前的辅助实现不会移除 SeAssignPrimaryTokenPrivilege。
运行时范围
当前的实现在 SbieSvc 创建以下令牌时应用此设置:
- 为选定以 SYSTEM 身份运行的沙盒化服务创建的 SYSTEM 源令牌;
- 为相关的沙盒化 RpcSs 进程服务器路径创建的 SYSTEM 源令牌。
它不适用于普通的用户令牌服务启动,也不应被描述为对每个沙盒化进程或每个 SYSTEM 进程都生效的全局权限过滤器。
如果令牌复制、调整或所需的权限移除操作失败,受影响的启动或令牌请求会失败,而不会故意以未经剥离的 SYSTEM 令牌继续执行。
配置范围
StripSystemPrivileges 是一项沙盒级布尔设置。当沙盒未提供覆盖值时,适用的模板和全局设置回退值可以参与构成其生效值。系统会在创建受影响的令牌时查询此设置,因此更改它不会修改已分配给运行中进程的令牌。更改后请重启受影响的沙盒化服务或进程。
SandMan
打开沙盒选项 > 安全选项 > 高级安全,使用:
撤销以系统令牌运行中的程序的关键特权
该复选框直接表示此项保护性设置:
- 选中:已启用权限移除,这也是默认行为;
- 未选中:SandMan 会写入
StripSystemPrivileges=n。
与会话 0 启动的关系
Start System Box 使用不同的启动路径。在会话 0 中以 SYSTEM 身份启动的沙盒,本身并不会使该令牌经过本文档介绍的 StripSystemPrivileges 辅助函数。
版本历史
StripSystemPrivileges 在 Sandboxie Plus 0.5.4 / Classic 5.46.0 中引入,是 Security Issue ID-4 修复的一部分。