详细了解Windows Vista内核的安全性( 六 )

【详细了解Windows Vista内核的安全性】对 Windows Vista 中服务安全模式的进一步改进 , 可以让服务开发人员确切地指定当服务在系统上注册时 , 此服务需要什么安全权限才能操作 。例如 , 如果服务需要生成审核事件 , 它就可以列出“审核”权限 。当“服务控制管理器”启动托管一个或多个 Windows 服务的进程时 , 它就为在该进程中仅包括服务所需权限的进程创建了一个安全令牌(列出进程用户帐户、组成员身份和安全权限的内核对象) 。如果服务指定了其运行的帐户不可用的权限 , 则服务无法启动 。当“本地服务”帐户进程中未运行任何需要(例如)“调试程序”权限的服务时 , “服务控制管理器”会从进程的安全令牌中剥夺此权限 。因此 , 如果服务进程被破坏 , 恶意代码无法利用进程中运行的服务未明确请求的权限 。sc qprivs 命令会报告服务已请求的权限 。9.查看限制写入服务 在 Windows Vista 上只有一种托管服务进程托管受限服务 , 您可以使用进程查看工具(如 Process Explorer)将它识别为具有以下命令行的进程:svchost -k LocalServiceNoNetwork 配置在此进程中运行的服务包括基本筛选引擎、诊断策略服务、Windows 防火墙、性能日志和警报及 Windows Media Center 服务启动程序 。此屏幕显示文本格式的基本筛选引擎的服务 SID (NT SERVICEBFE) , 第一次列出时有受限标记 , 再次列出时没有受限标记 , 因此进程对该帐户可以访问的资源拥有访问权限 。不过 , 它不必对“本地服务”帐户通常可以访问的其他对象拥有访问权限 。例如 , 因为 NT AUTHORITYSERVICE 帐户不会在有受限标记的进程令牌中出现 , 所以进程无法修改仅对令牌(有受限标记)中此帐户而不是其他帐户授予写入权限的对象 。在此进程中运行的服务还会限制其权限 , 因为在属性对话框底部列出的权限是可用于“本地服务”帐户的子集 。
结束语 有些功能和改进本文没有涉及或提及 , 如面向应用程序开发人员的新的工作线程池、新的同步机制(如共享读取器/编写器锁定)、服务线程标记、对在线 NTFS 磁盘检查和卷大小调整的支持以及称为高级本地过程调用 (ALPC) 的新内核 IPC 机制 。

推荐阅读