blob: 226cc0f580e0061db79f993a181e060ad7062f74 [file] [log] [blame]
Jeff Vander Stoepd22987b2015-11-03 09:54:39 -08001# rules removed from the domain attribute
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -08002
3# Read access to properties mapping.
4allow domain_deprecated kernel:fd use;
5allow domain_deprecated tmpfs:file { read getattr };
6allow domain_deprecated tmpfs:lnk_file { read getattr };
Jeff Vander Stoep7ef80732016-09-09 16:27:17 -07007auditallow { domain_deprecated -init } kernel:fd use;
8auditallow { domain_deprecated -dex2oat } tmpfs:file { read getattr };
9auditallow domain_deprecated tmpfs:lnk_file { read getattr };
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -080010
11# Search /storage/emulated tmpfs mount.
12allow domain_deprecated tmpfs:dir r_dir_perms;
Jeff Vander Stoep7ef80732016-09-09 16:27:17 -070013auditallow { domain_deprecated -appdomain -init -sdcardd -surfaceflinger -system_server -vold -zygote } tmpfs:dir r_dir_perms;
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -080014
15# Inherit or receive open files from others.
16allow domain_deprecated system_server:fd use;
Jeff Vander Stoep3a0721a2016-10-01 05:26:15 -070017auditallow { domain_deprecated -appdomain -netd -surfaceflinger } system_server:fd use;
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -080018
19# Connect to adbd and use a socket transferred from it.
20# This is used for e.g. adb backup/restore.
21allow domain_deprecated adbd:unix_stream_socket connectto;
22allow domain_deprecated adbd:fd use;
23allow domain_deprecated adbd:unix_stream_socket { getattr getopt ioctl read write shutdown };
Jeff Vander Stoep7ef80732016-09-09 16:27:17 -070024auditallow { domain_deprecated -appdomain -system_server } adbd:unix_stream_socket connectto;
25auditallow { domain_deprecated -appdomain -system_server } adbd:fd use;
26auditallow { domain_deprecated -appdomain -system_server } adbd:unix_stream_socket { getattr getopt ioctl read write shutdown };
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -080027
28# Root fs.
29allow domain_deprecated rootfs:dir r_dir_perms;
30allow domain_deprecated rootfs:file r_file_perms;
31allow domain_deprecated rootfs:lnk_file r_file_perms;
Jeff Vander Stoep108677c2016-09-11 21:18:05 -070032auditallow { domain_deprecated -healthd -init -installd -priv_app -servicemanager -system_server -ueventd -uncrypt -vold -zygote } rootfs:dir { open getattr read ioctl lock }; # search granted in domain
33auditallow { domain_deprecated -healthd -init -installd -priv_app -servicemanager -system_server -ueventd -uncrypt -vold -zygote } rootfs:file r_file_perms;
34auditallow { domain_deprecated -appdomain -healthd -init -installd -priv_app -servicemanager -system_server -ueventd -uncrypt -vold -zygote } rootfs:lnk_file { getattr open ioctl lock }; # read granted in domain
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -080035
36# Device accesses.
37allow domain_deprecated device:file read;
Jeff Vander Stoep7ef80732016-09-09 16:27:17 -070038auditallow domain_deprecated device:file read;
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -080039
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -080040# System file accesses.
41allow domain_deprecated system_file:dir r_dir_perms;
42allow domain_deprecated system_file:file r_file_perms;
43allow domain_deprecated system_file:lnk_file r_file_perms;
Nick Kralevich68f23362016-11-07 16:14:28 -080044auditallow {
45 domain_deprecated
46 -appdomain
47 -init
48 -installd
49 -rild
50 -surfaceflinger
51 -system_server
52 -zygote
53} system_file:dir { open read ioctl lock }; # search getattr in domain
54auditallow {
55 domain_deprecated
56 -appdomain
57 -init
58 -rild
59 -surfaceflinger
60 -system_server
61 -zygote
62} system_file:file { ioctl lock }; # read open getattr in domain
63auditallow {
64 domain_deprecated
65 -appdomain
66 -init
67 -installd
68 -rild
69 -surfaceflinger
70 -system_server
71 -zygote
72} system_file:lnk_file { getattr open ioctl lock }; # read in domain
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -080073
74# Read files already opened under /data.
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -080075allow domain_deprecated system_data_file:file { getattr read };
76allow domain_deprecated system_data_file:lnk_file r_file_perms;
Jeff Vander Stoep5c4435a2016-09-24 14:26:45 -070077auditallow { domain_deprecated -appdomain -init -sdcardd -system_server -tee } system_data_file:file { getattr read };
78auditallow { domain_deprecated -appdomain -init -system_server -tee } system_data_file:lnk_file r_file_perms;
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -080079
80# Read apk files under /data/app.
81allow domain_deprecated apk_data_file:dir { getattr search };
82allow domain_deprecated apk_data_file:file r_file_perms;
83allow domain_deprecated apk_data_file:lnk_file r_file_perms;
Jeff Vander Stoep7ef80732016-09-09 16:27:17 -070084auditallow { domain_deprecated -appdomain -dex2oat -init -installd -system_server } apk_data_file:dir { getattr search };
85auditallow { domain_deprecated -appdomain -dex2oat -installd -system_server } apk_data_file:file r_file_perms;
86auditallow { domain_deprecated -appdomain -dex2oat -installd -system_server } apk_data_file:lnk_file r_file_perms;
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -080087
88# Read /data/dalvik-cache.
89allow domain_deprecated dalvikcache_data_file:dir { search getattr };
90allow domain_deprecated dalvikcache_data_file:file r_file_perms;
Nick Kralevich79a08e12016-10-28 11:18:43 -070091auditallow {
92 domain_deprecated
93 -appdomain
94 -debuggerd
95 -dex2oat
96 -dumpstate
97 -init
98 -installd
99 -system_server
100 -zygote
101} dalvikcache_data_file:dir { search getattr };
102auditallow {
103 domain_deprecated
104 -appdomain
105 -debuggerd
106 -dex2oat
107 -dumpstate
Nick Kralevich2c8ea362016-10-29 08:07:12 -0700108 -init
Nick Kralevich79a08e12016-10-28 11:18:43 -0700109 -installd
110 -system_server
111 -zygote
112} dalvikcache_data_file:file r_file_perms;
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -0800113
114# Read already opened /cache files.
Nick Kralevichd5464732016-01-16 08:15:52 -0800115allow domain_deprecated cache_file:dir r_dir_perms;
116allow domain_deprecated cache_file:file { getattr read };
Nick Kralevichdc37ea72016-01-07 12:56:54 -0800117allow domain_deprecated cache_file:lnk_file r_file_perms;
Jeff Vander Stoep7ef80732016-09-09 16:27:17 -0700118auditallow { domain_deprecated -init -priv_app -system_server -vold } cache_file:dir { open read search ioctl lock };
119auditallow { domain_deprecated -appdomain -init -priv_app -system_server -vold } cache_file:dir getattr;
120auditallow { domain_deprecated -init -priv_app -system_server -vold } cache_file:file { getattr read };
121auditallow { domain_deprecated -init -system_server -vold } cache_file:lnk_file r_file_perms;
Felipe Leme549ccf72015-12-22 12:37:17 -0800122
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -0800123#Allow access to ion memory allocation device
124allow domain_deprecated ion_device:chr_file rw_file_perms;
Jeff Vander Stoep7ef80732016-09-09 16:27:17 -0700125# split this auditallow into read and write perms since most domains seem to
126# only require read
Jeff Vander Stoep24ad5142016-10-01 20:47:01 -0700127auditallow { domain_deprecated -appdomain -fingerprintd -keystore -surfaceflinger -system_server -tee -vold -zygote } ion_device:chr_file r_file_perms;
Jeff Vander Stoep7ef80732016-09-09 16:27:17 -0700128auditallow domain_deprecated ion_device:chr_file { write append };
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -0800129
130# Read access to pseudo filesystems.
131r_dir_file(domain_deprecated, proc)
Jeff Vander Stoepa2c40552016-09-13 11:03:36 -0700132r_dir_file(domain_deprecated, sysfs)
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -0800133r_dir_file(domain_deprecated, inotify)
134r_dir_file(domain_deprecated, cgroup)
Nick Kralevich7a35c132016-03-31 14:11:50 -0700135allow domain_deprecated proc_meminfo:file r_file_perms;
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -0800136r_dir_file(domain_deprecated, proc_net)
Jeff Vander Stoep7ef80732016-09-09 16:27:17 -0700137#auditallow domain_deprecated proc:dir r_dir_perms; # r_dir_perms granted in domain
Jeff Vander Stoep5c4435a2016-09-24 14:26:45 -0700138auditallow { domain_deprecated -fsck -fsck_untrusted -init -priv_app -rild -system_server -vold } proc:file r_file_perms;
139auditallow { domain_deprecated -fsck -fsck_untrusted -init -priv_app -rild -system_server -vold } proc:lnk_file { open ioctl lock }; # getattr read granted in domain
Jeff Vander Stoep7ef80732016-09-09 16:27:17 -0700140auditallow { domain_deprecated -bluetooth -fingerprintd -healthd -init -netd -priv_app -rild -system_app -surfaceflinger -system_server -tee -ueventd -vold -wpa } sysfs:dir { open getattr read ioctl lock }; # search granted in domain
141auditallow { domain_deprecated -bluetooth -fingerprintd -healthd -init -netd -priv_app -rild -system_app -surfaceflinger -system_server -tee -ueventd -vold -wpa } sysfs:file r_file_perms;
142auditallow { domain_deprecated -bluetooth -fingerprintd -healthd -init -netd -priv_app -rild -system_app -surfaceflinger -system_server -tee -ueventd -vold -wpa } sysfs:lnk_file { getattr open ioctl lock }; # read granted in domain
143auditallow domain_deprecated inotify:dir r_dir_perms;
144auditallow domain_deprecated inotify:{ file lnk_file } r_file_perms;
Nick Kralevich2c8ea362016-10-29 08:07:12 -0700145auditallow {
146 domain_deprecated
147 -appdomain
148 -dumpstate
149 -fingerprintd
150 -healthd
151 -init
152 -inputflinger
153 -installd
154 -keystore
155 -netd
156 -rild
157 -surfaceflinger
158 -system_server
159 -zygote
160} cgroup:dir r_dir_perms;
161auditallow {
162 domain_deprecated
163 -appdomain
164 -dumpstate
165 -fingerprintd
166 -healthd
167 -init
168 -inputflinger
169 -installd
170 -keystore
171 -netd
172 -rild
173 -surfaceflinger
174 -system_server
175 -zygote
176} cgroup:{ file lnk_file } r_file_perms;
Jeff Vander Stoep5c4435a2016-09-24 14:26:45 -0700177auditallow { domain_deprecated -appdomain -init -priv_app -surfaceflinger -system_server -vold } proc_meminfo:file r_file_perms;
178auditallow { domain_deprecated -appdomain -clatd -init -netd -system_server -vold -wpa -zygote } proc_net:dir { open getattr read ioctl lock }; # search granted in domain
Nick Kralevich79a08e12016-10-28 11:18:43 -0700179auditallow {
180 domain_deprecated
181 -appdomain
182 -clatd
183 -dumpstate
184 -init
185 -netd
186 -system_server
187 -vold
188 -wpa
189 -zygote
190} proc_net:{ file lnk_file } r_file_perms;
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -0800191
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -0800192# Get SELinux enforcing status.
193allow domain_deprecated selinuxfs:dir r_dir_perms;
194allow domain_deprecated selinuxfs:file r_file_perms;
Jeff Vander Stoep3a0721a2016-10-01 05:26:15 -0700195auditallow { domain_deprecated -appdomain -debuggerd -init -installd -keystore -postinstall_dexopt -runas -servicemanager -system_server -ueventd -zygote } selinuxfs:dir { open getattr read ioctl lock }; # search granted in domain
196auditallow { domain_deprecated -appdomain -debuggerd -init -installd -keystore -postinstall_dexopt -runas -servicemanager -system_server -ueventd -zygote } selinuxfs:file { open read ioctl lock }; # getattr granted in domain
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -0800197
Jeff Vander Stoep6e3506e2015-11-05 15:24:22 -0800198# World readable asec image contents
199allow domain_deprecated asec_public_file:file r_file_perms;
200allow domain_deprecated { asec_public_file asec_apk_file }:dir r_dir_perms;
Jeff Vander Stoep7ef80732016-09-09 16:27:17 -0700201auditallow domain_deprecated asec_public_file:file r_file_perms;
202auditallow domain_deprecated { asec_public_file asec_apk_file }:dir r_dir_perms;