Windows系统机制:对象过滤与同步技术解析
1. 对象过滤机制
1.1 过滤模型概述
Windows在对象管理器中包含了一个过滤模型,类似于文件系统微过滤模型和注册表回调机制。该过滤模型的主要优势之一是能够利用现有过滤技术中的高度概念,这意味着多个驱动程序可以在过滤栈的适当位置对对象管理器事件进行过滤。此外,驱动程序可以拦截诸如 NtOpenThread 和 NtOpenProcess 之类的调用,甚至可以修改从进程管理器请求的访问掩码,从而防止对打开句柄的某些操作,例如阻止恶意软件终止安全进程或防止密码转储应用程序获取LSA进程的读取内存权限。但由于兼容性问题,打开操作不能完全被阻止。
1.2 回调机制
驱动程序可以利用预回调和后回调,在操作发生前进行准备,在操作发生后做出反应或完成信息处理。这些回调可以针对每个操作(目前仅支持打开、创建和复制)和每个对象类型(目前仅支持进程、线程和桌面对象)进行指定。对于每个回调,驱动程序可以指定自己的内部上下文值,该值可以在对驱动程序的所有调用或预/后回调对中返回。这些回调可以使用 ObRegisterCallbacks API进行注册,使用 ObUnregisterCallbacks API进行注销,驱动程序有责任确保注销操作的完成。
1.3 API使用限制
使用这些API的图像必须满足以下特征:
- 图像必须签名,即使在32位计算机上也是如此,遵循内核模式代码签名(KMCS)策略规定的相同规则。图像必须使用 /integ
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



