深入探讨Windows Vista IE 保护模式

Slides:



Advertisements
Similar presentations
allow v. wrong adj. What’s wrong? midnight n. look through guess v. deal n. big deal work out 允许;准许 有毛病;错误的 哪儿不舒服? 午夜;子夜 快速查看;浏览 猜测;估计 协议;交易 重要的事.
Advertisements

高考短文改错专题 张柱平. 高考短文改错专题 一. 对短文改错的要求 高考短文改错的目的在于测试考生判断发现, 纠正语篇中 语言使用错误的能力, 以及考察考生在语篇中综合运用英 语知识的能力. 二. 高考短文改错的命题特点 高考短文改错题的形式有说明文. 短文故事. 书信等, 具有很 强的实用性.
桂林市 2011 年高三第二次调研考 试质量分析暨备考教学建议 桂林市教育科学研究所 李陆桂. 二调平均分与一调、 2010 广西高考英语平均分的比较 科目 类别 英语 文科文科 2010 年广西 一调 二调 与 10 年广西相差
期末考试作文讲解 % 的同学赞成住校 30% 的学生反对住校 1. 有利于培养我们良好的学 习和生活习惯; 1. 学生住校不利于了解外 界信息; 2 可与老师及同学充分交流有 利于共同进步。 2. 和家人交流少。 在寄宿制高中,大部分学生住校,但仍有一部分学生选 择走读。你校就就此开展了一次问卷调查,主题为.
智慧老伯的一席話 原稿 : 溫 Sir 中譯 : 老柳 A man of 92 years, short, very well- presented, who takes great care in his appearance, is moving into an old people’s.
期末复习题讲解 舒荣宏. 单项选择 31 duty:( 道德或法律上的 ) 责任、义务: 你得去,那是你的责任。 It’s your duty to go. do one’s duty 尽职尽责 a sense of duty 责任感 on duty 值班 ; off duty 不上班 An old.
 大綱  講師介紹  認識病毒的種類  預防中毒的好習慣  好用掃描軟體介紹 / 實作  免費線上掃毒軟體介紹  填寫問卷.
请点击以下链接下载 WinHEC 的演讲材料 Download WinHEC presentations here:
WCI361 Windows Vista WCI361 Windows Vista 运行性能设计与 改进.
应用技术 陕西华辉科技有限公司.
Section B Period Two.
专题八 书面表达.
完形填空技巧 CET4.
广德二中2006届高考 英语专题复习 单项填空 答题指导.
Windows Vista 的防治惡意軟體技術
湖州中学微课程 走进定语从句的世界 --初识定语从句 湖州中学 朱筱杭 湖州中学微课程.
摘要的开头: The passage mainly tells us sth.
沐阳老年社区.
Unit 7 Protect the Earth (Story time) 觅渡教育集团 王 珏 标题 课时 教师姓名 日期 1.
专题讲座 武强中学外语组 制作:刘瑞红.
Could you please clean your room?
Homework 4 an innovative design process model TEAM 7
Unit 4 I used to be afraid of the dark.
Unit 2 Lessons 7-12 It’s Show Time! 甘肃省陇西县崇文中学 陈文通.
Been During the Vacation?
Ebooking 突发问题解决方案.
Microsoft Access 第十二組 黃彥維 陳重嘉.
Windows Vista 操作系统最新安全特性
資料檔案的安全性管理 羅英嘉 2007年4月.
Windows Vista Internet Explorer 7.0 Overview
Windows 2012 Dynamic Access Control (動態存取控管)
Basis基本操作、使用者 管理與權限設定
SOLUTIONACCELERATORS Windows Vista Hardware Assessment 1
我祝願你足夠 背景音樂-星空下的小喇叭【電影:亂世忠魂】 AUTO.
Chapter7 全球資訊網與瀏覽器介紹 網路應用入門(一) Chapter7 全球資訊網與瀏覽器介紹
创建型设计模式.
但是如果你把它发给最少两个朋友。。。你将会有3年的好运气!!!
The Wise Old Man 智慧老伯的一席話 原稿: 溫Sir 中譯 : 老柳 中譯潤稿:風刀雨箭
微软新一代云计算 面向企业的 Office 365 客户培训大纲
Lesson 28 How Do I Learn English?
Could you please clean your room?
SectionA(Grammar Focus-4c)
Lesson One She Says/He Says 男生女生各說各話
Microsoft SQL Server 2008 報表服務_設計
A SMALL TRUTH TO MAKE LIFE 100%
資料庫 靜宜大學資管系 楊子青.


