电脑技术学习

攻克Vista者说:防毒软件没有效果

dn001

  偷窃软件研究者Joanna Rutkowska讲述她感兴趣的一些计算机安全问题,比如rootkits的威胁,以及为什么我们没有做好应对虚拟机技术的准备。

  今年早些时候,Joanna Rutkowska在黑帽子简报上引起了一阵骚动,她示范了用rootkit感染Windows Vista的方法,并且引入了Blue Pill这个新概念。Blue Pill使用AMD的SVM/Pacifica 虚拟技术来创建“百分之百检测不到的恶意软件”。

  在采访,Rutkowska谈了她感兴趣的计算机安全问题,偷窃软件威胁的现状,硬件虚拟化所带来的风险以及为什么防毒软件业显露不足。

  “为了方便那些不知道你的读者了解你,你可以做个自我介绍吗?”

  我是一名专致于盗窃技术以及系统入侵检测的安全研究者,研究的内容包括内核 rootkits,偷窃软件以及隐秘的网络通信。我目前供职于一家总部在新加坡的信息安全公司COSEING,居住在波兰华沙。

  “你第一次听说rootkits是什么时候?”

  我一开始关注的是漏洞的发展,之后开始考虑我们得到“壳”后该做些什么。当然我不是第一个想到这个的,所以我看到了很多基于Linux的rootkits,比如Knark或者Adore。我想那是在90年代末。之后,我开始考虑怎样能大致检测出那种恶意软件。

  “做一个攻击性的rootkits有什么价值?这不是方便那些坏家伙们利用它吗?”

  把当前市场防毒软件,尤其是防rootkit方案还远远不能防止或者发现系统被攻击这样的事实告诉人们是很重要的。换句话说,这是为了促使人们研发更好的防御措施。

  我不相信谈论新的攻击技术就是帮助那些坏人。毕竟,如果地球上只有一个人或者一个组织发现某个特殊攻击的话,那就太奇怪了。我不觉得我是唯一一个发现这种技术的人。

  “你如何防止泄漏?你发布了漏洞的细节或者攻击代码了吗?为什么发或者为什么不发?”

  目前由于我是COMSEING的全职员工,我遵守公司的保密政策。总的来说,COSEING主要对能用于客户保护服务的研究感兴趣。当然我们也想对整个信息安全界的发展有一定影响。因此我们会通过在各种安全会议中发布我们的成果,以便跟社会各界共享我们的一些研究成果。

  根据行规,我们不发布漏洞以及恶意代码,当然,除了我们确实觉得非常有必要让卖主修正特殊问题的那种情况。

  例如,我们认为公布Blue Pill源代码没有什么好处,因为这对开发反Blue Pill方案没有任何帮助(跟一些人想得不一样)。

  “最近你对基于虚拟机的rootkits很感兴趣。这是一个合理的攻击向量吗?为什么?”

  最近Intel和AMD引进的硬件虚拟化技术非常强大。我个人认为,在主要的操作系统卖主能重新设计他们的系统,并阻止对它的滥用之前引进该技术还为时过早。

  为了说明该虚拟机技术将会被怎样滥用,我开发了Blue Pill这个小程序——它创建一个硬件虚拟机然后把正在运行的本地操作系统(启动Blue Pill的这个系统)转移到虚拟机中,这样它自己就成了所谓的管理程序。整个过程一眨眼就会完成(耗时少于1毫秒)而本地操作系统甚至根本没有意识到它已经被转移到虚拟机中了。

  只有本地的操作系统意识到虚拟机技术的潜在威胁,并且拥有自己的系统管理程序,才能阻止Blue Pill以及其他此类恶意软件的危害。实现这样的系统管理程序并不费事,人们期望接下来出现的系统会实现它,但是我想我们还需要2,3年才可以看到此类技术。

  “我曾经看到一位rootkit专家(Greg Hoglund)说虚拟机技术只不过是实验玩具并不是实际威胁。他说的不对吧?”

  我想Greg指的是基于软件虚拟化的rootkits,例如SubVirt,它是微软研究院和密歇根大学联合开发的。

  这跟基于硬件虚拟化的rootkits是完全不同的,比如Blue Pill或者Matasano安全公司的Dino Dai开发的Vitriol。

  坦白地说,我觉得基于Blue Pill的软件没有什么理由不被用于发起真实的攻击。当然我认为此类恶意软件不会被用于蠕虫病毒,而会是用于更精明的、有针对性的攻击中。更进一步的,我认为我们很难检测到它(前提是它实现了使用有强隐蔽性的渠道)。我敢打赌很多安全“专家”会断言说这样的恶意软件“根本不在现实中存在”。然而事实上,它们将被悄悄地大量使用。

  “微软对你的针对Vista的攻击作何反应?Redmond有人与你联系吗?在公开之前,你跟他们谈过吗?”

  我们决定首次公开攻击的细节是在七月底新加坡的SyScan会议上(由COSEINC组织的)。在那之前,我们认为没有联系软件卖主(不是我们客户的那些)的必要,因为问题是针对Beta 版的软件,并且实现攻击本身也需要攻击者取得管理权限。

  在针对Vista的攻击的陈述中,我讨论了3种可能的解决方案。我也指出其中的一个方案——阻止用户模式应用程序访问原始硬盘扇区——实际上不是个好举措,而且我解释了我的理由。只是为了完整性的需要,我才把它作为一项可能的解决方案列举出来。

标签: