- Apr 10, 2018
-
-
Jeff Vander Stoep authored
Files in /proc/net leak information. This change is the first step in determining which files apps may use, whitelisting benign access, and otherwise removing access while providing safe alternative APIs. To that end, this change: * Introduces the proc_net_type attribute which will assigned to any new SELinux types in /proc/net to avoid removing access to privileged processes. These processes may be evaluated later, but are lower priority than apps. * Labels /proc/net/{tcp,tcp6,udp,udp6} as proc_net_vpn due to existing use by VPN apps. This may be replaced by an alternative API. * Audits all other proc/net access for apps. * Audits proc/net access for other processes which are currently granted broad read access to /proc/net but should not be including storaged, zygote, clatd, logd, preopt2cachename and vold. Bug: 9496886 Bug: 68016944 Test: Boot Taimen-userdebug. On both wifi and cellular: stream youtube navigate maps, send text message, make voice call, make video call. Verify no avc "granted" messages in the logs. Test: A few VPN apps including "VPN Monster", "Turbo VPN", and "Freighter". Verify no logspam with the current setup. Test: atest CtsNativeNetTestCases Test: atest netd_integration_test Test: atest QtaguidPermissionTest Test: atest FileSystemPermissionTest Change-Id: I7e49f796a25cf68bc698c6c9206e24af3ae11457
-
- Apr 05, 2018
-
-
Kweku Adams authored
Bug: 72177715 Test: flash device and check incident output Change-Id: I16c172caec235d985a6767642134fbd5e5c23912 (cherry picked from commit 985db6d8)
-
- Apr 04, 2018
-
-
Kweku Adams authored
Bug: 72177715 Test: flash device and check incident output Change-Id: I16c172caec235d985a6767642134fbd5e5c23912
-
- Apr 03, 2018
-
-
Jeff Vander Stoep authored
Test: build Bug: 68774956 Change-Id: I0f9fd87eb41e67e14f35e49eba13e3d1de745250
-
Jeff Vander Stoep authored
Test: build Bug: 68774956 Change-Id: I0f9fd87eb41e67e14f35e49eba13e3d1de745250 (cherry picked from commit 5f650f581a2699bb2d5aaaa4675d651eb47c1c16)
-
Jeff Tinker authored
Change-Id: Id7823a3130443107beb4d97426807a6395cf6930 related-to-bug:74607984 test:adb bugreport and check for drm trace dumps
-
- Feb 02, 2018
-
-
Jeff Vander Stoep authored
Test: Standard Traceur workflow works successfully with no selinux denials on a user build. Bug: 64762598 Change-Id: I0dfe506d463b63d70c5bda03f8706041ea7ab448
-
- Jan 23, 2018
-
-
Tri Vo authored
And grant appropriate permissions to more granular types. Bug: 29319732 Bug: 65643247 Test: adb bugreport; no new denials to /proc or /sys files. Change-Id: Ied99546164e79bfa6148822858c165177d3720a5
-
- Jan 17, 2018
-
-
Andy Hung authored
Test: adb bugreport Bug: 71483452 Change-Id: Ibd98702c1f757f17ada61a906ae4e0ec750aac79
-
- Jan 10, 2018
-
-
Jaekyun Seok authored
This CL lists all the exported platform properties in private/exported_property_contexts. Additionally accessing core_property_type from vendor components is restricted. Instead public_readable_property_type is used to allow vendor components to read exported platform properties, and accessibility from vendor_init is also specified explicitly. Note that whitelisting would be applied only if PRODUCT_COMPATIBLE_PROPERTY is set on. Bug: 38146102 Test: tested on walleye with PRODUCT_COMPATIBLE_PROPERTY=true Change-Id: I304ba428cc4ca82668fec2ddeb17c971e7ec065e
-
- Jan 02, 2018
-
-
Max Bires authored
This CL creates a traceur_app domain with userdebug privileges akin to what shell has with regards to being able to find most services on device. Previously, traceur was running as shell which was an unintentional abuse of selinux architecture. Bug: 68126425 Test: Traceur functions outside of shell user privilege Change-Id: Ib5090e7e8225ad201b3ec24b506fe2717101d0f1
-
- Dec 22, 2017
-
-
Steven Moreland authored
These are device specific. Bug: 70846424 Test: bugreport Change-Id: Ic22c972f1b09988a8eccf0823dd0d87fc0c0a1f7
-
- Nov 21, 2017
-
-
Benjamin Gordon authored
In kernel 4.7, the capability and capability2 classes were split apart from cap_userns and cap2_userns (see kernel commit 8e4ff6f228e4722cac74db716e308d1da33d744f). Since then, Android cannot be run in a container with SELinux in enforcing mode. This change applies the existing capability rules to user namespaces as well as the root namespace so that Android running in a container behaves the same on pre- and post-4.7 kernels. This is essentially: 1. New global_capability_class_set and global_capability2_class_set that match capability+cap_userns and capability2+cap2_userns, respectively. 2. s/self:capability/self:global_capability_class_set/g 3. s/self:capability2/self:global_capability2_class_set/g 4. Add cap_userns and cap2_userns to the existing capability_class_set so that it covers all capabilities. This set was used by several neverallow and dontaudit rules, and I confirmed that the new classes are still appropriate. Test: diff new policy against old and confirm that all new rules add only cap_userns or cap2_userns; Boot ARC++ on a device with the 4.12 kernel. Bug: crbug.com/754831 Change-Id: I4007eb3a2ecd01b062c4c78d9afee71c530df95f
-
- Nov 16, 2017
-
-
Tri Vo authored
Label /proc/sys/fs/pipe-max-size with new type proc_pipe_conf and give system_server access to it. Addresses this denial: avc: denied { read } for name="pipe-max-size" dev="proc" ino=93817 scontext=u:r:system_server:s0 tcontext=u:object_r:proc:s0 tclass=file permissive=0 Bug: 69175449 Bug: 69324398 Test: sailfish boots Test: adb bugreport Test: craft an unresponsive app, trigger ANR, make sure traces are dumped into /data/anr Above denial from system_server not observed, no denials to proc_pipe_conf observed. Change-Id: I7c71f05820a4945ba982e29f76e9d9f4458b2b59
-
- Oct 30, 2017
-
-
Jin Qian authored
avc: denied { create } for scontext=u:r:dumpstate:s0 tcontext=u:r:dumpstate:s0 tclass=netlink_generic_socket permissive=0 avc: denied { create } for comm="iotop" scontext=u:r:dumpstate:s0 tcontext=u:r:dumpstate:s0 tclass=netlink_generic_socket permissive=0 Bug: 68040531 Change-Id: I24a8a094d1b5c493cc695e332c927972f99ae49c
-
- Oct 20, 2017
-
-
Jeff Vander Stoep authored
Dumpstate lists all services and then enumerates over them. Suppress "find" denials for services which dumpstate is neverallowed access to. Dumpstate includes the kernel command line in bug reports. Grant access to /proc/cmdline. Test: build. Run adb bugreport. Change-Id: I89b546c728a034638f9257c6cf93366d99a10762
-
- Sep 28, 2017
-
-
Jin Qian authored
Test: adb bugreport Bug: 63629306 Change-Id: I7a366b199ddd0ec303dc25ca8c35764c5d7e3af8
-
Dan Cashman authored
Bug: 37916906 Test: Builds 'n' boots. Change-Id: Ia1d86264446ebecc1ca79f32f11354921bc77668 Merged-In: I208ec6a864127a059fb389417a9c6b259d7474cb
-
- Sep 26, 2017
-
-
Dan Cashman authored
Bug: 37916906 Test: Builds 'n' boots. Change-Id: Ia1d86264446ebecc1ca79f32f11354921bc77668 Merged-In: I208ec6a864127a059fb389417a9c6b259d7474cb
-
- Sep 19, 2017
-
-
Tri Vo authored
Labeled: /proc/asound/cards -> proc_asound_cards /proc/loadavg -> proc_loadavg /proc/pagetypeinfo -> proc_pagetypeinfo /proc/version -> proc_version /proc/vmallocinfo -> proc_vmallocinfo system_server: added access to all new types and removed access to proc label. init: added access to proc_version. dumpstate: added access to proc_pagetypeinfo, proc_version, proc_vmallocinfo. hal_audio: added access to proc_asound_cards. all_untrusted_apps: extended neverallow rule to include new labels. Bug: 65980789 Test: device boots without selinux denials to the newly introduced labels. Test: "adb shell dumpstate" throws no violations to new labels. Change-Id: Ic60facd3d4776e38d5e3ba003d06ada4e52c7dca
-
- Sep 06, 2017
-
-
Jeff Sharkey authored
This change is the bare minimum needed to publish a new vold Binder service and move the simple "reset" call over to go through the new interface. The new rules here are mirrored on the existing installd rules, but with a handful of neverallow rules relaxed due to funky interactions with hal_client_domain(). Test: builds, boots Bug: 13758960 Change-Id: Ia9522ea7a68698cb0edce7879abfbf22b9d67c76
-
- Sep 05, 2017
-
-
Steven Moreland authored
This reverts commit 9216a6ad. Bug: 65206688 Merged-In: I8e61b77a1abe9543e4fba77defb8062407676fcf Change-Id: I8e61b77a1abe9543e4fba77defb8062407676fcf
-
- Sep 01, 2017
-
-
Steven Moreland authored
This reverts commit f27bba93. Bug: 65206688 Change-Id: I8e61b77a1abe9543e4fba77defb8062407676fcf
-
- Aug 24, 2017
-
-
Mark Salyzyn authored
Switch from /data/misc/reboot/last_reboot_reason to persistent Android property persist.sys.boot.reason for indicating why the device is rebooted or shutdown. Introduce protection for all boot reason properties Protect the following properties with these labels ro.boot.bootreason u:object_r:bootloader_boot_reason_prop:s0 sys.boot.reason u:object_r:sys_boot_reason_prop:s0 persist.sys.boot.reason u:object_r:last_boot_reason_prop:s0 Setup the current as-need access rules for each. ToDo: Remove u:object_r:reboot_data_file after internal fixes. Test: system/core/bootstat/boot_reason_test.sh Bug: 64687998 Change-Id: I3771c73933e8ae2d94aee936c7a38b6282611b80
-
- Aug 14, 2017
-
-
Steven Moreland authored
Only seeing this denial in permissive: allow shell screencap_exec:file getattr; Bug: 37565047 Test: adb shell screencap w/o root Test: cts-tradefed run cts-dev --module CtsAadbHostTestCases Merged-In: I9f31d2067e002e7042646ee38dbfc06687481ac7 Change-Id: I9f31d2067e002e7042646ee38dbfc06687481ac7
-
Steven Moreland authored
Only seeing this denial in permissive: allow shell screencap_exec:file getattr; Bug: 37565047 Test: adb shell screencap w/o root Test: cts-tradefed run cts-dev --module CtsAadbHostTestCases Merged-In: I9f31d2067e002e7042646ee38dbfc06687481ac7 Change-Id: I9f31d2067e002e7042646ee38dbfc06687481ac7
-
- Aug 11, 2017
-
-
Steven Moreland authored
Only seeing this denial in permissive: allow shell screencap_exec:file getattr; Bug: 37565047 Test: adb shell screencap w/o root Test: cts-tradefed run cts-dev --module CtsAadbHostTestCases Change-Id: I9f31d2067e002e7042646ee38dbfc06687481ac7
-
- Jul 28, 2017
-
-
Tim Kryger authored
avc: denied { read } for pid=1704 comm="top" name="stat" dev="proc" ino=4026532297 scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc_stat:s0 tclass=file permissive=0 avc: denied { read } for pid=1636 comm="dumpstate" name="lcd-backlight" dev="sysfs" ino=16592 scontext=u:r:dumpstate:s0 tcontext=u:object_r:sysfs_leds:s0 tclass=lnk_file permissive=0 avc: denied { call } for pid=2230 comm="dumpsys" scontext=u:r:dumpstate:s0 tcontext=u:r:installd:s0 tclass=binder permissive=0 avc: denied { create } for pid=1700 comm="ip" scontext=u:r:dumpstate:s0 tcontext=u:r:dumpstate:s0 tclass=netlink_xfrm_socket permissive=0 Bug: 62410287 Bug: 35350306 Change-Id: I65be3678c64214ebeb544e0e155bce88b21adf02 Signed-off-by:
Tim Kryger <tkryger@google.com> (cherry picked from commit b7e1f2dd)
-
- Jul 27, 2017
-
-
Tim Kryger authored
avc: denied { read } for pid=1704 comm="top" name="stat" dev="proc" ino=4026532297 scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc_stat:s0 tclass=file permissive=0 avc: denied { read } for pid=1636 comm="dumpstate" name="lcd-backlight" dev="sysfs" ino=16592 scontext=u:r:dumpstate:s0 tcontext=u:object_r:sysfs_leds:s0 tclass=lnk_file permissive=0 avc: denied { call } for pid=2230 comm="dumpsys" scontext=u:r:dumpstate:s0 tcontext=u:r:installd:s0 tclass=binder permissive=0 avc: denied { create } for pid=1700 comm="ip" scontext=u:r:dumpstate:s0 tcontext=u:r:dumpstate:s0 tclass=netlink_xfrm_socket permissive=0 Bug: 62410287 Bug: 35350306 Change-Id: I65be3678c64214ebeb544e0e155bce88b21adf02 Signed-off-by:
Tim Kryger <tkryger@google.com>
-
- Jul 12, 2017
-
-
Peng Xu authored
Test: tested taking bugreport, sensor HAL traces show up in "VM TRACES JUST NOW" Test: tested trigger ANR by `adb shell am hang --allow-restart`, sensor HAL traces shows up in /data/anr/traces.txt Bug: 63096400 Change-Id: I1d012b9d9810f987be7aaf9d68abfd9c3184ac5c
-
- Jul 10, 2017
-
-
Jeff Vander Stoep authored
Clean up "granted" logspam. Grant the observered audited permissions including: tcontext=cache_file avc: granted { getattr } for comm="df" path="/cache" dev="mmcblk0p9" ino=2 scontext=u:r:dumpstate:s0 tcontext=u:object_r:cache_file:s0 tclass=dir avc: granted { search } for comm="Binder:8559_2" name="cache" dev="sda13" ino=1654785 scontext=u:r:dumpstate:s0 tcontext=u:object_r:cache_file:s0 tclass=dir avc: granted { read } for comm="Binder:8559_2" name="cache" dev="dm-0" ino=23 scontext=u:r:dumpstate:s0 tcontext=u:object_r:cache_file:s0 tclass=lnk_file tcontext=proc avc: granted { getattr } for comm="Binder:14529_2" path="/proc/sys/fs/pipe-max-size" dev="proc" ino=247742 scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc:s0 tclass=file avc: granted { read } for comm="Binder:22671_2" name="cmdline" dev="proc" ino=4026532100 scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc:s0 tclass=file avc: granted { read open } for comm="dumpstate" path="/proc/sys/fs/pipe-max-size" dev="proc" ino=105621 scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc:s0 tclass=file tcontext=sysfs avc: granted { read open } for comm="Binder:14459_2" path="/sys/devices/virtual/block/md0/stat" dev="sysfs" ino=51101 scontext=u:r:dumpstate:s0 tcontext=u:object_r:sysfs:s0 tclass=file avc: granted { read open } for comm="Binder:21377_2" path="/sys/devices/soc/1da4000.ufshc/host0/target0:0:0/0:0:0:1/block/sdb/sdb1" dev="sysfs" ino=40888 scontext=u:r:dumpstate:s0 tcontext=u:object_r:sysfs:s0 tclass=dir avc: granted { getattr } for comm="dumpstate" dev="sysfs" ino=40456 scontext=u:r:dumpstate:s0 tcontext=u:object_r:sysfs:s0 tclass=file tcontext=proc_meminfo avc: granted { read } for comm="top" name="meminfo" dev="proc" ino=4026532106 scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc_meminfo:s0 tclass=file avc: granted { read open } for comm="top" path="/proc/meminfo" dev="proc" ino=4026532106 scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc_meminfo:s0 tclass=file tcontext=rootfs avc: granted { getattr } for comm="df" path="/" dev="dm-0" ino=2 scontext=u:r:dumpstate:s0 tcontext=u:object_r:rootfs:s0 tclass=dir avc: granted { getattr } for comm="ip" path="/vendor" dev="rootfs" ino=99 scontext=u:r:dumpstate:s0 tcontext=u:object_r:rootfs:s0 tclass=lnk_file tcontext=selinuxfs avc: granted { getattr } for comm="df" path="/sys/fs/selinux" dev="selinuxfs" ino=1 scontext=u:r:dumpstate:s0 tcontext=u:object_r:selinuxfs:s0 tclass=dir tcontext=system_file avc: granted { read open } for comm="dumpstate" path="/system/lib64/hw" dev="dm-0" ino=1947 scontext=u:r:dumpstate:s0 tcontext=u:object_r:system_file:s0 tclass=dir tcontext=system_data_file avc: granted { read } for comm="ip" path="/data/misc/net/rt_tables" dev="sda10" ino=1458261 scontext=u:r:dumpstate:s0 tcontext=u:object_r:system_data_file:s0 tclass=file avc: granted { getattr } for comm="ip" path="/data/misc/net/rt_tables" scontext=u:r:dumpstate:s0 tcontext=u:object_r:system_data_file:s0 tclass=file Bug: 28760354 Test: Build policy Change-Id: Iae69f710d6b6dc6158cf6bb6ff61168c8df11263
-
Jeff Vander Stoep authored
Addresses: avc: granted { read } for name="pipe-max-size" dev="proc" ino=470942 scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc:s0 tclass=file avc: granted { read open } for path="/proc/sys/fs/pipe-max-size" dev="proc" ino=470942 scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc:s0 tclass=file Test: build policy Change-Id: I7d8721c73c4f3c51b3885a97c697510e61d1221b (cherry picked from commit f44002b3)
-
- Jul 06, 2017
-
-
Jeff Vander Stoep authored
Address "granted" audit messages for dumpstate use of df. avc: granted { getattr } for comm="df" path="/mnt" dev="tmpfs" scontext=u:r:dumpstate:s0 tcontext=u:object_r:tmpfs:s0 tclass=dir avc: granted { search } for comm="df" name="/" dev="tmpfs" scontext=u:r:dumpstate:s0 tcontext=u:object_r:tmpfs:s0 tclass=dir Bug: 28760354 Test: Build, check logs. Change-Id: I920948a5f0bce1b4bd2f15779730df8b3b1fea5a
-
- Jul 03, 2017
-
-
Jeff Vander Stoep authored
Logs show that only dumpstate requires access. avc: granted { read open } for comm="screencap" path="/dev/ion" dev="tmpfs" ino=14324 scontext=u:r:dumpstate:s0 tcontext=u:object_r:ion_device:s0 tclass=chr_file avc: granted { ioctl } for comm="screencap" path="/dev/ion" dev="tmpfs" ino=14324 ioctlcmd=4906 scontext=u:r:dumpstate:s0 tcontext=u:object_r:ion_device:s0 tclass=chr_file Grant ion permission to dumpstate which uses it for screencap feature. Bug: 28760354 Test: build. Check logs. Change-Id: I6435b7dbf7656669dac5dcfb205cf0aeda93991b
-
- Jun 07, 2017
-
-
Jeff Vander Stoep authored
Addresses: avc: granted { read } for name="pipe-max-size" dev="proc" ino=470942 scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc:s0 tclass=file avc: granted { read open } for path="/proc/sys/fs/pipe-max-size" dev="proc" ino=470942 scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc:s0 tclass=file Test: build policy Change-Id: I7d8721c73c4f3c51b3885a97c697510e61d1221b
-
- May 15, 2017
-
-
Jeff Vander Stoep authored
This attribute is being actively removed from policy. Since attributes are not being versioned, partners must not be able to access and use this attribute. Move it from private and verify in the logs that rild and tee are not using these permissions. Bug: 38316109 Test: build and boot Marlin Test: Verify that rild and tee are not being granted any of these permissions. Change-Id: I31beeb5bdf3885195310b086c1af3432dc6a349b
-
- Apr 21, 2017
-
-
Chia-I Wu authored
Bug: 37152880 Bug: 37554633 Test: adb shell am hang --allow-restart Test: adb shell dumpstate Change-Id: Ie68607f3e3245a40056bdde7dd810ddf212b4295
-
Alex Klyubin authored
This lets dumpstate obtain the list of currently registered HwBinder services. Test: adb bugreport -- no denials to do with dumpstate access to hwservicemanager list functionality. Bug: 37554633 Change-Id: I95512168948ca45a0dd830c20922e3c776ffaf41
-
Alex Klyubin authored
This adds fine-grained policy about who can register and find which HwBinder services in hwservicemanager. Test: Play movie in Netflix and Google Play Movies Test: Play video in YouTube app and YouTube web page Test: In Google Camera app, take photo (HDR+ and conventional), record video (slow motion and normal), and check that photos look fine and videos play back with sound. Test: Cast screen to a Google Cast device Test: Get location fix in Google Maps Test: Make and receive a phone call, check that sound works both ways and that disconnecting the call frome either end works fine. Test: Run RsHelloCompute RenderScript demo app Test: Run fast subset of media CTS tests: make and install CtsMediaTestCases.apk adb shell am instrument -e size small \ -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner' Test: Play music using Google Play music Test: Adjust screen brightness via the slider in Quick Settings Test: adb bugreport Test: Enroll in fingerprint screen unlock, unlock screen using fingerprint Test: Apply OTA update: Make some visible change, e.g., rename Settings app. make otatools && \ make dist Ensure device has network connectivity ota_call.py -s <serial here> --file out/dist/sailfish-ota-*.zip Confirm the change is now live on the device Bug: 34454312 (cherry picked from commit 632bc494) Merged-In: Iecf74000e6c68f01299667486f3c767912c076d3 Change-Id: I7a9a487beaf6f30c52ce08e04d415624da49dd31
-
Pavel Grafov authored
Currently ro.device_owner and persist.logd.security aren't accessible without root, so "adb shell getprop" returns empty reply which is confusing. Also these properties aren't seen from bugreport unless their change happened recently. Bug: 37053313 Test: manual, took bugreport and ran getprop after "adb unroot". Change-Id: Id41cdabc282f2ebcdfc0ac7fe9df756322a0863d
-