Procés d'arrencada dels dispositius Android

De la Viquipèdia, l'enciclopèdia lliure
Procés d'arrencada dels dispositius Android

Tipusprogramari

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]

  1. 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. 
  2. «Android Verified Boot [LWN.net]» (en anglès). LWN.net. Arxivat de l'original el 2015-04-22. [Consulta: 25 setembre 2021].
  3. 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. 
  4. Hay, Roee Proceedings of the 11th USENIX Conference on Offensive Technologies [Vancouver, BC, Canada], 14-08-2017, pàg. 22.
  5. 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.
  6. «Exploiting Qualcomm EDL Programmers (1): Gaining Access & PBL Internals» (en anglès). alephsecurity.com, 22-01-2018. [Consulta: 13 setembre 2021].
  7. 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. 
  8. 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. 
  9. Tao, Chen, Yue Zhang, Yulong Wang, Zhi Wei. Downgrade Attack on TrustZone (en anglès), 2017-07-17. OCLC 1106269801. 
  10. 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. 
  11. 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. 
  12. Hay, Roee Proceedings of the 11th USENIX Conference on Offensive Technologies [Vancouver, BC, Canada], 14-08-2017, pàg. 22.
  13. Alendal, Gunnar; Dyrkolbotn, Geir Olav; Axelsson, Stefan Digital Investigation, 24, March 2018, pàg. S60–S67. DOI: 10.1016/j.diin.2018.01.008. ISSN: 1742-2876.
  14. 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.