Skip to content
Snippets Groups Projects
  1. Jan 19, 2016
    • Rubin Xu's avatar
      SELinux rule for ro.device_owner and persist.logd.security · 0c8286fe
      Rubin Xu authored
      They are introduced for the device owner process logging feature.
      That is, for enterprise-owned devices with device owner app provisioned,
      the device owner may choose to turn on additional device-wide logging for
      auditing and intrusion detection purposes. Logging includes histories of
      app process startup, commands issued over ADB and lockscreen unlocking
      attempts. These logs will available to the device owner for analysis,
      potentially shipped to a remote server if it chooses to.
      
      ro.device_owner will be a master switch to turn off logging, if the device
      has no device owner provisioned. persist.logd.security is a switch that
      device owner can toggle (via DevicePoliyManager) to enable/disable logging.
      Writing to both properties should be only allowed by the system server.
      
      Bug: 22860162
      Change-Id: Iabfe2347b094914813b9d6e0c808877c25ccd038
      0c8286fe
  2. Jan 04, 2016
    • Felipe Leme's avatar
      Creates a new permission for /cache/recovery · 549ccf77
      Felipe Leme authored
      This permission was created mostly for dumpstate (so it can include
      recovery files on bugreports when an OTA fails), but it was applied to
      uncrypt and recovery as well (since it had a wider access before).
      
      Grant access to cache_recovery_file where we previously granted access
      to cache_file. Add auditallow rules to determine if this is really
      needed.
      
      BUG: 25351711
      Change-Id: I07745181dbb4f0bde75694ea31b3ab79a4682f18
      549ccf77
    • dcashman's avatar
      Create sysfs_zram label. · 36f255ff
      dcashman authored
      Address following denials:
      avc: denied { getattr } for path="/sys/devices/virtual/block/zram0/disksize" dev="sysfs" ino=14958 scontext=u:r:init:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=file permissive=0
      avc: denied { search } for name="zram0" dev="sysfs" ino=14903 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=dir permissive=0
      avc: denied { read } for name="mem_used_total" dev="sysfs" ino=14970 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=file permissive=0
      avc: denied { write } for name="uevent" dev="sysfs" ino=14904 scontext=u:r:ueventd:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=file permissive=0
      avc: denied { open } for path="/sys/devices/virtual/block/zram0/uevent" dev="sysfs" ino=14904 scontext=u:r:ueventd:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=file permissive=0
      avc: denied { read } for pid=348 comm="vold" name="zram0" dev="sysfs" ino=15223 scontext=u:r:vold:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=dir permissive=0
      avc: denied { search } for pid=3494 comm="ContactsProvide" name="zram0"dev="sysfs" ino=15223 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:sysfs_zram:s0 tclass=dir permissive=0
      
      Bug: 22032619
      Change-Id: I40cf918b7cafdba6cb3d42b04b1616a84e4ce158
      36f255ff
  3. Dec 24, 2015
    • Daichi Hirono's avatar
      Add new rules for appfuse. · a20802dd
      Daichi Hirono authored
      The new rules are used to allow to mount FUSE file system for priv-app.
      
      Change-Id: I5ce2d261be501e2b3fef09b7666f1e5d1cddbe52
      a20802dd
  4. Dec 17, 2015
  5. Nov 24, 2015
  6. Nov 20, 2015
    • Nick Kralevich's avatar
      system_server: allow restorecon /data/system/users/0/fpdata · 4fd21606
      Nick Kralevich authored
      Addresses the following denial:
      
        avc: denied { relabelfrom } for pid=9971 comm="system_server" name="fpdata" dev="dm-0" ino=678683 scontext=u:r:system_server:s0 tcontext=u:object_r:system_data_file:s0 tclass=dir permissive=0
      
      Bug: 25801240
      Change-Id: I043f48f410505acaee4bb97446945316f656a210
      4fd21606
  7. Nov 16, 2015
  8. Nov 11, 2015
    • Calin Juravle's avatar
      Add SElinux rules for /data/misc/trace · f255d775
      Calin Juravle authored
      The directory is to be used in eng/userdebug build to store method
      traces (previously stored in /data/dalvik-cache/profiles).
      
      Bug: 25612377
      
      Change-Id: Ia4365a8d1f13d33ee54115dc5e3bf62786503993
      f255d775
  9. Nov 07, 2015
    • Nick Kralevich's avatar
      system_server: clean up stale rules · 142f97b7
      Nick Kralevich authored
      979adffd added an auditallow
      to see if system_server was relabeling system_data_file.
      The auditallow rule hasn't triggered, so remove the allow rule.
      
      a3c97a76 added an auditallow
      to see if system_server was executing toolbox. The auditallow
      rule hasn't triggered, so remove the allow rule. AFAIK,
      system_server never executes ANY file, so further tightening here
      is feasible.
      
      Change-Id: Ia0a93f3833e32c3e2c898463bd8813701a6dd20a
      142f97b7
  10. Nov 03, 2015
    • Jeff Vander Stoep's avatar
      Create attribute for moving perms out of domain · d22987b4
      Jeff Vander Stoep authored
      Motivation: Domain is overly permissive. Start removing permissions
      from domain and assign them to the domain_deprecated attribute.
      Domain_deprecated and domain can initially be assigned to all
      domains. The goal is to not assign domain_deprecated to new domains
      and to start removing domain_deprecated where it is not required or
      reassigning the appropriate permissions to the inheriting domain
      when necessary.
      
      Bug: 25433265
      Change-Id: I8b11cb137df7bdd382629c98d916a73fe276413c
      d22987b4
  11. Oct 14, 2015
    • Nick Kralevich's avatar
      system_server: (eng builds) remove JIT capabilities · 82bdd796
      Nick Kralevich authored
      23cde877 removed JIT capabilities
      from system_server for user and userdebug builds. Remove the capability
      from eng builds to be consistent across build types.
      
      Add a neverallow rule (compile time assertion + CTS test) to verify
      this doesn't regress on our devices or partner devices.
      
      Bug: 23468805
      Bug: 24915206
      Change-Id: Ib2154255c611b8812aa1092631a89bc59a27514b
      82bdd796
  12. Sep 14, 2015
    • Lorenzo Colitti's avatar
      Allow system_server to bind ping sockets. · 16c36f68
      Lorenzo Colitti authored
      This allows NetworkDiagnostics to send ping packets from specific
      source addresses in order to detect reachability problems on the
      reverse path.
      
      This addresses the following denial:
      
      [  209.744636] type=1400 audit(1441805730.510:14): avc: denied { node_bind } for pid=8347 comm="Thread-202" saddr=2400:xxxx:xxxx:xxxx:40b1:7e:a1d7:b3ae scontext=u:r:system_server:s0 tcontext=u:object_r:node:s0 tclass=rawip_socket permissive=0
      
      Bug: 23661687
      
      (cherry picked from commit c3712143)
      
      Change-Id: Ia93c14bc7fec17e2622e1b48bfbf591029d84be2
      16c36f68
  13. Sep 09, 2015
    • Lorenzo Colitti's avatar
      Allow system_server to bind ping sockets. · c3712143
      Lorenzo Colitti authored
      This allows NetworkDiagnostics to send ping packets from specific
      source addresses in order to detect reachability problems on the
      reverse path.
      
      This addresses the following denial:
      
      [  209.744636] type=1400 audit(1441805730.510:14): avc: denied { node_bind } for pid=8347 comm="Thread-202" saddr=2400:xxxx:xxxx:xxxx:40b1:7e:a1d7:b3ae scontext=u:r:system_server:s0 tcontext=u:object_r:node:s0 tclass=rawip_socket permissive=0
      
      Bug: 23661687
      Change-Id: Ia93c14bc7fec17e2622e1b48bfbf591029d84be2
      c3712143
  14. Sep 01, 2015
    • Jeff Vander Stoep's avatar
      system_server.te: remove policy load permissions · 0243e5cf
      Jeff Vander Stoep authored
      Remove system server's permission to dynamically update SELinux
      policy on the device.
      
      1) This functionality has never been used, so we have no idea if
      it works or not.
      
      2) If system_server is compromised, this functionality allows a
      complete bypass of the SELinux policy on the device. In particular,
      an attacker can force a regression of the following patch
        * https://android-review.googlesource.com/138510
      see also https://code.google.com/p/android/issues/detail?id=181826
      
      3) Dynamic policy update can be used to bypass neverallow protections
      enforced in CTS, by pushing a policy to the device after certification.
      Such an updated policy could bring the device out of compliance or
      deliberately introduce security weaknesses.
      
      Bug: 22885422
      Bug: 8949824
      Change-Id: I3c64d64359060561102e1587531836b69cfeef00
      0243e5cf
  15. Aug 25, 2015
    • Stephen Smalley's avatar
      Only allow toolbox exec where /system exec was already allowed. · a3c97a76
      Stephen Smalley authored
      
      When the toolbox domain was introduced, we allowed all domains to exec it
      to avoid breakage.  However, only domains that were previously allowed the
      ability to exec /system files would have been able to do this prior to the
      introduction of the toolbox domain.  Remove the rule from domain.te and add
      rules to all domains that are already allowed execute_no_trans to system_file.
      Requires coordination with device-specific policy changes with the same Change-Id.
      
      Change-Id: Ie46209f0412f9914857dc3d7c6b0917b7031aae5
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      a3c97a76
  16. Aug 24, 2015
  17. Aug 13, 2015
  18. Jul 29, 2015
  19. Jul 28, 2015
  20. Jul 08, 2015
    • William Roberts's avatar
      neverallow: domain execute data_file_type · 7028bdcc
      William Roberts authored
      
      To help reduce code injection paths, a neverallow is placed
      to prevent domain, sans untrusted_app and shell, execute
      on data_file_type. A few data_file_type's are also exempt
      from this rule as they label files that should be executable.
      
      Additional constraints, on top of the above, are placed on domains
      system_server and zygote. They can only execute data_file_type's
      of type dalvikcache_data_file.
      
      Change-Id: I15dafbce80ba2c85a03c23128eae4725703d5f02
      Signed-off-by: default avatarWilliam Roberts <william.c.roberts@intel.com>
      7028bdcc
  21. Jun 09, 2015
    • Tao Bao's avatar
      Allow system server and uncrypt to operate pipe file · 51b33ac9
      Tao Bao authored
      System server and uncrypt need to communicate with a named pipe on the
      /cache partition. It will be created and deleted by system server.
      
      Bug: 20012567
      Bug: 20949086
      (cherry picked from commit 70c6dbf0)
      Change-Id: I4ddc523c2a0f4218877dae8f8a9b7fcf3f786625
      51b33ac9
  22. Jun 05, 2015
  23. Jun 04, 2015
  24. May 28, 2015
    • Tao Bao's avatar
      Allow system server and uncrypt to operate pipe file · 70c6dbf0
      Tao Bao authored
      System server and uncrypt need to communicate with a named pipe on the
      /cache partition. It will be created and deleted by system server.
      
      Bug: 20012567
      Bug: 20949086
      Change-Id: I9494a67016c23294e803ca39d377ec321537bca0
      70c6dbf0
  25. May 22, 2015
    • Jim Miller's avatar
      Selinux: Allow system_server to create fpdata dir. · a39b131e
      Jim Miller authored
      Fixes avc errors;
      avc: denied { relabelto } for name="fpdata" dev="mmcblk0p28" ino=586465 scontext=u:r:system_server:s0 tcontext=u:object_r:fingerprintd_data_file:s0 tclass=dir permissive=0
      avc: denied { read } for name="fpdata" dev="mmcblk0p28" ino=586409 scontext=u:r:system_server:s0 tcontext=u:object_r:fingerprintd_data_file:s0 tclass=dir permissive=0
      
      Change-Id: I3ba16af14632d803e09ac1490af9a0b652cba3a6
      a39b131e
  26. May 20, 2015
  27. May 18, 2015
  28. May 14, 2015
  29. May 13, 2015
  30. May 12, 2015
  31. May 07, 2015
    • William Roberts's avatar
      Replace unix_socket_connect() and explicit property sets with macro · 2f5a6a96
      William Roberts authored
      
      A common source of mistakes when authoring sepolicy is properly
      setting up property sets. This is a 3 part step of:
      1. Allowing the unix domain connection to the init/property service
      2. Allowing write on the property_socket file
      3. Allowing the set on class property_service
      
      The macro unix_socket_connect() handled 1 and 2, but could be
      confusing for first time policy authors. 3 had to be explicitly
      added.
      
      To correct this, we introduce a new macros:
      set_prop(sourcedomain, targetprop)
      
      This macro handles steps 1, 2 and 3.
      
      No difference in sediff is expected.
      
      (cherrypicked from commit 625a3526)
      
      Change-Id: I630ba0178439c935d08062892990d43a3cc1239e
      Signed-off-by: default avatarWilliam Roberts <william.c.roberts@linux.intel.com>
      2f5a6a96
    • William Roberts's avatar
      Replace unix_socket_connect() and explicit property sets with macro · 625a3526
      William Roberts authored
      
      A common source of mistakes when authoring sepolicy is properly
      setting up property sets. This is a 3 part step of:
      1. Allowing the unix domain connection to the init/property service
      2. Allowing write on the property_socket file
      3. Allowing the set on class property_service
      
      The macro unix_socket_connect() handled 1 and 2, but could be
      confusing for first time policy authors. 3 had to be explicitly
      added.
      
      To correct this, we introduce a new macros:
      set_prop(sourcedomain, targetprop)
      
      This macro handles steps 1, 2 and 3.
      
      No difference in sediff is expected.
      
      Change-Id: I630ba0178439c935d08062892990d43a3cc1239e
      Signed-off-by: default avatarWilliam Roberts <william.c.roberts@linux.intel.com>
      625a3526
  32. Apr 09, 2015
    • Nick Kralevich's avatar
      gatekeeperd: neverallow non-system_server binder call · 2234f9ff
      Nick Kralevich authored
      The current neverallow rule (compile time assertion)
      
        neverallow { domain -gatekeeperd -system_server } gatekeeper_service:service_manager find;
      
      asserts that no rule is present which allows processes other than
      system_server from asking servicemanager for a gatekeeperd token.
      
      However, if system_server leaks the token to other processes, it may
      be possible for those processes to access gatekeeperd directly, bypassing
      servicemanager.
      
      Add a neverallow rule to assert that no process other than system_server
      are allowed to make binder calls to gatekeeperd. Even if another process
      was to manage to get a binder token to gatekeeperd, it would be useless.
      
      Remove binder_service() from gatekeeperd. The original use of the
      binder_service() macro was to widely publish a binder service.
      If this macro is present and the calling process has a gatekeeperd
      binder token, it's implicitly possible for the following processes
      to make a binder call to gatekeeperd:
      
       * all app processes
       * dumpstate
       * system_server
       * mediaserver
       * surfaceflinger
      
      Removing binder_service revokes this implicit access.
      
      Add explicit access for system_server to make binder calls to
      gatekeeperd.
      
      Add explicit access for gatekeeperd to make calls to keystore.
      This was implicitly granted via binder_service() before, but now
      needs to be explicit.
      
      Change-Id: I23c1573d04ab670a42660d5922b39eecf4265b66
      2234f9ff
    • dcashman's avatar
      Enforce more specific service access. · bd7f5803
      dcashman authored
      Move the remaining services from tmp_system_server_service to appropriate
      attributes and remove tmp_system_server and associated logging:
      
      registry
      restrictions
      rttmanager
      scheduling_policy
      search
      sensorservice
      serial
      servicediscovery
      statusbar
      task
      textservices
      telecom_service
      trust_service
      uimode
      updatelock
      usagestats
      usb
      user
      vibrator
      voiceinteraction
      wallpaper
      webviewupdate
      wifip2p
      wifi
      window
      
      Bug: 18106000
      Change-Id: Ia0a6d47099d82c53ba403af394537db6fbc71ca0
      bd7f5803
  33. Apr 08, 2015
    • dcashman's avatar
      Enforce more specific service access. · 03a6f64f
      dcashman authored
      Move the following services from tmp_system_server_service to appropriate
      attributes:
      
      network_management
      network_score
      notification
      package
      permission
      persistent
      power
      print
      processinfo
      procstats
      
      Bug: 18106000
      Change-Id: I9dfb41fa41cde72ef0059668410a2e9eb1af491c
      03a6f64f
Loading