Windows Vista 安全特性深度解析(上)
1. 堆管理器的革新
Windows Vista 的堆管理器经历了重大改进。之前的元数据显示一个子段包含 15 个大小为 0x208 字节的块,随后是该子段中的堆块列表,每个块都标记有 LFH,表明是低碎片堆块。新的低碎片前端分配器极大地改善了与安全和性能相关的问题,并且!heap扩展命令也已更新,能与新的堆结构无缝配合,便于深入研究堆。随着越来越多的应用程序在 Vista 系统上运行,理解新堆的工作原理对于有效调试这些应用程序至关重要。
2. 安全选项的变革
Windows Vista 在安全选项方面带来了前所未有的变化。它继承并增强了 Windows NT 定义的安全模型,同时保持完全向后兼容,新的安全选项可按需开启或关闭。默认设置经过了大量的应用程序兼容性测试,能满足大多数应用程序的需求。但在极少数情况下,应用程序可能无法按预期运行,开发兼容 Vista 的应用程序的工程师需要了解这些显著变化,以及如何识别它们对应用程序的影响。
2.1 用户账户控制(UAC)特性
用户账户控制(UAC)是新安全选项中最显著的特性。要理解 UAC,需要先了解其背后的完整性级别概念。
每个运行的进程都在以下完整性级别之一运行,具体由多种因素决定,完整性级别由 SID 标识:
| 完整性级别名称 | 完整性级别标识符 | 在此级别运行的应用程序示例 |
| — | — | — |
| System | S-1-16-16384 | Svchost.exe、Winlogon.exe、Windows Kernel |