# Procés d'arrencada dels dispositius Android

El procés d'arrencada dels dispositius Android comença a l'encesa del SoC (sistema en un xip) i acaba amb la visibilitat de la pantalla d'inici, o en modes especials com la recuperació i l'arrencada ràpida. El procés d'arrencada dels dispositius que executen Android està influenciat pel disseny del firmware dels fabricants de SoC.

## Rerefons

A partir del 2018, el 90% dels SoC del mercat d'Android són subministrats per Qualcomm, Samsung o MediaTek. Altres venedors inclouen Rockchip, Marvell, Nvidia i anteriorment Texas Instruments.

## Història

L'arrencada verificada, una mesura de seguretat d'arrencada, es va introduir amb Android KitKat.

## Etapes
### Carregador d'arrencada principal

El carregador d'arrencada primari (PBL), que s'emmagatzema a la ROM d'arrencada és la primera etapa del procés d'arrencada. Aquest codi està escrit pel fabricant del chipset.
El PBL verifica l'autenticitat de la següent etapa. Als telèfons intel·ligents Samsung, la clau d'arrencada segura de Samsung (SSBK) l'utilitza la ROM d'arrencada per verificar les següents etapes. Als SoC de Qualcomm, és possible entrar al mode de descàrrega d'emergència de Qualcomm des del carregador d'arrencada principal. Si la verificació del carregador d'arrencada secundari falla, introduirà EDL.

### Carregador d'arrencada secundari

Com que l'espai a la ROM d'arrencada és limitat, s'utilitza un carregador d'arrencada secundari a l'eMMC o eUFS. El carregador d'arrencada secundari inicialitza TrustZone.
Al Qualcomm MSM8960, per exemple, el carregador d'arrencada secundari 1 carrega el carregador d'arrencada secundari 2. El carregador d'arrencada secundari 2 carrega TrustZone i el carregador d'arrencada secundari 3. L'SBL ara s'anomena XBL per Qualcomm i utilitza UEFI per ser compatible amb altres sistemes operatius que no siguin Android en la segona etapa.

### Aboot

Qualcomm utilitza Little Kernel, MediaTek utilitza Das U-Boot. Little Kernel és un micronucli per a dispositius incrustats, que ha estat modificat per Qualcomm per utilitzar-lo com a carregador d'arrencada d'Android. El carregador d'arrencada d'Android (Aboot), que implementa la interfície d'arrencada ràpida (que està absent als dispositius Samsung). Aboot verifica l'autenticitat de les particions d'arrencada i recuperació. En prémer una combinació de tecles específica, els dispositius també poden arrencar en mode de recuperació. Després, Aboot transfereix el control al nucli de Linux.

## Distribució de la partició

El sistema Android està dividit en diferents particions.
La plataforma Qualcomm fa ús de la taula de particions GUID, encara que aquesta especificació forma part de l'especificació UEFI, no depèn del firmware UEFI.

## Referències

* ↑ Garri, Khireddine. «A Novel approach for bootkit detection in Android Platform». A: 2018 International Conference on Smart Communications in Network Technologies (SaCoNeT) (en anglès). IEEE, October 2018, p. 277–282. DOI 10.1109/saconet.2018.8585583. ISBN 978-1-5386-9493-0.
* ↑ «Android Verified Boot [LWN.net]» (en anglès). LWN.net. Arxivat de l'original el 2015-04-22. [Consulta: 25 setembre 2021].
* ↑ Yuan, Pengfei. «Device-Specific Linux Kernel Optimization for Android Smartphones». A: 2018 6th IEEE International Conference on Mobile Cloud Computing, Services, and Engineering (MobileCloud) (en anglès), March 2018, p. 65–72. DOI 10.1109/MobileCloud.2018.00018. ISBN 978-1-5386-4879-7.
* ↑ Hay, Roee Proceedings of the 11th USENIX Conference on Offensive Technologies [Vancouver, BC, Canada], 14-08-2017, pàg. 22.
* ↑ Alendal, Gunnar; Dyrkolbotn, Geir Olav; Axelsson, Stefan (en anglès) Digital Investigation, 24, 01-03-2018, pàg. S60–S67. DOI: 10.1016/j.diin.2018.01.008. ISSN: 1742-2876.
* ↑ «Exploiting Qualcomm EDL Programmers (1): Gaining Access & PBL Internals» (en anglès). alephsecurity.com, 22-01-2018. [Consulta: 13 setembre 2021].
* 1 2 Yuan, Pengfei. «Device-Specific Linux Kernel Optimization for Android Smartphones». A: 2018 6th IEEE International Conference on Mobile Cloud Computing, Services, and Engineering (MobileCloud) (en anglès). IEEE, March 2018, p. 65–72. DOI 10.1109/mobilecloud.2018.00018. ISBN 978-1-5386-4879-7.
* ↑ Kanonov, Uri. «Secure Containers in Android». A: Proceedings of the 6th Workshop on Security and Privacy in Smartphones and Mobile Devices (en anglès). New York, NY, USA: ACM, 2016-10-24, p. 3–12 (SPSM '16). DOI 10.1145/2994459.2994470. ISBN 9781450345644.
* ↑ Tao, Chen, Yue Zhang, Yulong Wang, Zhi Wei. Downgrade Attack on TrustZone (en anglès), 2017-07-17. OCLC 1106269801.
* ↑ Garri, Khireddine. «A Novel approach for bootkit detection in Android Platform». A: 2018 International Conference on Smart Communications in Network Technologies (SaCoNeT) (en anglès). IEEE, October 2018, p. 277–282. DOI 10.1109/saconet.2018.8585583. ISBN 978-1-5386-9493-0.
* ↑ Tang, Qinghao; Fan Du. Internet of things security: principles and practice (en anglès), 2021, p. 166. ISBN 978-981-15-9942-2. OCLC 1236261208.
* ↑ Hay, Roee Proceedings of the 11th USENIX Conference on Offensive Technologies [Vancouver, BC, Canada], 14-08-2017, pàg. 22.
* ↑ Alendal, Gunnar; Dyrkolbotn, Geir Olav; Axelsson, Stefan Digital Investigation, 24, 3-2018, pàg. S60–S67. DOI: 10.1016/j.diin.2018.01.008. ISSN: 1742-2876.
* ↑ Zhao, Longze. «Physical Mirror Extraction on Qualcomm-based Android Mobile Devices». A: Proceedings of the 2nd International Conference on Computer Science and Application Engineering (en anglès). New York, New York, USA: ACM Press, 2018, p. 1–5 (Csae '18). DOI 10.1145/3207677.3278046. ISBN 9781450365123.