这款开源“神器”,可以找出Android设备最底层的Bootloader漏洞-阿里云开发者社区

开发者社区> 玄学酱> 正文

这款开源“神器”,可以找出Android设备最底层的Bootloader漏洞

简介: 本文讲的是这款开源“神器”,可以找出Android设备最底层的Bootloader漏洞,即使操作系统受到损害,智能手机的Bootloader固件也应该是安全的。但是近日,研究人员在4个主流芯片供应商的代码中发现了7个安全漏洞,这些漏洞会导致手机信任链在引导过程中被攻破,从而使设备遭受攻击。
+关注继续查看
本文讲的是这款开源“神器”,可以找出Android设备最底层的Bootloader漏洞

这款开源神器,可以找出Android设备最底层的Bootloader漏洞

即使操作系统受到损害,智能手机的Bootloader固件也应该是安全的。但是近日,研究人员在4个主流芯片供应商的代码中发现了7个安全漏洞,这些漏洞会导致手机信任链在引导过程中被攻破,从而使设备遭受攻击。

关于Bootloader

Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。它可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。

开发BootStomp工具检测bootloader漏洞

加利福尼亚大学圣芭芭拉分校的一组研究人员发现了该漏洞,他们创建了一个名为“BootStomp”的工具来自动检测bootloader组件中存在的安全漏洞。

该工具在分析了包括高通、MediaTek、Nvidia以及华为在内的4家主流芯片制造商的代码后,在其中两家供应商(Nvidia和华为)的bootloader中发现了6个零日漏洞。他们还使用该工具在高通bootloader中发现了一个已知漏洞(CVE-2014-9798)。据悉,目前在这6个新发现的漏洞中,bootloader厂商已经证实并确认了5个。

研究人员注意到,bootloader很难用软件进行分析,部分原因是由于它们是闭源代码开发的,且具有硬件特性,所以很难进行逆向工程。为此,研究人员特意开发了这款名为“BootStomp”的工具来攻克这些难题。

研究人员解释称,

BootStomp的目标是自动识别跟滥用/使用受攻击者控制的,且由bootlaoder代码信任的非易失性存储器相关的安全漏洞。具体来说,我们设想使用自己的系统作为一个自动系统,给定一个bootloader作为输入,从而输出一些可能提示存在安全漏洞的警报。然后,人类分析师可以分析这些警告信息,并快速确认突出显示的功能是否构成安全威胁。

确保bootloaders的完整性对于Google的“验证启动功能”(Verified Boot)和ARM的“可信引导”(Trusted Boot)至关重要,因为bootloaders需要验证彼此的完整性来创建所谓的“信任链”(chain of trust)。如果有人篡改了bootloader组件,内核或文件系统映像,该该设备将不可用。

使用BootStomp,研究人员在bootloading期间发现了36个潜在的危险路径,其中超过1/3是安全漏洞。

研究人员指出,

这些漏洞中有一些可以允许具有root权限的攻击者将任意代码作为bootloader的一部分执行,从而损害整个“信任链”,实现恶意功能,或是执行DDoS攻击,破坏设备。此外,我们的工具还识别出了两个bootloader漏洞,这两个漏洞能允许攻击者获取操作系统的root权限从而解锁设备并攻破信任链。

本文中,研究人员假设攻击者可以控制设备上非易失性存储(non-volatile)的任何内容,如果攻击者已经获得了操作系统的root权限,那么这一假设就可能会实现。研究人员发现,这5个bootloader分别来自3种不同的芯片集,其中包括:

华为 P8 ALE-L23:华为/海思芯片集;
Sony Xperia XA:MediaTek芯片集;
Nexus 9:Nvidia的图睿芯片集;

此外,研究人员还发现了一个新版本和旧版本的高通bootloader。其中一个已知的安全漏洞——CVE-2014-9798是一个影响高通旧版本bootloader的拒绝服务(DoS)漏洞。其他6个新发现的漏洞,其中1个存在于Nvidia芯片集中,5个存在于影响华为 P8的海思bootloader中。详细分析结果如下所示:

 这款开源神器,可以找出Android设备最底层的Bootloader漏洞

据悉,该研究成果最初由研究人员在本月初加拿大温哥华举行的USENIX安全大会上展示。




原文发布时间为:2017年9月7日
本文作者:小二郎
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

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

相关文章
flutter 版本控制fvm
1先安装 choco powershell 管理员身份运行 不会的话,先打开一个powershell 窗口 ,然后右击任务栏,选择第一个,即可进入
4 0
程序员知识体系探索:点、线、面、体(上)
程序员知识体系探索:点、线、面、体(上)
4 0
【在家实践】 ECS 初体验
第一次体验云服务器,感觉十分奇妙。
9 0
漫谈“架构团队”之组织架构(上)
漫谈“架构团队”之组织架构(上)
3 0
从平台到中台【下】
前情提要 平台化架构由于缺乏对于前端业务一以贯之的端到端的支撑能力,平台与平台之间存在gap。平台化架构按照康威定律,必然是几个平台,几个团队,涉及到巨大的沟通成本而导致协作困难。平台化架构在数据化运营上存在短板,往往需要把多个平台的数据集成到一起并加工分析而产生新的支持到业务的价值。
10 0
体验ECS
第一次体验云服务器,感觉十分奇妙。
10 0
Dart微基准测试第一部分
在过去的几个月里,我开始收到越来越多关于某些特定 Dart 操作性能的问题。以下是Romain Rastel在他关于提高 Flutter中 ChangeNotifier 性能的工作的背景下提出的此类问题的示例。 鉴于我的经验,我第一眼就知道这个特定的基准测试出了什么问题……但是为了讲故事,让我假装我没有。那我将如何处理这个问题? 我通常会首先尝试重复报告的数字。在这种特殊情况下,我将首先创建一个空的 Flutter 应用程序
5 0
宝塔面板如何为网站配置SSL证书?
原文链接:https://blog.csdn.net/JunyouYH/article/details/120734870(我的不属于转载) 代码复制不过来请转原文。。代码复制不过来请转原文。。代码复制不过来请转原文
9 0
使用APICloud AVM框架开发预约应用
前段时间跟朋友一起搞了一个预约的项目,前端用的APICloud的AVM框架做的,后端用的php开发的,用的tp5框架,没几天就搞出来了。简单跟大家分享一下开发中的一些功能点的实现吧。也欢迎大家一起探讨。
5 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
20710
文章
438
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载