橫跨電腦、手機與軟體的全方位端點管控解決方案
虚 拟 仪 器 virtual instrument
The Wise Old Man 智慧老伯的一席話 原稿: 溫Sir 中譯 : 老柳
突出语篇语境,夯实词汇语法 一模试卷单选完形分析 及相应的二轮复习对策 永嘉罗浮中学 周晓媚.
Lesson 19: A Story or a Poem?
中考英语阅读理解 完成句子命题与备考 宝鸡市教育局教研室 任军利
A parable for our times 當代寓言
冀教版 九年级  Look into Science!.
上海工程技术大学 江苏金智教育信息技术有限公司
Create and Use the Authorization Objects in ABAP
保良局馮晴紀念小學 教育心理學家 --- 黃月鳳 2008年11月1日
立足语境,放眼词块,螺旋上升 年温州一模试卷题型分析 及相应的二轮复习对策 by Sue March 14,2013.
英语单项解题思路.
English article read(英文文章閱讀)
Prophecy for HIC 7/27/2018 Via Torrey Harper.
语法填空.
The Wise Old Man 智慧老伯的一席話 原稿: 溫Sir 中譯 : 老柳
MGT 213 System Management Server的昨天,今天和明天
Sun-Star第六届全国青少年英语口语大赛 全国总决赛 2015年2月 北京
Unit 2 寒暄.
陸綺紅 ( 陸明君 飾 ) 綽號紅豆 在一次危險中,阿奇奮不顧身的為她擋了一棍,擔心的將她緊緊抱著……
陳情表之外     with 三仁 三樂 歐陽宜璋製於 /10/23.
Presentation transcript:

深入探讨Windows Vista IE 保护模式 WEB 312 深入探讨Windows Vista IE 保护模式

议程 面临的安全问题 解决方法 保护模式的目标、基础和结构 安全、兼容及使用方便的平衡 部署使用中的常见问题 如何解决应用中的问题 没有终点的旅程 今天的课涉及的技术相对来说较深,如有问题,可及时提出。我将首先介绍一下我们现在面临的安全问题,然后看看有些什么解决方法,微软设计保户摸式的目标是什么?模护摸式的基础是什么?并向大家介绍保护模式的结构。由于保护模式改变了传统程序的操作方式,因此带来了一些新问题,我将与大家一起分享我们开发过程的甘苦。向大家介绍我们在开发中,如何平衡安全、兼容又使用方便。自从保护模式与去年12月公开推出,我们看到了一些常见问题,我将向大家介绍如何从开发与应用的二个方面来解决问题。

面临的安全问题 恶意软件安装 系统被毁,重至无法启动 数据丢失 密码被盗 窗口满天飞 不敢浏览 共享计算机更难控制 我们首先来看一下当今存在的一些浏览安全问题。去年我在中国的一个朋友家里上网,一开机还未到达图像模式,首先看到的是许多行重复的文字,微软视窗,微软视窗。我吓了一跳,大家猜猜这是怎么一会事?当我登录后,一启动浏览器,好家伙,一下子就是五,六个窗口弹出。关掉后,没过几分钟,又弹出几个窗口。我就问我的朋友,这样的系统,你怎么能忍受?她说系统重装了几次都没用,没几天就是这个样子。这种情况,不知在座的是否经历过。现在网上的恶意软件越来越多。一不留意,恶意软件就装上了。系统被毁,重至无法启动。多年累积的数据、信息毁于一旦。在中国,不知网上银行用户多不多,在美国,使用网上银行十分普及。如果,密码被盗,个人的经济损失可想而知。我在美国有几个朋友,甚至不敢上网。有的家里用多台计算机,一台用于上网,另一台用于处理个人文件。如果一台计算机有几个人共享,那就更难控制了。

面临的安全问题 演示: IE 6 浏览不良网 下面让我们来看一个实例,录像里的IE6是没有补丁的,打好补丁的IE6已是很强壮了。由于IE越来越安全了,真要在短时间找到写文件或注册表的恶意网站也不是非常简单的。由于我对中国的网站不是十分了解,这个录像是请盆盆老师帮忙的,他花了好长的时间才帮我做好的,在此我对他表示深深的感谢,同时请允许我代表大家向他表示感谢。

解决方法 建立一个非管理员帐号,用该帐号进行浏览 文件难以被正常帐号使用 启动浏览器甚不方便 点击在其他软件中的连接仍可启动浏览器,运行于正常帐号 工作流程被迫中断 浏览器与系统其他部件的通讯可被不良程式用作突破口 仍运行在一般级别,溢出程序可对其他进程进行粉碎性攻击 对于前面所提到的安全问题,我们有什么解决方案呢? 我们可以… 所谓粉碎性攻击就是利用Windows Message进行攻击。从一个进程发Message到另一进程来控制那个进程。这种攻击的威力非常大。由于视窗是建立于Message之上的,所以这种攻击可使被攻击进程做许多事。 This proc still runs in medium. Shatter attack.

解决方法 虚拟化浏览器及其子进程的所有文件、注册表的存访操作,并隔离其对系统其他部件的通讯 文件更加难以被正常帐号使用 启动浏览器甚不方便 点击在其他软件中的连接仍可启动浏览器 工作流程被迫中断 浏览器与系统其他部件的通讯不可能完全切断 性能不好 另一种解决方法是… Virtualizes all IE and its children’s reg and file access plus isolate almost all interactions with other system components.

解决方法 使用虚拟机 (Virtual PC) 性能差 文件难以被正常帐号使用 启动浏览器甚不方便 点击在其他软件中的连接仍可启动浏览器,运行于正常帐号 工作流程被迫中断 我们还可以用虚拟机来解决这些问题。 Virtual PC Bad performance. Hard to share data. Break work flow.

解决方法 用很少人使用的浏览器 黑客无兴趣光顾 感觉上安全 功能不全 用户一多,安全问题随之而来 火狐7月25日一天公布9个安全漏洞http://www.kb.cert.org/vuls/byid?searchview&query=firefox_1505 还有一种简单的解决方法是使用… Limited market share browser:Opera Less target for hackers. Feels secure. The more people use it the more chance the same issue occurs. The less people use it, the less feature it has. http://www.kb.cert.org/vuls/byid?searchview&query=firefox_1505

这里例出的是二个月前由CERT公布的火狐安全漏洞,一天就例出了十一个安全漏洞。

解决方法 阻止正常写和暗地升级 兼容性改善 工作流程改善 不防止信息泄漏 与系统其他部件有限制性的通讯,可能会引起安全问题 还有一种解决方案是阻止数据写入敏感区域,阻止程序暗地提高权限。 Prevent write access and elevation in silent way Better app compat. Limited impact to work flow. Can’t prevent info disclosure.

解决方法 保护模式(微软的解决方案) 只能写入有限文件及注册表区 进程的权限有限,不能与较高权限的进程自由通讯,共享数据 未经用户同意,不可启动较高权限的进程 兼容性改善 工作流程改善 不防止信息泄漏 对上述各种方式进行仔细分柝后,我们的解决方式是保护模式。 Protect Mode. It can write to only a limited area by itself. It has limited communications to other system. It’s default children has this limitation as well. When request outside the limitations are needed, user permission is needed.

Dan Kaminsky: 我希望保护模式一直打开,即使是UAC关闭时。保护模式是一个很好的功能。 Dan Kaminsky在DEFCON上演讲, 深受欢迎,大厅溢出。 保护模式自推出以来,得到了许多安全专家的好评与肯定。Dan在美国的黑客社区里非常有名,他在黑帽大会和DEFCON大会上的演讲,课堂经常溢出,在今年的DEFCON演讲时,他的演讲中断了好几次,为的是让挤在门口的人进来站在大厅的二侧。我在8月5日参加著名的在美国拉斯维加斯召开的黑客DEFCON会议上,与Dan Kaminsky就保护模式进行了探讨。他说他用了保护模式,觉得很好,保护模式堵住了他所知的几个尚未公开的攻击。他还说,“我希望保护模式一直打开,即使是UAC关闭时。保护模式是一个很好的功能。”

保护模式的目标、基础和结构 目标 用户控制软件的安装,下载及设置的改变 插件无需或极少需要改变 用户接口尽量少的改变 保护模式的目标、基础和结构 目标 用户控制软件的安装,下载及设置的改变 恶意软件不可暗地发动功击 插件无需或极少需要改变 用户接口尽量少的改变 下面让我们来看一下保护模式的目标,针对我们前面提到的安全问题,我们第一个目标就是让用户控制软件的安装、下载及设置的改变。做到这一点就可防止一导航至恶意网站就被感染的结果。第二个目标是尽可能减少软件开发商的成本。使现有插件无需或极少需要改变,也就是尽可能保持对现有插件的兼容。第三个目标是尽量使用户不感觉到操作流程的变化。也就是尽量方便用户。 Goal: Put users in control of installs, downloads, and setting changes Exploits in IE require a user initiated action to change the users system Little or no work to get IE Add-ons running Little UX change Browsing the web should not get harder

