北京时间 2015 年 3 月 19 日,第九届 Pwn2Own 黑客大赛在加拿大温哥华拉开帷幕。由于 6 个比赛项目中 IE、Adobe Flash、Adobe Reader 的难度大幅提升,被媒体冠以“史上最难的一次黑客大赛”的称号。开赛仅 6 小时,中国安全研究团队 Keen Team 率先攻破 Adobe Flash 并取得系统最高权限,紧接着拿下 Adobe Reader 同样取得了系统最高权限,实现在该项赛事上的三连冠。这也是 Keen Team 三年来夺得的第五个冠军。
4 月 23 号,Keen Team 攻破 Adobe Flash 的主攻手 Peter Hlavaty 带着《代码保护 [案例:内核]》登上了 QCon2015(北京) 全球软件开发者大会的讲台,以下是我们对 Peter 和 Keen Team 参加 Pwn2Own 的采访。
InfoQ: Keen Team 何时萌生参加 Pwn2Own 这个想法?为什么没有选择其他黑客大赛?
KeenTeam:2013 年我们第一次参加了在东京举行的 Mobile Pwn2Own 2013 ,主要是展示自己的研究实力、将年轻研究员推向世界。选择 Pwn2Own 因为它的历史和地位都是业界第一。
InfoQ:参加 Pwn2Own 的流程大概是怎样的?亚洲团队在 Pwn2Own 上的整体表现如何?
KeenTeam:需要先在官网注册报名,缴纳每人上万元注册费。Pwn2Own 以 Chrome、IE、Safari、Firefox 等常见浏览器以及 IE 的 Flash 和 PDF 插件作为主要攻击目标。
今年的奖金如下:
Google Chrome: 7.5 万美元
Microsoft IE 11:6.5 万美元
Adobe Reader(运行于 IE11 环境):6 万美元
Adobe Flash(运行于 IE11 环境):6 万美元
Mozilla Firefox:3 万美元本届同项目的不同队伍根据抽签决定上场顺序,只有首先攻破的才能获得 Full Prize,第二个攻破的只能获得 Half Prize,如果获得 Windows 下的系统权限,还可以额外获得 2.5 万美元奖金[注]。
在 Pwn2Own2015 之前,除了 Keen Team 没有其他亚洲团队参赛。今年有三支亚洲队伍参赛,分别是 Keen Team、360Vulcan、以及以个人身份参赛的韩国人。其中,Keen Team 分别攻破 Flash 和 Adobe Reader 及 2 个系统权限,获得总计 14 万美元奖金;360Vulcan 攻破 IE 获得 3.5 万美元奖金,韩国人 Jung Hoon Lee 攻破了 Chrome 及系统权限、IE、Safari,获得总计 22.5 万美元奖金。在此前的 2 届 Pwn2Own 中,Keen Team 共获得 3 个冠军,加上本届比赛一共 5 次夺魁。
InfoQ:历年大赛中爆出的漏洞最后会流向哪里?厂商对这类漏洞的态度一般是怎样的?能举例说明一下吗?
KeenTeam:漏洞会在现场提交给相关厂商,厂商会在最快时间内处理漏洞并修复,保护广大用户利益。根据厂商内部的工作流程,最快的在一个月内就能处理完毕,比如本次 PwnOwn 上爆出的 Adobe Flash 漏洞。在厂商发布漏洞补丁之前,所有相关信息都会严格保密。
InfoQ:历届 Pwn2Own 获奖名单中个人身份占据了一半,这个现象很有意思。为什么会这样?
KeenTeam:Pwn2Own 是对同目标的比拼而非像 CTF 一样对抗的性质,个人参赛者可以凭借资深的积累和钻研找到攻破的方案。但是随着 Pwn2Own 比赛规则的变化,团队协作无疑有其很大的优势。
InfoQ:2012 年规则的改变造成 Charlie Miller 退赛,2015 年规则再变 Chaouki Bekrar 退赛,Keen Team 是如何看待和应对规则变化的?
KeenTeam:Pwn2Own 比赛整体趋势是越来越难的,规则的变化会带来准备的难度。要做的就是根据比赛规则的变化,调整准备方案。
InfoQ:从历年来的比赛项目来看分了 3 个层级,操作系统 / 手机操作系统(Windows、Mac OS、Ubuntu/BlackberryOS、Symbian、Windows Phone、iOS、Android)、浏览器(Internet Explorer、Chrome、Firefox、Safari)、浏览器插件(Quicktime、Flash、Adobe Reader)。从技术层面来说,哪个层级的产品更容易攻破?能简单描述一下各个比赛项目的区别吗?
KeenTeam:Pwn2Own 以 Chrome、IE、Safari、Firefox 等常见浏览器以及 IE 的 Flash 和 PDF 插件作为主要攻击目标,参赛的黑客们通常会以参赛项目的奖金额以及获取权限的程度,也就是最后能够拿到多少奖金,来作为最终评判赛事难易度的一个可量化衡量标准。
规则规定,参赛黑客需要发现并攻破上述软件及其对应操作系统的漏洞,获胜者将会获得不同层次的奖金,攻破 Chrome 最难,获得的基础奖金最高。其次就是攻破 IE 浏览器及其 Flash 和 PDF 插件,三个目标都运行在 64 位下并且打开了 EPM :
Microsoft Internet Explorer 11 (64-bit with EPM-enabled)
Adobe Reader running in Internet Explorer 11 (64-bit with EPM-enabled)
Adobe Flash (64-bit) running in Internet Explorer 11 (64-bit with EPM-enabled)所以在 Chrome 之后,这三项的基础难度最高。Firefox 因为是上面这些挑战中唯一没有沙箱的,所以奖金最少。而在此基础上,如果参赛者攻破底层操作系统获得系统级的更高权限,可以每个项目额外获得多达 2.5 万美元的奖金。
InfoQ:Peter Hlavaty 是怎样加入 Keen Team 的?Keen Team 的目前的组织架构是怎样的?
Peter:去年我在 Syscan 会议上碰到了 Keen 的 Samuel 和 Daniel。之前我在 Pwn2Own 上听到 Keen Team 时,以为这只是几个人组成的小团队。经过交谈,我才发现原来他们是一个公司!而且他们的思考方式、工作目标以及研究的方向都是我多年以来追求的。对我来说,这是一个很好的机会。我和我的太太 Julia 热爱和练习中国武术已经有很多年。在过去三年里我们每年都来中国旅游一个月,了解中国文化,并学习武术。Keen 团队的工作地点在上海,而我们很喜欢的一个武术运动员彭傲枫(他现在是我们的师傅!)也是在上海。
…就这样,我们来到了这里。现在我在这个出色的团队里工作,参加各种非常好的培训,享受这里精彩的生活。
InfoQ:Peter Hlavaty 能谈谈你的 DBI framework for fuzzing 和 Mini Hyper Visor 这两个项目吗?
Peter:DBI Fuzz Framework 主要基于虚拟化技术,可以在对用户模式应用程序以及内核模式驱动程序进行模糊测试时提供追踪功能。这个框架与其他类似技术不一样的地方在于它不采用侵入性的方法来追踪代码,因此不会影响目标的运行状态。此外,这个框架可以对感兴趣的地方进行回调,而且具备在分页表的级别上对内存进行操作的能力。
InfoQ:本次参加 QCon2015 北京站的演讲主题是内核代码保护,能简单解释下为什么选择这样一个话题吗?
Peter:内核是操作系统最关键的部分。内核代码的一个 bug 可以突破所有防护机制并控制整个系统。众所周知,内核的开发人员一般都是顶级程序员,但是即使是顶级程序员有时候也可能缺少对安全的理解和经验。通过介绍内核编程的安全性,我们希望可以为未来的内核开发提供安全保护。
感谢崔康对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。
评论