zoukankan      html  css  js  c++  java
  • 关于虚拟机的逃逸技术学习

    虚拟机让我们能够分享主机的资源并提供隔离。在理想的世界中,一个程序运行在虚拟机里,他应该无法影响其他虚拟机。不幸的是,由于技术的限制和虚拟化软件的一些bug,这种理想世界并不存在。在某些情况下,在虚拟机里运行的程序会绕过底层,从而利用宿主机,这种技术叫做虚拟机逃逸技术,由于宿主机的特权地位,其结果是整个安全模型完全崩溃。这也就是说,你在虚拟机上测试病毒、恶意软件,这些东西如果设计好的话,就会通过虚拟机进入你的系统!!!
    从虚拟机中逃逸 虚拟环境的安全威胁已由理论变为现实

    从虚拟机中逃逸,一直以来被看作类似于一种黑色操作。你不断的能听到研究人员们研究一些恶意软件样本的传言,而这些恶意软件可以从虚拟客户机逃逸到主机里。与此同时,其他研究人员也在研究一些允许攻击者从虚拟机中逃逸的漏洞。
    这些有形的攻击威胁到了虚拟化项目的神圣性,而虚拟化在许多公司里相当流行,因为在服务器整合和功耗方面,它们具有很大的优势。但漏洞利用工具的数量也正在日益高涨,每一个月都会增加不少。
    在2009年7月下旬的美国黑帽大会上,一些研究机构对虚拟机的这一漏洞提出了最为清楚的阐释。Immunity是一家安全评估和渗透测试的公司,它向外界提供了一个被称为Cloudburst的工具软件的详细信息,该工具由高级安全研究员Kostya Kortchinsky开发。Cloudburst目前能提供给装有Immunity的CANVAS测试工具的用户使用,它利用的是VMware Workstation 6.5.1和更早期版本的显示功能bug,而这一bug同样出现在VMware Player、服务器、Fusion、ESXi和ESX [见CVE 2009-1244,以得到确切版本编号]。
    Kortchinsky 在Cloudburst的开发中有一些创新的思维,他选择利用的是虚拟机和一些设备的依赖关系(如视频适配器、软盘控制器、IDE控制器、键盘控制器和网络适配器),从而获得对主机的访问。在黑帽大会上,他向外界做了一次报告,解释了他如何利用VMware模拟视频设备的漏洞来进行攻击,他还演示了如何利用主机泄漏到客户机的内存,以及如何从客户机向主机内存中的任何位置写入任意数据。
    "视频适配器处理最复杂的数据,"他说到。“它有一个特别巨大的共享内存。”
    Kortchinsky说,相同的代码模拟每个VMware产品上的设备。“如果有一个漏洞存在,那么每一个VMware的产品上都存在该漏洞,而且通过I / O端口或内存映射I / O端口可以从客户机上对其进行访问”。 Immunity表示,Cloudburst具有可以破坏(corrupt)内存的能力,这允许它以隧道方式在客户机帧缓冲区(frame buffer)之上建立起与主机的MOSDEF连接,从而与主机进行通信。MOSDEF是CANVAS工具集里的漏洞利用工具,它由Immunity公司创始人Dave Aitel开发。
    在今年4月10日,VMware已经修补了这些版本的漏洞。4天之后,Cloudburst发布,并被加入到CANVAS工具集中。而正是这一点使得Cloudburst与众不同,它不再是一个漏洞验证性触发代码(proof of concept),这和大多数虚拟机恶意软件不同。
    文章写到这里,该安全问题技术部分的内容已经结束了,但作为一个具有购买权力和负责决策的安全经理来说,它对于你意味着什么呢?在两年前经济还没有衰退的时候,这一问题给我们的启示会更多,你会争辩说企业的支出应更多的考虑安全因素,而不是经济因素。因为安全问题可能会影响企业的IT环境,而这种影响是可以切身感受到的。
    虚拟化的威胁一直是抽象的,理论多于实践。当然,目前还存在着一些不易察觉的、虚拟的rootkit技术(如Blue Pill),但这要求黑客具有对技术的理解天赋,而把一些非常复杂的东西作为攻击的工具对黑客来说似乎是不可行的。专家同时警告说,虚拟环境里有形的威胁已经出现,但对于这些理论性的东西,你仍然不可能制定企业自身战略并购买相应的虚拟化产品。你很可能需要做的就是,跟上虚拟化的趋势,因为它能带来很大的好处,让用户垂涎欲滴。而它的安全性问题将来也会随之来临。
    不过,是在未来。
    针对虚拟机的攻击已从理论慢慢的变成现实。目前,已经出现了关于虚拟机逃逸的五个CVE警报,在Kortchinsky、iDefense 公司的Greg McManus以及Core Security公司研究小组工作的基础上,研究人员和其他的攻击者会继续对这一问题进行分析、研究,因此以后出现更多安全漏洞几乎是必然的事情。网络不应该依赖传统的安全措施,因为它们不能抵御每个虚拟机的威胁。到目前为止,大多数组织都在反应有关虚拟环境的安全问题,以及不断涌现的新攻击、漏洞利用程序和漏洞验证性触发代码(proof of concept)。虚拟机的安全正处于风口浪尖的境地。

  • 相关阅读:
    java io系列23之 BufferedReader(字符缓冲输入流)
    java io系列22之 FileReader和FileWriter
    java io系列21之 InputStreamReader和OutputStreamWriter
    java io系列20之 PipedReader和PipedWriter
    java io系列19之 CharArrayWriter(字符数组输出流)
    java io系列18之 CharArrayReader(字符数组输入流)
    java io系列17之 System.out.println("hello world")原理
    java io系列16之 PrintStream(打印输出流)详解
    java io系列15之 DataOutputStream(数据输出流)的认知、源码和示例
    java io系列14之 DataInputStream(数据输入流)的认知、源码和示例
  • 原文地址:https://www.cnblogs.com/AmosAlbert/p/12832301.html
Copyright © 2011-2022 走看看