保护模式的目标、基础和结构 基础 UAC (用户帐户控制,又称LUA) 许多进程去掉了管理员令牌中的管理员特权 保护模式的目标、基础和结构 基础 UAC (用户帐户控制,又称LUA) 许多进程去掉了管理员令牌中的管理员特权 行使管理员特权时,用户得到提示 程序溢出时,系统得到保护 要真正理解保护模式,必须先对保护模式的基础有个大概的了解。IE保护模式依赖于Windows Vista三大安全特性:UAC(用户帐户保护)、MIC(强制完整性检测)和UIPI(用户界面特权隔离) 。在座的有多少人知道UAC?由于各种原因,许多计算机用户都是以管理员身份登录的,在座的有多少人用管理员身份登录?管理员登录最大的危险是一旦有程序溢出,整个系统就处于被攻击状态。针对这一点,Vista推出了UAC,在大多数情况下,即使一个进程用管理员令牌运行,UAC会将该令牌中的管理员特权去掉,这样这个进程就不可对系统注册表和系统目录进行写操作了,即使该进程有程序溢出而遭到攻击,也不会对系统带来毁灭性攻击。当一个进程,如安装程序等,确实需要管理员特权运行时,应用程序信息服务,简称AIS,会提示用户,仅当用户同意后,这种进程才会在管理员特权下运行。简单地讲,Vista的管理员有二个令牌,一个令牌具有所有管理员权限,而另一个不具有所有管理权限。绝大多数进程用没有管理权限的令牌运行。 应用程序信息服务 (AIS Application Information Service ) UAP讲得是管理员有二个令牌,一个令牌具有所有管理员权限,而另一个不具有所有管理权限. 访问控制表 (ACL)

保护模式的目标、基础和结构 基础 MIC (强制完整性控制) 没有MIC,就没有保护模式IE 安全对象赋与完整性级别 保护模式的目标、基础和结构 基础 MIC (强制完整性控制) 没有MIC,就没有保护模式IE 安全对象赋与完整性级别 进程级别由其令牌级别所定 进程只能写入小于等于其级别的区域 系统文件,注册表区为高级区域 用户配置文件夹 、注册表区为中级区域 与保护模式有关的还有同步对象等的级别 ICACLS.EXE MIC(强制完整性检测)和保护模式的关系最为密切,没有UAC和UIPI,我们仍可以在某种程度上运行保护模式,当然提供的安全性会大大降底,但是没有MIC,保护模式就不可以生存。MIC对系统中的安全对象都赋与完整性级别,安全对象就是带有存访控制表的文件、注册表、事件、MUTEX、共享内存区等等。MIC级别与本课相关的有高、中、低。进程级别由其令牌级别所定,进程只能写入小于等于其级别的区域。系统文件,系统注册表区为高级区域,用户配置文件夹,用户注册表区为中级区域。保护模式运行于低级别,因此不可对中级以上区域进行写操作。对MIC的介绍,盆盆在他的博克上有个很有趣的比喻,一个进程是否可以存访一个安全对象,这就好比男女双方求爱,除了看对方的经济收入等条件(相当于访问控制表 ACL),还要看是否门当户对(相当于完整性级别),这里要提一下的是,在盆盆的博克中曾提到系统没有提供可操作MIC的工具、这里稍有出入,ICACLS·EXE可以对文件系统的MIC级别进行读写。 Mandatory Integrity Control 完整性级别低的进程,不能向完整性级别高的进程发送Window消息。

