Skip to content
Snippets Groups Projects
  1. Jan 18, 2018
    • Jeff Vander Stoep's avatar
      Enforce per-app data protections for targetSdk 28+ · 6231b4d9
      Jeff Vander Stoep authored
      Adds per-app categories to untrusted app domains and their
      app data types. Per-app categories are in addition to the
      existing per-user categories.
      
      Apps targeting sdk version 28+ will now have the following
      characteristics:
      Domain: u:r:untrusted_app:s0:c[0-9]+,c[0-9]+,c[0-9],c[0-9]
      Data context: u:object_r:app_data_file:s0:c[0-9]+,c[0-9]+,c[0-9],c[0-9]
      
      Whereas apps targeting 27- will look like:
      Domain: u:r:untrusted_app_27:s0:c[0-9]+,c[0-9]+
      Data context: u:object_r:app_data_file:s0:c[0-9]+,c[0-9]+
      
      To ensure backwards compatibility with previous SDK versions,
      the levelFrom=all now enforces categories by dominance instead of
      equality. Apps with per-app and per-user categories will continue
      to have selinux permissions (but not necessarily unix permissions)
      to access app data with only per-user categories, but apps with only
      per-user categories will not be able to access the data of apps with
      both per-app and per-user categories.
      
      Bug: 63897054
      Test: Boot sailfish, run apps, verify no new selinux denials.
      Test: cts-tradefed run cts -m CtsSelinuxTargetSdkCurrentTestCases
      Test: cts-tradefed run cts -m CtsSelinuxTargetSdk27TestCases
      Test: cts-tradefed run cts -m CtsSelinuxTargetSdk25TestCases
      Test: adb sideload an OTA and verify that files are correctly labeled.
      Change-Id: I64b013874fe87b55f47e817a1279e76ecf86b7c0
      6231b4d9
  2. Jan 16, 2018
  3. Jan 15, 2018
    • Nathan Harold's avatar
      Allow More Apps to Recv UDP Sockets from SystemServer · ee268643
      Nathan Harold authored
      This gives the privilege to system apps, platform apps,
      ephemeral apps, and privileged apps to receive a
      UDP socket from the system server. This is being added
      for supporting UDP Encapsulation sockets for IPsec, which
      must be provided by the system.
      
      This is an analogous change to a previous change that
      permitted these sockets for untrusted_apps:
      0f75a62e
      
      Bug: 70389346
      Test: IpSecManagerTest, System app verified with SL4A
      Change-Id: Iec07e97012e0eab92a95fae9818f80f183325c31
      ee268643
  4. Jan 12, 2018
  5. Jan 11, 2018
    • Tom Cherry's avatar
      Add toolbox to vendor partition · b7255bf2
      Tom Cherry authored
      Bug: 71861796
      Test: no more denials on walleye for shell init scripts
      Change-Id: I51eab267c95a915f927b0aaa7db9d678a83093c7
      b7255bf2
    • Holly Jiuyu Sun's avatar
      Add EuiccCardManager and EuiccCardController. · d41ec0ed
      Holly Jiuyu Sun authored
      Bug: 38206971
      Test: test on phone
      Change-Id: Id34ab2673c7a16744fba77eb5c176e2e8b474299
      Merged-In: Id34ab2673c7a16744fba77eb5c176e2e8b474299
      d41ec0ed
    • Jeff Vander Stoep's avatar
      relabel files in /proc/net/xt_qtaguid/ · 43303c8b
      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
      43303c8b
  6. Jan 10, 2018
    • Jeff Vander Stoep's avatar
      vold_prepare_subdirs: grant chown · bdbdb0f2
      Jeff Vander Stoep authored
      Addresses:
      avc: denied { chown } for comm="vold_prepare_su" capability=0
      scontext=u:r:vold_prepare_subdirs:s0
      tcontext=u:r:vold_prepare_subdirs:s0 tclass=capability
      
      Bug: 71796118
      Test: build
      Change-Id: I64b2f1ad8d6e0748c5820b8a37a4fc4f4101d1fb
      bdbdb0f2
    • Jeff Vander Stoep's avatar
      statsd: annotate boot denials · 79867779
      Jeff Vander Stoep authored
      Point logspam to its owner.
      
      Bug: 71537285
      Test: build
      Change-Id: I9db561ee6f2857214b7945b312e6d303630724ea
      79867779
    • Jaekyun Seok's avatar
      Whitelist exported platform properties · e4971454
      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
      e4971454
    • yro's avatar
      Update statsd sepolicies to avoid selinux violations during cts tests · e27af27f
      yro authored
      and pulling metrics
      
      Bug: 63757906
      Test: manual testing conducted
      Change-Id: Ieba524ee676dfb4a457d39d025d203bf02a70831
      e27af27f
    • Primiano Tucci's avatar
      Perfetto SELinux policies · c80f9e03
      Primiano Tucci authored
      Perfetto is a performance instrumentation and logging framework,
      living in AOSP's /external/pefetto.
      Perfetto introduces in the system one binary and two daemons
      (the binary can specialize in either depending on the cmdline).
      
      1) traced: unprivileged daemon. This is architecturally similar to logd.
         It exposes two UNIX sockets:
         - /dev/socket/traced_producer : world-accessible, allows to stream
           tracing data. A tmpfs file descriptor is sent via SCM_RIGHTS
           from traced to each client process, which needs to be able to
           mmap it R/W (but not X)
         - /dev/socket/traced_consumer : privilege-accessible (only from:
           shell, statsd). It allows to configure tracing and read the trace
           buffer.
      2) traced_probes: privileged daemon. This needs to:
         - access tracingfs (/d/tracing) to turn tracing on and off.
         - exec atrace
         - connect to traced_producer to stream data to traced.
      
      init.rc file:
      https://android-review.googlesource.com/c/platform/external/perfetto/+/575382/14/perfetto.rc
      
      Bug: 70942310
      Change-Id: Ia3b5fdacbd5a8e6e23b82f1d6fabfa07e4abc405
      c80f9e03
  7. Jan 09, 2018
  8. Jan 08, 2018
  9. Jan 05, 2018
    • Etan Cohen's avatar
      [RTT] Update Wi-Fi RTT service name · 33a4a0e4
      Etan Cohen authored
      Finalize Wi-Fi RTT service name per API review.
      
      Note: CL 2 of 2 - removing old entry.
      
      Bug: 65108607
      Test: integration tests
      Change-Id: Id2b3d91ea2ca578a5834a299275df188c68475da
      33a4a0e4
    • Etan Cohen's avatar
      [RTT] Update Wi-Fi RTT service name · a8d9191f
      Etan Cohen authored
      Finalize Wi-Fi RTT service name per API review.
      
      Note: CL 1 of 2 - adding new entry here, will remove
      old entry in next CL.
      
      Bug: 65108607
      Test: integration tests
      Change-Id: I065ce9d570510180fa8c8f09e1025ac795706405
      a8d9191f
  10. Jan 04, 2018
  11. Jan 03, 2018
    • Jeff Vander Stoep's avatar
      Fix permission typo · 42d82b42
      Jeff Vander Stoep authored
      zygote->webview_zygote.
      
      Forgot to ammend local change.
      
      Test: webview_zygote denials are gone.
      Change-Id: I02869812feafd127b39e567c28e7278133770e97
      42d82b42
  12. Jan 02, 2018
    • Max Bires's avatar
      Adding a traceur_app domain to remove it from shell · 4ea5569f
      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
      4ea5569f
    • Jeff Vander Stoep's avatar
      webview_zygote: allow listing dirs in /system · 3588ddd0
      Jeff Vander Stoep authored
      For consistency with zygote, allow webview_zygote to list directories
      in /system.
      
      Test: Boot Taimen. Verify webiew_zygote denials during boot.
      Bug: 70857705
      Change-Id: I27eb18c377a5240d7430abf301c1c3af61704d59
      3588ddd0
    • Chenbo Feng's avatar
      sepolicy: Allow system server to r/w the bpf maps · 756dd574
      Chenbo Feng authored
      The system server is responsible for providing the network traffic
      stats to Apps and services. Allow it to directly reading the eBPF maps
      that stored these information can make the process of getting traffic
      stats simplier.
      
      Test: No selinux rule violation of system server reading netd bpf object
      Bug: 30950746
      Change-Id: I6d9438d1ed7c9bab45a708f5d2a85eb22f5e8170
      756dd574
    • Chenbo Feng's avatar
      sepolicy: New sepolicy classes and rules about bpf object · 08f92f9c
      Chenbo Feng authored
      Add the new classes for eBPF map and program to limit the access to eBPF
      object. Add corresponding rules to allow netd module initialize bpf
      programs and maps, use the program and read/wirte to eBPF maps.
      
      Test: no bpf sepolicy violations when device boot
      Change-Id: I63c35cd60f1972d4fb36ef2408da8d5f2246f7fd
      08f92f9c
    • Chenbo Feng's avatar
      sepolicy: Allow mount cgroupv2 and bpf fs · 254ad0da
      Chenbo Feng authored
      Some necessary sepolicy rule changes for init process to create directory,
      mount cgroupv2 module and mount bpf filesystem. Also allow netd to create
      and pin bpf object as files and read it back from file under the
      directory where bpf filesystem is mounted.
      
      Test: bpf maps show up under /sys/fs/bpf/
      Change-Id: I579d04f60d7e20bd800d970cd28cd39fda9d20a0
      254ad0da
    • Ricky Wai's avatar
      Add Network Watchlist data file selinux policy(Used in ConfigUpdater) · ff3b957e
      Ricky Wai authored
      Bug: 63908748
      Test: Able to boot
      Change-Id: I14d8856d7aac7be9d1f26ecf5bfff69ea5ee9607
      ff3b957e
  13. Dec 29, 2017
  14. Dec 22, 2017
  15. Dec 21, 2017
    • Tri Vo's avatar
      system_server: search permission to all of sysfs. · ce8bc8b0
      Tri Vo authored
      This will allow system_server to perfom path resolution on paths like:
      /sys/devices/soc/800f000.qcom,spmi/spmi-0/spmi0-00/800f000.qcom,spmi:qcom,pm8998@0:qcom,pm8998_rtc/rtc
      
      Fixes this denial:
      avc: denied { search } for pid=947 comm=system_server
      name=800f000.qcom,spmi dev=sysfs ino=19891
      scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs_msm_subsys:s0
      tclass=dir permissive=0 b/68003344
      
      Bug: 68003344
      Test: walleye boots without the denial above.
      Change-Id: Ib282395124c7f2f554681fcc713b9afe189f441c
      ce8bc8b0
  16. Dec 20, 2017
    • Tri Vo's avatar
      system_server: remove access to /sys/class/leds. · 89a7b215
      Tri Vo authored
      Removing legacy rules. system_server now depends on Lights HAL (which
      has its own domain) instead of /sys/class/leds.
      
      Bug: 70846424
      Test: sailfish boots; screen, flashlight work fine.
      
      Change-Id: I6f116a599cab26ae71e45f462b33328bc8d43db5
      89a7b215
    • Jeff Vander Stoep's avatar
      app: move appdomain to public policy · 77b290f3
      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)
      77b290f3
    • Tony Mak's avatar
      Add selinux policy for CrossProfileAppsService · 215fb3ef
      Tony Mak authored
      CrossProfileAppsService allows apps to do limited cross profile
      operations, like checking the caller package is installed in
      the specified user. It is similar to LauncherAppsService in some sense.
      
      Merged-In: I26e383a57c32c4dc9b779752b20000b283a5bfdc
      Change-Id: I26e383a57c32c4dc9b779752b20000b283a5bfdc
      Fix: 67765768
      Test: Built with ag/3063260. Can boot and verified those APIs are working.
      (cherry picked from commit 6536c9e0)
      215fb3ef
  17. Dec 19, 2017
  18. Dec 18, 2017
    • xshu's avatar
      Wifi hal - Firmware dump permissions · 6ad3c891
      xshu authored
      we are aiming to improve logging performance by having wifi hal
      directly write to the flash.
      
      Wifi hal need to be able to create, write, and delete files in
      a directory. This will be restricted to userdebug and eng builds only.
      
      Bug: 70170285
      Test: compile, run on device
      Change-Id: Id0cd317411f4c393d7529aa31b501046d7350edb
      6ad3c891
  19. Dec 16, 2017
    • Howard Ro's avatar
      Revert "Setting up SELinux policy for statsd and stats service" · d496ea7a
      Howard Ro authored
      This reverts commit 5744cbdf.
      
      Reason for revert: aosp_dragon-userdebug build broken
      
      Change-Id: I5f8180273c32119ae9839f31610bbca37cd05c65
      d496ea7a
    • yro's avatar
      Setting up SELinux policy for statsd and stats service · 5744cbdf
      yro authored
      Test: manual testing conducted see if it interfere's with AOSP
      
      Change-Id: If47a663557b2ebf825fc082edb838ae085ec66b3
      5744cbdf
    • Jeff Vander Stoep's avatar
      Audit app access to /proc/net/* · 84f96859
      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
      84f96859
Loading