新闻快讯
< >

多个主流安卓手机芯片厂商的Bootloader存在漏洞

E安全9月6日讯 众多安全专家认为,即使操作系统遭遇攻击,智能手机Bootloader固件应当尚是安全的。然而,美国加州大学圣塔芭芭拉分校一组研究人员发现知名芯片厂商的安卓Bootloader组件存在六大漏洞,会将设备置于危险之中。

BootStomp工具自动检测安全漏洞

研究人员开发了一款工具“BootStomp”,用来自动检测Bootloader中存在的安全漏洞。

Bootloader(百度百科):当设备开启时,Bootloader主要负责正确调用内核来加载操作系统。Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。

多个主流安卓手机芯片厂商的Bootloader存在漏洞-E安全

分析四大芯片组厂商(包括高通、联发科技、英伟达和华为)的Bootloader组件代码后,研究人员在两个Bootloader中发现6个0Day漏洞。并且高通Bootloader中存在一个已知拒绝服务漏洞(CVE-2014-9798),影响了旧版的高通Bootloader。另外5个漏洞属于新漏洞,并已获得这几大厂商证实。其中一个影响了英伟达Bootloader,另外的影响了华为安卓Bootloader。

研究人员指出,由于Bootloader属于闭源,且往往缺乏程序头等典型元数据(元数据一般存在于合法程序中,协助进行逆向分析和安全审计),因此难以逆向分析和安全审计,解刨Bootloader就不那么容易了。然而,BootStomp克服了这些问题。

研究人员解释称,BootStomp的目标是自动识别与滥用/使用攻击者控制的非易失性存储器、受Bootloader信任相关的安全漏洞。

研究人员指出,他们将系统设想为自动系统,将Bootloader作为输入,输出安全漏洞的警报,之后,分析师便能分析这些警报,快速判断突出功能是否存在安全威胁。

多个主流安卓手机芯片厂商的Bootloader存在漏洞-E安全

确保Bootloader的完整性对谷歌Verified Boot和ARM的Trusted Boot至关重要, Bootloader在其中负责核实完整性,创建所谓的“信任链”。如果有人篡改Bootloader组件,内核、文件系统映像或设备应无法使用。

研究人员指出,该过程应是相当严格的,即使安卓操作系统被黑,该过程也能阻止Bootloader被攻击。然而,硬件厂商为了满足产品需求,在Bootloader中增加了灵活性。

借助BootStomp,研究人员在bootload流程发现中36个潜在威胁,其中超过三分之一为漏洞。

多个主流安卓手机芯片厂商的Bootloader存在漏洞-E安全

BootStomp概述

研究人员指出,攻击者可利用其中部分漏洞获取安卓操作系统的Root权限,充当Bootloader的部分功能执行任意代码。这样一来,整个信任链都会遭受攻击,攻击者能实现恶意操作,例如访问信任区内的代码和存储,并执行永久的拒绝服务攻击,例如将设备变板砖。

研究人员还表示,BootStomp还发现攻击者可获取操作系统上的Root权限解锁两款Bootloader。

研究人员选择了四个厂商的五个bootloader来研究:

  • 华为/海思芯片组(华为P8 ALE-L23)

  • 联发科技芯片组(索尼Xperia XA)

  • 英伟达Tegra芯片组(Nexus 9)

  • 高通的新LK Bootloader

  • 高通的旧LK Bootloader

研究人员还指出,华为Bootloader的设计使得漏洞“相当严重”,一旦被攻击者利用可打破信任链,长期潜伏在设备中,且不易被用户发现。

缓解措施

由于现代设备的复杂性,要完全纠正Bootloader的漏洞相当困难,但采取以下几步措施能显著减少攻击面。

Trusted Boot和Verified Boot的目标是防止恶意软件持续影响操作系统和固件的完整性。研究人员发现的这些攻击依赖攻击者写入到非易失性存储器分区的能力。研究人员建议使用大多数现代设备中的硬件功能移除这项能力。

“捆绑”安全:

谷歌采用Verified Boot将设备的安全状态(包括锁定/解锁字节)与加密和解密用户数据的密钥生成绑定。虽然没有特别要求安全状态的特定存储,但这样可以确定安全状态是否发生变化,用户数据不为攻击者所用,如果不恢复出厂设置,系统将无法引导(boot)。这种方法,再加上Verified Boot要求的加密验证,虽然无法让Bootloader完全屏蔽掉攻击者的任意输入,但能验证分区或检查安全状态。

分区保护:

大多数现在移动设备利用非易失性存储器满足eMMC规范。eMMC规定了操作系统用来读取、编写数据、管理分区以及纳入硬件安全功能的一组命令。自2009年发布版本4.4之后,eMMC支持Power-on Write-Lock,允许对个别分区进行选择性写保护,并且只在设备重启时禁用。eMMC Power-on Write-Lock能防止Bootloader必读分区被获取Root权限的攻击者控制。

E安全注:本文系E安全独家编译报道,转载请联系授权,并保留出处与链接,不得删减内容。联系方式:① 微信号zhu-geliang ②邮箱eapp@easyaq.com
@E安全,最专业的前沿网络安全媒体和产业服务平台,每日提供优质全球网络安全资讯与深度思考,欢迎关注微信公众号「E安全」(EAQapp),或登E安全门户网站www.easyaq.com , 查看更多精彩内容。