保护模式的目标、基础和结构 基础 UIPI (用户界面特权隔离) 完整性级别低的进程,不能向完整性级别高的进程发送Window消息 保护模式的目标、基础和结构 基础 UIPI (用户界面特权隔离) 完整性级别低的进程,不能向完整性级别高的进程发送Window消息 低级进程不能对高级进程安装Hook 主要用于防止著名的粉碎窗口(Shatter)攻击 DDE用户注意了! 关掉UIPI (仅用于调试) HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System EnableUIPI=0 另外一个对保护摸式影响很大的基础是UIPI(用户界面特权隔离),这个基础使保护模式可防止著名的粉碎窗口攻击,但也带来了不少难以解决的兼容性问题。这个功能使级别低的进程不能向级别高的进程发送消息,如果你的插件用DDE与其他进程联系,那你的插件很可能要通过修改才能与保护模式兼容。如果你发觉你的插件在保护摸式不能正常工作并怀疑是因为UlPI,则可以暂时关掉UlPI。注意这种方式是不支持的。这里我只是给大家一个秘密武器。不可外传。 严格来讲,UIPI不仅仅影响Windows消息的发送,还牵涉到许多其他Apl,如SetWindowsHook, ThreadAttach, ShellNotifyIcon等等,这里就不一一例举了。

Untrusted files & settings 保护模式的目标、基础和结构 Protected Mode IE Integrity Control Broker Process Redirected settings & files Compat Redirector Admin-Rights Access Install an ActiveX control HKLM HKCR Program Files Broker Process User-Rights Access Change settings, Save a picture HKCU My Documents Startup Folder 有了上面这些其本概念,我们就可以更好地来看保护模式IE了,也叫作Low Rights IE,简称LoRIE。其实就是将IE在MIC低级别运行。这样做,有什么好处呢?试想,如果IE或其附件,如某个ActiveX,存在一个BO,黑客可以此作为突破口来运行破坏性指令,它能造成什么危害呢?它不可写入HKLM,HKCU,系统和用户目录,它不可窜改任何用户重要数据,大家说这好不好,太好了。这就是我们要花大量人力来开发Low Rights IE的原因。但是当今IE及其附件要依靠注册表及文件目录来安装及记录各种设定,不让这个进程进行这些写操作, IE及其附件如何运行呢?我们通过二种方式来解决这个问题。让较高级别的进程来代理完成写操作,或写到虚似文件和注册表中。下面我们来看一下Low Rights IE的系统结构。 我们首先在系统中定义了一些低级别的文件目录和注册表项。 Low Rights IE可以在这些地方存放各种信息,我们提供的虚似文件目录和注册表也在此区域内。在正常浏览时,这些低级别的区域可以满足绝大部分的浏览需求。当用户需要改变设定时,我们提供了一个在中级别运行的代理进程,我们现在称其为LUA Broker。由于这个代理运行在中级别,它可对HKCU和用户目录进行写操作,存放各种设定改变。这个代理也可用来启动一些中级别的进程。对于一些安装程序,如ActiveX安装,必须对HKLM及系统目录进行写操作,中级别的代理无法完成,因此我们还提供了一个高级别的代理,专门用于安装ActiveX。对于其他安装程序,我们依靠前面所讲的UAC提升机构。 Temp Internet Files Cache Web content Untrusted files & settings

安全、兼容及使用方便的平衡 三者之间哪个最重要? 三者之间哪个最昂贵? 演示 XPS 下面我来和大家共享一下我们开发保护摸式的经历。整个保护模式的开发可以说是如何解决上述三者之间的平衡。如果设计或实施不安全,就失去保护模式的价值,如果结果兼容性不好,难以被用户和软件商采用,如果使用繁复,那么再安全的功能也无人使用。大家想一想这三者之间,哪个最重要?哪个最昂贵或最费时?兼容性花费了80%的时间。在我十九年的软件开发经历中,这是一个最艰巨的项目,难就难在不断在这三者之间求平衡,特别是在安全与兼容之间。以IE做平台开发的软件特别多,有的还专门利用非公开支持的接口。要开发一个保护模式,其难度在我加入IE团队前是难以想象的。下面让我们来看一下解决得较好且相对来说较简单的实例。XPS是Vista中的一个打印驱动器,功能有点象PDF,可将许多文件通过打印方式转成XPS格式。用户一般将XPS文件存于用户文件区。这里就产生了一个矛盾。安全不让写入用户区,如用虚拟化,用户会找不到产生的XPS文件。保护摸式通过中级代理提供一个接口,用户并没有感到明显的不同。 Ask user what was the most hard problem for us. Where did we spent the most time. Surprise the user with compatibility. This project is the most hard projects I have ever worked in 19 years. Some stories? Conflicts between security and compatibility Virtualize the reg and file access (some key can’t be vitualized) SaveAs function Elevation with prompt LUA broker for user access Admin broker for AX install LUA AIS elevation for other setup STD user AX install COM server allow lower client to bind Allow specific messages go through Silent elevation list Drag & Drop elevation list Dangerous extension block list URL controls

