Android Bootloader分析

本文探讨Android Bootloader的基本背景、组成和处理流程,强调其在系统安全中的关键作用。详细介绍了Exynos系列芯片的Bootloader阶段,包括PBL、BL1、BL2和TZ,并分析了安全启动信任链。同时,提到了已知的Bootloader漏洞攻击案例,如Nexus One、Motorola和Samsung Galaxy S4。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文章最初发布在:System Research Blog

Bootloader基本背景

Bootloader是系统刚启动时运行的一段或几段程序,这些程序一般是初始化物理硬件设备,引动系统内核启动。在X86常说的grub就是一个bootloader,不过在移动平台用的较多的Bootloader是uboot。虽然移动平台大多使用uboot作为它们的bootloader,大部分厂商会在uboot之外额外有几个跟芯片相关的bootloader,启动处理流程均大不一样。处于安全方面的考虑,这些厂商的bootloader一般都是闭源的。由于bootloader在系统内核前运行,很多安全框架如三星的企业级解决方案kNOX都是需要将bootloader作为其安全架构的一部分,如果bootloader被攻破的话,危险级别几乎都会是致命的,所以这部分内容也一直是黑客们进行漏洞挖掘的领域。特别地,如果能够控制bootloader,iphone的越狱、Android的root以及在手机上安装第三方的ROM就都不成问题。由于手上折腾较多的是三星的exynos系列芯片的板子(像三星的Galaxy S、魅族MX等都是这款芯片),本文主要以这系列产品进行分析。

Bootloader组成

Bootloader中一般都会有好几个文件组成,如android手机一般会有:PBL(Prime Bootloader), SBL1/2/3(Second Bootloader), APPSBL(有的也称为aboot、hboot), HLOS(基带baseband相关)和TZ(TrustZone相关的镜像)。而iphone手机一般是:BootRom(PBL, SecureROM), LLB(Low Level Bootloader),iBoot(stage 2 bootloader,常用于recovery模式), iBBS(精简版的ibOOT)和iBEC(用于从DFU-Device Firmware Upgrade模式恢复)。对于我的Exynos板子,由于其并非手机设备,包含的bootloader相对较少,有:PBL( 也叫bl0,烧在iROM的只读代码), BL1(stage 1 bootloader), BL2(stage 2 bootloader,就是uboot中的spl), tzsw(trustzone firmware)和uboot

Bootloader处理流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值