กระบวนการบูตของอุปกรณ์แอนดรอยด์

กระบวนการบูต ของอุปกรณ์ แอนดรอยด์ เริ่มต้นตั้งแต่การเปิดเครื่อง SoC ( ระบบบนชิป ) และสิ้นสุดลงเมื่อ หน้าจอหลัก ปรากฏขึ้น หรือโหมดพิเศษเช่น การกู้คืน และ บูตอย่างรวดเร็ว [a] กระบวนการบูตของอุปกรณ์ที่ใช้ แอนดรอยด์ ได้รับอิทธิพลจากการออกแบบเฟิร์มแวร์ของผู้ผลิต SoC

ภูมิหลัง

ณ ปี 2018 SoC ของตลาด แอนดรอยด์ 90% ได้รับการจัดหาโดย ควอลคอมม์, ซัมซุง หรือ มีเดียเทก [1] ผู้จำหน่ายรายอื่นได้แก่ Rockchip, Marvell, อินวิเดีย และก่อนหน้านี้คือ Texas Instruments

ประวัติ

Verified boot ซึ่ง เป็นมาตรการรักษาความปลอดภัยในการบูต ได้รับการแนะนำพร้อมกับ แอนดรอยด์ คิทแคท [2]

ขั้นตอน

บูตโหลดเดอร์หลัก

บูตโหลดเดอร์หลัก (PBL) ซึ่งเก็บไว้ใน Boot ROM [3] เป็นขั้นตอนแรกของกระบวนการบูต โค้ดนี้เขียนโดยผู้ผลิตชิปเซ็ต [4]

PBL ตรวจสอบความถูกต้องของขั้นตอนถัดไป

ในสมาร์ทโฟน ซัมซุง นั้น Samsung Secure Boot Key (SSBK) จะถูกใช้โดย ROM บูตเพื่อตรวจสอบขั้นตอนต่อไป [5]

บน SoC จาก ควอลคอมม์ คุณสามารถเข้าสู่ โหมดดาวน์โหลดฉุกเฉินของ ควอลคอมม์ ได้จากตัวบูตโหลดเดอร์หลัก

หากการตรวจสอบ บูตโหลดเดอร์ รองล้มเหลว จะเข้าสู่ EDL [6][ต้องการแหล่งอ้างอิงดีกว่านี้]</link>[ ดีกว่า แหล่งที่มา จำเป็น ]

บูตโหลดเดอร์รอง

เนื่องจากพื้นที่ใน ROM บูตมีจำกัด จึงใช้ บูตโหลดเดอร์ รองบน eMMC หรือ eUFS [7] ตัวโหลดบูตรองจะเริ่มต้น TrustZone [7] [8]

ตัวอย่างเช่น บน ควอลคอมม์ MSM8960 บูตโหลดเดอร์ รอง 1 จะโหลด บูตโหลดเดอร์ รอง 2 บูตโหลดเดอร์ รอง 2 โหลด TrustZone และ บูตโหลดเดอร์ รอง 3 [9]

ปัจจุบัน ควอลคอมม์ เรียก SBL ว่า XBL และเป็นการใช้งาน แบบ UEFI

ควอลคอมม์ ใช้ LK (Little Kernel) หรือ XBL (eXtensible Bootloader), มีเดียเทก ใช้ Das U-Boot [1] Little Kernel คือ ไมโครเคอร์เนล สำหรับ อุปกรณ์ฝังตัว ซึ่งได้รับการปรับเปลี่ยนโดย ควอลคอมม์ เพื่อใช้เป็นบูตโหลดเดอร์ [10]

Aboot

แอนดรอยด์ บูตโหลดเดอร์ (Aboot) ซึ่งใช้งานอินเทอร์เฟซ ฟาสต์บูต (ซึ่งไม่มีในอุปกรณ์ ซัมซุง) Aboot ตรวจสอบความถูกต้องของพาร์ติชันการบูตและการกู้คืน [4] โดยการกดปุ่มผสมที่เฉพาะเจาะจง อุปกรณ์ก็สามารถบูตเข้าสู่ โหมดการกู้คืน ได้ จากนั้น Aboot จะโอนการควบคุมไปยังเคอร์เนล ลีนุกซ์

เคอร์เนล และ initramfs

initramfs เป็นไฟล์เก็บถาวร cpio ที่ผ่านการบีบอัดด้วย gzip ซึ่งมีระบบไฟล์รูทขนาดเล็ก ประกอบด้วย init ซึ่งจะถูกดำเนินการ เคอร์เนล แอนดรอยด์ เป็นเวอร์ชันปรับเปลี่ยนของเคอร์เนล Linux Init จะทำการ mount พาร์ติชัน dm-verity ตรวจสอบความสมบูรณ์ของพาร์ติชันที่ระบุไว้ในไฟล์ fstab dm-verity คือโมดูลเคอร์เนล Linux ที่ถูกเปิดตัวโดย กูเกล ใน แอนดรอยด์ ตั้งแต่เวอร์ชัน 4.4 การใช้งานสต็อกรองรับการยืนยันแบบบล็อกเท่านั้น แต่ ซัมซุง ได้เพิ่มการรองรับสำหรับไฟล์แล้ว [8]

ไซโกต