安全、兼容及使用方便的平衡 对文件和注册表提供虚拟服务 插件需要启动中级进程并与之联系 并非所有区域都被虚拟,如IE设置及系统区 提供插件存入中级区域功能 低级进程不能弹出提示窗口,为什么? 插件需要启动中级进程并与之联系 提供中级代理进程 升级必须有提示 升级免提示表 下面让我们来看一些典型的平衡问题,保护模式不让写入文件和注册表低级区以外的地方,势毕造成很大的兼容问题,为此我们提供了虚拟服务,但IE的许多设置也在用户区,如插件可修改IE设置,就会造成安全问题。所以并非所有中级区域都被虚拟。有些插件确实需要写入中级区,如XPS等,我们为此提供了接口,在确保由低级进程无法控制的中级进程弹出窗口并得到用户同意下才允许写操作。低级进程弹出窗口是不安全的,为什么?有些插件确实需要启动中级进程,但安全模式要阻止暗地升级,怎么办?我们通过中级代理的提示来阻止暗地升级。为了使插件改动最少,我们提供自动检测,当我们测出插件要启动进程时,我们就通知中级进程提示用户。有些软件商保证他们的软件安全无漏洞,为使用户方便,我们提供升级免提示表,允许在指定范围内暗地升级。

安全、兼容及使用方便的平衡 对ActiveX的安装提供高级代理 其他程序安装由UAC的AIS提供服务 全新可选的标准用户安装ActiveX服务器(IT专业人士请留意) 其他程序安装由UAC的AIS提供服务 较高级的COM服务器可在清单中指定允许低级进程对其进行绑定(BIND) 允许指定的窗口消息(Windows Message)来自于低级进程 大家知道许多程序的安装需要对系统区进行写操作,为此我们专门提供了安装ActiveX的高级代理,原则是提示必定由高级代理弹出并且是必须征得用户同意才可安装。许多大企业在Vista的部署中,准备让员工用标准用户登录,标准用户无法运行高级进程,无法安装或更新ActiveX,而大企业不可能让管理员到每一台机器上操作,这就带来了一个新的难题。为此我们增加了一个标准用户可安装或更新Activex的服务器,这是一个可选的功能,有兴趣的公司应该与微软的技术支持人员联系。其他的程序安装将由UAC的AlS提供。ⅠE及其插件与外界的通信常常是通过COM进行的,为防止暗地升级,中级以上COM服务器将不允许低级进程通过C〇M对其进行绑定,这样又带来了一个兼容性问题。为了解决这个矛盾,我们提供了一种方法使较高级的C0M服务器可允许较低级的进程对其进行绑定。当然这种COM服务器本身必须安全可靠。UIPI对不少插件带来了兼容性问题,为了在短时间内解决兼容性问题,我们提供了一个接口,中级进程可接受来自低级进程并由中级进程指定的消息。使用这个接口前,应保证指定的消息对中级进程是安全能,不会产生溢出。从长远来说,应该避免用消息来进行通信。

安全、兼容及使用方便的平衡 对Drag & Drop(拖放)格式与目的地进行控制 危险插件阻止表 保护模式的运行由URL的区域控制 提供目的程序表 危险插件阻止表 保护模式的运行由URL的区域控制 拖放操作是另一个具有安全问题的区域,保护模式对此也进行了阻止,但很多用户已习惯了拖放操作,完全禁止拖放操作,将给用户带来极大的不便,我们通过中间进程和对COM的适当的改变,使用户可从保护模式拖放至其他进程,并对拖放目的地进行控制,对某些目的进程提供无提示拖放,其些目的进程提供提示,仅当用户同意后,操作才可完成。目些插件会使IE处于不稳定状态,为安全起见,我们提供了组策略,可禁止这些插件运行。如果某些网站至今尚未与保护模式兼容,但某些企业又必须使用这些网站或插件,针对这点,我们使得对保护模式的控制细致到URL的区域。企业可在内部网中关掉保护模式,外部网中打开保护模式。

