Skip to content
Snippets Groups Projects
  1. Jun 23, 2014
    • Stephen Smalley's avatar
      Align SELinux property policy with init property_perms. · fee49159
      Stephen Smalley authored
      
      Introduce a net_radio_prop type for net. properties that can be
      set by radio or system.
      Introduce a system_radio_prop type for sys. properties that can be
      set by radio or system.
      Introduce a dhcp_prop type for properties that can be set by dhcp or system.
      Drop the rild_prop vs radio_prop distinction; this was an early
      experiment to see if we could separate properties settable by rild
      versus other radio UID processes but it did not pan out.
      
      Remove the ability to set properties from unconfineddomain.
      Allow init to set any property.  Allow recovery to set ctl_default_prop
      to restart adbd.
      
      Change-Id: I5ccafcb31ec4004dfefcec8718907f6b6f3e0dfd
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      fee49159
  2. Jun 19, 2014
  3. Jun 12, 2014
  4. May 30, 2014
    • Stephen Smalley's avatar
      Restrict /data/security and setprop selinux.reload_policy access. · 3235f61a
      Stephen Smalley authored
      
      Remove /data/security and setprop selinux.reload_policy access
      from unconfineddomain, and only add back what is needed to
      init (system_server already gets the required allow rules via
      the selinux_manage_policy macro).
      
      init (via init.rc post-fs-data) originally creates /data/security
      and may later restorecon it.  init also sets the property (also from
      init.rc post-fs-data) to trigger a reload once /data is mounted.
      The system_server (SELinuxPolicyInstallReceiver in particular) creates
      subdirectories under /data/security for updates, writes files to these
      subdirectories, creates the /data/security/current symlink to the update
      directory, and sets the property to trigger a reload when an update bundle
      is received.
      
      Add neverallow rules to ensure that we do not allow undesired access
      to security_file or security_prop.
      
      This is only truly meaningful if the support for /data/security policies
      is restored, but is harmless otherwise.
      
      Also drop the persist.mmac property_contexts entry; it was never used in
      AOSP, only in our tree (for middleware MAC) and is obsolete.
      
      Change-Id: I5ad5e3b6fc7abaafd314d31723f37b708d8fcf89
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      3235f61a
  5. May 29, 2014
    • Stephen Smalley's avatar
      Label ril.cdma with radio_prop. · 3a099879
      Stephen Smalley authored
      
      Resolves denials such as:
      avc:  denied  { set } for property=ril.cdma.inecmmode scontext=u:r:radio:s0 tcontext=u:object_r:rild_prop:s0 tclass=property_service
      
      This makes ril.cdma consistent with net.cdma.
      
      We may ultimately need to coalesce rild_prop and radio_prop; they
      were an attempt to distinguish what can be set by rild from what can be
      set by com.android.phone, but the init property service DAC checking
      permits any of them to be set by anything with the radio AID.  We
      presently allow rild to set either type, but radio can only set radio_prop.
      
      Change-Id: Ia3852db187e52427e18075e24b2beab19dd59c1f
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      3a099879
  6. Mar 25, 2014
  7. Mar 18, 2014
    • Nick Kralevich's avatar
      debuggerd: Allow "debug.db.uid" usage · 77aa370c
      Nick Kralevich authored
      Allow the use of debug.db.uid on userdebug / eng builds.
      Setting this property allows debuggerd to suspend a process
      if it detects a crash.
      
      Make debug.db.uid only accessible to the su domain. This should
      not be used on a user build.
      
      Only support reading user input on userdebug / eng builds.
      
      Steps to reproduce with the "crasher" program:
      
        adb root
        adb shell setprop debug.db.uid 20000
        mmm system/core/debuggerd
        adb sync
        adb shell crasher
      
      Addresses the following denials:
      
      <5>[  580.637442] type=1400 audit(1392412124.612:149): avc:  denied  { read } for  pid=182 comm="debuggerd" name="input" dev="tmpfs" ino=5665 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=dir
      <5>[  580.637589] type=1400 audit(1392412124.612:150): avc:  denied  { open } for  pid=182 comm="debuggerd" name="input" dev="tmpfs" ino=5665 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=dir
      <5>[  580.637706] type=1400 audit(1392412124.612:151): avc:  denied  { read write } for  pid=182 comm="debuggerd" name="event5" dev="tmpfs" ino=6723 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=chr_file
      <5>[  580.637823] type=1400 audit(1392412124.612:152): avc:  denied  { open } for  pid=182 comm="debuggerd" name="event5" dev="tmpfs" ino=6723 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=chr_file
      <5>[  580.637958] type=1400 audit(1392412124.612:153): avc:  denied  { ioctl } for  pid=182 comm="debuggerd" path="/dev/input/event5" dev="tmpfs" ino=6723 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=chr_file
      
      Bug: 12532622
      Change-Id: I63486edb73efb1ca12e9eb1994ac9e389251a3f1
      
      Conflicts:
      	debuggerd.te
      77aa370c
  8. Mar 11, 2014
    • Stephen Smalley's avatar
      Allow system_app to start bugreport and to create /data/anr/traces.txt. · 1c0c0102
      Stephen Smalley authored
      
      Resolves denials such as:
      
      avc:  denied  { set } for property =ctl.bugreport scontext=u:r:system_app:s0 tcontext=u:object_r:ctl_default_prop:s0 tclass=property_service
      
      avc:  denied  { write } for  pid=4415 comm=5369676E616C2043617463686572 name="anr" dev="dm-0" ino=358337 scontext=u:r:system_app:s0 tcontext=u:object_r:anr_data_file:s0 tclass=dir
      
      avc:  denied  { add_name } for  pid=4415 comm=5369676E616C2043617463686572 name="traces.txt" scontext=u:r:system_app:s0 tcontext=u:object_r:anr_data_file:s0 tclass=dir
      
      avc:  denied  { create } for  pid=4415 comm=5369676E616C2043617463686572 name="traces.txt" scontext=u:r:system_app:s0 tcontext=u:object_r:anr_data_file:s0 tclass=file
      
      Change-Id: I71d0ede049136d72f28bdc85d52fcefa2f7d128f
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      1c0c0102
  9. Feb 24, 2014
  10. Feb 18, 2014
    • Nick Kralevich's avatar
      debuggerd: Allow "debug.db.uid" usage · 116a20fd
      Nick Kralevich authored
      Allow the use of debug.db.uid on userdebug / eng builds.
      Setting this property allows debuggerd to suspend a process
      if it detects a crash.
      
      Make debug.db.uid only accessible to the su domain. This should
      not be used on a user build.
      
      Only support reading user input on userdebug / eng builds.
      
      Steps to reproduce with the "crasher" program:
      
        adb root
        adb shell setprop debug.db.uid 20000
        mmm system/core/debuggerd
        adb sync
        adb shell crasher
      
      Addresses the following denials:
      
      <5>[  580.637442] type=1400 audit(1392412124.612:149): avc:  denied  { read } for  pid=182 comm="debuggerd" name="input" dev="tmpfs" ino=5665 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=dir
      <5>[  580.637589] type=1400 audit(1392412124.612:150): avc:  denied  { open } for  pid=182 comm="debuggerd" name="input" dev="tmpfs" ino=5665 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=dir
      <5>[  580.637706] type=1400 audit(1392412124.612:151): avc:  denied  { read write } for  pid=182 comm="debuggerd" name="event5" dev="tmpfs" ino=6723 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=chr_file
      <5>[  580.637823] type=1400 audit(1392412124.612:152): avc:  denied  { open } for  pid=182 comm="debuggerd" name="event5" dev="tmpfs" ino=6723 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=chr_file
      <5>[  580.637958] type=1400 audit(1392412124.612:153): avc:  denied  { ioctl } for  pid=182 comm="debuggerd" path="/dev/input/event5" dev="tmpfs" ino=6723 scontext=u:r:debuggerd:s0 tcontext=u:object_r:input_device:s0 tclass=chr_file
      
      Bug: 12532622
      Change-Id: I63486edb73efb1ca12e9eb1994ac9e389251a3f1
      116a20fd
  11. Nov 01, 2013
    • Nick Kralevich's avatar
      Give system_server / system_app ability to write some properties · dd1ec6d5
      Nick Kralevich authored
      Allow writing to persist.sys and debug.
      
      This addresses the following denials (which are actually being enforced):
      
      <4>[  131.700473] avc:  denied  { set } for property=debug.force_rtl scontext=u:r:system_server:s0 tcontext=u:object_r:shell_prop:s0 tclass=property_service
      <3>[  131.700625] init: sys_prop: permission denied uid:1000  name:debug.force_rtl
      <4>[  132.630062] avc:  denied  { set } for property=persist.sys.dalvik.vm.lib scontext=u:r:system_app:s0 tcontext=u:object_r:system_prop:s0 tclass=property_service
      <3>[  132.630184] init: sys_prop: permission denied uid:1000  name:persist.sys.dalvik.vm.lib
      
      Change-Id: I5d114c0d963bf393f49f1bf13d1ed84137fbcca6
      dd1ec6d5
  12. Jun 29, 2013
    • Nick Kralevich's avatar
      Enable SELinux on vold · 7914a47f
      Nick Kralevich authored
      This change enables SELinux security enforcement on vold.
      
      For the vold.te file ONLY, this change is conceptually a revert of
      77d4731e and
      50e37b93, with the following
      additional changes:
      
      1) Removal of "allow vold proc:file write;" and
      "allow vold self:capability { sys_boot };". As of system/vold
      change adfba3626e76c1931649634275d241b226cd1b9a, vold no longer
      performs it's own reboots, so these capabilities are no longer
      needed.
      
      2) Addition of the powerctl property, which vold contacts to
      tell init to reboot.
      
      3) Removal of "allow vold kernel:system module_request;". As of
      CTS commit f2cfdf5c057140d9442fcfeb4e4a648e8258b659, Android
      devices no longer ship with loadable modules, hence we don't
      require this rule.
      
      4) Removal of "fsetid" from "self:capability". Any setuid / setgid
      bits SHOULD be cleared if vold is able to change the permissions
      of files. IMHO, it was a mistake to ever include this capability in
      the first place.
      
      Testing: As much as possible, I've tested filesystem related
      functionality, including factory reset and device encryption.
      I wasn't able to test fstrim functionality, which is a fairly
      new feature.  I didn't see any policy denials in dmesg. It's quite
      possible I've missed something. If we experience problems, I
      happy to roll back this change.
      
      Bug: 9629920
      Change-Id: I683afa0dffe9f28952287bfdb7ee4e0423c2e97a
      7914a47f
  13. May 06, 2013
  14. Mar 22, 2013
    • William Roberts's avatar
      Move policy files · 9e70c8bf
      William Roberts authored
      Update the file_contexts for the new location of
      the policy files, as well as update the policy
      for the management of these types.
      
      Change-Id: Idc475901ed437efb325807897e620904f4ff03e9
      9e70c8bf
  15. Nov 28, 2012
  16. Jun 28, 2012
  17. Apr 04, 2012
    • Stephen Smalley's avatar
      Rework the radio vs rild property split. · 730957ae
      Stephen Smalley authored
      Only label properties with the ril. prefix with rild_prop.
      Allow rild and system (and radio) to set radio_prop.
      Only rild can set rild_prop presently.
      730957ae
    • Stephen Smalley's avatar
      Add policy for property service. · 124720a6
      Stephen Smalley authored
      New property_contexts file for property selabel backend.
      New property.te file with property type declarations.
      New property_service security class and set permission.
      Allow rules for setting properties.
      124720a6
Loading