Bootenprozess von Android -Geräten

Das Booten Prozess von Android Geräte beginnen am SOC (SOC ()System auf einem Chip) und endet bei der Sichtbarkeit der Startbildschirmoder spezielle Modi wie Wiederherstellung und Fastboot.[a] Der Startprozess von Geräten, die Android ausführen, wird vom Firmware -Design der SOC -Hersteller beeinflusst.

Hintergrund

Ab 2018 werden 90% der SOCs des Android -Marktes von beiden geliefert Qualcomm, Samsung oder Mediatek.[1] Andere Anbieter sind Rockchip, Marvell, Nvidia und zuvor Texas Instrumente.

Geschichte

Der verifizierte Stiefel wurde mit eingeführt mit Android Kitkat.[2]

Stufen

Primärer Bootloader

Der primäre Bootloader (PBL), der in der gespeichert ist BOOT ROM[3] ist die erste Stufe des Boot -Prozesses. Dieser Code wird vom Chipsatzhersteller geschrieben.[4]

Das PBL überprüft das authentisch der nächsten Stufe.

Auf Samsung -Smartphones wird die Samsung Secure Boot Key (SSBK) vom Boot -ROM verwendet, um die nächsten Stufen zu überprüfen.[5]

Bei SoCs von Qualcomm ist es möglich, die Eingabe zu machen Qualcomm Notes -Download -Modus vom primären Bootloader.

Wenn die Überprüfung des sekundären Bootloaders fehlschlägt, wird EDL eingegeben.[6]

Sekundärer Bootloader

Da der Speicherplatz im Boot -ROM begrenzt ist, wird ein sekundärer Bootloader auf dem EMMC oder EUFS verwendet.[7] Der sekundäre Bootloader initialisiert initialisiert Trustzone.[7][8]

Auf dem Qualcomm MSM8960 lädt der Sekundärschuhloader 1 den Sekundärstiefel 2. Der Sekundärschifflader 2 lädt TrustZone und den Sekundärschifflader 3.[9]

Die SBL wird jetzt von Qualcomm als XBL bezeichnet und verwendet UEFI, um in der zweiten Stufe für andere Betriebssysteme als Android kompatibel zu sein.

Ein Stiefel

Qualcomm verwendet Little Kernel, MediaTek verwendet Das U-Boot.[1] Kleiner Kernel ist ein Mikrokernel zum Eingebettete Geräte, das von Qualcomm geändert wurde, um es als Android -Bootloader zu verwenden.[10] Der Android -Bootloader (Aboot), der das implementiert Fastboot Schnittstelle (die in Samsung -Geräten fehlt). Aboot überprüft die Authentizität der Start- und Wiederherstellungspartitionen.[4] Durch Drücken einer bestimmten Schlüsselkombination können Geräte auch eingeboten Wiederherstellungsmodus. Aboot überträgt dann die Kontrolle an den Linux -Kernel.

Kernel und Initramfs

Das Initramfs ist ein GZIP -CPIO -Archiv, das ein kleines Root -Dateisystem enthält. Es enthält Init, das ausgeführt wird. Der Android -Kernel ist eine modifizierte Version des Linux -Kernels. Init montiert die Partitionen. DM-Averify überprüft die Integrität der Partitionen, die in der FSTAB-Datei angegeben sind. DM-Verify ist ein Linux-Kernel-Modul, das seit Version 4.4 von Google in Android eingeführt wurde. Die Aktienimplementierung unterstützt nur eine blockbasierte Überprüfung, Samsung hat jedoch Unterstützung für Dateien hinzugefügt.[8]

Zygote

Zygote wird durch den Init -Prozess hervorgebracht, der für die Start von Android -Anwendungen und -Dienstprozessen verantwortlich ist. Es lädt und initialisiert Klassen, die sehr oft in den Haufen verwendet werden sollen. Zum Beispiel DEX -Datenstrukturen von Bibliotheken. Nachdem Zygote begonnen hat, hört es für Befehle in einer Steckdose. Wenn ein neuer Bewerbungen beginnt, wird ein Befehl an Zygote gesendet, der a ausführt Gabel() Systemanruf.

Partitionslayout

Das Android -System ist unterschiedlich unterteilt Partitionen.[11]

Die Qualcomm -Plattform nutzt die Guid -Partitionstabelle. Obwohl diese Spezifikation Teil der ist Uefi Die Spezifikation hängt nicht von UEFI ab.[12]

Siehe auch