部署使用中的常见问题 插件写至非允许区域 插件的卸载对系统区、用户区的写操作 向较高级进程送窗口消息 与较高级进程共享内存区和MUTEX 较高级进程存访安全模式 Cookie 插件类型:病毒扫描器、游戏插件、工具栏、IME 下面让我们来看一下,保护模式一年来在实用中的常见问题。不出我们的预料,最常见的兼容问题是插件对非允许区域进行写操作,包括下载程序将数据下载至系统或用户区。如果你们用的软件对系统区进行写操作,应该特别注意了。第二个较常见的问题是,插件向较高级进程送窗口消息,这主要由UIPI所引起的兼容性问题。这类插件应考虑用其他方法进行通信。我们有时也看到插件与较高级进程共享安全对象,这就要求安全对象允许低级进程进行存访。另外一种较难解决的问题是较高级进程存访安全模式Cookie。易产生兼容问题的插件类型常常是病毒扫描器、游戏插件,IME等等。 Write to outside allowed area. Send messages to higher app Share mutex memory mapped section with higher app Uninstall inside extensions and access HKLM and etc. Apps: virus scanner, gaming extensions, messengers, toolbar

如何解决应用中的问题 用户 公司管理员 可信区域 (Trusted Sites) 暂时关掉保护模式 运行高级IE 免提示表 拖放策略表 HKLM\SOFTWARE\MICROSOFT\Internet Explorer\Low Rights\ElevationPolicy 拖放策略表 HKLM\SOFTWARE\MICROSOFT\Internet Explorer\Low Rights\DragDrop 对Intranet关掉保护模式 App Compat Toolkit 在应用中如遇到兼容问题,如何解决呢?用户,管理员和开发商可采取不同的解决方案。对于用户,常用的方法有:将有问题的网站加入可信区域,或者暂时关掉保护摸式,用些网站不仅于低级进程不兼容,与中级进程序也不兼容,这就需要将IE在高级别运行才能解决问题。用户应在万不得已的情况下才采取这种方法。公司管理员还可以通过免提示表和拖放策略表来解决某些问题,如Canon打印机用免提示表强制其产生的进程在低级运行以便于与保护模式通信。如公司内部的LOB软件与保护模式不兼容,管理员还可对lntranet关掉保护模式。管理员可用应用软件兼容工具包来诊断不少兼容问题。

如何解决应用中的问题 软件开发商 免提示表 拖放策略表 在低级运行 App Compat Toolkit, Filemon, Regmon 关掉UIPI (用户界面特权隔离) 提供卸装程序 避免使用RUNDLL32 解玲还需系玲人,对兼容问题,最好的解决方法是从插件下手,使插件能在低级运行。对软件开发商来说解决的方法比较多。针对某些插件不希望显示进程级别提升或拖放提示,或希望新产生的子进程在低级运行,插件安装程序可修改免提示表和拖放策略表。当开发商发现问题而又不知原因时,可使用应用程序兼容工具包, Filemon, Regmon,或关掉UIPI来诊断问题所在。对于另一个常见问题、工具栏的卸装,可通过提供一个单独的卸装程序并让该进程在高级运行。有许多插件通过RUNDLL32来创建中级子进程,由于RUNDLL32涉及面较广,鉴于安全原因,我们不提供免提示升级,且提示信息也难以精确地表达,因此插件因尽量避免避用使用RUNDLL32。 HKLM\SOFTWARE\MICROSOFT\Internet Explorer\Low Rights\ElevationPolicy Turn off UIPI for diagnostic. Machine\Software\Microsoft\Windows\CurrentVersion\Policies\System EnableUIPI=0 APIs: IEIsProtectedModeProcess IEisProtectModeURL IELaunchURL IEShowSaveFileDialog IECancelSaveFile IESaveFile SHGetKnownFolderPath(FOLDERID_LocalAppDataLow) IEGetWriteableHKCU

如何解决应用中的问题 软件开发商 新的程序接口(New APIs) IEShowSaveFileDialog IECancelSaveFile IESaveFile SHGetKnownFolderPath(FOLDERID_LocalAppDataLow) IEGetWriteableHKCU 为了使软件开发商开发既安全又兼容的插件,我们提供了一些列新的程序接口,如果插件确实需要将文件存在用户中级区,我们提供了IEShowSaveFileDialog 、IESaveFile 和IECancelSaveFile, 通过调用IEShowSaveFileDialog ,可使用户选择写入文件名,通过调用IESaveFile ,可使文件写入中级区。前面的XPS例子就使用了这一组接口。如插件要使用工作文件,或存贮一些与插件有关的数据,则可使用SHGetKnownFolderPath来得到低级进程可写的文件夹。然后在该文件夹中建立文件。如要得到一个低级进程可写的注册表区,则可用IEGetWriteableHKCU得到一个低级进程可用的Key。

