开发者社区> 玄学酱> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

只要一点耐心,就能破解数百万安卓手机的全盘加密

简介:
+关注继续查看

只需要几个常见的漏洞、一些GPU和一些时间。

安卓在数百万设备上的全盘加密功能能够轻易被暴力破解,这情况比人们之前的预期要糟糕的多。而且,已经有工作代码能证明这一点。

通常而言,如果有人拿到了你使用高通骁龙处理器的手机,就有可能通过一个很容易使用的Python脚本来破解其文件系统的内容,而不需要知道密码或PIN。

技术细节

安卓会通过一个随机生成的128位设备加密密钥 (Device Encryption Key, DEK) 来加密设备的文件系统。安卓使用用户的PIN或者密码来加密DEK,并将它存储在设备加密过的文件系统上。从物理上来讲,它也在设备的闪存芯片中。当你输入正确的PIN或密码时,设备可以解锁DEK,并使用密钥来解锁文件系统。

不过,它也不像上面说的这么简单:DEK实际上是使用用户的PIN或密码,外加一个被称为KeyMaster Key Blob的加密数据块来进行加密的。这个数据块包含一个由KeyMaster程序生成的2048位RSA密钥,它运行在设备处理器上的一个安全区域上。KeyMaster会创建RSA密钥,将其存储在数据块中,并为安卓系统创建一份加密过的拷贝版本。

必须意识到,安卓系统和你的移动应用运行在处理器的非安全区域上。安卓没有访问KeyMaster的安全世界的权限,因此它无法知晓数据块里的RSA密钥。安卓只能获得这个数据块的加密版本,而只有KeyMaster能够解密它。

当你输入PIN或密码时,安卓拿到加密过的数据块,并将它和使用scrypt处理过的PIN或密码一起,传回运行在处理器安全区域上的KeyMaster。KeyMaster将私密地使用处理器中带有的私钥来对数据块进行解密,获得长RSA密钥。然后,它将私密地使用scrypt处理过的PIN或密码,外加长RSA密钥,来制造一个RSA签名,并将签名发回给安卓。之后安卓使用一系列算法来处理这一签名,并最终解密DEK,解锁设备。

因此,全部流程都基于KeyMaster的数据块。数据块包含解密DEK所需的长RSA密钥。安卓只拥有加密后的数据块,而只有用户才有PIN或密码。此外,只有KeyMaster才能解密加密过的数据块。

如果你能解密数据块并提取其RSA密钥,你就有走过了解密文件系统的大半部分流程:这时你就可以真的开始暴力破解PIN或密码,来完成解锁流程。理想情况下,你永远无法获得解密后的数据块。然而,总有例外。

漏洞

安卓定义了KeyMaster的工作方法,但将实现工作留给了硬件制造商。高通在其ARM适配的骁龙系统中提供了KeyMaster。骁龙是基于芯片的系统,被数以百万计的手机、平板和其它电子产品使用。KeyMaster运行在处理器的TrustZone里,它是在多个ARM核心之间的一个独立区域。操作系统在TrustZone之外运行,而且,理想情况下,无法干预安全区。特定的功能,比如加密和指纹扫描,都运行在被保护的TrustZone上。

安全研究人员Gal Beniamini一直在研究高通的TrustZone代码,如今他发布了一份详细报告,描述如何从设备KeyMaster中提取密钥。

高通在TrustZone中运行一个小内核,它提供了所谓的QSEE功能:Qualcomm Secure Execution Enviromment,小应用被允许在安卓之外,在QSEE上运行。

高通的KeyMaster正是QSEE应用。Beniamini详细描述了如何通过利用某个安卓内核安全漏洞,加载你自己的QSEE应用,之后,在受保护的空间里,利用一个高通TrustZone内核的提权漏洞,获取整个QSEE空间的控制权。之后,你就可以偷窥KeyMaster并且提取解密后的数据块。

使用这一数据块,你就有可能通过暴力破解余下的密钥:PIN或密码,来解密文件系统。但如果没有数据块的RSA私钥,这将完全不可能。

这一部分是安全漏洞,另一方面也是设计瑕疵:KeyMaster让关键密钥能够被软件使用,但软件是在一个隔离的花园里运行的,因此,黑客的人物应该是越过隔离,并且拿到里边的奖励。恶意应用可以通过攻击安卓内核掌握QSEE区域,来开始这一过程;或者,陷阱短信可以溜进StageFright,并且切入TrustZone。

此外,FBI表示,有可能在一个TrustZone已经被黑客控制的设备上刷入定制安卓固件,并且提取KeyMaster密钥,并进一步制造暴力破解并获取整个系统权限的可能性。

“安卓在所有的设备之间都使用完全相同的全盘加密策略。该策略基于KeyMaster模块,来将密钥与设备的硬件绑定。我的研究表明,完全可以在高通的设备上绕过这一绑定过程。此外,该策略也有可能适用于其它SoC制造商的产品。”

====================================分割线================================

本文转自d1net(转载)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
破解加密系统 如何人不知鬼不觉地设置后门
本文讲的是破解加密系统 如何人不知鬼不觉地设置后门,在密码学领域,秘密植入可窃听通信数据的“后门”是长期以来困扰众学者的噩梦,但这并不意味着密码学家们就不能欣赏破密者的解密艺术。
1139 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
文章
问答
文章排行榜
最热
最新
相关电子书
更多
代码未写,漏洞已出——谈谈设计不当导致的安全问题
立即下载
代码未写,漏洞已出
立即下载
手机取证的 新问题和新发展
立即下载