- 0
- 0
- 约3.42万字
- 约 29页
- 2026-01-09 发布于广东
- 举报
PAGE1
基于用户模式回调函数的内核漏洞分析、利用与防范
PAGE1
基于用户模式回调函数
的内核漏洞分析、利用与防范
目录
1. 简介
2. 背景
2.1. Win32k
2.2. 窗口管理器
2.3. 用户模式回调函数
3. 基于用户模式回调函数的内核漏洞分析
3.1. Win32k 命名约定
3.2. 用户对象锁
3.3. 对象状态检查iv. 3.4. 缓冲区重新分配
4. 可利用性
5. 缓和
6. 评论
7. 结论
参考文献10. 译者注
基于用户模式回调函数的内核漏洞分析、利用与防范
Tarjei Mandt
Norman Threat Research
tarjei.mandt@
译者:rectigu@,2015 年 7 月
摘要:15 年前,Windows NT 4.0 引入了 Win32k.sys 来解决原有的客户端 - 服务端模式图形子系统的内在限制。直到今
天,Win32k 依然是 Windows 架构中至关重要的组件之一,负责窗口管理器(USER)与图形设备接口(GDI)。为了与用户模式的数据正确地交互,Win32k 采用了用户模式回调,一种能够让内核调用回用户模式的机制。用户模式回调函数可以用来完成许多任务,比如调用应用程序定义的钩子,提供事件通知和实现用户模式与内核的数据交换。在这篇文章中,我们谈谈 Wink32k 用户模式回调函数所带来的挑战与安全隐患。特别地,我们会阐明,Win32k 在实现线程安全时对全局锁的依赖并没有很好的与用户模式回调的理念融为一体。虽然许多与用户模式回调函数有关的漏洞都已经被修复了,但是他们的复杂特性表明 Win32k 还可能存在更为细微的漏洞。为了缓和一些更为普遍的漏洞类型,对于用户如何保护自己不受将来可能出现内核攻击,我们提出了一些结论性的建议。
关键字:Win32k,用户模式回调函数,漏洞
1. 简介
在 Windows NT 里,Win32 环境子系统允许应用程序与 Windows 操作系统以及像窗口管理器(USER)、图形设备接口
(GDI)这样的组件交互。该子系统提供了一系列函数,统称为 Win32 API,并且遵循客户端 - 服务端模式,其中,作为客户端的应用程序与具有更高特权的作为服务端的组件交互。
一直以来,Win32 子系统服务端的实现位于客户端 - 服务端运行时子系统(CSRSS)。为了提供最优的性能,每一个客户端的线程在 Win32 服务端都有一个与之对应的线程,并在一种称为快速本地过程调用(Fast LPC)的特殊的进程间通信机制中等待。由于在 Fast LPC 中对应线程间的切换不需要内核的调度事件,所以服务端线程在抢先式线程调度器中获得机会之前,可以在客户端线程的剩余时间切片里运行。另外,为了尽可能将客户端和 Win32 服务端的切换降至最少,共享内存用于大量数据的传输,还用于提供客户端对服务端管理的数据结构的只读访问。
不管对传统 Win32 子系统所做的性能优化,微软决定在 Windows NT 4.0 的发行将很大一部分的服务端组件迁移到内核模
式。这便迎来了 Win32k.sys,用于管理窗口管理器(USER)和图形设备接口(GDI)的内核模式驱动程序。迁移到内核模式,通过更少的线程与情境切换(此外还使用更快的用户模式内核模式切换)和减少内存使用,大大的降低了原有子系统设计的消耗。不过,考虑到用户模式与内核模式的切换相比于相同特权级下直接的代码与数据访问还是比较慢,一些原来的技巧,像缓存管理结构到用户模式部分的客户端地址空间,依旧维护了下来。另外,为了避免切换特权级,一些管理结构只存储在用户模式。由于 Win32k 需要访问这些信息并且支持基本的像窗口钩子的功能,所以需要一种传递控制给用户模式客户端的方式。这便是采用用户模式回调机制实现的。
用户模式回调函数使得 Win32k 能够调用回用户模式并执行许多任务,像调用应用程序定义的钩子,提供事件通知和实现用户模式与内核的数据交换。在这篇文章中,我们谈谈 Wink32k 里的用户模式回调函数所带来的挑战与安全隐患。特别的,我们会阐明,Win32k 在实现线程安全时对全局锁的依赖并没有很好的与用户模式回调的理念融为一体。最近,为了处理与用户模式回调函数有关的多种漏洞类型,MS11-034 与 MS11-054 修复了若干漏洞。但是,由于一些问题的复杂特性与用户模式回调函数的普遍性,Win32k 里很可能还存在更为细微的漏洞。因此,为了缓和一些更普遍的漏洞类型,我们结论性地讨论了一些点子,微软与用户应该怎样做才能更进一步地缓和将来可能出现在 Win32k 子系统里的攻击。
本文剩余部分组织如下:在第 2 节里,我们回顾一些理解本文所必要的背景知识,重点关注用户对象
您可能关注的文档
- WinDBG常规命令行大全.doc
- Windows安全性编程完整版.docx
- 3D打印建筑垃圾试题库及答案.doc
- 5A 景区服务质量等级评定标准单选试题库及答案.doc
- 5A级景区评定标准:服务质量与环境质量试题库及答案.doc
- 5A景区服务质量等级评定标准单选试题库及答案.doc
- 5A景区服务质量等级评定标准单选试题库及答案.docx
- 5G 基站散热器冷锻模具寿命提升试题库及答案.doc
- 专项训练驱使下的会奖旅游策划人才培养方法.doc
- 3D打印技术应用试题库及答案.doc
- 七年级语文上册期末模拟试卷1(解析版).docx
- 七年级语文上册期末模拟试卷1(原卷版).docx
- 七年级语文上册期末模拟试卷2(原卷版).docx
- 七年级语文上册期末模拟试卷2(解析版).docx
- 期末测试卷(二)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(二)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
最近下载
- 八年级数学(上册)期末试卷及答案(最新) .pdf VIP
- 1-37(通用)施工检查记录.doc VIP
- 《特种作业人员安全技术培训考核管理规定》培训.pptx VIP
- 2025至2030中国微量移液器行业调研及市场前景预测评估报告.docx
- 乡镇“十五五”时期发展规划(初稿).docx VIP
- 广东省佛山市南海区2024-2025学年六年级上学期期末科学试卷(含答案).pdf VIP
- 武汉大学 2013 – 2014 学年第一学期《线性代数 B》(工科 54 学时) 期末试题.docx VIP
- 2026 年新版三至五年级上册语文期末考试试题及答案.docx
- 五年级上册语文试题- 福州市语文期末质量监测卷(含答案)部编版.doc VIP
- 八年级(上册)历史:期末复习【论述题】专题训练.docx VIP
原创力文档

文档评论(0)