Application Sandbox는 안드로이드 (운영체제)가 앱을 기본적으로 서로 분리해 다루는 보안 경계다. 각 앱은 별도의 Linux 사용자 ID와 프로세스 공간을 받으며, 기본 상태에서는 다른 앱의 데이터나 시스템 자원에 임의로 접근할 수 없다.[1][2] 이 모델은 AOSP의 아키텍처와 Android framework의 권한 시스템 위에서 동작하지만, 그 자체가 앱의 기본 격리 단위다.[1][2]
1. 개요
2. 앱 격리 구조
3. 권한 모델
4. Android 보안 체계에서의 위치
Application Sandbox는 Verified Boot처럼 부팅 무결성을 보장하는 계층과도 다르고, Android framework가 제공하는 API 계층과도 다르다. 샌드박스는 앱 실행의 기본 경계이고, framework는 그 경계 안에서 앱이 어떤 API를 사용할 수 있는지 조율하며, Verified Boot는 기기 신뢰 체인을 부팅 시점부터 점검한다.[1][4] Android Enterprise Security White Paper는 이런 샌드박스, SELinux, Verified Boot 같은 계층이 함께 Android의 방어면을 이룬다고 설명한다.[1]
5. 사용자와 개발자 관점
7. 인용 및 각주
[1] Android Enterprise Security White Paper, Android Open Source Project, source.android.com(새 탭에서 열림)
[2] Define a custom app permission, Android Developers, developer.android.com(새 탭에서 열림)
[3] Request runtime permissions, Android Developers, developer.android.com(새 탭에서 열림)
[4] Improve your app's security, Android Developers, developer.android.com(새 탭에서 열림)