Skip to content
Snippets Groups Projects
  1. Jun 17, 2014
    • Stephen Smalley's avatar
      Eliminate some duplicated rules. · 00b180df
      Stephen Smalley authored
      
      As reported by sepolicy-analyze -D -P /path/to/sepolicy.
      No semantic difference reported by sediff between the policy
      before and after this change.
      
      Deduplication of selinuxfs read access resolved by taking the
      common rules to domain.te (and thereby getting rid of the
      selinux_getenforce macro altogether).
      
      Change-Id: I4de2f86fe2efe11a167e8a7d25dd799cefe482e5
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      00b180df
  2. Jun 16, 2014
    • Nick Kralevich's avatar
      Fix SELinux policies to allow resource overlays. · fad4d5fb
      Nick Kralevich authored
      The following commits added support for runtime resource overlays.
      
        New command line tool 'idmap'
        * 65a05fd56dbc9fd9c2511a97f49c445a748fb3c5
        Runtime resource overlay, iteration 2
        * 48d22323ce39f9aab003dce74456889b6414af55
        Runtime resource overlay, iteration 2, test cases
        * ad6ed950dbfa152c193dd7e49c369d9e831f1591
      
      During SELinux tightening, support for these runtime resource
      overlays was unknowingly broken. Fix it.
      
      This change has been tested by hackbod and she reports that
      everything is working after this change. I haven't independently
      verified the functionality.
      
      Test cases are available for this by running:
        * python frameworks/base/core/tests/overlaytests/testrunner.py
      
      Change-Id: I1c70484011fd9041bec4ef34f93f7a5509906f40
      fad4d5fb
  3. Jun 14, 2014
    • Nick Kralevich's avatar
      system_server profile access · a76d9ddf
      Nick Kralevich authored
      Still not fixed. *sigh*
      
      Addresses the following denial:
      
      <4>[   40.515398] type=1400 audit(15842931.469:9): avc: denied { read } for pid=814 comm="system_server" name="profiles" dev="mmcblk0p28" ino=105874 scontext=u:r:system_server:s0 tcontext=u:object_r:dalvikcache_profiles_data_file:s0 tclass=dir
      
      Change-Id: I705a4cc9c508200ace46780c18b7112b62f27994
      a76d9ddf
  4. Jun 13, 2014
    • Nick Kralevich's avatar
      allow system_server getattr on /data/dalvik-cache/profiles · 96d9af42
      Nick Kralevich authored
      86703051 wasn't complete. I thought
      getattr on the directory wasn't needed but I was wrong. Not sure
      how I missed this.
      
      Addresses the following denial:
      
        <4>[   40.699344] type=1400 audit(15795140.469:9): avc: denied { getattr } for pid=1087 comm="system_server" path="/data/dalvik-cache/profiles" dev="mmcblk0p28" ino=105874 scontext=u:r:system_server:s0 tcontext=u:object_r:dalvikcache_profiles_data_file:s0 tclass=dir
      
      Change-Id: Ibc176b2b00083bafaa91ab78d0f8dc1ca3c208b6
      96d9af42
  5. Jun 12, 2014
    • Nick Kralevich's avatar
      Remove world-read access to /data/dalvik-cache/profiles · 86703051
      Nick Kralevich authored
      Remove /data/dalvik-cache/profiles from domain. Profiling information
      leaks data about how people interact with apps, so we don't want
      the data to be available in all SELinux domains.
      
      Add read/write capabilities back to app domains, since apps need to
      read/write profiling data.
      
      Remove restorecon specific rules. The directory is now created by
      init, not installd, so installd doesn't need to set the label.
      
      Change-Id: Ic1b44009faa30d704855e97631006c4b990a4ad3
      86703051
    • Riley Spahn's avatar
      Add SELinux rules for service_manager. · f90c41f6
      Riley Spahn authored
      Add a service_mananger class with the verb add.
      Add a type that groups the services for each of the
      processes that is allowed to start services in service.te
      and an attribute for all services controlled by the service
      manager. Add the service_contexts file which maps service
      name to target label.
      
      Bug: 12909011
      Change-Id: I017032a50bc90c57b536e80b972118016d340c7d
      f90c41f6
  6. Jun 10, 2014
    • Ruchi Kandoi's avatar
      system_server: Adds permission to system_server to write sysfs file · 13d58863
      Ruchi Kandoi authored
      
      Need this for changing the max_cpufreq and min_cpufreq for the low power
      mode.
      
      Denials:
      type=1400 audit(1402431554.756:14): avc: denied { write } for pid=854
      comm="PowerManagerSer" name="scaling_max_freq" dev="sysfs" ino=9175
      scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs_devices_system_cpu:s0
      tclass=file
      
      Change required for Change-Id: I1cf458c4f128818ad1286e5a90b0d359b6913bb8
      
      Change-Id: Ic5ce3c8327e973bfa1d53f298c07dcea1550b646
      Signed-off-by: default avatarRuchi <Kandoi&lt;kandoiruchi@google.com>
      13d58863
  7. Jun 09, 2014
  8. Jun 04, 2014
    • Stephen Smalley's avatar
      Allow system_server access to /data/media files passed via Binder. · 2cc6d63d
      Stephen Smalley authored
      
      Addresses denials such as:
       avc: denied { read } for comm="Binder_6" path="/data/media/0/zedge/ringtone/love_tone_2014-ringtone-1665292.mp3" dev="mmcblk0p28" ino=1534267 scontext=u:r:system_server:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=file
       avc: denied { getattr } for comm="Binder_9" path="/data/media/0/zedge/ringtone/love_tone_2014-ringtone-1665292.mp3" dev="mmcblk0p28" ino=1534267 scontext=u:r:system_server:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=file
      
      Change-Id: I5e5744eecf2cbd4fc584db8584be4e9101bcb60c
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      2cc6d63d
  9. May 29, 2014
  10. May 23, 2014
    • Nick Kralevich's avatar
      Introduce wakelock_use() · 8599e34b
      Nick Kralevich authored
      Introduce wakelock_use(). This macro declares that a domain uses
      wakelocks.
      
      Wakelocks require both read-write access to files in /sys/power, and
      CAP_BLOCK_SUSPEND. This macro helps ensure that both capabilities and
      file access are granted at the same time.
      
      Still TODO: fix device specific wakelock use.
      
      Change-Id: Ib98ff374a73f89e403acd9f5e024988f59f08115
      8599e34b
  11. May 14, 2014
    • Stephen Smalley's avatar
      Remove graphics_device access. · a16a59e2
      Stephen Smalley authored
      
      Neither mediaserver nor system_server appear to require
      direct access to graphics_device, i.e. the framebuffer
      device.  Drop it.
      
      Change-Id: Ie9d1be3f9071584155cddf248ea85e174b7e50a6
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      a16a59e2
    • Stephen Smalley's avatar
      Allow system_server to read tombstones. · 782e084d
      Stephen Smalley authored
      
      Address denials such as:
       avc:  denied  { read } for  name="tombstones" dev="dm-0" ino=765537 scontext=u:r:system_server:s0 tcontext=u:object_r:tombstone_data_file:s0 tclass=dir
       avc:  denied  { open } for  name="tombstones" dev="dm-0" ino=765537 scontext=u:r:system_server:s0 tcontext=u:object_r:tombstone_data_file:s0 tclass=dir
       avc:  denied  { getattr } for  path="/data/tombstones/tombstone_00" dev="dm-0" ino=765538 scontext=u:r:system_server:s0 tcontext=u:object_r:tombstone_data_file:s0 tclass=file
       avc:  denied  { read } for  name="tombstone_00" dev="dm-0" ino=765538 scontext=u:r:system_server:s0 tcontext=u:object_r:tombstone_data_file:s0 tclass=file
       avc:  denied  { open } for  name="tombstone_00" dev="dm-0" ino=765538 scontext=u:r:system_server:s0 tcontext=u:object_r:tombstone_data_file:s0 tclass=file
      
      Change-Id: Iae5a10bed9483589660b84a88b6b9f8f8e9a8f5c
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      782e084d
  12. May 13, 2014
  13. May 09, 2014
    • Stephen Smalley's avatar
      Drop relabelto_domain() macro and its associated definitions. · 02dac03a
      Stephen Smalley authored
      
      This was originally to limit the ability to relabel files to
      particular types given the ability of all domains to relabelfrom
      unlabeled files.  Since the latter was removed by
      Ied84f8b4b1a0896c1b9f7d783b7463ce09d4807b, this no longer serves
      any purpose.
      
      Change-Id: Ic41e94437188183f15ed8b3732c6cd5918da3397
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      02dac03a
    • Nick Kralevich's avatar
      Protect keystore's files. · cd905ec0
      Nick Kralevich authored
      Only keystore itself should be reading / writing it's files.
      Remove keystore file access from other SELinux domains, including
      unconfined. Add neverallow rules to protect against regressions.
      Allow init limited access to recurse into keystore's directory.
      
      Change-Id: I0bb5de7804f4314997c16fac18507933014bcadf
      cd905ec0
  14. May 07, 2014
  15. Apr 15, 2014
    • Nick Kralevich's avatar
      Allow system_server pstore access. · 3f3d6ffb
      Nick Kralevich authored
      pstore contains /sys/fs/pstore/console-ramoops, which is the
      replacement for /proc/last_kmsg. Both files are read by system_server
      on startup. Allow access.
      
      Addresses the following denials:
      
      <12>[   53.836838] type=1400 audit(949060020.909:19): avc:  denied  { search } for  pid=1233 comm="Thread-119" name="/" dev="pstore" ino=10296 scontext=u:r:system_server:s0 tcontext=u:object_r:pstorefs:s0 tclass=dir
      <12>[   53.856546] type=1400 audit(949060020.909:20): avc:  denied  { getattr } for  pid=1233 comm="Thread-119" path="/sys/fs/pstore/console-ramoops" dev="pstore" ino=10297 scontext=u:r:system_server:s0 tcontext=u:object_r:pstorefs:s0 tclass=file
      <12>[   53.878425] type=1400 audit(949060020.909:21): avc:  denied  { read } for  pid=1233 comm="Thread-119" name="console-ramoops" dev="pstore" ino=10297 scontext=u:r:system_server:s0 tcontext=u:object_r:pstorefs:s0 tclass=file
      <12>[   53.898476] type=1400 audit(949060020.909:22): avc:  denied  { open } for  pid=1233 comm="Thread-119" path="/sys/fs/pstore/console-ramoops" dev="pstore" ino=10297 scontext=u:r:system_server:s0 tcontext=u:object_r:pstorefs:s0 tclass=file
      
      Change-Id: I7307da751961b242e68adb319da9c00192e77bbb
      3f3d6ffb
  16. Mar 21, 2014
    • Stephen Smalley's avatar
      Allow inputflinger to call system_server. · e06e5363
      Stephen Smalley authored
      
      Resolves denials such as:
      avc:  denied  { read } for  pid=752 comm="ActivityManager" name="stat" dev="proc" ino=1878 scontext=u:r:system_server:s0 tcontext=u:r:inputflinger:s0 tclass=file
      avc:  denied  { open } for  pid=752 comm="ActivityManager" name="stat" dev="proc" ino=1878 scontext=u:r:system_server:s0 tcontext=u:r:inputflinger:s0 tclass=file
      avc:  denied  { search } for  pid=752 comm="ActivityManager" name="214" dev="proc" ino=1568 scontext=u:r:system_server:s0 tcontext=u:r:inputflinger:s0 tclass=dir
      avc:  denied  { read } for  pid=752 comm="ActivityManager" name="stat" dev="proc" ino=1878 scontext=u:r:system_server:s0 tcontext=u:r:inputflinger:s0 tclass=file
      avc:  denied  { call } for  pid=187 comm="Binder_2" scontext=u:r:inputflinger:s0 tcontext=u:r:system_server:s0 tclass=binder
      
      Change-Id: I099d7dacf7116efa73163245597c3de629d358c1
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      e06e5363
  17. Mar 18, 2014
  18. Mar 14, 2014
    • Stephen Smalley's avatar
      Allow system_server to read from log daemon. · bafbf813
      Stephen Smalley authored
      
      Addresses denials such as:
      avc:  denied  { write } for  pid=1797 comm="logcat" name="logdr" dev="tmpfs" ino=7523 scontext=u:r:system_server:s0 tcontext=u:object_r:logdr_socket:s0 tclass=sock_file
      avc:  denied  { connectto } for  pid=1797 comm="logcat" path="/dev/socket/logdr" scontext=u:r:system_server:s0 tcontext=u:r:logd:s0 tclass=unix_stream_socket
      
      Change-Id: Idc4f48519ca3d81125102e8f15f68989500f5e9e
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      bafbf813
  19. Mar 13, 2014
    • Stephen Smalley's avatar
      Silence /proc/pid denials. · 6fe899a0
      Stephen Smalley authored
      
      system_server components such as ActivityManager and CpuTracker
      try to access all /proc/pid directories, triggering denials on
      domains that are not explicitly allowed to the system_server.
      Silence these denials to avoid filling the logs with noise
      and overwriting actual useful messages in the kernel ring buffer.
      
      Change-Id: Ifd6f2fd63e945647570ed61c67a6171b89878617
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      6fe899a0
  20. Mar 06, 2014
    • Stephen Smalley's avatar
      Deduplicate and rationalize system_server /proc/pid access. · c1812181
      Stephen Smalley authored
      
      The system_server has duplicate/overlapping rules regarding
      /proc/pid access as well as a lack of clarity on the reason
      for the different rules.  Deduplicate the rules and clarify
      the purpose of different sets of rules.
      
      Replace the rules granting /proc/pid access for all domains with
      specific rules only for domains that we know should be accessible
      by the system_server, i.e. all apps (appdomain) and the set of
      native processes listed in com.android.server.Watchdog.NATIVE_STACKS_OF_INTEREST.
      
      Change-Id: Idae6fc87e19e1700cdc4bdbde521d35caa046d74
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      c1812181
  21. Mar 05, 2014
    • Nick Kralevich's avatar
      temp fix for build breakage. · d9d9d2f4
      Nick Kralevich authored
      libsepol.check_assertion_helper: neverallow on line 8857 violated by allow system_server sdcard_external:file { ioctl read write getattr lock append open };
      Error while expanding policy
      make: *** [out/target/product/manta/obj/ETC/sepolicy_intermediates/sepolicy] Error 1
      
      Change-Id: I181707ed66bad3db56f9084b3d9ba161d13b34bd
      d9d9d2f4
    • Stephen Smalley's avatar
      Do not allow system_server to access SDcard files. · d331e00b
      Stephen Smalley authored
      As per:
      https://android-review.googlesource.com/#/c/84130/3/system_server.te@240
      
      
      it is unsafe to allow such access.
      
      Add a neverallow rule to prohibit any rules on sdcard_type in the
      future.
      
      Change-Id: Ife714b65b07144eb6228a048a55ba82181595213
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      d331e00b
    • Stephen Smalley's avatar
      Address system_server denials. · 3dad7b61
      Stephen Smalley authored
      
      Label /proc/sysrq-trigger and allow access.
      Label /dev/socket/mtpd and allow access.
      
      Resolves denials such as:
      avc:  denied  { getattr } for  pid=12114 comm="Binder_2" path="socket:[219779]" dev="sockfs" ino=219779 scontext=u:r:untrusted_app:s0 tcontext=u:r:system_server:s0 tclass=tcp_socket
      
      avc:  denied  { call } for  pid=1007 comm="Binder_8" scontext=u:r:system_server:s0 tcontext=u:r:su:s0 tclass=binder
      
      avc:  denied  { write } for  pid=1024 comm="watchdog" name="sysrq-trigger" dev="proc" ino=4026533682 scontext=u:r:system_server:s0 tcontext=u:object_r:proc:s0 tclass=file
      
      avc:  denied  { write } for  pid=11567 comm="LegacyVpnRunner" name="mtpd" dev="tmpfs" ino=36627 scontext=u:r:system_server:s0 tcontext=u:object_r:socket_device:s0 tclass=sock_file
      
      avc:  denied  { ptrace } for  pid=10924 comm=5369676E616C2043617463686572 scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=process
      
      avc:  denied  { sigkill } for  pid=26077 comm="NativeCrashRepo" scontext=u:r:system_server:s0 tcontext=u:r:zygote:s0 tclass=process
      
      avc:  denied  { write } for  pid=1024 comm="android.bg" scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=netlink_socket
      
      avc:  denied  { getattr } for  pid=473 comm="FinalizerDaemon" path="socket:[11467]" dev="sockfs" ino=11467 scontext=u:r:system_server:s0 tcontext=u:r:mediaserver:s0 tclass=tcp_socket
      
      avc:  denied  { getattr } for  pid=473 comm="FinalizerDaemon" path="socket:[12076]" dev="sockfs" ino=12076 scontext=u:r:system_server:s0 tcontext=u:r:mediaserv
      er:s0 tclass=udp_socket
      
      avc:  denied  { getopt } for  pid=473 comm="FinalizerDaemon" laddr=192.168.159.172 lport=51576 faddr=93.127.173.40 fport=554 scontext=u:r:system_server:s0 tcontext=u:r:mediaserver:s0 tclass=tcp_socket
      
      avc:  denied  { getopt } for  pid=473 comm="FinalizerDaemon" lport=15658 scontext=u:r:system_server:s0 tcontext=u:r:mediaserver:s0 tclass=udp_socket
      
      avc:  denied  { read write } for  pid=21384 comm="rtsp" path="socket:[443742]"
      dev="sockfs" ino=443742 scontext=u:r:system_server:s0 tcontext=u:r:mediaserver:s
      0 tclass=tcp_socket
      
      avc:  denied  { read write } for  pid=21384 comm="rtsp" path="socket:[444842]" dev="sockfs" ino=444842 scontext=u:r:system_server:s0 tcontext=u:r:mediaserver:s0 tclass=udp_socket
      
      avc:  denied  { setopt } for  pid=1326 comm="Binder_9" lport=16216 scontext=u:r:system_server:s0 tcontext=u:r:mediaserver:s0 tclass=udp_socket
      
      avc:  denied  { setopt } for  pid=1676 comm="Binder_6" laddr=192.168.156.130 lport=51044 faddr=74.125.214.81 fport=554 scontext=u:r:system_server:s0 tcontext=u:r:mediaserver:s0 tclass=tcp_socket
      
      avc:  denied  { getattr } for  pid=10915 comm="system_server" path="/dev/mdm" dev="tmpfs" ino=7484 scontext=u:r:system_server:s0 tcontext=u:object_r:radio_device:s0 tclass=chr_file
      
      avc:  denied  { read } for  pid=10915 comm="system_server" name="mdm" dev="tmpfs" ino=7484 scontext=u:r:system_server:s0 tcontext=u:object_r:radio_device:s0 tclass=chr_file
      
      avc:  denied  { unlink } for  pid=14866 comm="system_server" name="wallpaper" dev="mmcblk0p9" ino=285715 scontext=u:r:system_server:s0 tcontext=u:object_r:wallpaper_file:s0 tclass=file
      
      avc:  denied  { getattr } for  pid=12114 comm="Binder_2" path="socket:[219779]" dev="sockfs" ino=219779 scontext=u:r:untrusted_app:s0 tcontext=u:r:system_server:s0 tclass=tcp_socket
      
      avc:  denied  { getopt } for  pid=32300 comm="Binder_1" laddr=::ffff:127.0.0.1 lport=4939 faddr=::ffff:127.0.0.1 fport=53318 scontext=u:r:untrusted_app:s0 tcontext=u:r:system_server:s0 tclass=tcp_socket
      
      avc:  denied  { read write } for  pid=10840 comm="pool-17-thread-" path="socket:[205990]" dev="sockfs" ino=205990 scontext=u:r:untrusted_app:s0 tcontext=u:r:system_server:s0 tclass=tcp_socket
      
      avc:  denied  { write } for  pid=20817 comm="dumpsys" path="/mnt/shell/emulated/0/aupt-output/bugreport-2014-02-22-11-17-16.txt.tmp" dev="fuse" ino=3100784040 scontext=u:r:system_server:s0 tcontext=u:object_r:sdcard_internal:s0 tclass=file
      
      Change-Id: I481ac26667b487031a5d3317b0a028a027a8e641
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      3dad7b61
  22. Mar 03, 2014
    • Stephen Smalley's avatar
      Deduplicate binder_call rules. · 28afdd92
      Stephen Smalley authored
      
      A number of binder_call rules are duplicated by other rules
      written in terms of attributes/sets (e.g. appdomain, binderservicedomain).
      Get rid of the duplicates.
      
      Also use binder_use() in racoon.te rather than manually writing the
      base rule for communicating with the servicemanager.
      
      Change-Id: I5a459cc2154b1466bcde6eccef253dfcdcb44e0a
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      28afdd92
  23. Feb 28, 2014
    • Nick Kralevich's avatar
      restore system_server zygote socket rules · 63b98b17
      Nick Kralevich authored
      16011320 removed the getattr/getopt
      support for system_server, which is needed to close the zygote socket.
      See b/12061011 for details.
      
      system_server still needs this rule, and it's expected to stay
      permanently. Restore the rule and remove the comment about it eventually
      being deleted.
      
      Addresses the following denials:
      
      <5>[   86.307639] type=1400 audit(1393376281.530:5): avc:  denied  { getattr } for  pid=656 comm="main" path="socket:[7195]" dev=sockfs ino=7195 scontext=u:r:system_server:s0 tcontext=u:r:zygote:s0 tclass=unix_stream_socket
      <5>[   86.307945] type=1400 audit(1393376281.530:6): avc:  denied  { getopt } for  pid=656 comm="main" path="/dev/socket/zygote" scontext=u:r:system_server:s0 tcontext=u:r:zygote:s0 tclass=unix_stream_socket
      
      Bug: 12114500
      Change-Id: I47033766dea3ba2fdaa8ce9b4251370bd64aea6d
      63b98b17
  24. Feb 27, 2014
    • Stephen Smalley's avatar
      Remove system_server and zygote unlabeled execute access. · 37afd3f6
      Stephen Smalley authored
      
      Now that all of /data outside of /data/data should be labeled
      even on legacy devices as a result of
      Ib8d9751a47c8e0238cf499fcec61898937945d9d, there
      should be no reason to permit the system_server or zygote
      execute access to unlabeled files.
      
      This is the only remaining case where a type writable by
      app domains can be executed by system services, so eliminating
      it is desirable.
      
      That said, I have not specifically tested the non-SE to SE
      upgrade path to confirm that this causes no problems.
      
      Change-Id: Ie488bd6e347d4a210806a3308ab25b00952aadb4
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      37afd3f6
  25. Feb 25, 2014
    • Stephen Smalley's avatar
      Move qemud and /dev/qemu policy bits to emulator-specific sepolicy. · 0296b943
      Stephen Smalley authored
      
      Change-Id: I620d4aef84a5d4565abb1695db54ce1653612bce
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      0296b943
    • Stephen Smalley's avatar
      Drop obsolete keystore_socket type and rules. · 2c347e0a
      Stephen Smalley authored
      
      Change I6dacdc43bcc1a56e47655e37e825ee6a205eb56b switched
      the keystore to using binder instead of a socket, so this
      socket type and rules have been unused for a while.  The type
      was only ever assigned to a /dev/socket socket file (tmpfs) so
      there is no issue with removing the type (no persistent files
      will have this xattr value).
      
      Change-Id: Id584233c58f6276774c3432ea76878aca28d6280
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      2c347e0a
    • Stephen Smalley's avatar
      Clean up socket rules. · 16011320
      Stephen Smalley authored
      
      Replace * or any permission set containing create with
      create_socket_perms or create_stream_socket_perms.
      
      Add net_domain() to all domains using network sockets and
      delete rules already covered by domain.te or net.te.
      
      For netlink_route_socket, only nlmsg_write needs to be separately
      granted to specific domains that are permitted to modify the routing
      table.   Clarification:  read/write permissions are just ability to
      perform read/recv() or write/send() on the socket, whereas nlmsg_read/
      nlmsg_write permissions control ability to observe or modify the
      underlying kernel state accessed via the socket.
      See security/selinux/nlmsgtab.c in the kernel for the mapping of
      netlink message types to nlmsg_read or nlmsg_write.
      
      Delete legacy rule for b/12061011.
      
      This change does not touch any rules where only read/write were allowed
      to a socket created by another domain (inherited across exec or
      received across socket or binder IPC).  We may wish to rewrite some or all
      of those rules with the rw_socket_perms macro but that is a separate
      change.
      
      Change-Id: Ib0637ab86f6d388043eff928e5d96beb02e5450e
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      16011320
  26. Feb 21, 2014
  27. Feb 13, 2014
    • Nick Kralevich's avatar
      initial lmkd policy. · 5467fce6
      Nick Kralevich authored
      * Allow writes to /proc/PID/oom_score_adj
      * Allow writes to /sys/module/lowmemorykiller/*
      
      Addresses the following denials:
      <5>[    3.825371] type=1400 audit(9781555.430:5): avc:  denied  { write } for  pid=176 comm="lmkd" name="minfree" dev="sysfs" ino=6056 scontext=u:r:lmkd:s0 tcontext=u:object_r:sysfs:s0 tclass=file
      <5>[   48.874747] type=1400 audit(9781600.639:16): avc:  denied  { search } for  pid=176 comm="lmkd" name="896" dev="proc" ino=9589 scontext=u:r:lmkd:s0 tcontext=u:r:system_server:s0 tclass=dir
      <5>[   48.874889] type=1400 audit(9781600.639:17): avc:  denied  { dac_override } for  pid=176 comm="lmkd" capability=1  scontext=u:r:lmkd:s0 tcontext=u:r:lmkd:s0 tclass=capability
      <5>[   48.874982] type=1400 audit(9781600.639:18): avc:  denied  { write } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=8942 scontext=u:r:lmkd:s0 tcontext=u:r:system_server:s0 tclass=file
      <5>[   48.875075] type=1400 audit(9781600.639:19): avc:  denied  { open } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=8942 scontext=u:r:lmkd:s0 tcontext=u:r:system_server:s0 tclass=file
      <5>[   49.409231] type=1400 audit(9781601.169:20): avc:  denied  { write } for  pid=176 comm="lmkd" name="minfree" dev="sysfs" ino=6056 scontext=u:r:lmkd:s0 tcontext=u:object_r:sysfs:s0 tclass=file
      <5>[  209.081990] type=1400 audit(9781760.839:24): avc:  denied  { search } for  pid=176 comm="lmkd" name="1556" dev="proc" ino=10961 scontext=u:r:lmkd:s0 tcontext=u:r:platform_app:s0 tclass=dir
      <5>[  209.082240] type=1400 audit(9781760.839:25): avc:  denied  { write } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=11654 scontext=u:r:lmkd:s0 tcontext=u:r:platform_app:s0 tclass=file
      <5>[  209.082498] type=1400 audit(9781760.839:26): avc:  denied  { open } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=11654 scontext=u:r:lmkd:s0 tcontext=u:r:platform_app:s0 tclass=file
      <5>[  209.119673] type=1400 audit(9781760.879:27): avc:  denied  { search } for  pid=176 comm="lmkd" name="1577" dev="proc" ino=12708 scontext=u:r:lmkd:s0 tcontext=u:r:release_app:s0 tclass=dir
      <5>[  209.119937] type=1400 audit(9781760.879:28): avc:  denied  { write } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=11657 scontext=u:r:lmkd:s0 tcontext=u:r:release_app:s0 tclass=file
      <5>[  209.120105] type=1400 audit(9781760.879:29): avc:  denied  { open } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=11657 scontext=u:r:lmkd:s0 tcontext=u:r:release_app:s0 tclass=file
      <5>[  209.235597] type=1400 audit(9781760.999:30): avc:  denied  { search } for  pid=176 comm="lmkd" name="1600" dev="proc" ino=11659 scontext=u:r:lmkd:s0 tcontext=u:r:shared_app:s0 tclass=dir
      <5>[  209.235798] type=1400 audit(9781760.999:31): avc:  denied  { write } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=11667 scontext=u:r:lmkd:s0 tcontext=u:r:shared_app:s0 tclass=file
      <5>[  209.236006] type=1400 audit(9781760.999:32): avc:  denied  { open } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=11667 scontext=u:r:lmkd:s0 tcontext=u:r:shared_app:s0 tclass=file
      <5>[  214.297283] type=1400 audit(9781766.059:64): avc:  denied  { write } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=11211 scontext=u:r:lmkd:s0 tcontext=u:r:untrusted_app:s0 tclass=file
      <5>[  214.297415] type=1400 audit(9781766.059:65): avc:  denied  { open } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=11211 scontext=u:r:lmkd:s0 tcontext=u:r:untrusted_app:s0 tclass=file
      <5>[  214.355060] type=1400 audit(9781766.119:66): avc:  denied  { write } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=12907 scontext=u:r:lmkd:s0 tcontext=u:r:system_app:s0 tclass=file
      <5>[  214.355236] type=1400 audit(9781766.119:67): avc:  denied  { open } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=12907 scontext=u:r:lmkd:s0 tcontext=u:r:system_app:s0 tclass=file
      <5>[  214.516920] type=1400 audit(9781766.279:68): avc:  denied  { search } for  pid=176 comm="lmkd" name="1907" dev="proc" ino=11742 scontext=u:r:lmkd:s0 tcontext=u:r:media_app:s0 tclass=dir
      <5>[  214.678861] type=1400 audit(9781766.439:69): avc:  denied  { write } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=12915 scontext=u:r:lmkd:s0 tcontext=u:r:media_app:s0 tclass=file
      <5>[  214.678992] type=1400 audit(9781766.439:70): avc:  denied  { open } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=12915 scontext=u:r:lmkd:s0 tcontext=u:r:media_app:s0 tclass=file
      <5>[  214.708284] type=1400 audit(9781766.469:71): avc:  denied  { search } for  pid=176 comm="lmkd" name="1765" dev="proc" ino=12851 scontext=u:r:lmkd:s0 tcontext=u:r:shared_app:s0 tclass=dir
      <5>[  214.708435] type=1400 audit(9781766.469:72): avc:  denied  { write } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=12870 scontext=u:r:lmkd:s0 tcontext=u:r:shared_app:s0 tclass=file
      <5>[  214.708648] type=1400 audit(9781766.469:73): avc:  denied  { open } for  pid=176 comm="lmkd" name="oom_score_adj" dev="proc" ino=12870 scontext=u:r:lmkd:s0 tcontext=u:r:shared_app:s0 tclass=file
      
      Change-Id: Ie3c1ab8ce9e77742d0cc3c73f40010afd018ccd4
      5467fce6
  28. Feb 04, 2014
    • Stephen Smalley's avatar
      Label /data/misc/wifi/sockets with wpa_socket. · 418e2abd
      Stephen Smalley authored
      
      This will ensure that any sockets created in this directory
      will default to wpa_socket unless a type_transition is defined.
      Define a type transition for system_server to keep its separate
      system_wpa_socket type assigned for its socket.  Allow wpa
      to create and unlink sockets in the directory.  We leave the
      already existing rules for wifi_data_file in place for compatibility
      with existing devices that have wifi_data_file on /data/misc/wifi/sockets.
      
      Change-Id: I9e35cc93abf89ce3594860aa3193f84a3b42ea6e
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      418e2abd
    • Mark Salyzyn's avatar
      sepolicy: Add write_logd, read_logd & control_logd · 8ed750e9
      Mark Salyzyn authored
      - Add write_logd, read_logd and control_logd macros added along
        with contexts for user space logd.
      - Specify above on domain wide, or service-by-service basis
      - Add logd rules.
      - deprecate access_logcat as unused.
      - 'allow <domain> zygote:unix_dgram_socket write;' rule added to
        deal with fd inheritance. ToDo: investigate means to allow
        references to close, and reopen in context of application
        or call setsockcreatecon() to label them in child context.
      
      Change-Id: I35dbb9d5122c5ed9b8c8f128abf24a871d6b26d8
      8ed750e9
  29. Jan 29, 2014
  30. Jan 11, 2014
    • Nick Kralevich's avatar
      Support forcing permissive domains to unconfined. · 623975fa
      Nick Kralevich authored
      Permissive domains are only intended for development.
      When a device launches, we want to ensure that all
      permissive domains are in, at a minimum, unconfined+enforcing.
      
      Add FORCE_PERMISSIVE_TO_UNCONFINED to Android.mk. During
      development, this flag is false, and permissive domains
      are allowed. When SELinux new feature development has been
      frozen immediately before release, this flag will be flipped
      to true. Any previously permissive domains will move into
      unconfined+enforcing.
      
      This will ensure that all SELinux domains have at least a
      minimal level of protection.
      
      Unconditionally enable this flag for all user builds.
      
      Change-Id: I1632f0da0022c80170d8eb57c82499ac13fd7858
      623975fa
  31. Jan 09, 2014
    • Stephen Smalley's avatar
      Remove unlabeled execute access from domain, add to appdomain. · 959fdaaa
      Stephen Smalley authored
      
      Otherwise all domains can create/write files that are executable
      by all other domains.  If I understand correctly, this should
      only be necessary for app domains executing content from legacy
      unlabeled userdata partitions on existing devices and zygote
      and system_server mappings of dalvikcache files, so only allow
      it for those domains.
      
      If required for others, add it to the individual
      domain .te file, not for all domains.
      
      Change-Id: I6f5715eb1ecf2911e70772b9ab4e531feea18819
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      959fdaaa
    • Robert Craig's avatar
      Address new system server denial. · c50bf17d
      Robert Craig authored
      
      Allow system_server to unlink sockets created
      by the wpa supplicant. This will resolve the following
      denial seen across mutliple devices.
      
        avc:  denied  { unlink } for  pid=584 comm="WifiStateMachin" name="wlan0" dev=mmcblk0p10 ino=138762 scontext=u:r:system_server:s0 tcontext=u:object_r:wpa_socket:s0 tclass=sock_file
      
      Change-Id: If3a8b1f270dfcd3dc6838eb8ac72e3d5004cc36d
      Signed-off-by: default avatarrpcraig <rpcraig@tycho.ncsc.mil>
      c50bf17d
Loading