51mee - AI智能招聘平台Logo
模拟面试题目大全招聘中心会员专区

Windows安全引用监视器(SRM)的核心作用是什么?请详细说明SRM在权限检查中的流程,并分析如何利用SRM绕过权限检查实现提权?

360安全研究员(Windows方向)难度:中等

答案

1) 【一句话结论】Windows安全引用监视器(SRM)是内核级权限检查机制,核心作用是动态验证对象访问权限,防止越权;其流程涉及访问令牌、安全描述符匹配与访问检查,绕过需利用SRM逻辑漏洞(如令牌篡改、描述符伪造等)。

2) 【原理/概念讲解】老师同学们,SRM全称Security Reference Monitor,是Windows内核的核心安全组件,扮演“权限门卫”角色——当进程尝试访问文件、进程、注册表等系统对象时,SRM会介入检查:首先获取访问者的访问令牌(包含用户ID、组ID、特权等身份信息),然后结合对象自身的安全描述符(定义允许访问的用户/组及操作类型),通过访问检查算法判断是否允许操作。简单类比:就像办公室的门卫,你进办公室前,门卫要核对你的工牌(访问令牌)和办公室的权限规定(安全描述符),只有两者匹配才能进门。SRM的触发点通常是系统调用(如NtCreateFile、NtOpenProcess等),这些调用会调用SRM的检查函数,确保操作合法性。

3) 【对比与适用场景】

对比项安全引用监视器(SRM)访问控制列表(ACL)
定义内核级动态权限检查机制,处理对象访问时的运行时验证静态权限配置,存储在对象安全描述符中,指定允许/拒绝访问的用户/组
核心功能动态权限验证(运行时判断)静态权限定义(配置谁可访问)
关键流程系统调用触发→获取访问令牌→匹配安全描述符→访问检查→返回结果对象创建时设置,访问时由SRM读取并参与检查
使用场景所有内核对象访问(文件、进程、注册表、设备等)配置对象权限(如NTFS文件权限、共享权限)
注意点依赖内核支持,需访问令牌与安全描述符配合需手动配置,可能存在权限继承问题

4) 【示例】假设存在一个漏洞(如CVE-XXXX),通过伪造访问令牌实现提权:

  • 伪代码(简版):
    // 1. 获取当前进程句柄
    HANDLE hProcess = GetCurrentProcess();
    // 2. 获取当前进程的访问令牌
    HANDLE hToken = OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES, NULL);
    // 3. 调用AdjustTokenPrivileges,将令牌权限提升为管理员(伪造令牌)
    // 4. 关闭原令牌,使用新令牌
    // 5. 尝试访问受保护文件
    HANDLE hFile = CreateFile("C:\\System\\Sensitive\\file.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    // 此时,SRM读取伪造后的令牌(管理员权限),而文件安全描述符仅允许普通用户访问,SRM误判为允许,文件被打开(提权成功)
    

5) 【面试口播版答案】好的,面试官。Windows安全引用监视器(SRM)的核心作用是作为内核级的权限检查机制,在进程访问系统对象(如文件、进程、注册表项)时,动态验证访问者的权限,防止越权操作。具体流程是:当系统调用(如NtCreateFile)触发时,SRM首先获取访问者的访问令牌(包含用户ID、组ID、特权等信息),然后结合对象的安全描述符(定义允许访问的用户/组及操作类型),通过访问检查算法判断是否允许操作,若允许则返回成功,否则失败。关于绕过SRM实现提权,常见方法是利用SRM的逻辑漏洞,比如通过伪造或篡改访问令牌(将普通用户令牌替换为管理员令牌)、修改对象的安全描述符(降低权限限制)、利用对象类型转换(如将文件伪装为可执行对象)等方式,让SRM误判权限,从而绕过检查。比如,通过调整进程的访问令牌,让SRM在检查时认为当前进程具有管理员权限,而目标文件的安全描述符仅允许普通用户访问,此时SRM会错误地允许访问,实现提权。

6) 【追问清单】

  • 问:SRM和ACL(访问控制列表)的关系是什么?它们在权限检查中如何配合?
    回答要点:SRM是动态权限检查机制,ACL是静态权限配置,SRM在访问时读取ACL并验证令牌,两者结合实现权限控制。
  • 问:SRM在Windows不同版本(如Windows 7 vs Windows 10)中有什么变化?
    回答要点:Windows 10引入了更细粒度的权限控制(如AppLocker、Device Guard),SRM的检查逻辑更复杂,但核心功能一致,绕过难度可能增加。
  • 问:除了令牌篡改,还有哪些常见的SRM绕过技术?
    回答要点:对象类型转换(如将文件伪装为设备对象)、利用SRM在处理特定对象时的逻辑漏洞(如CVE-XXXX系列漏洞)、修改安全描述符的访问控制项(ACE)。
  • 问:如何检测SRM相关的权限绕过漏洞?
    回答要点:通过内核调试器监控SRM的访问检查过程,分析访问令牌和对象安全描述符的匹配逻辑,或使用安全工具(如Process Hacker)检查进程令牌和文件权限的一致性。

7) 【常见坑/雷区】

  • 坑1:混淆SRM和ACL,认为SRM就是ACL。
    雷区:回答时将SRM描述为静态权限列表,而实际SRM是动态检查机制。
  • 坑2:绕过方法描述不准确,比如不知道具体漏洞类型。
    雷区:回答绕过方法时,只说“修改令牌”,而未说明具体操作(如伪造令牌、调整令牌权限)。
  • 坑3:流程描述错误,比如认为SRM在用户态触发。
    雷区:错误地说明SRM在用户态执行,而实际是内核态。
  • 坑4:忽略SRM的触发条件,比如只说“所有访问”,而未提及系统调用触发。
    雷区:流程描述不完整,遗漏关键触发点。
  • 坑5:未提及SRM与访问令牌、安全描述符的关系,回答过于笼统。
    雷区:未解释SRM如何验证令牌和描述符,导致回答不具体。
51mee.com致力于为招聘者提供最新、最全的招聘信息。AI智能解析岗位要求,聚合全网优质机会。
产品招聘中心面经会员专区简历解析Resume API
联系我们南京浅度求索科技有限公司admin@51mee.com
联系客服
51mee客服微信二维码 - 扫码添加客服获取帮助
© 2025 南京浅度求索科技有限公司. All rights reserved.
公安备案图标苏公网安备32010602012192号苏ICP备2025178433号-1