首页
社区
课程
招聘
[翻译] 攻击TrustZone系列(Pt.1) -- 以用户权限在TrustZone内核中执行任意代码的流程简介
发表于: 2017-9-17 10:16 7463

[翻译] 攻击TrustZone系列(Pt.1) -- 以用户权限在TrustZone内核中执行任意代码的流程简介

2017-9-17 10:16
7463
译者引言:
TrustZone是ARM架构的安全解决方案,问世已经很多年了,在比较新的ARM cortex-A 系列中基本都存在。现在的几乎所有的手机平板用的都是 Cortex-A 系列芯片。随着 IoT 的到来,2017年,新的ARM cortex-M 也加入了 TrustZone

至于攻击TrustZone后果有多严重,我们举个例子,苹果手机的指纹认证以及支付功能使用的都是TrustZone,现在的假设是,即使你的手机上有病毒,甚至于那个病毒可以在你手机的Linux内核里执行任意代码,如果TrustZone没有漏洞,TrustZone里的东西依然是安全的。如果我们能在TrustZone里执行任意代码,这手机的一切认证支付功能都将面临危险。你的所有信息对于攻击者来说都是一目了然。

这个系列翻译自2015年到2017年的一系列文章。希望给大家系统的介绍一下如何利用多个漏洞从用户权限到在Trustzone内核中执行任意代码。

正文:

译者引言:
TrustZone是ARM架构的安全解决方案,问世已经很多年了,在比较新的ARM cortex-A 系列中基本都存在。现在的几乎所有的手机平板用的都是 Cortex-A 系列芯片。随着 IoT 的到来,2017年,新的ARM cortex-M 也加入了 TrustZone

至于攻击TrustZone后果有多严重,我们举个例子,苹果手机的指纹认证以及支付功能使用的都是TrustZone,现在的假设是,即使你的手机上有病毒,甚至于那个病毒可以在你手机的Linux内核里执行任意代码,如果TrustZone没有漏洞,TrustZone里的东西依然是安全的。如果我们能在TrustZone里执行任意代码,这手机的一切认证支付功能都将面临危险。你的所有信息对于攻击者来说都是一目了然。

这个系列翻译自2015年到2017年的一系列文章。希望给大家系统的介绍一下如何利用多个漏洞从用户权限到在Trustzone内核中执行任意代码。

正文:


这将会是一系列关于如何运用我发现的多个漏洞来让我们能在Trustzone内核中使用最高权限运行任意代码的细节的文章。

由于我只有一个Nexus5(用的芯片是Snapdragon 800 SoC),我将会侧重于我的设备上的TrustZone平台 -- 高通TrustZone。

值得注意的是所有基于高通SoC的设备都包涵高通TrustZone平台,然而,高通也允许原型设备制造商对平台进行修改,这些在我之后的博客中会有提及。

并且,我相信攻击高通的TrustZone平台是一个很好的选择,毕竟Snapdragon SoC在很多设备中都有用到。(高通的市场份额还是很大的)


在这些年里,许多的安全机制被引入到了安卓当中,现有的机制也得到了提升。

虽然底层的安全架构没有变化,防御机制却变得十分可靠。现在想要取得系统的最高权限变得复杂,很多时候会需要协同多个漏洞。

如果你想知道一些大概的机制,你可以看看 Google's "Android Security Overview",这里面介绍了现有的安全机制。



(这是一张ARM的TrustZone架构图)

根据ARM所说,TrustZone是:
“一个用于保护一些列用户以及服务器计算平台的系统级方法,这些设备包括耳机,平板,可穿戴设备以及企业系统。基于这个技术的应用很广泛,其中包括有安全支付, 数字版权管理 ,个人电子设备,以及一系列安全的企业解决方案”

简单的来说,TrustZone是一个用来保证在设备上能够安全执行程序的系统。

为了能够安全的执行TrustZone的代码,需要一类特定的处理器。这类处理器可以执行两类代码,一类是安全代码(在安全世界中),一类是非安全代码( 在正常世界中 )。不是这类处理器的处理器,只能执行非安全代码。

(这里文章中的正常世界与安全世界如图,指的是在正常Linux内核上的世界,以及特意为安全世界服务的阉割版内核上的世界

TrustZone在安卓设备上有很多不同的用法,比如说:
——检查内核完整性(完整性基本就是靠哈希来验证,哈希很简单,就是从一堆特定代码以及数据中只能得到一个签名,所以以后你要验证是不是这同一堆代码以及数据,只要用这些代码以及数据算一个哈希,然后和这个签名比对,如果相同,那么就是同样的。)
——使用硬件上的机密存储(在“keystore”,“dm-verity”中使用)
——移动支付的安全部件模拟

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 207
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享~~  精华~~
2017-9-20 09:53
0
雪    币: 6818
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不错!!!!!!
2017-9-20 19:36
0
游客
登录 | 注册 方可回帖
返回
//