260 likes | 509 Views
浏览器逻辑正确性是个艰巨的安全课题. 陈硕 微软研究院 Redmond, WA USA. 提纲. 浏览器安全问题及可能的解决技术 图形界面、 HTML 层和通信层的逻辑错误导致的安全问题 值得尝试的解决技术 一些非技术性的话题 微软研究院简介、博士生实习等 对博士生评估的一些体会。. 浏览器安全的重要性. 浏览器的应用范围越来越广 今天:网上银行、网上购物、股票交易、保险 今后:云计算 – 几乎所有的应用都可能变成网络应用。 浏览器处于最重要的地位 -- 几乎取代操作系统的地位。 浏览器一些最基本的安全要件
E N D
浏览器逻辑正确性是个艰巨的安全课题 陈硕 微软研究院 Redmond, WA USA
提纲 • 浏览器安全问题及可能的解决技术 • 图形界面、HTML层和通信层的逻辑错误导致的安全问题 • 值得尝试的解决技术 • 一些非技术性的话题 • 微软研究院简介、博士生实习等 • 对博士生评估的一些体会。
浏览器安全的重要性 • 浏览器的应用范围越来越广 • 今天:网上银行、网上购物、股票交易、保险 • 今后:云计算 – 几乎所有的应用都可能变成网络应用。 • 浏览器处于最重要的地位 -- 几乎取代操作系统的地位。 • 浏览器一些最基本的安全要件 • 要保证同源访问(Same-Origin-Policy) : 不同网站的网页不能互相访问。 • 加密的通信不能被网络中间人(man-in-the-middle)破解。 • 人机界面不能误导用户。 • …
现状:离要求很远 • 在各个层次上都有严重的逻辑错误 • 图形界面层 • 比如:逻辑错误使得提示栏和地址栏可以被随意篡改 • HTML层 • 比如:逻辑错误使得黑客网页可以随意访问你的银行网页的内容 • 通信层: • 比如:逻辑错误使得网络中间人可以看见被加密通信的原文。 • 后果 • 有这些错误,浏览器安全性无从谈起。
提示栏篡改 HTML 控件叠加,情形1 HTML 控件叠加,情形2 input field • 由于控件的任意组合,最终的语义可以千变万化。 image paypal.com paypal.com button anchor form form form target = http://a.com image target = http://paypal.com form target = http://a.com anchor target = http://paypal.com
假冒的网页 地址栏篡改实例1 (非原子性操作) https://evil.com#xxxxx...xxxxxxx https://paypal.com
Load a new page History back 假冒的网页 地址栏篡改实例2 (线程竞争) https://paypal.com https://evil.com c:\windows\system32\shdoclc.dl l?http • 约50%概率使得假冒页面配上了PayPal.com地址。
加密通信的目的 • 加密通信的目的: 即使别人可以控制网络,也没有办法得到你的通信内容。 • 几乎所有的银行、股票系统等网站都采用HTTPS加密协议。 • 但是,我们发现所有的浏览器在HTML层与HTTPS层结合上都存在一类逻辑错误。 • 后果:任何proxy都可以获得加密通信的原文 • 也就是说跟没有加密是一样的。
Proxy攻击HTTPS的思路 浏览器 Proxy HTTPS 服务器 HTML层 HTTP/HTTPS HTTP/HTTPS 网络层 网络层 非加密请求 HTTPS加密管道
Proxy攻击实例1:利用“网络错误”应答 • Proxy可以用“网络错误”应答浏览器的请求 • 比如, 502-server-not-found, other 4xx/5xx response; • 浏览器误认为这个应答来自bank.com服务器. Bank.com 服务器 Proxy 浏览器 <iframesrc= “https://bank.com”> https://bank.com 502:Server not found https://bank.com
Proxy攻击实例2:利用“重定向”应答 <script src=“https://js. bank.com/foo.js”> bank.com server 浏览器 Proxy https://bank.com https://js.bank.com evil.com 服务器 https://evil.com HTTP 302: 重定向到https://evil.com Script will run in the context of https://bank.com
对浏览器安全的实际影响 • 关于人机界面的工作 • 找到了13个安全漏洞, • 其中的11个在Internet Explorer 7发布之前得到解决。 • 关于HTTPS的工作 • 使得所有的浏览器厂商都发布安全补丁。 • Microsoft 在去年Internet Explorer 8发布前解决了这些漏洞。 • 我们的工作提出了一个有意义的新课题 • 怎样系统性地解决浏览器安全问题?
艰巨性 Complexity! • 为什么浏览器安全性非常艰巨? • 浏览器内部逻辑非常复杂。靠人脑保证正确性不现实。 • 绝大多数漏洞很隐蔽。很少 “stupid” bugs. • 传统的难题在浏览器中都有体现 • 并发性、原子性、同步与互斥、竞争 • 语义的任意组合 • 执行不可信代码的能力
值得尝试的方向 • (1) 形式证明 • 对浏览器源码进行抽象、建模。 • 用自动的定理证明器检查安全要件是否满足。 • 我们在关于人机界面的工作中提出这个方法。 • 见我们在 2007Oakland Conference (IEEE Symposium on Security and Privacy)上的论文。 • (2) 对模块接口的动态监视 • 模块内部逻辑往往太复杂,但接口的规则有时很简单。 • 我们可以明确定义接口的规则,进行动态监视 • 见我们在 2007ACMCCS (Conference on Computer and Communications Security) 的论文。 • 都是起步阶段,有明显局限性,值得更多投入。
展望 • 希望更多研究人员关注浏览器逻辑安全问题 • 浏览器非常重要,但问题很多。 • 这个领域足够新,可以创新的东西很多。 • 学术价值与实用价值结合得很好。
微软研究院简介 • Mission statementsof Microsoft Research • To expand the state of the art in each of the areas in which they do research; -- 计算机科学基础研究 • Torapidly transfer innovative technologies into Microsoft products ;-- 向微软产品的成果转化 • Toensure that Microsoft products have a future.-- 保证微软产品的前景。 • 研究院分布 • 美国:Redmond (西雅图),硅谷,波士顿 • 中国:北京 英国:剑桥 印度: Bangalore • 研究方向 • 所有计算机科学和工程的方向
实习机会 • 强烈建议研究生到微软研究院实习 • 我自己做过两次,收获很多 • 拓宽自己的研究范围,跳出导师的圈子 • 很有可能发表高水平文章 • 认识更多专家,为自己的下一步作好准备 • 中国学生一般在北京研究院实习 • 实习对本科或硕士生申请美国大学极有好处。 • 每年这时候开始申请。
博士生的竞争力 • 评价的焦点 • 开拓新方向的能力、深度/广度、独立性/合作能力、书面口头表达能力。 • 文章重要吗? • 很重要,以上能力的重要标志。 • 文章数量重要吗? • 不重要。3篇就足够了,2篇也很正常。 • 会议的档次重要吗? • 很重要。大家只有时间关注最好的会议。 • 研究成果对现实世界的贡献重要吗? • 很重要。不仅对微软如此,对顶尖大学也如此。 • 课内成绩(GPA)重要吗? • 不重要(仅对博士毕业而言)。简历中不必写GPA,也没有人关心你的GPA。
高竞争力博士毕业生所达到的高度 • 2篇论文在最高会议上 • 对一个大领域的现状非常了解(广度)。 • 比较明显地展示一个新方向或独特的思维方式(深度) • 是个leader,不光是个executor。 • 做过会议的评审委员。
Q&A • 关于浏览器与Web安全 • 关于计算机与网络安全 • 关于微软研究院 • 关于研究生期间的学习 • 关于美国导师收研究生 • 关于博士就业 • 同学们关心的其他问题