Android 장치 부팅 프로세스
Booting process of Android devicesAndroid 장치의 부팅 프로세스는 SoC(칩 상의 시스템)의 전원을 켜면 시작되어 홈 스크린 또는 복구 및 [a]고속 부팅과 같은 특수 모드에서 종료됩니다.Android를 실행하는 장치의 부팅 프로세스는 SoC 제조업체의 펌웨어 설계에 영향을 받습니다.
배경
2018년 현재 안드로이드 마켓 SoC의 90%는 퀄컴, 삼성 또는 미디어텍이 [1]공급하고 있습니다.그 외의 벤더에는, Rockchip, Marvell, Nvidia, 및 이전의 Texas Instruments등이 있습니다.
역사
부팅이 Android [2]KitKat에서 도입된 것을 확인.
스테이지
프라이머리 부트로더
Primary[3] Bootloader(PBL; 프라이머리 부트로더)는 부트 프로세스의 첫 번째 단계입니다.이 코드는 칩셋 [4]제조원에 의해 기술되어 있습니다.
PBL은 다음 스테이지의 진위를 확인합니다.
삼성 스마트폰에서는 부팅 ROM에서 다음 [5]단계를 확인하기 위해 삼성 Secure Boot Key(SSBK)를 사용합니다.
Qualcomm의 SoC에서는 프라이머리 부트로더에서 Qualcomm Emergency Download Mode로 이행할 수 있습니다.
세컨더리 부트로더 검증에 실패하면 EDL로 [6][better source needed]이행합니다.
세컨더리 부트로더
부트 ROM 의 공간은 한정되어 있기 때문에, eMMC 또는 eUFS 의 세컨더리 부트로더가 사용됩니다.[7]세컨더리 부트로더는 Trust [7][8]Zone을 초기화합니다.
예를 들어 Qualcomm MSM8960에서는 Secondary Bootloader 1이 Secondary Bootloader 2를 로드합니다.세컨더리 부트로더 2는 TrustZone 및 세컨더리 부트로더 [9]3을 로드합니다.
SBL은 현재 퀄컴에 의해 XBL로 불리며 UEFI를 사용하여 2단계에서 Android 이외의 운영체제를 상호 호환합니다.
어부트
퀄컴은 리틀 커널, 미디어 사용Tek는 Das U-Boot을 [1]사용합니다.Little Kernel은 임베디드 기기용 마이크로커널로,[10] 퀄컴이 이를 안드로이드 부트로더로 사용하도록 수정했습니다.Android Bootloader(Aboot) - 고속 부팅 인터페이스를 구현합니다(삼성 장치에는 없음).Aboot은 부트 파티션과 복구 [4]파티션의 신뢰성을 확인합니다.특정 키 조합을 누르면 디바이스도 복구 모드로 부팅할 수 있습니다.그런 다음 Aboot은 Linux 커널에 제어권을 이양합니다.
커널 및 initramfs
initramfs는 작은 루트 파일 시스템을 포함하는 gzip 압축 cpo 아카이브입니다.여기에는 init이 포함되어 실행됩니다.Android 커널은 Linux 커널의 수정된 버전입니다.Init은 파티션을 마운트합니다.dm-verify는 fstab 파일에 지정된 파티션의 무결성을 확인합니다.dm-verify는 버전 4.4 이후 Google에 의해 안드로이드에서 도입된 Linux 커널 모듈입니다.재고 구현은 블록 기반 검증만 지원하지만 삼성은 [8]파일 지원을 추가했다.
접합자
Zygote는 안드로이드 애플리케이션 및 서비스 프로세스를 시작하는 init 프로세스에 의해 생성됩니다.매우 자주 사용해야 하는 클래스를 힙에 로드하고 초기화합니다.예를 들어 라이브러리의 덱스 데이터 구조를 들 수 있습니다.Zygote는 부팅 후 소켓에서 명령을 듣습니다.새 응용 프로그램이 시작되면 명령이 Zygote로 전송되고 Zygote는 fork()[citation needed] 시스템 호출을 실행합니다.
파티션 레이아웃
Android 시스템은 여러 [11]파티션으로 분할되어 있습니다.
퀄컴 플랫폼은 GUID 파티션 테이블을 사용합니다.이 규격은 UEFI 규격의 일부이지만 UEFI에 [12]종속되지 않습니다.
「 」를 참조해 주세요.
설명 메모
- ^ 이러한 모드는 통상적인 기동을 재개하는 기능을 서포트하는 경향이 있습니다.
레퍼런스
- ^ a b 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: 277–282. doi:10.1109/saconet.2018.8585583. ISBN 978-1-5386-9493-0. S2CID 56718094.
- ^ "Android Verified Boot [LWN.net]". LWN.net. Archived from the original on 2015-04-22. Retrieved 2021-09-25.
- ^ 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): 65–72. doi:10.1109/MobileCloud.2018.00018. ISBN 978-1-5386-4879-7. S2CID 13742883.
- ^ a b 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.
- ^ 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. hdl:11250/2723051. ISSN 1742-2876.
- ^ "Exploiting Qualcomm EDL Programmers (1): Gaining Access & PBL Internals". alephsecurity.com. 2018-01-22. Retrieved 2021-09-13.
- ^ a b 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: 65–72. doi:10.1109/mobilecloud.2018.00018. ISBN 978-1-5386-4879-7. S2CID 13742883.
- ^ a b 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: 3–12. doi:10.1145/2994459.2994470. ISBN 9781450345644. S2CID 8510729.
- ^ Tao, Chen, Yue Zhang, Yulong Wang, Zhi Wei (2017-07-17). Downgrade Attack on TrustZone. OCLC 1106269801.
- ^ Tang, Qinghao (2021). Internet of things security: principles and practice. Fan Du. Singapore. p. 166. ISBN 981-15-9942-4. OCLC 1236261208.
- ^ 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. hdl:11250/2723051. ISSN 1742-2876.
- ^ 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. Csae '18. New York, New York, USA: ACM Press: 1–5. doi:10.1145/3207677.3278046. ISBN 9781450365123. S2CID 53038902.