1 / 31

WCI 262 Windows Vista 安全特性深入分析 - 用户帐号保护 (UAP/LUA)

WCI 262 Windows Vista 安全特性深入分析 - 用户帐号保护 (UAP/LUA). 陈宇 软件设计工程师 Windows 核心安全测试组 Microsoft yuchen@microsoft.com. 提要. 为什么需要 UAP/LUA 定义 : 普通用户和特权用户 UAP/LUA 的设计目标 Windows Vista 中 UAP/LUA 的实现 Windows Vista UAP/LUA 演示 开发符合 UAP/LUA 规范软件. 为什么需要 UAP/LUA. 大多数用户以系统管理员的身份登录运行

varana
Download Presentation

WCI 262 Windows Vista 安全特性深入分析 - 用户帐号保护 (UAP/LUA)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WCI 262Windows Vista安全特性深入分析-用户帐号保护 (UAP/LUA) 陈宇 软件设计工程师 Windows核心安全测试组 Microsoft yuchen@microsoft.com

  2. 提要 • 为什么需要UAP/LUA • 定义: 普通用户和特权用户 • UAP/LUA 的设计目标 • Windows Vista 中 UAP/LUA 的实现 • Windows Vista UAP/LUA 演示 • 开发符合 UAP/LUA 规范软件

  3. 为什么需要UAP/LUA • 大多数用户以系统管理员的身份登录运行 • 一些常用的系统操作需要管理员权限 • 安装一个软件需要管理员权限 • 很多软件只能以管理员身份运行 • 以管理员用户运行造成的问题 • 病毒(Virus), 恶意软件(Malware), 间谍软件(Spyware), 可以控制/破坏整个机器,为所欲为 • 在企业环境中, 使IT管理更加困难, 可能造成更严重的破坏

  4. 困难 • 企业所用的众多日常工作软件, 往往需要某些管理员权限 • 不得不放松一些安全性限制 • IT主管要为每个软件独立测试, 来决定放松哪些安全性限制 • 高TCO (Total Cost of Ownership) • 一些常用的任务也需要管理员权限 • VPN • 普通用户无法修改一些只和他自己帐号有关的系统配置

  5. 定义 • 普通用户 • 系统的帐号管理向导创建的默认帐号类型 • 无权更改系统设置 • 也叫“最低权限用户”, “标准用户” • 管理员用户 • 对机器有最高的权限 • UAP/LUA中的 “受保护管理员用户” (PA): • 通常情况下只有和普通用户相同的权限 • 可以 “提升”成为特权用户, 有最高权限

  6. 定义(续) • “即时权限提升” OTS (Over the Shoulder) • 一个特殊的对话框 • 当普通用户执行某项需要管理员干涉的任务时出现

  7. Windows Vista 之用户角色 • 家庭环境 • Abby (属于系统管理员组) • Toby (普通用户/最低权限用户) • 企业环境 • Ichiro (属于域管理员组) • Nicolas (属于域用户组) • “受保护管理员用户” (Protected Admin) • Abby • Ichiro

  8. Windows Visa UAP/LUA 设计目标 • 减少“每个用户都是管理员用户”所带来的危险

  9. 策略 • 修改操作系统, 使普通用户能够完成日常工作所需要的功能, 而不必以管理员身份运行才行 • 所有人都以最少权限用户的身份运行 • 包括系统管理员组里的用户 (PA) • 唯一例外 –系统内建的管理员用户帐号 • 当需要提升权限时, 提供一种简单并且安全的途径 • 标记需要管理员权限的程序 • 隔离普通(LUA)进程和以管理员权限运行的进程 • 与软件开发商合作

  10. 操作系统内部的变化 • 修正/去处不必要的“管理员权限”检查 • 一个典型的例子 – 系统日期 • VPN (虚拟专用网络) • 对非管理用户, 隐藏没必要看到的信息 (例如一些属性菜单和选项) • 当创建用户帐号时, 使普通用户成为缺省的用户类型

  11. 所有人都以最少权限用户的身份运行 • 包括系统管理员组里的用户 • 用户桌面 (Explorer) 和所有应用程序 (IE, Outlook) 都以最少权限运行 • 当一个需要管理员权限的程序运行时, 用户会得到一个 “提升权限”提示对话框 • 具体的提示方式, 由系统的安全策略决定 • 注: 只限于互交式登陆的用户及其进程

  12. “提升权限”对话框 • 提示方式 • “同意提升权限”对话框 (Ok/Cancel) • “输入密码” 对话框 • 通过安全桌面 (CRTL-ALT-DEL) • 例子 • 运行需要管理员权限的程序 • 改变系统全局设置 (系统时间) • 安装新软件

  13. “提升权限”提示对话框

  14. 标记需要管理员权限的程序 • 程序的 “运行级别” • LUA –以最少权限运行 • Highest –以用户可能有的最高权限运行 • Admin –以管理员权限运行 • 如何标记 • 默认值为 “LUA”, 无需管理员权限 • 程序可在自己的 Manifest 里设置运行级别 • 系统的 “程序兼容性数据库” • 启发式的安装程序检测 • 鼠标右击菜单中的 “以管理员权限运行”选项

  15. 给一个程序设定运行级别

  16. UI 新概念 - 加锁/开锁 • 系统设置界面中的 “加锁/开锁” 概念 • “加锁” 状态 –以最少权限用户身份运行 • “开锁”状态 –以管理员身份运行

  17. “加锁/开锁”

  18. 现有软件的兼容性问题 • 目前许多的软件是为 Windows 9x 设计的 • 所有用户都是管理员用户 • 许多软件从未在最少权限用户下测试过 • 包括 Microsoft 和其他软件开发商 • 众多 “出毛病” 的软件有类似的问题 • 存取共享的文件 (例子: 游戏最高分排行版) • 存取共享的注册表键值

  19. 如何解决兼容性问题 • 虚拟化 • 写: 把写入系统文件夹/注册表的请求重定位到每个用户独有的存储区 (虚拟存储区) • 读: 先从每个用户独有的存储区读取, 再试真正的系统存储区 • 只影响 LUA 进程, 不影响以管理员权限运行的进程 • 只是一个过渡性的方案, 在将来的 Windows 操作系统 (Windows Vista + 2) 中可能去除

  20. 文件存取的虚拟化

  21. 与安全性有关的问题 • LUA 进程和管理员进程在同一个桌面运行 • 跨进程的 Widows 消息 • 粉碎窗口攻击 (Shatter Attack) • 输入欺骗 (Spoofing) • LUA 进程和管理员进程有相同的 Sid • DLL/线程 注入 (CreateRemoteThread) • 直接的内存操作 (ReadProcessMemory) • 解决方案: 进程隔离 • 进程的 “UI完整性” 级别 • 进程的 “完整性” 级别 (MIC级别)

  22. 进程的 “完整性” 级别 系统服务 • 每个进程有自己的 “完整性” 级别 • “完整性” 级别越高, 系统越信任它 • 进程之间访问的隔离 • 能访问同一级别和比自己级别低的进程 • 不能访问级别比它高的进程 系统级别 (管理员) 防火墙 建立新 用户帐号 高级别 (普通用户) Word PowerPoint 中级别 IE 的 Internet区 低级别 下载的 可执行exe

  23. SendMessage PostMessage 进程的 “UI完整性” 级别 防止输入欺骗 (Spoofing) 防止粉碎窗口攻击 (Shatter Attack) 由 Windows 的USER 子系统来实现 “提升权限” 提示对话框 防火墙 用户界面 高级别 恶意 代码 中级别

  24. 进程隔离

  25. 保护模式 IE (LoR IE) • 将IE在MIC低级别运行 • 详细请看: WCI 311 最新版本IE 7: 先睹为快

  26. 开发符合 UAP/LUA 规范软件 • 遵守 LUA 规范: • 用户界面设计, 文件存取, 注册表存取 • 使用 Application Verifier 中的 “LUA Predictor” 来及早发现程序中的问题 • 具体要求在 Windows Logo 规范中

  27. Windows Logo 规范 • 在普通用户帐号下运行的程序 • 所有需要管理员权限的操作放在 “安装” 模快 • 不写入系统目录 (Windows, Program Files) • 不写入注册表系统区 (HKEY_LOCAL_MACHINE) • 用户相关信息保存在用户配置文件中 (Profiles) • 用 Windows Installer 来实现软件更新 • 在 “快速用户切换” 下能正常运行 • 在普通用户帐号下测试通过

  28. Windows Logo 规范 (续) • 需要管理员权限运行的程序 • 在 Manifest 中设定程序的 “运行级别” <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> … <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> </assembly>

  29. Application Verifier 工具中的LUA Predictor • 可用来预测一个程序在最少权限下能否正常运行 • 发现在最少权限下不工作的API调用 • 发现需要特殊权限的存取操作 • 如何使用 • 以管理员身份登录, 安装AppVerifier • 运行AppVerifier, 登记你的程序(.exe) • 运行你的程序, 结束后保存日志文件 • 查看日志文件

  30. 参考资料 Windows Vista Security: http://www.microsoft.com/windowsvista/security.mspx Application Verifier: http://www.microsoft.com/windows/appcompatibility/default.mspx IE 7: http://www.microsoft.com/windows/IE/ie7/default.mspx Windows Logo Program: https://partner.microsoft.com/global/winlogo

More Related