唐青昊:Marvel Team 这一年 | 黑客 2016
口述/唐青昊 应鑫磊 肖伟
没有人喜欢孤独,黑客也一样。
我毫不讳言,曾经怀疑自己选择“虚拟化漏洞挖掘”这个方向究竟是不是正确。因为这几个字,如你所见,乍一看上去似乎不知所云。而直到今天,精专这个方向的安全团队,在全世界都不超过五个。
在2015年我组建 MarvelTeam,也就是漫威团队的时候,安全世界的江湖似乎还被浏览器漏洞和系统漏洞统治。但我学到的知识总是提醒我:随着云计算的爆炸,这些坐落在云上的虚拟主机中,隐藏着巨大的风险。
而2016年,我们在全世界面前, 揭开了这些风险的面孔。
一
Pwn2Own,是世界上顶尖的黑客破解大赛。
之所以说顶尖,是因为全世界能有资格报名参赛的黑客寥寥无几。比赛的规则很简单,你需要用一条链接,从网络的另一端“百步穿杨”击溃目标系统,拿下控制权。这些目标是:Edge+Win10、Safari+MacOS、Chrome+Android、AdobeFlash 等等。
这些浏览器或者系统,几乎每一个都在全球拥有数十亿用户。任何一个可以拿下他们的致命漏洞,都价值十几万美元(黑市上的价格更高),这个数字,也恰好是Pwn2Own 对于漏洞的奖金数。没有十足的把握,不会有黑客报名Pwn2Own。因为在比赛的现场,每人只有三次攻击尝试机会。从台上走下来的时候,你要么带着无上的荣耀,要么带着无比的屈辱。
有点遗憾,这么多年来 Pwn2Own 和我都没什么关系。直到今年的 Pwn2Own,主办方做出了一些有趣的改动,悄悄增加了一个目标:VMwareWorkstation 虚拟机软件。
我在电脑屏幕前看到这个消息的时候,正是春节前两天。那时距离比赛还有三周,而报名截止是比赛前两周。虽然只有一周时间,但机会从天而降,我们没有任何理由不去试试。
之前,我们把主要的精力放在了对开源虚拟化软件(QEMU、Docker等等)的安全研究上。而对于封闭的商业虚拟化软件,包括我们在内的国际所有安全团队经验都不多。
漫威团队的十多个小伙伴,瞬间把研究方向都转向了 Workstation。在我的逼迫下,新年假期都抱着电脑工作,连放炮的动作都像是敲键盘打代码。
二
虽然之前对 VMware 有所涉猎,但是那些零星的研究根本不足以挖掘出漏洞。我们试图用其他虚拟化软件的脆弱点来套用到 VMware 上,但是都没有成功。
一周的时间,要想从零开始攻破如此复杂的系统,确实不太公平。安全研究这件事,属于科学研究的范畴。如果没有过硬的代码,即使你的意志再坚决,也无论如何都无法发起攻击。这是简单而残酷的道理。
直到报名截止,我们的研究进度还可以用惨烈来形容。团队小伙伴们独立找到三四个 Bug,但是一个 Bug需要有成熟的利用方法,才能成为漏洞。显然,我们距离目标还十分遥远。无奈,我和我的兄弟们说,这次不打了。
事实上,在三月份的比赛上,全世界范围内,甚至没有一个团队报名攻击 Workstations。
据此,也验证了我的想法:攻击 Workstation 难度不小,全球黑客的进度都不是太快。但从另一个方面来看,我隐约觉得,世界第一的位置仍然在等着我们。
【VMware Workstation】
三
和 VMware 的“梁子”就是这么结下的。
从四月到七月,团队的主要任务就是,全面摸清 VMware Workstation 的代码结构。我们用了四个月的时间,证明了之前“一周拿下VMware”的想法有多么天真。
商业软件的代码质量之高,深深震撼了我。虽然虚拟化软件的代码逻辑是相似的。但是对比开源软件的“粗制滥造”,VMware的代码简直就是艺术品。
有多变态呢?让我来告诉你。我们之前在社区虚拟化软件中找到的漏洞模式,在 VMware 中统统不存在。
面对一个封闭软件,就像走进一幢漆黑的房子。我们必须一点点摸清结构,并且试图分析出哪些是承重墙,哪个墙上有可能存在裂缝。由于代码封闭,我们必须用逆向的方式来进行代码审计。面对几百万行代码,工程量可想而知。更可怕的在于,连续几个月没有突破,团队中弥漫出一些绝望的气息。
我没办法责怪那些在最艰难的时候离开团队的人。毕竟谁都没有办法预测未来。
说到这,有必要介绍两位童鞋:肖伟和应鑫磊,他们是漫威团队的重要成员。实际上,他们非常年轻,去年在团队实习,今年才正式从学校毕业。从学校忙完毕业正式入职,已经到了七月。
先来说说肖伟。
在今年四月,肖伟作为主力发现了开源架构 QEMU中的致命漏洞:传送门。仅仅通过这一个漏洞就可以实现从虚拟机到宿主机的逃逸。这个漏洞也巩固了漫威团队在虚拟化漏洞挖掘领域的“江湖地位”。从七月开始,他加入了VMware 研究大军。
虚拟机逃逸,是一种“隔山打牛”的气功。因为我们身处虚拟机中,却要对宿主机的内存数据施加影响。所以有很多参数的变化,经常超出我们的控制范围。为了最大程度上影响宿主机的内存数据,最好的入手点就是这些被虚拟化出来的硬件。传送门漏洞,就是坐落在虚拟显卡上的漏洞。
肖伟挽起袖子,准备大干一场。他从虚拟网卡下手,没过多久就发现了一些漏洞。但是,这些漏洞虽然跳出了以往的思路,却都是拒绝服务的漏洞,不能对Workstation施行“越界读写”,也就是不能造成致命的打击。功夫不负有心人,终于,一个越界读的漏洞被他揪出来了。但是,如何利用这个漏洞,又让大家犯愁。就在大家冥思苦想漏洞利用的那几天,VMware 放出了 Workstation 的最新版更新。在最新版中,他们居然丧心病狂地修复了漏洞!也就是说,远在千里之外,他们同样发现了同样的问题。
我再一次意识到:在临近的赛道上,不仅有其他黑客团队,还有一支强大的对手——VMware 自己的工程师团队。
四
事情似乎回到了原点。
这时,轮到应鑫磊登场了。他从哈尔滨工程大学毕业加入团队时,正是今年七月。他面对的,是一些同事们发现的零星漏洞。之前的童鞋们绞尽脑汁,都没有找到对这些漏洞的利用方法。
不能被利用的漏洞,放在我们手中的意义不大,还不如尽早交给 VMware 官方,让他们尽早修复。正当我准备安排报告这个漏洞的时候。事情出现了变化。
应鑫磊在大学期间是一个 CTF“赛棍”,而 CTF比赛非常接近真实的攻击流程。入职不久,他突然发现了这个漏洞从另一个角度的利用方法,可以用来“控制程序流程”。
在攻击中,控制程序流程可以作为漏洞利用的第一步棋。如此说来,这个本来快被我们放弃的漏洞,居然成为了攻击的基石。就像一个扫地僧,突然成为了大和尚。
这个成果第一次给了我们几个月来久违的兴奋感,所有的成员都被打了一针鸡血,尤其是应鑫磊本人。
转眼到了九月,应鑫磊正在接受每个 360 新同事都要参加的“飞扬训练营”培训。这个培训接近一个月。应鑫磊白天参加培训,晚上还在不断地尝试调优漏洞代码。
他说,直觉告诉他第二个漏洞就隐藏在这一段代码中,但是无论如何总是摸不到。那段日子,他经常调代码到早晨七点,而九点钟训练营又开始了。训练营最后一天结束后,他终于顶不住了,向我申请休息一下。
而就在休假回来的第一天,一扇华丽的大门被应鑫磊“重炮轰开”!
利用这个漏洞,我们可以做到“越界读”宿主机的内存片段。这样,VMware Workstation 这个黑屋子的“墙缝”第一次清晰地展示在我们面前。
我们需要做的全部,就是构建一个足够特殊的内存布局,让核心的信息泄露出来。然后利用这些核心信息,完成致命一击。
这个时候,我们得知,在十一月初举办的 PwnFest 破解大赛上,Workstation 同样是目标项目之一。我似乎已经可以看到 VMwareWorkstation 被全球首次攻破的场景。站在机器后面的人,是我们。
这场比赛,我们决不能再次错过。
【唐青昊(左)和肖伟(右)】
五
一直到十月底,应鑫磊的全部任务都集中在攻击方法的尝试上。
正如我之前所说,虚拟机攻击是“气功”,需要隔着虚拟机软件精准地打击到背后的 Windows。由于我们的攻击方法和内存堆利用相关,而 Windows的堆算法非常复杂,往往环境发生了微小的变化,结果就完全不同。这种情况下,泄露出来的信息就不是我们需要的核心信息。这就像面对一列快速驶过的列车,要在最精准的时间窗口跳上车门,哪怕差一点都会粉身碎骨。
十一假期刚过,应鑫磊一边开着调试器,一边调试代码。他突然发出惊呼,成了!
没错,我们击穿了 VMware 的所有防护,拿到了宿主机的权限。这是我们第一次攻击成功。这意味着,黑客可以从 VMware营造的虚拟世界中觉醒,像上帝一样控制这台虚拟机中的一切。
但是,这种攻击方法的成功率只有 10%-20%,也就是说,十次跳上火车的尝试,有九次都会粉身碎骨。而真正的比赛中,我们只有三次尝试的机会。
事实上,这个时候肖伟也有新的进展,他发现了一个新的漏洞。以我们的直觉来看,这个漏洞质量极高,但是更容易被发现。而我知道在 PwnFest上,除了我们还有一位黑客报名,那就是著名的韩国黑客神童Lokihardt。如果我们使用了同样的漏洞,那么只有先登场的人才会被判定为成功。我们决定暂时不用这个漏洞,专心打磨应鑫磊的漏洞。
应鑫磊发疯一般地调优这套攻击方法,在回家的路上也拽着肖伟讨论如何提高攻击的成功率。
直到比赛前几天。我们的攻击程序在 Surface(比赛指定设备)上的试验成功率达到了40%,在 PC上的成功率达到了30%。这个成绩我并不满意,但是当应鑫磊建议是否要加个新功能进去的时候,我还是拒绝了。
比赛时我们有三次机会,从数学的角度上来说,我们攻击的成功率接近 100%。我不准备再冒险了。
【唐青昊(左一)和应鑫磊(后排)】
六
11月10号,韩国首尔,PwnFest 大赛现场,我和应鑫磊站在了比赛台上。
这个项目,有两组黑客报名。我们和韩国黑客神童 Lokihardt。Loki在韩国拥有众多粉丝,每次他站在台上的时候,台下都会有众多迷妹拍照欢呼。经过抽签,我们先来进行攻击。此刻我们站在台上,观众寥寥无几。
但我没工夫顾及这些。我内心十分清楚,每次攻击成功的概率只有不到一半。而比赛用的电脑环境一定和我们实验的环境有微小差别。这个微小的差别会对成功率造成多大的影响,我根本不知道。
就像一个并不是信心十足的走钢丝杂技演员,突然换了一个全新的舞台和钢索。你无法想象会发生什么。说到底,我们能做的已经都做了,现在看来成功与否是一个概率问题。不知为何,我反倒有种失败的坦然。
比赛全过程,我们不能碰这台电脑。我们的攻击程序需要自动完成一切。
裁判启动了我们的攻击程序,一行行命令闪现。十秒过后,信息返回。出现在我们眼前的,是我们构建的输入信息“313131...”,而不是我们期待的核心内存信息。
我对裁判说,失败了。让我们尝试第二次吧。
那时的心情,就是没有心情。我没办法设想后果,“尽人事听天命”是我们唯一的选择。
第二次攻击启动。时间一秒一秒过去。直到 Windows 系统弹出计算器的一瞬间。我知道:成了!我们通过一条指令拿下了系统的控制权。
团队整整一年的努力,在这十秒内凝聚成“洪荒之力”。这种感觉,大概就是幸福。
根据比赛规则,我们要到“小黑屋”里,把攻击代码和漏洞位置提交给 VMware的工作人员。虽然在小黑屋里,复现这次攻击并不重要。但事实上我们试了十多次,甚至重启了一次电脑才成功复现这次攻击。我才意识到刚才的比赛中上帝确实非常眷顾我们。
【应鑫磊(左)和唐青昊(右)】
七
有关这次比赛,还有一个不大不小的故事。
后于我们登场的 Lokihardt,在第一次尝试中就顺利完成了攻击。而直到四天之后,我们已经回到了北京,几乎 WMware全系列产品收到了来自官方的升级补丁。在这个补丁的描述中,我们才得知,Loki 居然和我们用了同样的漏洞。根据我的了解,他的攻击程序做得更稳定,攻击成功率超过90%。
也就是说,很可能 Loki 也找到了那个更容易找到的漏洞,而为了防止“撞洞”,他也选择了使用难的这个。而所有的“越界读写”,Loki全用一个漏洞完成,不得不说他做得更漂亮。
现在,也许我们彼此都知道对方的手上还有一些“存货”。2017年各路黑客在 VMware 上免不了有一场混战。
成为全球第一个攻破 VMware 的黑客,确实很让人骄傲。 但明年我们的最大目标不再是VMware,而是微软的虚拟化神器“HyperV”。因为从明年开始,所有的Edge浏览器都将跑在 HyperV 虚拟机模块里。这为攻击 Edge增加了巨大的难度。
当然从另一个角度来看,这意味着,“虚拟化漏洞”这个并不性感的名字,已经开始影响每一个普通人的生活。
2016年很快就过去了。整整一年,我们似乎都在和那几个漏洞死磕。我很庆幸我们的团队并不是一无所获。相反,我们得到的东西超过我的预期。我们用自己的好奇心接近了真相,说不准,这些真相有朝一日可以拯救世界。
【Marvel Team 全家福】
更多黑客故事,欢迎关注宅客频道(微信搜索:宅客频道)。你想了解哪位黑客大神,欢迎在宅客频道中留言。
推荐系统
电脑公司Ghost Win8.1 x32 精选纯净版2022年7月(免激活) ISO镜像高速下载
语言:中文版系统大小:2.98GB系统类型:Win8电脑公司Ghost Win8.1x32位纯净版V2022年7月版本集成了自2022流行的各种硬件驱动,首次进入系统即全部硬件已安装完毕。电脑公司Ghost Win8.1x32位纯净版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,精心挑选的系统维护工具,加上绿茶独有
微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载
语言:中文版系统大小:5.13GB系统类型:Win11微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Win11 64位 Office办公版(免费)优化 1、保留 Edge浏览器。 2、隐藏“操作中心”托盘图标。 3、保留常用组件(微软商店,计算器,图片查看器等)。 5、关闭天气资讯。
Win11 21H2 官方正式版下载_Win11 21H2最新系统免激活下载
语言:中文版系统大小:4.75GB系统类型:Win11Ghost Win11 21H2是微软在系统方面技术积累雄厚深耕多年,Ghost Win11 21H2系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Ghost Win11 21H2是微软最新发布的KB5019961补丁升级而来的最新版的21H2系统,以Windows 11 21H2 22000 1219 专业版为基础进行优化,保持原汁原味,系统流畅稳定,保留常用组件
windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载
语言:中文版系统大小:5.31GB系统类型:Win11windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载,微软win11发布快大半年了,其中做了很多次补丁和修复一些BUG,比之前的版本有一些功能上的调整,目前已经升级到最新版本的镜像系统,并且优化了自动激活,永久使用。windows11中文版镜像国内镜像下载地址微软windows11正式版镜像 介绍:1、对函数算法进行了一定程度的简化和优化
微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载
语言:中文版系统大小:5.31GB系统类型:Win11微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载,微软2022年正式推出了win11系统,很多人迫不及待的要体验,本站提供了最新版的微软Windows11正式版系统下载,微软windows11正式版镜像 是一款功能超级强大的装机系统,是微软方面全新推出的装机系统,这款系统可以通过pe直接的完成安装,对此系统感兴趣,想要使用的用户们就快来下载
微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件
语言:中文版系统大小:0MB系统类型:Win11微软Ghost win11 正式版镜像文件是一款由微软方面推出的优秀全新装机系统,这款系统的新功能非常多,用户们能够在这里体验到最富有人性化的设计等,且全新的柔软界面,看起来非常的舒服~微软Ghost win11 正式版镜像文件介绍:1、与各种硬件设备兼容。 更好地完成用户安装并有效地使用。2、稳定使用蓝屏,系统不再兼容,更能享受无缝的系统服务。3、为
雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载
语言:中文版系统大小:4.75GB系统类型:雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的雨林木风品牌,其系统口碑得到许多人认可,积累了广大的用户群体,雨林木风是一款稳定流畅的系统,一直以来都以用户为中心,是由雨林木风团队推出的Windows11国内镜像版,基于国内用户的习惯,做了系统性能的优化,采用了新的系统
雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO
语言:中文版系统大小:5.91GB系统类型:Win7雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO在系统方面技术积累雄厚深耕多年,加固了系统安全策略,雨林木风win7旗舰版系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。win7 32位旗舰装机版 v2019 05能够帮助用户们进行系统的一键安装、快速装机等,系统中的内容全面,能够为广大用户
相关文章
- 右下角系统托盘中的基本图标不见了怎么办
- 九种破解XP登录密码方法
- BlindSide攻击使用推测执行绕过ASLR
- 常见的几种web攻击的防范办法 web常见攻击方式
- 智能手表真的有市场吗?
- xp系统中右键计算机点击"管理"为什么无法打开?
- Ubunt如何安装网络打印机的详细图文步骤
- win10 ie浏览器停止工作问题解决方法
- TrickBot改进其银行木马模块
- 盘点:2019年十大数据泄露事件
- 无人机如何才能飞得更高更远?
- 微软正式收购网络安全公司RiskIQ,传交易额超5亿美元
- 网络安全产业大有可为
- 为什么网页总是弹广告 DNS被运营商劫持?
- 网络打印机脱机状态怎么解除 网络打印机脱机状态解除方法
- 鹦鹉用 Echo 购物成功?浙大“海豚攻击”不服
- 电脑管家如何深度加速?
- 解析edikid
热门系统
- 1华硕笔记本&台式机专用系统 GhostWin7 32位正式旗舰版2018年8月(32位)ISO镜像下载
- 2深度技术 Windows 10 x86 企业版 电脑城装机版2018年10月(32位) ISO镜像免费下载
- 3电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版2020年10月(32位) ISO镜像快速下载
- 4深度技术 Windows 10 x86 企业版 六一节 电脑城装机版 版本1903 2022年6月(32位) ISO镜像免费下载
- 5雨林木风 Ghost Win7 SP1 装机版 2020年4月(32位) 提供下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版2021年1月(64位) 高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年10月(64位) ISO镜像免费下载
- 8新萝卜家园 GhostWin7 SP1 最新电脑城极速装机版2018年8月(32位)ISO镜像下载
- 9电脑公司Ghost Win8.1 x32 精选纯净版2022年5月(免激活) ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X32 最新纯净版2018年05(自动激活) ISO镜像免费下载
热门文章
常用系统
- 1番茄花园 Windows 10 官方企业版 2020年5月(64位) ISO高速下载
- 2雨林木风 GHOST WIN10 X64 装机专业版 V2017.12 下载
- 3电脑公司 GHOST XP SP3 电脑城装机版 V2018.12 下载
- 4微软Win11ARM预览版下载-微软Win11ARM预览版 v2023下载
- 5技术员联盟XP永久激活版下载_技术员联盟Windows XP SP3稳定专业版下载V2023.06
- 6老机专用Win11系统镜像_老机专用Win11 Ghost镜像下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年1月(64位) ISO镜像免费下载
- 8电脑公司 GHOST WIN10 X64 稳定装机版 V2019.11 下载
- 9深度操作系统 deepin 23 预览版下载安装
- 10Win10游戏专用系统2020_Win10游戏优化版64位下载免费版V2021.01