xref: /aosp_15_r20/system/sepolicy/private/mlstrustedsubject.te (revision e4a36f4174b17bbab9dc043f4a65dc8d87377290)
1*e4a36f41SAndroid Build Coastguard Worker# MLS override can't be used to access private app data.
2*e4a36f41SAndroid Build Coastguard Worker
3*e4a36f41SAndroid Build Coastguard Worker# Apps should not normally be mlstrustedsubject, but if they must be
4*e4a36f41SAndroid Build Coastguard Worker# they cannot use this to access app private data files; their own app
5*e4a36f41SAndroid Build Coastguard Worker# data files must use a different label.
6*e4a36f41SAndroid Build Coastguard Worker
7*e4a36f41SAndroid Build Coastguard Workerneverallow {
8*e4a36f41SAndroid Build Coastguard Worker  mlstrustedsubject
9*e4a36f41SAndroid Build Coastguard Worker  -artd # compile secondary dex files
10*e4a36f41SAndroid Build Coastguard Worker  -installd
11*e4a36f41SAndroid Build Coastguard Worker} {
12*e4a36f41SAndroid Build Coastguard Worker  app_data_file
13*e4a36f41SAndroid Build Coastguard Worker  privapp_data_file
14*e4a36f41SAndroid Build Coastguard Worker  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
15*e4a36f41SAndroid Build Coastguard Worker}:file ~{ read write map getattr ioctl lock append };
16*e4a36f41SAndroid Build Coastguard Worker
17*e4a36f41SAndroid Build Coastguard Workerneverallow {
18*e4a36f41SAndroid Build Coastguard Worker  mlstrustedsubject
19*e4a36f41SAndroid Build Coastguard Worker  -artd # compile secondary dex files
20*e4a36f41SAndroid Build Coastguard Worker  -installd
21*e4a36f41SAndroid Build Coastguard Worker} {
22*e4a36f41SAndroid Build Coastguard Worker  app_data_file
23*e4a36f41SAndroid Build Coastguard Worker  privapp_data_file
24*e4a36f41SAndroid Build Coastguard Worker  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
25*e4a36f41SAndroid Build Coastguard Worker}:dir ~{ read getattr search };
26*e4a36f41SAndroid Build Coastguard Worker
27*e4a36f41SAndroid Build Coastguard Workeris_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
28*e4a36f41SAndroid Build Coastguard Worker  neverallow {
29*e4a36f41SAndroid Build Coastguard Worker    mlstrustedsubject
30*e4a36f41SAndroid Build Coastguard Worker    -artd # compile secondary dex files
31*e4a36f41SAndroid Build Coastguard Worker    -installd
32*e4a36f41SAndroid Build Coastguard Worker    -vold # encryption of storage areas
33*e4a36f41SAndroid Build Coastguard Worker    -vold_prepare_subdirs # creation of storage area directories
34*e4a36f41SAndroid Build Coastguard Worker  } { storage_area_dir storage_area_app_dir }:dir ~{ read getattr search };
35*e4a36f41SAndroid Build Coastguard Worker')
36*e4a36f41SAndroid Build Coastguard Worker
37*e4a36f41SAndroid Build Coastguard Workerneverallow {
38*e4a36f41SAndroid Build Coastguard Worker  mlstrustedsubject
39*e4a36f41SAndroid Build Coastguard Worker  -artd # compile secondary dex files
40*e4a36f41SAndroid Build Coastguard Worker  -installd
41*e4a36f41SAndroid Build Coastguard Worker  -system_server
42*e4a36f41SAndroid Build Coastguard Worker  -adbd
43*e4a36f41SAndroid Build Coastguard Worker  -runas
44*e4a36f41SAndroid Build Coastguard Worker  -zygote
45*e4a36f41SAndroid Build Coastguard Worker} {
46*e4a36f41SAndroid Build Coastguard Worker  app_data_file
47*e4a36f41SAndroid Build Coastguard Worker  privapp_data_file
48*e4a36f41SAndroid Build Coastguard Worker  is_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `storage_area_content_file')
49*e4a36f41SAndroid Build Coastguard Worker}:dir { read getattr search };
50*e4a36f41SAndroid Build Coastguard Worker
51*e4a36f41SAndroid Build Coastguard Workeris_flag_enabled(RELEASE_UNLOCKED_STORAGE_API, `
52*e4a36f41SAndroid Build Coastguard Worker  neverallow {
53*e4a36f41SAndroid Build Coastguard Worker    mlstrustedsubject
54*e4a36f41SAndroid Build Coastguard Worker    -artd # compile secondary dex files
55*e4a36f41SAndroid Build Coastguard Worker    -installd
56*e4a36f41SAndroid Build Coastguard Worker    -system_server
57*e4a36f41SAndroid Build Coastguard Worker    -adbd
58*e4a36f41SAndroid Build Coastguard Worker    -runas
59*e4a36f41SAndroid Build Coastguard Worker    -vold # encryption of storage area directories
60*e4a36f41SAndroid Build Coastguard Worker    -vold_prepare_subdirs # creation of storage area directories
61*e4a36f41SAndroid Build Coastguard Worker    -zygote
62*e4a36f41SAndroid Build Coastguard Worker  } { storage_area_dir storage_area_app_dir }:dir { read getattr search };
63*e4a36f41SAndroid Build Coastguard Worker')
64