Procés d'arrencada dels dispositius Android
Tipus | programari |
---|---|
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
[modifica]A partir del 2018, el 90% dels SoC del mercat d'Android són subministrats per Qualcomm, Samsung o MediaTek.[1] Altres venedors inclouen Rockchip, Marvell, Nvidia i anteriorment Texas Instruments.
Història
[modifica]L'arrencada verificada, una mesura de seguretat d'arrencada, es va introduir amb Android KitKat.[2]
Etapes
[modifica]Carregador d'arrencada principal
[modifica]El carregador d'arrencada primari (PBL), que s'emmagatzema a la ROM d'arrencada [3] és la primera etapa del procés d'arrencada. Aquest codi està escrit pel fabricant del chipset.[4]
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.[5] 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.[6]
Carregador d'arrencada secundari
[modifica]Com que l'espai a la ROM d'arrencada és limitat, s'utilitza un carregador d'arrencada secundari a l'eMMC o eUFS.[7] El carregador d'arrencada secundari inicialitza TrustZone.[7] [8]
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.[9] 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
[modifica]Qualcomm utilitza Little Kernel, MediaTek utilitza Das U-Boot.[10] 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.[11] 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ó.[12] 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ó
[modifica]El sistema Android està dividit en diferents particions.[13]
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.[14]
Referències
[modifica]- ↑ 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].
- ↑ 7,0 7,1 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.