c4ef363006
Added access to proc_uptime and proc_asound to address these denials: avc: denied { read } for name="uptime" dev="proc" ino=4026532080 scontext=u:r:shell:s0 tcontext=u:object_r:proc_uptime:s0 tclass=file permissive=1 avc: denied { getattr } for path="/proc/asound/version" dev="proc" ino=4026532017 scontext=u:r:shell:s0 tcontext=u:object_r:proc_asound:s0 tclass=file permissive=1 Bug: 65643247 Test: device boots with no denial from 'shell' domain. Test: lsmod, ps, top, netstat Test: No denials triggered from CtsSecurityHostTestCases Test: external/toybox/run-tests-on-android.sh does not pass, but triggers no denials from 'shell' domain to 'proc' type. Change-Id: Ia4c26fd616e33e5962c6707a855dc24e338ec153
127 lines
2.3 KiB
Text
127 lines
2.3 KiB
Text
# Transition to crash_dump when /system/bin/crash_dump* is executed.
|
|
# This occurs when the process crashes.
|
|
domain_auto_trans(domain, crash_dump_exec, crash_dump);
|
|
allow domain crash_dump:process sigchld;
|
|
|
|
# Limit ability to ptrace or read sensitive /proc/pid files of processes
|
|
# with other UIDs to these whitelisted domains.
|
|
neverallow {
|
|
domain
|
|
-vold
|
|
-dumpstate
|
|
-storaged
|
|
-system_server
|
|
userdebug_or_eng(`-perfprofd')
|
|
} self:capability sys_ptrace;
|
|
|
|
# Limit ability to generate hardware unique device ID attestations to priv_apps
|
|
neverallow { domain -priv_app } *:keystore_key gen_unique_id;
|
|
|
|
# Core domains are not permitted to use kernel interfaces which are not
|
|
# explicitly labeled.
|
|
# TODO(b/65643247): Apply these neverallow rules to all coredomain.
|
|
full_treble_only(`
|
|
# /proc
|
|
neverallow {
|
|
coredomain
|
|
-dumpstate
|
|
-platform_app
|
|
-priv_app
|
|
-system_app
|
|
-vold
|
|
-vendor_init
|
|
} proc:file no_rw_file_perms;
|
|
|
|
# /sys
|
|
neverallow {
|
|
coredomain
|
|
-charger
|
|
-dumpstate
|
|
-healthd
|
|
-init
|
|
-priv_app
|
|
-storaged
|
|
-system_app
|
|
-ueventd
|
|
-vold
|
|
-vendor_init
|
|
} sysfs:file no_rw_file_perms;
|
|
|
|
# /dev
|
|
neverallow {
|
|
coredomain
|
|
-fsck
|
|
-init
|
|
-shell
|
|
-ueventd
|
|
-vendor_init
|
|
} device:{ blk_file file } no_rw_file_perms;
|
|
|
|
# debugfs
|
|
neverallow {
|
|
coredomain
|
|
-dumpstate
|
|
-init
|
|
-system_server
|
|
-vendor_init
|
|
} debugfs:file no_rw_file_perms;
|
|
|
|
# tracefs
|
|
neverallow {
|
|
coredomain
|
|
userdebug_or_eng(`-atrace')
|
|
-dumpstate
|
|
-init
|
|
-perfprofd
|
|
-shell
|
|
-vendor_init
|
|
} debugfs_tracing:file no_rw_file_perms;
|
|
|
|
# inotifyfs
|
|
neverallow {
|
|
coredomain
|
|
-init
|
|
-vendor_init
|
|
} inotify:file no_rw_file_perms;
|
|
|
|
# pstorefs
|
|
neverallow {
|
|
coredomain
|
|
-bootstat
|
|
-charger
|
|
-dumpstate
|
|
-healthd
|
|
-init
|
|
-logd
|
|
-logpersist
|
|
-recovery_persist
|
|
-recovery_refresh
|
|
-shell
|
|
-system_server
|
|
-vendor_init
|
|
} pstorefs:file no_rw_file_perms;
|
|
|
|
# configfs
|
|
neverallow {
|
|
coredomain
|
|
-init
|
|
-system_server
|
|
-vendor_init
|
|
} configfs:file no_rw_file_perms;
|
|
|
|
# functionfs
|
|
neverallow {
|
|
coredomain
|
|
-adbd
|
|
-init
|
|
-mediaprovider
|
|
-vendor_init
|
|
}functionfs:file no_rw_file_perms;
|
|
|
|
# usbfs and binfmt_miscfs
|
|
neverallow {
|
|
coredomain
|
|
-init
|
|
-vendor_init
|
|
}{ usbfs binfmt_miscfs }:file no_rw_file_perms;
|
|
')
|