Pwn2Own是全球最著名、奖金最丰厚的黑客大赛,由美国五角大楼入侵防护系统供应商TippingPoint赞助。近日Pwn2Own 2015公布全新的比赛规则,本届赛事难度超高、史无前例,包括VUPEN等赫赫有名的黑客团队也望而却步。

Pwn2Own以IE、Chrome、Safari、Firefox等浏览器作为主要攻击目标,参赛黑客需要发现并攻破上述软件漏洞,完全控制操作系统。
2015年的Pwn2Own将于3月18日在加拿大温哥华开幕,而在本届比赛上攻破IE也被视为几乎不可能完成的任务,其难度堪比“射击手蒙上双眼打移动
靶”。

作为Pwn2Own比赛历史上的最大赢家、首个公开攻破Chrome的顶级黑客团队VUPEN已经宣布放弃。VUPEN创始人Chaouki
Bekrar公开表示:“2015年的Pwn2Own你在逗我吗:削减了奖金,却增大了难度(64位、EMET、增强沙箱保护、禁止注销/重启等)。还是
坐等2016的比赛吧……”


图:VUPEN创始人Chaouki Bekrar吐槽Pwn2Own 2015

Pwn2Own
2015为什么会引发Vupen团队吐槽呢?据了解,2014年Pwn2Own上攻破默认配置的IE就可以获奖;如果能再攻破开启EMET、开启增强沙箱
保护、启用64位进程等最高级别保护的IE浏览器,则可以拿到15万美元的“独角兽”(Unicorn)大奖。而在2014年,全世界没有任何一家黑客团
队擒获这只“独角兽”。

所谓“独角兽”,就是传说中存在、但没有人见过的神兽。Pwn2Own以“独角兽”作为奖项名称,形容比赛难度之高达到无人能够染指的程度,然而2015年的Pwn2Own比赛难度更远远超过2014年的“独角兽”!

有安全专家透露,若黑客想在Pwn2Own 2015上攻破IE浏览器,需要面对的是以下五大难关:

一、 微软漏洞防御软件EMET的最新版本对目标软件进行保护。

EMET是微软推出的一款漏洞防护软件,专门针对应用程序的未知漏洞进行防护,能够使大多数漏洞攻击手段失效。如果IE有了EMET保护,即使黑客发现IE的最新漏洞,其漏洞利用难度也会大幅增加;

二、 IE开启了默认并不打开的增强沙箱保护(EPM, Enhanced Protected Mode)。

增强沙箱保护是微软从Windows8操作系统开始引入了一项针对Metro
App和IE浏览器的全新安全防护机制。与Windows7时代的IE浏览器沙箱相比,该增强沙箱保护机制的限制严格得多,更难以被突破。由于该安全机制
太过严格,存在不少兼容性问题,因此在IE浏览器里,这项功能默认是不开启的。

三、 IE开启了“针对增强保护模式启用64位进程”选项。

由于严重的兼容性问题,64位IE进程也是一个IE浏览器默认不开启的选项。

在默认配置下,IE浏览器即使是运行在64位操作系统上,其浏览器渲染进程也是运行在32位上的(为保证兼容性)。但开启了这个选项后,IE的渲染进程将使用64位进程模式运行。

64位进程拥有巨大的内存地址空间,如此巨大的地址空间使得Windows8.1的高熵随机性得以充分发挥,这样会导致针对64位进程的漏洞利用变得非常困难。

能针对64位进程进行攻击的安全漏洞是非常稀有的、百里挑一的。

四、 新增隔离堆、延迟释放、CFG等微软新的安全机制。

从2014年6月起,微软在IE浏览器中引入了两项新的安全机制:隔离堆和延迟释放,这两项机制使得能够在IE浏览器上成功运行的UAF漏洞(释放后重
用)变得非常稀有,而此前在IE浏览器上很容易挖掘到可以利用的UAF漏洞。在国内外各大安全会议上,目前还没有人提出完美攻破上述安全机制的技术思路。

仅这两项安全机制改动,就使得2015年的目标变得比去年同样的IE目标难度高了一个数量级。

此外,今年微软还把Windows10中开启的CFG(执行流保护)机制也在Windows8.1中开启,这项功能也在64位系统上将漏洞利用的难度大大
增加。此项功能的引入还导致64位进程的地址控件从16TB增加到了256TB,使得地址随机性提升,也是增加了漏洞利用的难度。

五、 禁止重启、注销系统。

本次比赛中,主办方禁止选手通过重启、注销等方式实现攻击,攻击必须在访问网页后立即完成,不能经过任何用户交互(哪怕是真实世界中合理存在的交互),这增大了绕过的难度。

通常针对沙箱的绕过如果可以绕过沙箱的一些接口来操作文件、注册表,攻击者可能通过将恶意程序放到启动项中,等待用户注销或重启后,完成攻击。而此次比赛
禁止使用这种方式,无疑加大了沙箱攻击的难度,参赛黑客必须找到一个能够立即生效的沙箱漏洞或Windows内核漏洞,才能完成攻击。