Erläuternder Vermerk

  1. ^ Diese Modi unterstützen in der Regel eine Funktion, um den regelmäßigen Booting wieder aufzunehmen

Verweise

  1. ^ a b Garri, Khireddine; Kenaza, Tayeb; Aissani, Mohamed (Oktober 2018). "Ein neuer Ansatz für die Erkennung von Bootkit in der Android -Plattform". 2018 Internationale Konferenz über intelligente Kommunikation in Netzwerktechnologien (SACONET). IEEE: 277–282. doi:10.1109/saconet.2018.8585583. ISBN 978-1-5386-9493-0. S2CID 56718094.
  2. ^ "Android verifizierte Boot [lwn.net]". Lwn.net. Archiviert vom Original am 2015-04-22. Abgerufen 2021-09-25.
  3. ^ Yuan, Pengfei; Guo, Yao; Chen, Xiangqun; Mei, Hong (März 2018). "Gerätespezifische Linux-Kernel-Optimierung für Android-Smartphones". 2018 6. IEEE Internationale Konferenz über mobiles Cloud -Computing, Dienste und Ingenieurwesen (Mobilecloud): 65–72. doi:10.1109/mobilecloud.2018.00018. ISBN 978-1-5386-4879-7. S2CID 13742883.
  4. ^ a b Hay, Roee (2017-08-14). "Fastboot OEM Vuln: Android Bootloader -Schwachstellen in Anpassungsanpassungen des Lieferanten". Verfahren der 11. Usenix -Konferenz über Offensivtechnologien. Woot'17. Vancouver, BC, Kanada: Usenix Association: 22.
  5. ^ Alendal, Gunnar; Dyrkolbotn, Geir Olav; Axelsson, Stefan (2018-03-01). "Forensiker Akquisition - Analyse und Umgehung von Samsung Secure Boot erzwungenes gemeinsames Kriterienmodus". Digitale Untersuchung. 24: S60 - S67. doi:10.1016/j.diin.2018.01.008. HDL:11250/2723051. ISSN 1742-2876.
  6. ^ "Exploiting Qualcomm edl -Programmierer (1): Zugriff und PBL -Interna erhalten". Alephsecurity.com. 2018-01-22. Abgerufen 2021-09-13.
  7. ^ a b Yuan, Pengfei; Guo, Yao; Chen, Xiangqun; Mei, Hong (März 2018). "Gerätespezifische Linux-Kernel-Optimierung für Android-Smartphones". 2018 6. IEEE Internationale Konferenz über mobiles Cloud -Computing, Dienste und Ingenieurwesen (Mobilecloud). IEEE: 65–72. doi:10.1109/mobilecloud.2018.00018. ISBN 978-1-5386-4879-7. S2CID 13742883.
  8. ^ a b Kanonov, Uri; Wool, Avishai (2016-10-24). "Sichere Container in Android". Verfahren des 6. Workshops über Sicherheit und Privatsphäre in Smartphones und mobilen Geräten. SPSM '16. New York, NY, USA: ACM: 3–12. doi:10.1145/2994459.2994470. ISBN 9781450345644. S2CID 8510729.
  9. ^ Tao, Chen, Yue Zhang, Yulong Wang, Zhi Wei (2017-07-17). Downgrade -Angriff auf Trustzone herabstufen. OCLC 1106269801.
  10. ^ Tang, Qinghao (2021). Internet der Dinge Sicherheit: Prinzipien und Praxis. Fan du. Singapur. p. 166. ISBN 981-15-9942-4. OCLC 1236261208.
  11. ^ Alendal, Gunnar; Dyrkolbotn, Geir Olav; Axelsson, Stefan (März 2018). "Forensiker Akquisition - Analyse und Umgehung von Samsung Secure Boot erzwungenes gemeinsames Kriterienmodus". Digitale Untersuchung. 24: S60 - S67. doi:10.1016/j.diin.2018.01.008. HDL:11250/2723051. ISSN 1742-2876.
  12. ^ Zhao, Longze; Xi, bin; Wu, Shunxiang; Aizezi, Yasen; Ming, Daodong; Wang, Fulin; Yi, Chao (2018). "Physikalische Spiegelextraktion auf qualcomm basierten Android-Mobilgeräten". Proceedings der 2. Internationalen Konferenz über Informatik und Anwendungstechnik - CSAE '18. CSAE '18. New York, New York, USA: ACM Press: 1–5. doi:10.1145/3207677.3278046. ISBN 9781450365123. S2CID 53038902.

Externe Links