CVE-2017-7047 Triple_Fetch漏洞与利用技术分析


by Liang Chen (@chenliang0817)

昨天Google Project Zero的Ian Beer发布了CVE-2017-7047的漏洞细节,以及一个叫Triple_Fetch的漏洞利用app,可以拿到所有10.3.2及以下版本的用户态Root+无沙盒权限,昨天我看了一下这个漏洞和利用的细节,总得来说整个利用思路还是非常精妙的。我决定写这篇文章,旨在尽可能地记录下Triple_Fetch以及CVE-2017-7047的每一个精彩的细节。

CVE-2017-7047漏洞成因与细节

这是个libxpc底层实现的漏洞。我们知道,其实libxpc是在macOS/iOS的mach_msg基础上做了一层封装,使得以前一些因为使用或开发MIG接口的过程中因为对MIG接口细节不熟悉导致的漏洞变得越来越少。有关MIG相关的内容可以参考我以前的文章http://keenlab.tencent.com/en/2016/07/22/WindowServer-The-privilege-chameleon-on-macOS-Part-1/ ,这里不再详细叙述。
XPC自己实现了一套类似于CFObject/OSObject形式的对象库,对应的数据结构为OS_xpc_xxx(例如OS_xpc_dictionary, OS_xpc_data等),当客户端通过XPC发送数据时,_xpc_serializer_pack函数会被调用,将要发送的OS_xpc_xxx对象序列化成binary形式。注意到,如果发送的数据中存在OS_xpc_data对象(可以是作为OS_xpc_array或者OS_xpc_dictionary等容器类的元素)时,对应的serialize函数_xpc_data_serialize会进行判断:

更多...

最新研究成果:2017,再一次实现对特斯拉的无物理接触远程攻击


by 腾讯科恩实验室

继2016年利用特斯拉多个高危安全漏洞实现对特斯拉的无物理接触远程攻击,腾讯科恩实验室2017年再次发现多个高危安全漏洞并实现了对特斯拉的无物理接触远程攻击,能够在驻车模式和行驶模式下对特斯拉进行任意远程操控。

2017年的特斯拉研究,有几大技术亮点。第一,实现了和2016年一样的完整攻击效果,最终入侵特斯拉车电网络实现任意远程操控。第二,本次研究中在特斯拉多个模块发现0Day,目前科恩实验室正在和特斯拉及相关厂商协商漏洞的国际CVE编号。第三,特斯拉为了提升车辆安全性,在2016年9月增加了“代码签名”安全机制,对所有FOTA升级固件进行强制完整性校验,本次研究突破了该“代码签名”机制。第四,本次研究展示中的“特斯拉灯光秀”效果,涉及对特斯拉多个ECU的远程协同操控,体现了科恩实验室对车电网络中各ECU模块的安全研究能力。

2017年6月底,科恩实验室已经按照“负责任的漏洞披露”流程,将本轮研究中发现的所有安全漏洞技术细节报告给特斯拉美国产品安全团队。特斯拉产品安全团队快速确认了漏洞有效性和危害,并于7月初进行了快速修复并通过FOTA推送了升级系统固件。本次研究中发现的问题影响特斯拉多款已售和在售车型,根据特斯拉安全团队的报告,目前全球范围内绝大部分特斯拉车辆已经通过FOTA成功升级系统固件,确保了特斯拉用户的行车安全。我们再次感谢特斯拉安全团队的快速响应和快速修复。

科恩实验室提醒特斯拉车主,请确认您的爱车已经升级到8.1 (17.26.0)或以上版本。如果现有版本低于该版本,请尽快升级,确保安全漏洞得到及时修复,避免行车安全问题。

本次研究可以实现的无物理接触远程控制效果,请参考以下视频。科恩实验室提醒,本视频中展示的实验结果为专业研究行为,请勿模仿。在此也感谢腾讯汽车对这次效果展示的大力协助。

科恩实验室:对小米九号平衡车的无接触式攻击


by 腾讯科恩实验室

漏洞简介

通过组合多个漏洞,攻击者可以在不接触小米平衡车的情况下,远程重置平衡车蓝牙连接密码,并通过刷写固件的方式实现对平衡车的远程控制,严重情况下可能带来平衡车使用者的人身安全危害(例如绕过平衡车上站人的检测逻辑,在有人驾驶平衡车的情况下仍然对车实施远程控制)。

漏洞修复

