Skip to content
Snippets Groups Projects
  1. Nov 22, 2016
    • Nick Kralevich's avatar
      neverallow some /proc file reads · 0b7506ff
      Nick Kralevich authored
      Lock in the gains we've made so far in restricting access to generically
      labeled /proc files. There's more we can do here, but let's avoid
      inadvertent regressions.
      
      Test: policy compiles. Only compile time assertions added.
      Bug: 26813932
      Change-Id: If354c2ddc1c59beed7f0eb4bcbd3f0d9971c3b8a
      0b7506ff
  2. Nov 20, 2016
    • Daniel Micay's avatar
      only permit text relocations in untrusted_app · dc083f59
      Daniel Micay authored
      The other domains either don't have the same backwards compatibility
      issues (isolated_app) or are privileged components that are pretty much
      part of the platform and can be expected to meet a higher standard.
      
      It would be possible to expose a build option for disabling the ART JIT,
      allowing conditional removal of execmem from some of these domains too
      (ones not ever using the WebView, until that's always in isolated_app).
      
      Bug: 20013628
      Change-Id: Ic22513157fc8b958b2a3d60381be0c07b5252fa5
      dc083f59
  3. Oct 06, 2016
    • dcashman's avatar
      Split general policy into public and private components. · cc39f637
      dcashman authored
      Divide policy into public and private components.  This is the first
      step in splitting the policy creation for platform and non-platform
      policies.  The policy in the public directory will be exported for use
      in non-platform policy creation.  Backwards compatibility with it will
      be achieved by converting the exported policy into attribute-based
      policy when included as part of the non-platform policy and a mapping
      file will be maintained to be included with the platform policy that
      maps exported attributes of previous versions to the current platform
      version.
      
      Eventually we would like to create a clear interface between the
      platform and non-platform device components so that the exported policy,
      and the need for attributes is minimal.  For now, almost all types and
      avrules are left in public.
      
      Test: Tested by building policy and running on device.
      
      Change-Id: Idef796c9ec169259787c3f9d8f423edf4ce27f8c
      cc39f637
  4. Sep 12, 2016
    • Amith Yamasani's avatar
      Allow apps to read preloaded photos · aa2a33a2
      Amith Yamasani authored
      (cherry picked from commit e01654f9)
      
      For Retail Demo mode, we need to preload photos in
      /data/preloads and allow regular apps to access the
      photos returned by the media provider from the preloads
      directory.
      
      Bug: 29940807
      Change-Id: Ic1061dac55ace1b125ae04b5b0c70aae9aa0c732
      aa2a33a2
  5. Sep 10, 2016
  6. Aug 29, 2016
  7. Jul 22, 2016
  8. Jul 15, 2016
    • dcashman's avatar
      Grant untrusted_app dir access to asec_apk_file. · 83348b0b
      dcashman authored
      untrusted_app lost all of the domain_deprecated permissions in N,
      including the ability to read asec_apk_file dirs.  This is used for
      forward locked apps.
      
      Addresses the following denials:
      avc: denied { search } for name="asec" dev="tmpfs" ino=9298 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:asec_apk_file:s0 tclass=dir permissive=0
      avc: denied { getattr } for path="/mnt/asec" dev="tmpfs" ino=9298 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:asec_apk_file:s0 tclass=dir permissive=0
      
      (cherry-pick of internal commit: addd3c9f)
      
      Bug: 30082229
      Change-Id: I87758f1daee19197d9299bca261f0324e01af5e0
      83348b0b
  9. May 12, 2016
    • Jeff Vander Stoep's avatar
      Remove domain_deprecated from isolated_app · 0b430aba
      Jeff Vander Stoep authored
      Address denials:
      avc: denied { read } for name="meminfo" dev="proc" ino=4026544360 scontext=u:r:isolated_app:s0:c512,c768 tcontext=u:object_r:proc_meminfo:s0 tclass=file permissive=0
      
      Bug: 28722489
      Change-Id: I3c55bd95bb82ec54e88e9e9bc42d6392a216a936
      0b430aba
  10. Apr 23, 2016
  11. Apr 16, 2016
  12. Apr 15, 2016
    • Jeff Vander Stoep's avatar
      Further restrict socket ioctls available to apps · 32333536
      Jeff Vander Stoep authored
      (cherry picked from commit 6ba383c5)
      
      Restrict unix_dgram_socket and unix_stream_socket to a whitelist.
      Disallow all ioctls for netlink_selinux_socket and netlink_route_socket.
      
      Neverallow third party app use of all ioctls other than
      unix_dgram_socket, unix_stream_socket, netlink_selinux_socket,
      netlink_route_socket, tcp_socket, udp_socket and rawip_socket.
      
      Bug: 28171804
      Change-Id: Icfe3486a62fc2fc2d2abd8d4030a5fbdd0ab30ab
      32333536
    • Nick Kralevich's avatar
      neverallow /data/anr access for isolated/untrusted apps · 0e61a7a9
      Nick Kralevich authored
      Add a neverallow rule (compile time assertion + CTS test) that
      isolated_apps and untrusted_apps can't do anything else but append
      to /data/anr/traces.txt. In particular, assert that they can't
      read from the file, or overwrite other data which may already be
      in the file.
      
      Bug: 18340553
      Bug: 27853304
      
      (cherry picked from commit 369cf8cd)
      
      Change-Id: Ib33e7ea0342ad28e5a89dfffdd9bc16fe54d8b3d
      0e61a7a9
  13. Mar 25, 2016
    • Nick Kralevich's avatar
      neverallow /data/anr access for isolated/untrusted apps · 369cf8cd
      Nick Kralevich authored
      Add a neverallow rule (compile time assertion + CTS test) that
      isolated_apps and untrusted_apps can't do anything else but append
      to /data/anr/traces.txt. In particular, assert that they can't
      read from the file, or overwrite other data which may already be
      in the file.
      
      Bug: 18340553
      Bug: 27853304
      Change-Id: I249fe2a46401b660efaa3f1102924a448ed750d5
      369cf8cd
  14. Mar 14, 2016
    • dcashman's avatar
      Mark batteryproperties service as app_api_service. · 027ec206
      dcashman authored
      Applications do not explicitly request handles to the batteryproperties
      service, but the BatteryManager obtains a reference to it and uses it
      for its underlying property queries.  Mark it as an app_api_service so
      that all applications may use this API.  Also remove the batterypropreg
      service label, as this does not appear to be used and may have been a
      duplication of batteryproperties.  As a result, remove the
      healthd_service type and replace it with a more specific
      batteryproperties_service type.
      
      (cherry-picked from commit: 9ed71eff)
      
      Bug: 27442760
      Change-Id: I537c17c09145b302728377bf856c1147e4cc37e9
      027ec206
    • dcashman's avatar
      Mark batteryproperties service as app_api_service. · 9ed71eff
      dcashman authored
      Applications do not explicitly request handles to the batteryproperties
      service, but the BatteryManager obtains a reference to it and uses it
      for its underlying property queries.  Mark it as an app_api_service so
      that all applications may use this API.  Also remove the batterypropreg
      service label, as this does not appear to be used and may have been a
      duplication of batteryproperties.  As a result, remove the
      healthd_service type and replace it with a more specific
      batteryproperties_service type.
      
      Bug: 27442760
      Change-Id: I5c0f9d7992ff2ec64adaeef22356e88fd0e8169c
      9ed71eff
    • dcashman's avatar
      Create sysfs_hwrandom type. · f100b2c4
      dcashman authored
      HwRngTest needs access to the hwrandom sysfs files, but untrused_app
      does not have access to sysfs.  Give these files their own label and
      allow the needed read access.
      
      (cherry-pick from internal commit: 85c0f8af)
      
      Bug: 27263241
      Change-Id: If572ad0931a534d76e148b688b76687460e99af9
      f100b2c4
  15. Mar 11, 2016
    • dcashman's avatar
      Create sysfs_hwrandom type. · 85c0f8af
      dcashman authored
      HwRngTest needs access to the hwrandom sysfs files, but untrused_app
      does not have access to sysfs.  Give these files their own label and
      allow the needed read access.
      
      Bug: 27263241
      Change-Id: I718ba485e9e6627bac6e579f746658d85134b24b
      85c0f8af
  16. Mar 07, 2016
  17. Mar 01, 2016
    • Calin Juravle's avatar
      Add SElinux policies to allow foreign dex usage tracking. · 837bc42f
      Calin Juravle authored
      This is a special profile folder where apps will leave profile markers
      for the dex files they load and don't own. System server will read the
      markers and decide which apk should be fully compiled instead of
      profile guide compiled.
      
      Apps need only to be able to create (touch) files in this directory.
      System server needs only to be able to check wheter or not a file with a
      given name exists.
      
      Bug: 27334750
      Bug: 26080105
      
      Change-Id: I2256e4aba1ec0e5117de6497123223b9a74f404e
      837bc42f
  18. Feb 29, 2016
    • Nick Kralevich's avatar
      Allow bluetooth access to the tun device. · ba12da95
      Nick Kralevich authored
      Bluetooth uses the tun device for tethering. Allow access.
      
        STEPS TO REPRODUCE:
        0. Have two devices to test on, say Device A and Device B
        1. On Device A, Go to settings ->Bluetooth .
        2. Turn on the Bluetooth .
        3. Pair it with device B
        4. Tap on the paired device
      
        OBSERVED RESULTS:
        -Bluetooth share crash is observed with "Bluetooth share has stopped"
        error message
        -Unable to use Bluetooth tethering due to this issue
      
        EXPECTED RESULTS:
        No crash and Bluetooth devices should be able to connect for tethering
      
      Addresses the following denial:
      
      com.android.bluetooth: type=1400 audit(0.0:131): avc: denied { open }
      for comm=425420536572766963652043616C6C path="/dev/tun" dev="tmpfs"
      ino=12340 scontext=u:r:bluetooth:s0 tcontext=u:object_r:tun_device:s0
      tclass=chr_file permissive=0
      
      Bug: 27372573
      
      (cherry picked from commit 9a1347ee)
      
      Change-Id: Ibd16e48c09fe80ebb4f3779214de3b4806c12497
      ba12da95
    • Nick Kralevich's avatar
      Allow bluetooth access to the tun device. · 9a1347ee
      Nick Kralevich authored
      Bluetooth uses the tun device for tethering. Allow access.
      
        STEPS TO REPRODUCE:
        0. Have two devices to test on, say Device A and Device B
        1. On Device A, Go to settings ->Bluetooth .
        2. Turn on the Bluetooth .
        3. Pair it with device B
        4. Tap on the paired device
      
        OBSERVED RESULTS:
        -Bluetooth share crash is observed with "Bluetooth share has stopped"
        error message
        -Unable to use Bluetooth tethering due to this issue
      
        EXPECTED RESULTS:
        No crash and Bluetooth devices should be able to connect for tethering
      
      Addresses the following denial:
      
      com.android.bluetooth: type=1400 audit(0.0:131): avc: denied { open }
      for comm=425420536572766963652043616C6C path="/dev/tun" dev="tmpfs"
      ino=12340 scontext=u:r:bluetooth:s0 tcontext=u:object_r:tun_device:s0
      tclass=chr_file permissive=0
      
      Bug: 27372573
      Change-Id: I07724d8d68ffcdda691f1179787a4f40a0ab1c73
      9a1347ee
  19. Feb 24, 2016
    • dcashman's avatar
      Label /proc/meminfo. · f25ea5f9
      dcashman authored
      Address the following denial:
      m.chrome.canary: type=1400 audit(0.0:15): avc: granted { read open } for path="/proc/meminfo" dev="proc" ino=4026544360 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file
      
      (cherry-pick of internal commit: 971aeeda)
      
      Bug: 22032619
      Chromium Bug: 586021
      
      Change-Id: I2dcb2d4800bbc92ea47c37d4fd7a10f827a0114c
      f25ea5f9
    • dcashman's avatar
      Label /proc/meminfo. · 971aeeda
      dcashman authored
      Address the following denial:
      m.chrome.canary: type=1400 audit(0.0:15): avc: granted { read open } for path="/proc/meminfo" dev="proc" ino=4026544360 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file
      
      Bug: 22032619
      Chromium Bug: 586021
      
      Change-Id: I584345c84d870c313da69ec97a0b1e54c0eb9ee1
      971aeeda
  20. Feb 19, 2016
  21. Feb 13, 2016
    • Jeff Tinker's avatar
      Add mediadrm service · 0d5bac13
      Jeff Tinker authored
      Part of media security hardening
      
      This is an intermediate step toward moving
      mediadrm to a new service separate from mediaserver.
      This first step allows mediadrmservice to run based
      on the system property media.mediadrmservice.enable
      so it can be selectively enabled on devices that
      support using native_handles for secure buffers.
      
      bug: 22990512
      Change-Id: I2208c1e87a6bd8d5bfaed06b1fdcb0509c11cff2
      0d5bac13
  22. Feb 11, 2016
    • dcashman's avatar
      Auditallow untrusted_app procfs access. · a8a1faae
      dcashman authored
      Access to proc is being removed but there are still some consumers.  Add
      an auditallow to identify them and adjust labels appropriately before
      removal.
      
      Change-Id: I853b79bf0f22a71ea5c6c48641422c2daf247df5
      a8a1faae
  23. Feb 09, 2016
  24. Jan 28, 2016
  25. Jan 27, 2016
    • Chien-Yu Chen's avatar
      selinux: Update policies for cameraserver · e0378303
      Chien-Yu Chen authored
      Update policies for cameraserver so it has the same permissions
      as mediaserver.
      
      Bug: 24511454
      Change-Id: I1191e2ac36c00b942282f8dc3db9903551945adb
      e0378303
    • dcashman's avatar
      Restore untrusted_app proc_net access. · 5833e3f5
      dcashman authored
      Address the following denial:
      type=1400 audit(0.0:853): avc: denied { read } for name="/" dev="proc" ino=1 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=dir permissive=0
      
      Bug: 26806629
      Change-Id: Ic2ad91aadac00dc04d7e04f7460d5681d81134f4
      5833e3f5
  26. Jan 22, 2016
  27. Jan 08, 2016
    • Jeff Vander Stoep's avatar
      grant appdomain rw perms to tun_device · 2b935cd7
      Jeff Vander Stoep authored
      Previously granted to only untrusted_app, allow all apps except
      isolated_app read write permissions to tun_device.
      
      avc: denied { read write } for path="/dev/tun" dev="tmpfs" ino=8906 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:tun_device:s0 tclass=chr_file
      
      Bug: 26462997
      Change-Id: Id6f5b09cda26dc6c8651eb76f6791fb95640e4c7
      2b935cd7
Loading