网站首页 > 技术教程 正文
只需要几个常见的漏洞、一些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制造商的产品。”
猜你喜欢
- 2024-10-23 点盾云视频加密软件如何实现防录屏?
- 2024-10-23 安卓勒索病毒来袭!加密文件、篡改密码、按下Home键系统锁死
- 2024-10-23 Android 的全盘加密容易破解 安卓系统强制开启全盘加密
- 2024-10-23 安卓手机5个隐藏功能,实用且强大,真是太爱了
- 2024-10-23 Android 14 QPR2 Beta 2新功能:Wi-Fi密码分享更便捷
- 2024-10-23 信号试加密的视频和语音电话 信号加密原理
- 2024-10-23 资深开发者教你如何破解 Android 手机锁屏密码
- 2024-10-23 使用 Security 在 Android 上进行数据加密
- 2024-10-23 您在 Android 上保存的密码可能会被泄露?
- 2024-10-23 Android密码仅用一张SIM卡就能攻破!?
你 发表评论:
欢迎- 最近发表
-
- 数据存储硬盘 Intel S3710广州报4500元
- K2 Blackpearl软硬件配置推荐(k2pa2配置)
- Supermium 浏览器现在支持 Windows XP 和其他“古老”操作系统
- 广西用友T6V7.1安装企业管理软件安装说明
- 用友T6V7.1软件安装笔记(用友t6软件下载)
- 谈谈P2V迁移踩过的坑(p2v迁移工具window)
- 利用Python伪装女神电话,恶搞室友
- Android Studio安装超详细步骤(android studio 2020.3.1安装教程)
- 如何用LightningChart创建Android图表数据可视化应用程序(上)
- 程序高手如何学习安卓开发?(安卓软件开发自学教程)
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)