Skip to content
Snippets Groups Projects
  1. Jan 14, 2015
    • Mark Salyzyn's avatar
      selinux: add pstore · 34d32ea1
      Mark Salyzyn authored
      Used to record the Android log messages, then on reboot
      provide a means to triage user-space actitivies leading
      up to a panic. A companion to the pstore console logs.
      
      Change-Id: I9b94ee3d5e94e0c4590ba8453b4ac1ebdfc7603f
      34d32ea1
  2. Oct 02, 2014
    • Stephen Smalley's avatar
      Label block devices created or accessed by vold with specific types. · 273d7ea4
      Stephen Smalley authored
      
      Assign a more specific type than block_device to all
      block devices created or accessed by vold.   Allow vold
      to set the context on the device nodes it creates.
      
      vold can create extra loop devices (/dev/block/loopN) and
      block devices for volumes it manages (/dev/block/vold/M:N).
      
      vold can read/write device mapper block devices (/dev/block/dm-N)
      created for encrypted volumes.
      
      vold can read/write metadata partitions used to store encryption metadata.
      The metadata_block_device type should be assigned in device-specific
      policy to the partition specified by the encryptable= mount option
      for the userata entry in the fstab.<board> file.
      
      This change does not remove the ability to create or read/write
      generic block_device devices by vold, so it should not break anything.
      It does add an auditallow statement on such accesses so that we can track
      remaining cases where we need to label such device nodes so that we can
      ultimately remove this access.
      
      Change-Id: Id3bea28f5958086716cd3db055bea309b3b5fa5a
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      273d7ea4
    • Stephen Smalley's avatar
      Define specific block device types for system and recovery partitions. · 206b1a6c
      Stephen Smalley authored
      
      Define a specific block device type for system so that we can
      prevent raw writes to the system partition by anything other than
      recovery.
      
      Define a specific block device type for recovery so that we
      can prevent raw writes to the recovery partition by anything
      other than install_recovery or recovery.
      
      These types must be assigned to specific block device nodes
      via device-specific policy.  This change merely defines the types,
      adds allow rules so that nothing will break when the types are assigned,
      and adds neverallow rules to prevent adding further allow rules
      on these types.
      
      This change does not remove access to the generic block_device type
      from any domain so nothing should break even on devices without these
      type assignments.
      
      Change-Id: Ie9c1f6d632f6e9e8cbba106f07f6b1979d2a3c4a
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      206b1a6c
  3. Sep 28, 2014
    • Stephen Smalley's avatar
      Do not allow init to execute anything without changing domains. · 8a0c25ef
      Stephen Smalley authored
      
      Remove the ability of init to execute programs from / or /system
      without changing domains.  This forces all helper programs and
      services invoked by init to be assigned their own domain.
      
      Introduce separate domains for running the helper programs
      executed from the fs_mgr library by init.  This requires a domain
      for e2fsck (named fsck for generality) and a domain for running
      mkswap (named toolbox since mkswap is just a symlink to the toolbox
      binary and the domain transition occurs on executing the binary, not
      based on the symlink in any way).
      
      e2fsck is invoked on any partitions marked with the check mount
      option in the fstab file, typically userdata and cache but never
      system.  We allow it to read/write the userdata_block_device and
      cache_block_device types but also allow it to read/write the default
      block_device type until we can get the more specific types assigned
      in all of the device-specific policies.
      
      mkswap is invoked on any swap partition defined in the fstab file.
      We introduce a new swap_block_device type for this purpose, to be
      assigned to any such block devices in the device-specific policies,
      and only allow it to read/write such block devices.  As there seem to be
      no devices in AOSP with swap partitions in their fstab files, this does
      not appear to risk any breakage for existing devices.
      
      With the introduction of these domains, we can de-privilege init to
      only having read access to block devices for mounting filesystems; it
      no longer needs direct write access to such devices AFAICT.
      
      To avoid breaking execution of toolbox by system services, apps, or the shell,
      we allow all domains other than kernel and init the ability to
      run toolbox in their own domain.  This is broader than strictly required;
      we could alternatively only add it to those domains that already had
      x_file_perms to system_file but this would require a coordinated change
      with device-specific policy.
      
      Change-Id: Ib05de2d2bc2781dad48b70ba385577cb855708e4
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      8a0c25ef
  4. Sep 20, 2014
    • Stephen Smalley's avatar
      Define types for userdata and cache block devices. · dd053a9b
      Stephen Smalley authored
      
      Introduce separate types for the userdata and cache block
      devices so that we can assign them and allow access to them
      in device-specific policy without allowing access to any other
      block device (e.g. system).  These types will only be used if
      assigned to device node paths in the device-specific file_contexts
      configuration.  Otherwise, this change will have no impact - the
      userdata and cache block devices will continue to default to block_device
      type.
      
      To avoid breakage when these new types are assigned to the userdata
      block device, allow access by vold and uncrypt, but auditallow
      these accesses to confirm that these are required.
      
      Change-Id: I99d24f06506f51ebf1d186d9c393b3cad60e98d7
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      dd053a9b
    • dcashman's avatar
      Add support for factory reset protection. · f37ce3f3
      dcashman authored
      Address the following denials:
      <12>[  417.732129] type=1400 audit(365340.189:47): avc: denied { read } for pid=1737 comm="Binder_2" name="mmcblk0p18" dev="tmpfs" ino=12406 scontext=u:r:system_server:s0 tcontext=u:object_r:block_device:s0 tclass=blk_file permissive=0
      <12>[  417.882126] type=1400 audit(365340.339:48): avc: denied { read } for pid=1737 comm="Binder_2" name="mmcblk0p18" dev="tmpfs" ino=12406 scontext=u:r:system_server:s0 tcontext=u:object_r:block_device:s0 tclass=blk_file permissive=0
      
      (cherrypick of commit 47bd7300)
      
      Bug: 16710840
      Change-Id: I8cb5b4b17dffe14f0bf05d63eb8f6ab8d5c09f53
      f37ce3f3
  5. Sep 15, 2014
  6. Sep 08, 2014
    • dcashman's avatar
      Add support for factory reset protection. · 47bd7300
      dcashman authored
      Address the following denials:
      <12>[  417.732129] type=1400 audit(365340.189:47): avc: denied { read } for pid=1737 comm="Binder_2" name="mmcblk0p18" dev="tmpfs" ino=12406 scontext=u:r:system_server:s0 tcontext=u:object_r:block_device:s0 tclass=blk_file permissive=0
      <12>[  417.882126] type=1400 audit(365340.339:48): avc: denied { read } for pid=1737 comm="Binder_2" name="mmcblk0p18" dev="tmpfs" ino=12406 scontext=u:r:system_server:s0 tcontext=u:object_r:block_device:s0 tclass=blk_file permissive=0
      
      Bug: 16710840
      Change-Id: I8cb5b4b17dffe14f0bf05d63eb8f6ab8d5c09f53
      47bd7300
  7. Jul 09, 2014
  8. Jun 04, 2014
  9. May 07, 2014
    • Greg Hackmann's avatar
      Add policies for Atomic Display Framework · 7004789d
      Greg Hackmann authored
      
      ADF is a modern replacement for fbdev.
      
      ADF's device nodes (/dev/adf[X]), interface nodes
      (/dev/adf-interface[X].[Y]), and overlay engine nodes
      (/dev/adf-overlay-engine[X].[Y]) are collectively used in similar
      contexts as fbdev nodes.  Vendor HW composers (via SurfaceFlinger) and
      healthd will need to send R/W ioctls to these nodes to prepare and
      update the display.
      
      Ordinary apps should not talk to ADF directly.
      
      Change-Id: Ic0a76b1e82c0cc1e8f240f219928af1783e79343
      Signed-off-by: default avatarGreg Hackmann <ghackmann@google.com>
      7004789d
  10. Mar 26, 2014
  11. Feb 25, 2014
  12. Feb 20, 2014
  13. Jan 16, 2014
    • Stephen Smalley's avatar
      Drop legacy device types. · d9b8ef43
      Stephen Smalley authored
      
      powervr_device is obsoleted by the more general gpu_device.
      akm_device and accelerometer_device are obsoleted by the more
      general sensors_device.
      
      We could also drop the file_contexts entries altogether and
      take them to device-specific policy (in this case, they all
      came from crespo, so that is obsolete for master).
      
      Change-Id: I63cef43b0d66bc99b80b64655416cc050f443e7d
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      d9b8ef43
  14. Dec 12, 2013
  15. Dec 05, 2013
    • Robert Craig's avatar
      Drop tegra specific label from policy. · b2547644
      Robert Craig authored
      This label was originally used for Motorola
      Xoom devices. nvmap is the tegra gpu memory
      manager and the various nvhost drivers are
      for tegra graphics related functionality,
      i.e. display serial interface, image signal
      processor, or media processing stuff.
      
      Only grouper and tilapia presently need this
      policy.
      
      Change-Id: I2a7000f69abf3185724d88d428e8237e0ca436ec
      b2547644
  16. Nov 11, 2013
    • Stephen Smalley's avatar
      Label /dev/fscklogs and allow system_server access to it. · af47ebb6
      Stephen Smalley authored
      
      Otherwise you get denials such as:
      type=1400 audit(1383590310.430:623): avc:  denied  { getattr } for  pid=1629 comm="Thread-78" path="/dev/fscklogs/log" dev="tmpfs" ino=1642 scontext=u:r:system_server:s0 tcontext=u:object_r:device:s0 tclass=file
      type=1400 audit(1383590310.430:624): avc:  denied  { open } for  pid=1629 comm="Thread-78" name="log" dev="tmpfs" ino=1642 scontext=u:r:system_server:s0 tcontext=u:object_r:device:s0 tclass=file
      type=1400 audit(1383590310.430:625): avc:  denied  { write } for  pid=1629 comm="Thread-78" name="fscklogs" dev="tmpfs" ino=1628 scontext=u:r:system_server:s0 tcontext=u:object_r:device:s0 tclass=dir
      type=1400 audit(1383590310.430:625): avc:  denied  { remove_name } for  pid=1629 comm="Thread-78" name="log" dev="tmpfs" ino=1642 scontext=u:r:system_server:s0 tcontext=u:object_r:device:s0 tclass=dir
      type=1400 audit(1383590310.430:625): avc:  denied  { unlink } for  pid=1629 comm="Thread-78" name="log" dev="tmpfs" ino=1642 scontext=u:r:system_server:s0 tcontext=u:object_r:device:s0 tclass=file
      
      Change-Id: Ia7ae06a6d4cc5d2a59b8b85a5fb93cc31074fd37
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      af47ebb6
  17. Oct 03, 2013
    • Alex Klyubin's avatar
      Restrict access to /dev/hw_random to system_server and init. · 8d688315
      Alex Klyubin authored
      /dev/hw_random is accessed only by init and by EntropyMixer (which
      runs inside system_server). Other domains are denied access because
      apps/services should be obtaining randomness from the Linux RNG.
      
      Change-Id: Ifde851004301ffd41b2189151a64a0c5989c630f
      8d688315
  18. May 09, 2013
  19. Apr 25, 2013
  20. Apr 24, 2013
  21. Apr 05, 2013
    • Stephen Smalley's avatar
      run-as policy fixes. · 74ba8c86
      Stephen Smalley authored
      - Remove dac_read_search as it is no longer required by run-as.
      - Introduce a separate type for /dev/tty so that we can allow use of own tty for
      for a run-as shell without allowing access to other /dev/tty[0-9]* nodes.
      - Allow sigchld notifications for death of run-as and its descendants by adbd.
      - Drop redundant rules for executing shell or system commands from untrusted_app;
      now covered by rules in app.te.
      
      Change-Id: Ic3bf7bee9eeabf9ad4a20f61fbb142a64bb37c6c
      74ba8c86
    • Robert Craig's avatar
      Remove unneeded device type. · 507304c2
      Robert Craig authored
      
      timerirq_device has been removed in favor
      of using the existing sensors_device domain.
      
      Change-Id: I503e4a511c2901890356559c0afb971392b4ec6f
      Signed-off-by: default avatarrpcraig <rpcraig@tycho.ncsc.mil>
      507304c2
    • Stephen Smalley's avatar
      run-as policy fixes. · cd516a32
      Stephen Smalley authored
      - Remove dac_read_search as it is no longer required by run-as.
      - Introduce a separate type for /dev/tty so that we can allow use of own tty for
      for a run-as shell without allowing access to other /dev/tty[0-9]* nodes.
      - Allow sigchld notifications for death of run-as and its descendants by adbd.
      - Drop redundant rules for executing shell or system commands from untrusted_app;
      now covered by rules in app.te.
      
      Change-Id: Ic3bf7bee9eeabf9ad4a20f61fbb142a64bb37c6c
      cd516a32
  22. Apr 02, 2013
  23. Mar 29, 2013
  24. Mar 27, 2013
    • Geremy Condra's avatar
      Add policy for __properties__ device. · c0dc6680
      Geremy Condra authored
      Change-Id: Ie9b391283362fb6930f1ae858f0a879835c91e32
      c0dc6680
    • Robert Craig's avatar
      Various policy updates. · 65d4f44c
      Robert Craig authored
      
      Assortment of policy changes include:
       * Bluetooth domain to talk to init and procfs.
       * New device node domains.
       * Allow zygote to talk to its executable.
       * Update system domain access to new device node domains.
       * Create a post-process sepolicy with dontaudits removed.
       * Allow rild to use the tty device.
      
      Change-Id: Ibb96b590d0035b8f6d1606cd5e4393c174d10ffb
      Signed-off-by: default avatarrpcraig <rpcraig@tycho.ncsc.mil>
      65d4f44c
  25. Mar 26, 2013
  26. Mar 23, 2013
  27. Mar 19, 2013
  28. Jul 19, 2012
    • hqjiang's avatar
      Target the denials/policies over qtaguid file and device: 1. Relabel... · 4c06d273
      hqjiang authored
      Target the denials/policies over qtaguid file and device: 1. Relabel /proc/net/xt_qtaguid/ctrl from "qtaguid" to "qtaguid_proc"; 2. Label /dev/xt_qtaguid with "qtaguid_device"; 3. Allow mediaserver read/[write] to qtaguid_proc and qtaguid_device; 4. Allow media apps read/[write] to qtaguid_proc and qtaguid_device; 5. Allow system read/[write] to qtaguid_proc and qtaguid_device.
      
      Actually, some of policies related to qtaguid have been there already, but
      we refind existing ones and add new ones.
      4c06d273
  29. Jul 12, 2012
Loading