在上述五大难关中,突破前三关已经达到Pwn2Own
2014的“独角兽”大奖标准,去年就无人攻破此目标,今年更是难上加难,连NSA(美国国家安全局)都要向其买漏洞的VUPEN也知难而退。如果IE在
此次大赛上被攻破,那么绝对称得上是黑客神话。究竟结果如何,就让我们期待Pwn2Own 2015的到来吧。

From http://digi.163.com/15/0312/10/AKGHJJNH001618JV.html

挑战黑客极限:Pwn2Own 2015成史上“最难”黑客大赛的更多相关文章

  1. 史上最难的一道Java面试题 (分析篇)

    博客园 匠心零度 转载请注明原创出处,谢谢! 无意中了解到如下题目,觉得蛮好. 题目如下: public class TestSync2 implements Runnable { int b = 1 ...

  2. 史上最难PHPer笔试题,40分就能月薪过万!附答案

    请批判性的学习,欢迎大牛指正错误 1.有关PHP字符串的说法,不对的是:A.如果一个脚本的编码是 ISO-8859-1,则其中的字符串也会被编码为 ISO-8859-1.B.PHP的字符串在内部是字节 ...

  3. iOS基础 - 史上最难游戏

    步骤一:隐藏状态栏 步骤二:屏幕适配 步骤三:设置窗口的根控制器为导航控制器,并且设置导航条和状态栏. 步骤四:搭建设置界面 步骤五:控制器连线 步骤六:搭建关卡控制器 加载pilst文件 创建关卡模 ...

  4. 如何修改int的打印内容——史上最难的JAVA面试题

    序 今天看到了一个比较特别的面试题,考察的是如何改变int的System.out.print的结果.题目如下: 下面的一句话"这是初级java实习生面试题"非常挑衅的激起了大家做题 ...

  5. 一步一步带你安装史上最难安装的 vim 插件 —— YouCompleteMe

    YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.参考: https://github ...

  6. 一步一步带你安装史上最难安装的 vim 插件

    YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.参考: https://github ...

  7. (Hive)史上最难解析的json字符串解析出来了!!

    首先说下解析的数据如下: {"username":"king","actionInfo":{"id":1,"a ...

  8. 【腾讯Bugly干货分享】OCS——史上最疯狂的iOS动态化方案

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/zctwM2Wf8c6_sxT_0yZvXg 导语 在 ...

  9. 史上最详细“截图”搭建Hexo博客——For Windows

    http://angelen.me/2015/01/23/2015-01-23-%E5%8F%B2%E4%B8%8A%E6%9C%80%E8%AF%A6%E7%BB%86%E2%80%9C%E6%88 ...

随机推荐

  1. REST API 支持方式

    1.JSONPlaceholder 是一个提供免费的在线 REST API 的网站,我们在开发时可以使用它提供的 url 地址测试下网络请求以及请求参数.或者当我们程序需要获取一些假数据.假图片时也可 ...

  2. keil中的memory model

    这两天仿真遇到的怪事真的是一大堆. 还是读写Flash的代码.keil编译OK,但是仿真就是莫名其妙地挂掉出现一些乱七八糟的事情. 后面发现是keil 中的memory model勾选错了,勾选的是l ...

  3. Mybatis 源码分析之一二级缓存

    一级缓存 其实关于 Mybatis 的一级缓存是比较抽象的,并没有什么特别的配置,都是在代码中体现出来的. 当调用 Configuration 的 newExecutor 方法来创建 executor ...

  4. 第10天-JavaScript正则表达式

    正则有什么用 给定的字符串是否符合正则表达式的过滤逻辑 通过正则表达式,从字符串中获取我们想要的特定部分 替换字符串满足正则表达式的字符 例如:验证邮箱.手机号.银行卡.采集器(爬虫).中奖信息133 ...

  5. Python协程(下)

    停止子线程 如果一切正常,那么上面的例子很完美.可是,需要停止程序,直接ctrl+c,会抛出KeyboardInterrupt错误,我们修改一下主循环: try: while True: task = ...

  6. Redis学习篇(二)之Hash类型及其操作

    HSET 作用: 将哈希表key中的域field设置成指定的value 语法:HSET key field value HSET userinfo name 'zhangsan' HSET useri ...

  7. Eigen学习笔记2:C++矩阵运算库Eigen介绍

    Eigen常规矩阵定义 1.使用 Eigen的使用在官网上有详细的介绍,这里对我学习过程中用到的基本操作进行介绍.首先是矩阵的定义.在矩阵类的模板参数共有6个.一般情况下我们只需要关注前三个参数即可. ...

  8. [BZOJ3143][HNOI2013]游走(期望+高斯消元)

    3143: [Hnoi2013]游走 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3576  Solved: 1608[Submit][Status ...

  9. 【最小表示法】BZOJ2176-Strange string(unsigned char!!!)

    [题目大意] 给定一个字符串S = {S1, S2, S3 … Sn}, 如果在串SS中, 子串T(|T| = n)为所有长度为n的SS的字串中最小的(字符串的比较), 则称T为”奇怪的字串”. 你的 ...

  10. Java编程思想学习(五)----第5章:初始化与清理

    随着计算机革命的发展,“不安全”的编程方式已逐渐成为编程代价高昂的主因之一. C++引入了构造嚣(constructor)的概念,这是一个在创建对象时被自动调用的特殊方法.Java中也采用了构造器,并 ...