2016.10 科恩实验室研究员发现此漏洞
2016.11.01 漏洞研究报告与PoC代码提交给小米安全中心
2016.11.01 小米安全中心响应该漏洞并展开修复流程
2016.11.30 小米安全中心发布对科恩实验室的公开致谢信
2017.02.05 遵循业界负责任的漏洞披露流程,与厂商沟通研究成果对外公布流程
2017.04.05 漏洞演示视频对外公开

漏洞演示

技术白皮书

点击下载白皮书《针对小米九号平衡车的无接触式攻击》

Racing for everyone: descriptor describes TOCTOU in Apple's core


by Qidan He (@flanker_hqd)

这篇文章是关于我们在苹果内核IOKit驱动中找到的一类新攻击面。之前写了个IDA脚本做了个简单扫描,发现了至少四个驱动都存在这类问题并报告给了苹果,苹果分配了3个CVE(CVE-2016-7620/4/5), 见 https://support.apple.com/kb/HT207423。 后来我和苹果的安全工程师聊天,他们告诉我他们根据这个pattern修复了十多个漏洞,包括iOS内核中多个可以利用的漏洞。

为了能更清楚地描述这类新漏洞,我们先来复习下IOKit的基础知识。

更多...

A Link to System Privilege


by Daniel King (@long123king)

CVE-2016-0176漏洞及利用详解

如何攻破微软的Edge浏览器

攻破微软的Edge浏览器至少需要包含两方面基本要素:浏览器层面的远程代码执行(RCE: Remote Code Execution)和浏览器沙箱绕过。 浏览器层面的远程代码执行通常通过利用Javascript脚本的漏洞完成,而浏览器的沙箱绕过则可以有多种方式,比如用户态的逻辑漏洞,以及通过内核漏洞达到本地提权(EoP: Escalation of Privilege)。

微软Edge浏览器使用的沙箱是建立在Windows操作系统的权限检查机制之上的。在Windows操作系统中,资源是可以在全系统范围内被共享的,比如一个文件或者设备可以在不同进程间被共享。由于有些资源里面包含着敏感信息,而另外一些资源的完整性则关乎系统的正常运转,如果被破坏了就会导致整个系统的崩溃。因此当一个进程在访问资源时需要进行严格的权限检查。当一个资源被打开时,主调进程的令牌信息会与目标资源的安全描述符信息进行匹配检查。权限检查由几个不同层面的子检查组成:属主身份及组身份检查,特权检查,完整性级别及可信级别检查,Capability检查等等。上一代的沙箱是基于完整性级别机制的,在沙箱里面运行的应用程序处于Low完整性级别,因此无法访问处于Medium或者更高级别的资源。微软的Edge浏览器采用的是最新一代的沙箱机制,这代沙箱是基于AppContainer的,运行在沙箱里的应用程序依然处于Low完整性级别,当它们尝试访问资源时,除了进行完整性级别检查,还需要进行Capabilities的检查,这种检查更加细腻以及个性化。关于权限检查机制的更多细节,可以参考我在ZeroNights 2015上的演讲:Did You Get Your Token?

更多...

腾讯科恩实验室最新研究成果:对特斯拉的无物理接触远程攻击


by 腾讯科恩实验室

腾讯科恩实验室经过几个月的深入研究,利用安全漏洞对特斯拉进行无物理接触远程攻击,实现了对特斯拉驻车状态和行驶状态下的远程控制。

目前,科恩实验室遵循国际业界公认的“负责任的漏洞披露”方式,已经将本次研究过程中发现的所有漏洞细节报告给特斯拉美国产品安全团队并得到了他们对漏洞技术细节和攻击效果的确认。我们感谢Chris Evans带领的特斯拉安全团队对该问题的快速响应和为修复漏洞做出的积极努力。科恩实验室正在积极配合特斯拉进行漏洞修复,确保漏洞得到尽快修复,保证特斯拉用户的行车安全。

这是全球范围内第一次通过安全漏洞成功无物理接触远程攻入特斯拉车电网络并实现对特斯拉进行任意的车身和行车控制。由于该问题影响目前特斯拉已售和在售的多款车型,科恩实验室在此提醒特斯拉车主,请尽快升级您的爱车系统到特斯拉官方发布的最新版本,确保安全漏洞得到修复,保证您的人身和车辆安全。

本次研究可以实现的无物理接触远程控制效果,请参考以下视频。科恩实验室提醒,本视频中展示的实验结果为专业研究行为,请勿模仿。