Skip to content
Snippets Groups Projects
  1. Dec 09, 2016
    • Jeff Sharkey's avatar
      installd has moved on to Binder; goodbye socket! · 8b1d4520
      Jeff Sharkey authored
      After a series of recent commits, installd has fully migrated over
      to Binder, and all socket-based communication has been removed.
      
      Test: builds, boots, apps install fine, pre-OTA dexopt works
      Bug: 13758960, 30944031
      Change-Id: Ia67b6260de58240d057c99b1bbd782b44376dfb5
      8b1d4520
  2. Dec 08, 2016
  3. Dec 07, 2016
    • Nick Kralevich's avatar
      Add TCSETS to unpriv_tty_ioctls · 240f50e8
      Nick Kralevich authored
      Addresses the following denial:
      
      avc: denied { ioctl } for comm="top" path="/dev/pts/0" dev="devpts"
      ino=3 ioctlcmd=5402 scontext=u:r:shell:s0 tcontext=u:object_r:devpts:s0
      tclass=chr_file permissive=0
      
      Bug: 33073072
      Bug: 7530569
      Test: policy compiles.
      Change-Id: If9178d29f2295be46bb118df00ebf73a6ebc9f81
      240f50e8
    • Treehugger Robot's avatar
      a040aa12
    • Nick Kralevich's avatar
      priv_app.te: Drop auditallow app_data_file:file execute · 57475e5e
      Nick Kralevich authored
      This functionality is being used by priv_apps shipped as part of
      Android. Don't drop execute_no_trans as we haven't seen any denials here
      yet.
      
      Addresses the following auditallow messages:
      
      avc: granted { execute } for comm="GELServices-0"
      path="/data/data/com.google.android.googlequicksearchbox/files/velour/dex_cache/Ji1opKyKASKEOKNQUu1QyWw_1.jar/Ji1opKyKASKEOKNQUu1QyWw_1.dex"
      dev="dm-2" ino=1196939 scontext=u:r:priv_app:s0:c512,c768
      tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file
      
      avc: granted { execute } for comm="CTION_IDLE_MODE"
      path="/data/data/com.google.android.gms/snet/dalvik-cache/snet.dex"
      dev="dm-2" ino=1114262 scontext=u:r:priv_app:s0:c512,c768
      tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file
      
      avc: granted { execute } for comm="lowpool[3]"
      path="/data/data/com.google.android.gms/files/libAppDataSearchExt_arm64_v8a.so"
      dev="dm-2" ino=1688320 scontext=u:r:priv_app:s0:c512,c768
      tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file
      
      avc: granted { execute } for comm="Binder:9196_2"
      path="/data/data/com.google.android.gms/app_dg_cache/1FECE961A655634046D6AB5E18FE6F74212FBEA6/lib/libdC14BB7282EA1.so"
      dev="dm-2" ino=1893474 scontext=u:r:priv_app:s0:c512,c768
      tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file
      
      avc: granted { execute } for comm="Binder:13170_1"
      path="/data/data/com.google.android.gms/app_fb/f.dex" dev="dm-2"
      ino=1810720 scontext=u:r:priv_app:s0:c512,c768
      tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file
      
      Test: policy compiles.
      Change-Id: I63358697b07c8f620b999e666791f4f385bab776
      57475e5e
    • dcashman's avatar
      Restore checkfc and neverallow checks. · 07791558
      dcashman authored
      Bug: 33388095
      Test: Builds and boots.
      Change-Id: Ief9064a16fc733bed54eb76f509ff5aaf5db4baf
      07791558
    • Treehugger Robot's avatar
    • Daniel Rosenberg's avatar
      Move sdcardfs media_rw_data_file rules to app.te · 2a0053b2
      Daniel Rosenberg authored
      Test: No media_rw_data_file related app denials
      Change-Id: I1a977db09379f9a3e5bc52c597df12f52929ad19
      2a0053b2
    • dcashman's avatar
      Fix build. · 0c8ad1dc
      dcashman authored
      Make all platform tyeps public to start to prevent build breakage in any devices
      that may have device-specific policy using these types.  Future changes will
      need to be carefully made to ensure we properly limit types for use by
      non-platform policy.
      
      Test: Builds
      Change-Id: I7349940d5b5a57357bc7c16f66925dee1d030eb6
      0c8ad1dc
  4. Dec 06, 2016
  5. Dec 05, 2016
    • Jeff Sharkey's avatar
      Rules for new installd Binder interface. · e160d14e
      Jeff Sharkey authored
      Most of this CL mirrors what we've already done for the "netd" Binder
      interface, while sorting a few lists alphabetically.
      
      Migrating installd to Binder will allow us to get rid of one of
      the few lingering text-based command protocols, improving system
      maintainability and security.
      
      Test: builds, boots
      Bug: 13758960, 30944031
      Change-Id: I59b89f916fd12e22f9813ace6673be38314c97b7
      e160d14e
    • Nick Kralevich's avatar
      Prevent ptrace of logd on user builds · cb5f4a3d
      Nick Kralevich authored
      system/core commit 6a70ded7bfa8914aaa3dc25630ff2713ae893f80 (later
      amended by 107e29ac1b1c297a0d4ee35c4978e79f47013e2c indicated that logd
      doesn't want it's memory accessible by anyone else. Unfortunately,
      setting DUMPABLE isn't sufficient against a root level process such with
      ptrace. Only one such process exists, "debuggerd".
      
      Block debuggerd from accessing logd's memory on user builds. Userdebug
      and eng builds are unaffected.  Add a neverallow rule (compile time
      assertion + CTS test) to prevent regressions.
      
      Bug: 32450474
      Test: Policy compiles.
      Change-Id: Ie90850cd91846a43adaa0871d239f894a0c94d38
      cb5f4a3d
    • Nick Kralevich's avatar
      Merge "Revert "ueventd.te: auditallow device:chr_file"" · 7fb7102b
      Nick Kralevich authored
      am: 8ee06cc4
      
      Change-Id: I870f2084bd6f483c8e1537a73259e0d0a45f3a07
      7fb7102b
    • Nick Kralevich's avatar
    • Nick Kralevich's avatar
      Revert "ueventd.te: auditallow device:chr_file" · e78fa1bf
      Nick Kralevich authored
      Broke the dragon build:
      
      libsepol.report_failure: neverallow on line 304 of system/sepolicy/public/domain.te (or line 8638 of policy.conf) violated by allow kernel device:chr_file { create setattr };
      libsepol.check_assertions: 1 neverallow failures occurred
      Error while expanding policy
      
      This reverts commit ed0b4eb3.
      
      Change-Id: I5d55ab59ed72ce7c19a10ddbb374f9f3b3fae4fd
      e78fa1bf
    • Nick Kralevich's avatar
      Merge "ueventd.te: auditallow device:chr_file" · 887f026b
      Nick Kralevich authored
      am: 4868f377
      
      Change-Id: I3c57e833dd736ac87718d9e95e0a02e3048de979
      887f026b
    • Treehugger Robot's avatar
      4868f377
    • Robert Sesek's avatar
      Merge "Allow webview_zygote to stat /sys/kernel/debug/tracing/trace_marker." · 6774088b
      Robert Sesek authored
      am: 2c222c1e
      
      Change-Id: I89d6c56ce6d29dfb184f9eb95aaaa49909e25b44
      6774088b
    • Treehugger Robot's avatar
    • Nick Kralevich's avatar
      ueventd.te: auditallow device:chr_file · ed0b4eb3
      Nick Kralevich authored
      By default, files created in /dev are labeled with the "device" label
      unless a different label has been assigned. The direct use of this
      generic label is discouraged (and in many cases neverallowed) because
      rules involving this label tend to be overly broad and permissive.
      
      Today, generically labeled character devices can only be opened, read,
      or written to by init and ueventd.
      
        $ sesearch --allow -t device -c chr_file -p open,read,write out/target/product/marlin/root/sepolicy
        allow init device:chr_file { setattr read lock getattr write ioctl open append };
        allow ueventd device:chr_file { read lock getattr write ioctl open append };
      
      this is enforced by the following SELinux neverallow rule (compile time
      assertion + CTS test):
      
        neverallow { domain -init -ueventd } device:chr_file { open read write };
      
      Start auditallowing ueventd access to /dev character device files with the
      default SELinux label. This doesn't appear to be used, but let's prove it.
      While ueventd is expected to create files in /dev, it has no need to open
      most of the files it creates.
      
      Note, however, that because ueventd has mknod + setfscreate permissions,
      a malicious or compromised ueventd can always create a device node under
      an incorrect label, and gain access that way.
      
      The goal of this change is to prove that no process other than init are
      accessing generically labeled files in /dev.
      
      While I'm here, tighten up the compile time assertion for
      device:chr_file to include more permissions.
      
      Test: policy compiles + device boots with no granted messages.
      Change-Id: Ic98b0ddc631b49b09e58698d9f40738ccedd1fd0
      ed0b4eb3
    • Daniel Micay's avatar
      Merge "auditallow priv_app app_data_file execution" · 5fa3dd06
      Daniel Micay authored
      am: a24d7f53
      
      Change-Id: Ia27cb54e53bbd755adaf588fb4bb2f948ba3d255
      5fa3dd06
    • Treehugger Robot's avatar
    • Max's avatar
      /dev/port does not seem to be used, adding in rules to confirm. · 45c41f35
      Max authored
      am: c27c23fb
      
      Change-Id: I28f0ec1eac5fa78ca1268089954c190c0e38b188
      45c41f35
    • Max's avatar
      /dev/port does not seem to be used, adding in rules to confirm. · c27c23fb
      Max authored
      Only init and ueventd have any access to /dev/port, and neither should
      have any use for it. As it stands, leaving port in just represents
      additional attack surface with no useful functionality, so it should be
      removed if possible, not only from Pixel devices, but from all Android
      devices.
      
      Test: The phone boots successfully
      
      Bug:33301618
      Change-Id: Iedc51590f1ffda02444587d647889ead9bdece3f
      c27c23fb
    • Daniel Micay's avatar
      auditallow priv_app app_data_file execution · 758e6b36
      Daniel Micay authored
      In general, apps shouldn't be executing data from their writable data
      directories. Allowing this is a security risk and use cases for this are
      almost always anti-patterns where saner alternatives are available such
      as using one of the standard systems for shipping libraries (extracted
      by the package manager or aligned/uncompressed in the apk) or using the
      existing package system to handle plugins. It's reasonable for the
      untrusted_app domain to have this (not just for backwards compatibility)
      for priv_app should be held to a higher standard.
      
      Ideally, untrusted apps would be able to opt-in to disabling this and
      then the default could then be switched at a new API level. It could do
      more than just hardening apps not requiring it by having documentation
      explain the risks and offer alternatives to reduce 'legitimate' use. The
      base system could disable it for all of the bundled untrusted apps.
      
      Change-Id: I4efcfaf01c6b6c33c39e98c22a1934e8892e2147
      758e6b36
  6. Dec 04, 2016
  7. Dec 03, 2016
  8. Dec 02, 2016
    • Robert Sesek's avatar
      Allow webview_zygote to stat /sys/kernel/debug/tracing/trace_marker. · 5af7c660
      Robert Sesek authored
      Test: m
      Test: angler boots
      
      Bug: 21643067
      Change-Id: I7530120385766506405a318caac8ef143e71cce7
      5af7c660
    • Jeff Sharkey's avatar
      Allow system_server to measure emulated stats. · 17c675b3
      Jeff Sharkey authored
      Historically we pushed all system_server SD card interactions through
      DefaultContainerService to avoid holding open FDs, but it's safe to
      measure disk usage for internal emulated storage when looking
      directly at /data/media, since there is no risk of unsafe ejection.
      
      These rule changes give us just enough access to measure statistics.
      
      avc: denied { getattr } for path="/data/media/0/DCIM/.thumbnails" dev="sda35" ino=589892 scontext=u:r:system_server:s0 tcontext=u:object_r:media_rw_data_file:s0:c512,c768 tclass=dir permissive=1
      avc: denied { open } for path="/data/media/0/DCIM/.thumbnails" dev="sda35" ino=589892 scontext=u:r:system_server:s0 tcontext=u:object_r:media_rw_data_file:s0:c512,c768 tclass=dir permissive=1
      avc: denied { read } for name="0" dev="sda35" ino=589827 scontext=u:r:system_server:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=dir permissive=1
      
      Test: builds, boots, and access allowed
      Bug: 33298975
      Change-Id: I9748608a5c1169d542e763c5a8f79c4f26f7a382
      17c675b3
Loading