如何解决应用中的问题 软件开发商 IEIsProtectedModeProcess IEIsProtectModeURL 新的程序接口(New APIs) IEIsProtectedModeProcess IEIsProtectModeURL IELaunchURL ChangeWindowsFilterMessage 这几个程序接口是今年才增加的, 特别是IEIsProtectModeURL和IELaunchURL,是上个月才增加的。在我上星期离开美国时,还没有正式在网上公开。当一个IE插件想知道本身是否运行在保护模式下,可使用IEIsProtectedModeProcess来查看。如一个程序想知道启动IE并导航至某个网站,IE是否运行在保护模式时,可用IEIsProtectModeURL来确定。在测试保护模式时,我们发现有些软件需要启动IE并等待IE结束来决定一下步操作,由于保护摸式的结构限制,用CreateProcess来启动IE时,得到的结果并不是保护模式的进程Handle,为了解决这个问题,我们提供了IELaunchURL来取代CreateProcess。最后如果你的插件必须与你的另一个中级以上的进程用消息来通讯, 那么你可以在中级进程中调用ChangeWindowsFilterMessage来解决由UIPI引起的问题。不过你必须保证这些消息不会使那个中级进程产生安全问题。

演示 IE 7 保护模式 IE 7 浏览不良网站 Use InetCPL Turn off LoRIE and Launch IE again. Open an PDF file show silent elevation View Source see elevation dialog Install AX (may be video) Try trusted sites

议程 面临的安全问题 解决方法 保护模式的目标、基础和结构 安全、兼容及使用方便的平衡 部署使用中的常见问题 如何解决应用中的问题 没有终点的旅程 最后要提一下的是安全是一个没有终点的旅程,道高一尺、魔高一丈。保护模式不是能治百病的仙丹,它堵决了许多安全漏洞,根据以往的经验,黑客一定会想出其他办法对系统进行攻击。我们现在已开始计划如何使保护摸式更强壮。

Internet Explorer Blog http://blogs.msdn.com/ie/ Internet Explorer Feedback Alias ietell@microsoft.com Internet Explorer Developer Center http://msdn.microsoft.com/ie/ Internet Explorer 7 App Compat Toolkit http://blogs.technet.com/all_things_appcompat/default.aspx Internet Explorer 7 External Bug Database https://connect.microsoft.com/site/sitehome.aspx?SiteID=136

Technical Chats and Webcasts http://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/usa/webcasts/default.asp Microsoft Learning and Certification http://www.microsoft.com/learning/default.mspx MSDN & TechNet http://microsoft.com/msdn http://microsoft.com/technet Newsgroups http://communities2.microsoft.com/ communities/newsgroups/en-us/default.aspx Technical Community Sites http://www.microsoft.com/communities/default.mspx User Groups http://www.microsoft.com/communities/usergroups/default.mspx

讲了这么多,大家有任何问题吗? http://www.mozine.org/tags/ie7 微软 IE 7 的开发进度备受世人瞩目,不久前最新发布的 beta 3 版在以往的一片批评声中渐渐迎来了越来越多用户的好评。 尽管针对 IE 7 的批评声不断,一位绝非微软战线的局外人——身为 Firefox 总开发者之一的 Blake Ross 在面对一家媒体的采访中却给予了 IE 7 最新版高度评价:“事实上,IE 7 看起来确实很棒”。 http://blog.seattlepi.nwsource.com/microsoft/archives/104679.asp Ross: I've used it a little bit. The truth is that it actually looks pretty good. IE6 in Oct 2001   http://blogs.zdnet.com/web2explorer/?p=192 What has the IE team been doing for the last 5 years? After IE6 in Oct 2001, they fell "kinda silent" after that. "The truth is we wanted to really push things even further", says Tony. To do that, they focused their development efforts on contributing to the Vista product. But that has taken a long time - plus they also had security issues with IE that required attention over the past 5 years or so. About 2.5 years ago they "decided to get the band back together" and get back to product development on IE. So after all the security updates, they finally got back to actual development on IE7. "On behalf of Microsoft and the IE team, we messed up - and we're sorry" (laughter and clapping from the audience). http://blogs.itecn.net/blogs/ahpeng/archive/2006/04.aspx