- Feb 09, 2018
-
-
Chenbo Feng authored
The file under /proc/net/xt_qtaguid is going away in future release. Apps should use the provided public api instead of directly reading the proc file. This change will block apps that based on SDK 28 or above to directly read that file and we will delete that file after apps move away from it. Test: Flashed with master branch on marlin, verified phone boot, can browse web, watch youtube video, make phone call and use google map for navigation with wifi on and off. run cts -m CtsNetTestCases -t android.net.cts.TrafficStatsTest run cts -m CtsAppSecurityHostTestCases -t \ android.appsecurity.cts.AppSecurityTests Change-Id: I4c4d6c9ab28b426acef23db53f171de8f20be1dc
-
- Feb 06, 2018
-
-
Chenbo Feng authored
This reverts commit fad0b04d. Reason for revert: This change crashed facebook App on dogfood build. Bug: 72977484 Change-Id: I4f35b00c11afbd4914f572d3cc0378d740403ed2
-
- Jan 30, 2018
-
-
Chenbo Feng authored
Remove the untrusted apps and priviledged apps from the group that can directly access xt_qtaguid module related file. All apps that need to access app network usage data need to use the public API provided in framework. Test: Flashed with master branch on marlin, verified phone boot, can browse web, watch youtube video, make phone call and use google map for navigation with either wifi is on or off. run cts -m CtsNetTestCases -t android.net.cts.TrafficStatsTest run cts -m CtsNativeNetTestCases Bug: 68774956 30950746 Change-Id: I9b3db819d6622611d5b512ef821abb4c28d6c9eb
-
- Jan 24, 2018
-
-
Marissa Wall authored
Do not let apps read /proc/uid_cpupower/time_in_state, /proc/uid_cpupower/concurrent_active_time, /proc/uid_cpupower/concurrent_policy_time. b/71718257 Test: Check that they can't be read from the shell without root permissions and system_server was able to read them Change-Id: I812694adfbb4630f7b56aa7096dc2e6dfb148b15
-
- Jan 11, 2018
-
-
Jeff Vander Stoep authored
/proc/net/xt_qtaguid is used by apps to track their network data use. Limit access to just zygote spawned processes - apps and system_server, omitting access to isolated_app which is not allowed to create network sockets. As Android moves to eBPF for app's network data stats, access to /proc/net/xt_qtaguid will be removed entirely. Segmenting access off is the first step. Bug: 68774956 This change also helps further segment and whitelist access to files in /proc/net and is a step in the lockdown of /proc/net. Bug: 9496886 Test: boot Taimen. Walk through setup-wizard. Make phone call and video call. Browse web. Watch youtube. Navigate in maps. Test: cts-tradefed run cts -m CtsAppSecurityHostTestCases -t \ android.appsecurity.cts.AppSecurityTests Test: cts-tradefed run cts -m CtsNativeNetTestCases Test: cts-tradefed run cts -m CtsIncidentHostTestCases -t \ com.android.server.cts.NetstatsIncidentTest Test: cts-tradefed run cts -m CtsOsTestCases -t \ android.os.cts.StrictModeTest Test: cts-tradefed run cts -m CtsNetTestCases -t \ android.net.cts.TrafficStatsTest Test: cts-tradefed run cts -m CtsUsageStatsTestCases -t \ android.app.usage.cts.NetworkUsageStatsTest Test: vts-tradefed run vts -m VtsQtaguidTest Change-Id: Idddd318c56b84564142d37b11dcc225a2f2800ea
-
- Dec 22, 2017
-
-
Jeffrey Vander Stoep authored
This reverts commit 84f96859. Fixes: 70874565 Reason for revert: massive logspam during phone calls. Change-Id: If00e46535f71209eea999e4d5d499bf40a5f16fd
-
- Dec 20, 2017
-
-
Jeff Vander Stoep authored
Vendor-specific app domains depend on the rules in app.te so they must reside in public policy. Bug: 70517907 Test: build Change-Id: If45557a5732a06f78c752779a8182e053beb25a2 Merged-In: If45557a5732a06f78c752779a8182e053beb25a2 (cherry picked from commit 1f4cab8b)
-
- Dec 19, 2017
-
-
Jeff Vander Stoep authored
Vendor-specific app domains depend on the rules in app.te so they must reside in public policy. Bug: 70517907 Test: build Change-Id: If45557a5732a06f78c752779a8182e053beb25a2
-
- Dec 16, 2017
-
-
Jeff Vander Stoep authored
Many processes including third party apps are expected to access /proc/net/xt_qtaguid/stats. Give this file a new label to avoid spamming the logs and temporarily grant read access to all processes. Read-only permission is adequate for all processes based on unix permissions. sailfish:/ # ls -laZ /proc/net/xt_qtaguid/stats -r--r--r-- 1 root net_bw_stats u:object_r:proc_net_xt_qtaguid_stats:s0 stats Bug: 9496886 Bug: 68016944 Bug: 70722355 Test: Build/flash Sailfish. Browse in Chrome and watch videos in youtube. No "denied" or "granted" selinux messages observed in the logs. Change-Id: I29f1ee806c8149988b9b93a950790d14754927ef
-
- Dec 12, 2017
-
-
Marissa Wall authored
Do not let apps read uid_concurrent_active_time and uid_concurrent_policy_time. b/68399339 Test: Check that they can't be read from the shell without root permissions and system_server was able to read them Change-Id: I6f09ef608607cb9f4084ba403a1e7254b8c49a06
-
- 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
-
- Sep 26, 2017
-
-
Dan Cashman authored
Bug: 37916906 Test: Builds 'n' boots. Change-Id: Ia1d86264446ebecc1ca79f32f11354921bc77668 Merged-In: I208ec6a864127a059fb389417a9c6b259d7474cb
-
- Sep 18, 2017
-
-
Jeff Sharkey authored
Long live Binder. Test: yes Bug: 13758960 Change-Id: I11da7f14862024d9e9b901cfac1f22f1147174fa
-
- 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 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
-
-
Nick Kralevich authored
Android uses hidepid=2 to restrict visibility to other /proc entries on the system. This helps preserve user, application, and system confidentiality by preventing unauthorized access to application metadata, and addresses attacks such as http://www.cs.ucr.edu/~zhiyunq/pub/sec14_android_activity_inference.pdf Ensure the SELinux (weaker) equivalent is being enforced by adding neverallow compile time assertions. TODO: The "shell" user runs as both an Android application, as well as spawned via adb shell. This was a mistake. We should separate out the "shell" Android app into it's own SELinux domain. For now, exclude the shell from this assertion. (The shell Android app is covered by hidepid=2, so there's no leaking of data, but still, it's over privileged today and should be cleaned up. Bug: 23310674 Test: policy compiles. Compile time assertion only. Change-Id: I0e1a6506b2719aabf7eb8127f046c4ada947ba90
-
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
-
-
Philip P. Moltmann authored
Bug: 37281396 Test: cts-tradefed run cts-dev -m CtsContentTestCases --test=android.content.pm.cts.InstallSessionTransferTest Change-Id: If2094057d1acfbbf007ae108225decd9ad70e459
-
- Jul 13, 2017
-
-
Andreas Gampe authored
Allow wrapped app to send pid back to zygote. (cherry picked from commit ee694980) Bug: 63566721 Bug: 63635227 Test: lunch angler-userdebug && m Test: lunch angler-user && m Test: lunch angler-user && m && fastboot flashall && m cts && cts-tradefed run commandAndExit cts-dev -m CtsWrapWrapDebugTestCases Change-Id: Ie1b41c3eb124aa5ee321c124d0121a0e965f0f0e
-
Andreas Gampe authored
Allow wrapped app to send pid back to zygote. Bug: 63566721 Bug: 63635227 Test: lunch angler-userdebug && m Test: lunch angler-user && m Test: lunch angler-user && m && fastboot flashall && m cts && cts-tradefed run commandAndExit cts-dev -m CtsWrapWrapDebugTestCases Change-Id: Ie1b41c3eb124aa5ee321c124d0121a0e965f0f0e
-
- Jun 23, 2017
-
-
Jeff Vander Stoep authored
avc: denied { find } for interface=android.hardware.configstore::ISurfaceFlingerConfigs scontext=u:r:system_server:s0 tcontext=u:object_r:hal_configstore_ISurfaceFlingerConfigs:s0 tclass=hwservice_manager permissive=0 Bug: 35197529 Test: Device boots without this denial Change-Id: Ia43bc5879e03a1f2056e373b17cc6533636f98b1
-
Narayan Kamath authored
NOTE: This change is marked dnma because we don't want it on oc-dr1-dev-plus-aosp or any other downstream branch. Moreover, oc-dr1-dev-plus-aosp is the only outgoing merger from oc-dr1-dev for this project. This reverts commit 11bfcc1e. Bug: 62908344 Test: make Change-Id: Ide61829cf99f15777c46f657a0e140d594f88243
-
- Jun 22, 2017
-
-
Daniel Rosenberg authored
This adds parellel rules to the ones added for media_rw_data_file to allow apps to access vfat under sdcardfs. This should be reverted if sdcardfs is modified to alter the secontext it used for access to the lower filesystem Change-Id: Idb123206ed2fac3ead88b0c1ed0b66952597ac65 Bug: 62584229 Test: Run android.appsecurity.cts.ExternalStorageHostTest with an external card formated as vfat Signed-off-by:
Daniel Rosenberg <drosen@google.com>
-
- Jun 16, 2017
-
-
Daniel Rosenberg authored
This adds parellel rules to the ones added for media_rw_data_file to allow apps to access vfat under sdcardfs. This should be reverted if sdcardfs is modified to alter the secontext it used for access to the lower filesystem Change-Id: Idb123206ed2fac3ead88b0c1ed0b66952597ac65 Bug: 62584229 Test: Run android.appsecurity.cts.ExternalStorageHostTest with an external card formated as vfat Signed-off-by:
Daniel Rosenberg <drosen@google.com>
-
- May 31, 2017
-
-
Narayan Kamath authored
tombstoned allows dumpstate to install "intercepts" to java trace requests for a given process. When an "intercept" is installed, all trace output is redirected to a pipe provided by dumpstate instead of the default location (usually in /data/anr or /data/tombstone). Note that these processes are already granted "write" and "getattr" on dumpstate:fifo_file in order to communicate with dumpstate; this change adds "append" to the existing set of permissions. Bug: 32064548 Test: manual Change-Id: Iccbd78c59071252fef318589f3e55ece51a3c64c
-
Narayan Kamath authored
Applications connect to tombstoned via a unix domain socket and request an open FD to which they can write their traces. This socket has a new label (tombstoned_java_trace_socket) and appdomain and system_server are given permissions to connect and write to it. Apps no longer need permissions to open files under /data/anr/ and these permissions will be withdrawn in a future change. Bug: 32064548 Test: Manual (cherry picked from commit a8832dabc7f3b7b2381760d2b95f81abf78db709) (cherry picked from commit 11bfcc1e) Change-Id: Icc60d227331c8eee70a9389ff1e7e78772f37e6f
-
Narayan Kamath authored
Applications connect to tombstoned via a unix domain socket and request an open FD to which they can write their traces. This socket has a new label (tombstoned_java_trace_socket) and appdomain and system_server are given permissions to connect and write to it. Apps no longer need permissions to open files under /data/anr/ and these permissions will be withdrawn in a future change. Bug: 32064548 Test: Manual Merged-In: I70a3e6e230268d12b454e849fa88418082269c4f Change-Id: Ib4b73fc130f4993c44d96c8d68f61b6d9bb2c7d5
-
- May 30, 2017
-
-
Narayan Kamath authored
Applications connect to tombstoned via a unix domain socket and request an open FD to which they can write their traces. This socket has a new label (tombstoned_java_trace_socket) and appdomain and system_server are given permissions to connect and write to it. Apps no longer need permissions to open files under /data/anr/ and these permissions will be withdrawn in a future change. Bug: 32064548 Test: Manual (cherry picked from commit a8832dabc7f3b7b2381760d2b95f81abf78db709) Change-Id: I70a3e6e230268d12b454e849fa88418082269c4f
-
- May 25, 2017
-
-
Yifan Hong authored
Test: pass Bug: 62073522 Change-Id: I3d53d0d5ec701c87fb3d45080799f424f7ba3792
-
- May 17, 2017
-
-
Jiyong Park authored
Currently, some jni libs in /vendor/lib are allowed to be executed in java process by labelling them as same_process_hal_file. This is wrong because those jni libs are not in fact same process HALs. After b/37481404, those jni libs for vendor apks are embedded inside the apk just like downloaded apks. In order to make this possible, appdomain is allowed to execute vendor_app_file. Note that allowing this is not a Treble violation because vendor_app_file is Java and JNI code only. Native libraries in /vendor/lib are still prevented from being loaded in apps except for those are labeled as same_process_hal_file AND are loaded via the 'sphal' namespace. Bug: 37481404 Test: Phone application does not crash. Change-Id: Ifaece2f05d0b20e28c4b1c0847f5ea0bb28ade02
-
- May 15, 2017
-
-
Alex Vakulenko authored
Specify per-service rules for PDX transport. Now being able to grant permissions to individual services provided by processes, not all services of a process. Also tighter control over which permissions are required for client and server for individual components of IPC (endpoints, channels, etc). Bug: 37646189 Change-Id: I78eb8ae8b6e08105666445a66bfcbd2f1d69d0ea Merged-Id: I78eb8ae8b6e08105666445a66bfcbd2f1d69d0ea
-
- May 11, 2017
-
-
Luke Song authored
Sensord move in ag/2106763 should be accompanied by corresponding sepolicy move of sensord-related files/declarations. Bug: 36996994 Test: Sailfish build shows no related permission errors Change-Id: Ibe41b363f7ca2752b5d3e0961298985cf784663d
-
- May 10, 2017
-
-
Alex Vakulenko authored
Specify per-service rules for PDX transport. Now being able to grant permissions to individual services provided by processes, not all services of a process. Also tighter control over which permissions are required for client and server for individual components of IPC (endpoints, channels, etc). Bug: 37646189 Change-Id: I78eb8ae8b6e08105666445a66bfcbd2f1d69d0ea
-
- May 08, 2017
-
-
Nick Kralevich authored
Remove SELinux access from domain_deprecated. Access to SELinux APIs can be granted on a per-domain basis. Remove appdomain access to SELinux APIs. SELinux APIs are not public and are not intended for application use. In particular, some exploits poll on /sys/fs/selinux/enforce to determine if the attack was successful, and we want to ensure that the behavior isn't allowed. This access was only granted in the past for CTS purposes, but all the relevant CTS tests have been moved to the shell domain. Bug: 27756382 Bug: 28760354 Test: Device boots and no obvious problems. No collected denials. Change-Id: Ide68311bd0542671c8ebf9df0326e512a1cf325b
-
- Apr 28, 2017
-
-
Phil Burk authored
The API does not expose the FD directly. But they are used by libaaudio.so linked with the app. Needed for low latency audio. Bug: 37167970 Test: NativeOboe touch to tone latency app Change-Id: I92372eff44d856e9aff399dc9c64fd18524fdc44 Signed-off-by:
Phil Burk <philburk@google.com>
-
- Apr 27, 2017
-
-
Abodunrinwa Toki authored
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest Bug: 34780396 Change-Id: I8b98fef913df571e55474ea2529f71750874941c
-
- Apr 21, 2017
-
-
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
-
- Apr 20, 2017
-
-
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 Change-Id: Iecf74000e6c68f01299667486f3c767912c076d3
-