ไซโกต ถูกสร้างขึ้นโดยกระบวนการ init ซึ่งรับผิดชอบในการเริ่มแอปพลิเคชัน แอนดรอยด์ และกระบวนการบริการ มันโหลดและเริ่มต้นคลาสที่ควรจะใช้บ่อยมากลงในฮีป เช่นโครงสร้างข้อมูล dex ของไลบรารี หลังจากที่ ไซโกต เริ่มทำงาน มันจะฟังคำสั่งจากซ็อกเก็ต เมื่อต้องการเริ่มต้นแอปพลิเคชันใหม่ คำสั่งจะถูกส่งไปยัง ไซโกต ซึ่งดำเนินการเรียกระบบ fork()[ต้องการอ้างอิง]</link>[ จำเป็นต้องมีการอ้างอิง ]

เลย์เอาต์พาร์ติชัน

ระบบ แอนดรอยด์ แบ่งออกเป็น พาร์ติชั่น ต่างๆ [11]

แพลตฟอร์ม ควอลคอมม์ ใช้ประโยชน์จาก ตารางพาร์ติชั่น GUID ข้อกำหนดนี้เป็นส่วนหนึ่งของข้อกำหนด UEFI แต่ไม่ได้ขึ้นอยู่กับเฟิร์มแวร์ UEFI [12]

อ้างอิง

  1. 1.0 1.1 Garri, Khireddine; Kenaza, Tayeb; Aissani, Mohamed (October 2018). "A Novel approach for bootkit detection in Android Platform". 2018 International Conference on Smart Communications in Network Technologies (SaCoNeT). IEEE. pp. 277–282. doi:10.1109/saconet.2018.8585583. ISBN 978-1-5386-9493-0. อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่สมเหตุสมผล มีนิยามชื่อ ":2" หลายครั้งด้วยเนื้อหาต่างกัน
  2. "Android Verified Boot [LWN.net]". LWN.net. เก็บจากแหล่งเดิมเมื่อ 2015-04-22. สืบค้นเมื่อ 2021-09-25.
  3. Yuan, Pengfei; Guo, Yao; Chen, Xiangqun; Mei, Hong (March 2018). "Device-Specific Linux Kernel Optimization for Android Smartphones". 2018 6th IEEE International Conference on Mobile Cloud Computing, Services, and Engineering (MobileCloud). pp. 65–72. doi:10.1109/MobileCloud.2018.00018. ISBN 978-1-5386-4879-7.
  4. 4.0 4.1 Hay, Roee (2017-08-14). "fastboot oem vuln: android bootloader vulnerabilities in vendor customizations". Proceedings of the 11th USENIX Conference on Offensive Technologies. WOOT'17. Vancouver, BC, Canada: USENIX Association: 22. อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่สมเหตุสมผล มีนิยามชื่อ ":3" หลายครั้งด้วยเนื้อหาต่างกัน
  5. Alendal, Gunnar; Dyrkolbotn, Geir Olav; Axelsson, Stefan (2018-03-01). "Forensics acquisition — Analysis and circumvention of samsung secure boot enforced common criteria mode". Digital Investigation (ภาษาอังกฤษ). 24: S60–S67. doi:10.1016/j.diin.2018.01.008. ISSN 1742-2876. {{cite journal}}: |hdl-access= ต้องการ |hdl= (help)
  6. "Exploiting Qualcomm EDL Programmers (1): Gaining Access & PBL Internals". alephsecurity.com (ภาษาอังกฤษ). 2018-01-22. สืบค้นเมื่อ 2021-09-13.
  7. 7.0 7.1 Yuan, Pengfei; Guo, Yao; Chen, Xiangqun; Mei, Hong (March 2018). "Device-Specific Linux Kernel Optimization for Android Smartphones". 2018 6th IEEE International Conference on Mobile Cloud Computing, Services, and Engineering (MobileCloud). IEEE. pp. 65–72. doi:10.1109/mobilecloud.2018.00018. ISBN 978-1-5386-4879-7.
  8. 8.0 8.1 Kanonov, Uri; Wool, Avishai (2016-10-24). "Secure Containers in Android". Proceedings of the 6th Workshop on Security and Privacy in Smartphones and Mobile Devices. SPSM '16. New York, NY, USA: ACM. pp. 3–12. doi:10.1145/2994459.2994470. ISBN 9781450345644. อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่สมเหตุสมผล มีนิยามชื่อ ":0" หลายครั้งด้วยเนื้อหาต่างกัน
  9. Tao, Chen, Yue Zhang, Yulong Wang, Zhi Wei (2017-07-17). Downgrade Attack on TrustZone. OCLC 1106269801.
  10. Tang, Qinghao (2021). Internet of things security: principles and practice. Fan Du. Singapore. p. 166. ISBN 978-981-15-9942-2. OCLC 1236261208.
  11. Alendal, Gunnar; Dyrkolbotn, Geir Olav; Axelsson, Stefan (March 2018). "Forensics acquisition — Analysis and circumvention of samsung secure boot enforced common criteria mode". Digital Investigation. 24: S60–S67. doi:10.1016/j.diin.2018.01.008. ISSN 1742-2876. {{cite journal}}: |hdl-access= ต้องการ |hdl= (help)
  12. Zhao, Longze; Xi, Bin; Wu, Shunxiang; Aizezi, Yasen; Ming, Daodong; Wang, Fulin; Yi, Chao (2018). "Physical Mirror Extraction on Qualcomm-based Android Mobile Devices". Proceedings of the 2nd International Conference on Computer Science and Application Engineering. Csae '18. New York, New York, USA: ACM Press. pp. 1–5. doi:10.1145/3207677.3278046. ISBN 9781450365123.

แหล่งข้อมูลอื่น


อ้างอิงผิดพลาด: มีป้ายระบุ <ref> สำหรับกลุ่มชื่อ "lower-alpha" แต่ไม่พบป้ายระบุ <references group="lower-alpha"/> ที่สอดคล้องกัน

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!