Jeff Vander Stoep | bacb6d7 | 2017-02-13 13:33:27 -0800 | [diff] [blame] | 1 | ### |
Jeff Vander Stoep | 3aa7ca5 | 2018-04-03 11:22:38 -0700 | [diff] [blame] | 2 | ### Untrusted_27. |
Jeff Vander Stoep | bacb6d7 | 2017-02-13 13:33:27 -0800 | [diff] [blame] | 3 | ### |
Jeff Vander Stoep | 3aa7ca5 | 2018-04-03 11:22:38 -0700 | [diff] [blame] | 4 | ### This file defines the rules for untrusted apps running with |
Yabin Cui | 5dc2c8c | 2018-11-02 11:12:43 -0700 | [diff] [blame] | 5 | ### 25 < targetSdkVersion <= 28. |
Jeff Vander Stoep | 3aa7ca5 | 2018-04-03 11:22:38 -0700 | [diff] [blame] | 6 | ### |
| 7 | ### This file defines the rules for untrusted apps. |
Jeff Vander Stoep | bacb6d7 | 2017-02-13 13:33:27 -0800 | [diff] [blame] | 8 | ### Apps are labeled based on mac_permissions.xml (maps signer and |
| 9 | ### optionally package name to seinfo value) and seapp_contexts (maps UID |
| 10 | ### and optionally seinfo value to domain for process and type for data |
Jeff Vander Stoep | 3aa7ca5 | 2018-04-03 11:22:38 -0700 | [diff] [blame] | 11 | ### directory). The untrusted_app_27 domain is the default assignment in |
Jeff Vander Stoep | bacb6d7 | 2017-02-13 13:33:27 -0800 | [diff] [blame] | 12 | ### seapp_contexts for any app with UID between APP_AID (10000) |
| 13 | ### and AID_ISOLATED_START (99000) if the app has no specific seinfo |
| 14 | ### value as determined from mac_permissions.xml. In current AOSP, this |
| 15 | ### domain is assigned to all non-system apps as well as to any system apps |
| 16 | ### that are not signed by the platform key. To move |
| 17 | ### a system app into a specific domain, add a signer entry for it to |
| 18 | ### mac_permissions.xml and assign it one of the pre-existing seinfo values |
| 19 | ### or define and use a new seinfo value in both mac_permissions.xml and |
| 20 | ### seapp_contexts. |
| 21 | ### |
| 22 | |
Jeff Vander Stoep | 3aa7ca5 | 2018-04-03 11:22:38 -0700 | [diff] [blame] | 23 | typeattribute untrusted_app_27 coredomain; |
Jeff Vander Stoep | bacb6d7 | 2017-02-13 13:33:27 -0800 | [diff] [blame] | 24 | |
Jeff Vander Stoep | 3aa7ca5 | 2018-04-03 11:22:38 -0700 | [diff] [blame] | 25 | app_domain(untrusted_app_27) |
| 26 | untrusted_app_domain(untrusted_app_27) |
| 27 | net_domain(untrusted_app_27) |
| 28 | bluetooth_domain(untrusted_app_27) |
Yabin Cui | 5dc2c8c | 2018-11-02 11:12:43 -0700 | [diff] [blame] | 29 | |
Jeff Vander Stoep | c9aba12 | 2019-04-02 13:01:10 -0700 | [diff] [blame] | 30 | # Text relocation support for API < 23. This is now disallowed for targetSdkVersion>=Q. |
| 31 | # https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md#text-relocations-enforced-for-api-level-23 |
| 32 | allow untrusted_app_27 { apk_data_file app_data_file asec_public_file }:file execmod; |
| 33 | |
Nick Kralevich | 65a89c1 | 2018-12-21 10:03:50 -0800 | [diff] [blame] | 34 | # The ability to call exec() on files in the apps home directories |
| 35 | # for targetApi 26, 27, and 28. |
| 36 | allow untrusted_app_27 app_data_file:file execute_no_trans; |
Alan Stokes | 3f63dbf | 2019-01-28 10:33:08 +0000 | [diff] [blame] | 37 | auditallow untrusted_app_27 app_data_file:file { execute execute_no_trans }; |
David Brazdil | 535c5d2 | 2018-11-19 23:02:49 +0000 | [diff] [blame] | 38 | |
| 39 | # The ability to invoke dex2oat. Historically required by ART, now only |
| 40 | # allowed for targetApi<=28 for compat reasons. |
| 41 | allow untrusted_app_27 dex2oat_exec:file rx_file_perms; |
Nick Kralevich | cfe1bae | 2018-11-20 10:45:56 -0800 | [diff] [blame] | 42 | userdebug_or_eng(`auditallow untrusted_app_27 dex2oat_exec:file rx_file_perms;') |
Tri Vo | 73d0a67 | 2019-01-27 13:39:19 -0800 | [diff] [blame] | 43 | |
| 44 | # The ability to talk to /dev/ashmem directly. targetApi>=29 must use |
| 45 | # ASharedMemory instead. |
| 46 | allow untrusted_app_27 ashmem_device:chr_file rw_file_perms; |
Tri Vo | 8b12ff5 | 2019-02-12 14:14:30 -0800 | [diff] [blame] | 47 | auditallow untrusted_app_27 ashmem_device:chr_file open; |