中国黑客唐青昊用20秒的时间,给出了他的答案。
在韩国首尔举行的 PwnFest 2016 黑客破解大赛上,他身处 Workstation 虚拟机中,只运行了一个程序,就让宿主机弹出了计算器程序。这说明,虚拟机中的居民,已经意识到自己虚拟的身份,逃逸到了“上帝空间”——宿主机上了。
虚拟化技术和云计算息息相关。实际上,虚拟化漏洞已经可以影响云上用户的根本安全。而在全球范围内,研究虚拟化漏洞的安全研究员屈指可数。
作为其中的一员,唐青昊觉得有必要用这种破解的方式,向世界警示虚拟化漏洞的风险。那么,从他点击执行,到最后夺取系统权限的短短20秒间,究竟发生了什么呢?
这位黑客为雷锋网讲述了攻击背后的故事。
【唐青昊】
Plan A:三个漏洞联合进攻
唐青昊告诉雷锋网,他的 Marvel 团队一直在做虚拟化漏洞的研究。早在两个月以前刚刚听到比赛消息的时候,他就决定用已经掌握的这套漏洞进行比赛。
这套攻击程序包括三个漏洞,分别是:
1、UAF漏洞,控制RIP(大意为每条指令的位置);
2、out-of-bound read 漏洞。
3、out-of-bound write 漏洞。和第二个漏洞合力起到泄露关键信息的作用。
他说。
利用这三个漏洞,唐青昊可以突破虚拟机的限制,拿到系统权限和同一宿主“治下”所有其他虚拟机的数据。
很多商业银行、政府,包括美国的一些大型公司,都在使用 VMware 的产品。而这些产品和我攻击的 Workstation 内部原理基本一致。也就是说,利用这种攻击手法,同样可以攻击这些重要的机构。
目前为止,虽然没有大型商业银行或政府虚拟化软件被攻破的案例。但是唐青昊用行动证明了,黑客并非没有能力做这件事。所有的安全也许都是脆弱的假象。
【唐青昊(左)和团队成员应鑫磊(右)在比赛中】
惊险一幕:首次攻击失败
唐青昊告诉雷锋网(公众号:雷锋网),在比赛之前,他并不知道比赛将使用怎样的硬件设备。所以在之前的所有调试中,他的进攻程序都是在 PC 上进行调试的。而最终他得知比赛中将会使用 Surface 设备,在赛前他对雷锋网说,这样的硬件变化,可能会给程序的稳定性带来一定的影响。
果然,在第一次尝试的过程中,正当攻击程序在后台东奔西突的瞬间,虚拟机程序突然崩溃。
在这种情况下,根本没有可能在短时间内调整代码,只能相信自己第二次的运气。
唐青昊说。
第二次尝试马上开始了。让人欣喜的是,只用了二十秒左右,这台 Surface 的屏幕上就弹出了标志性的计算器程序,这意味着唐青昊已经突破了虚拟机,拿到了宿主机权限。
【通过Workstation 攻击,在 Surface 设备的 Windows 系统中弹出计算器】
15万美金奖金,为比赛之最
其实,在今年三月举行的 Pwn2Own 黑客大赛上,唐青昊就曾经想要带领团队冲击对 VMware 的破解,但是最终由于技术的成熟度欠缺,而在最后关头被迫放弃挑战。八个月之后,他的心愿终于得以实现。
唐青昊告诉雷锋网,之前他放弃的 Pwn2Own 比赛奖金是 7.5万美元,而在 PwnFest 上,奖金直接翻倍,达到了15万美元。即使是在本届 PwnFest的所有项目中比较,VMware Workstation 的奖金数额都是最高的。
唐青昊解释了虚拟化漏洞如此值钱的原因:
VMware 软件的漏洞总体数量比较少,而且要求技战术水平高,比较考验黑客的功力和研究积累。相比 Windows 动辄几个G的体量,VMware 旗下大多软件的体量都在500M左右,因为代码少,功能简单,所以整体安全性会好一些。这就是 VMware 漏洞值钱的原因。
经过了一个小时左右和VMware技术人员的“闭门交流”,最终 VMware 确认这次攻击确实有效,表示会尽快修复这个漏洞。而唐青昊也成功为自己的身价增加了十五万美元。
由于虚拟机营建的赛博世界极其复杂,雷锋网没有办法在此文进一步展开介绍在0和1的世界精妙绝伦的进攻过程。如果你对这二十秒中,在赛博世界究竟发生了什么依然好奇,那么你一定要阅读雷锋网对唐青昊的专访:《人物志 | 360唐青昊:虚拟世界的越狱者》