BlueHat:恶意软件、隔离与安全边界:比看起来更难
我是BlueHat的Mark Russinovich。
这是微软首次在BlueHat安全会议上使用内部演讲者,我很兴奋能成为其中一员。当我收到演讲邀请时,我立刻想到了所有想讨论的有趣话题。例如,现成软件甚至安全软件中的不安全现状——这是我之前博客写过的话题。另一个我觉得人们会感兴趣的话题是rootkit的现状及其演变趋势。基于管理程序的“超级工具包”(Hyperkits)及其被过度炒作的现象是我的热点关注之一,也列在我的清单上。
但最终,我选择了一个不那么炫目但我觉得更为重要的话题:讨论Windows中真正的安全边界是什么,以及实现它们有多困难。第三方很容易发布一个产品,声称能为Internet Explorer创建一个沙箱,并将其卖给那些希望获得更安全浏览体验的小众用户。然而,这些解决方案的安全性源于它们的小众地位。由于没有集成到操作系统中,它们无法创建一个万无一失的沙箱,而恶意软件作者针对的是大众用户,大众不会运行这些解决方案。
另一方面,Windows默认安装在每个Windows用户的桌面上,因此任何被称为安全解决方案的技术都必须符合最高标准。除非我们能保证恶意软件无法基于某种固定方法逃脱,否则我们不能说我们已经创建了一个安全沙箱。此外,虽然第三方可以设计针对“专业消费者”(积极参与安全管理的用户)的用户体验,但Windows必须努力提供尽可能透明的安全性。最后,Windows致力于应用程序兼容性,任何安全边界带来的好处必须远远超过因破坏兼容性而导致的成本。再次强调,第三方可以容忍破坏应用程序,因为他们的客户可能愿意承担这种成本。
底线是,Windows中有许多技术被人们视为安全边界,但实际上并不是。在我的演讲中,我涵盖了真正的Windows安全边界,然后回顾了诸如内核补丁保护、内核模式代码签名等技术,解释了为什么应用程序兼容性、用户体验或基本架构问题阻止它们成为安全边界。这应该会很有趣!