Skip to content
Snippets Groups Projects
  1. Mar 29, 2018
    • Jeff Vander Stoep's avatar
      Improve neverallows on /proc and /sys · 3079d01a
      Jeff Vander Stoep authored
      Access to these files was removed in Oreo. Enforce that access is not
      granted by partners via neverallow rule.
      
      Also disallow most untrusted app access to net.dns.* properties.
      
      Bug: 77225170
      Test: system/sepolicy/tools/build_policies.sh
      Change-Id: I85b634af509203393dd2d9311ab5d30c65f157c1
      (cherry picked from commit 886aa54b)
      3079d01a
  2. Feb 05, 2018
  3. Jan 29, 2018
  4. Jan 24, 2018
  5. Jan 23, 2018
  6. Jan 18, 2018
    • Jeff Vander Stoep's avatar
      Enforce per-app data protections for targetSdk 28+ · 6231b4d9
      Jeff Vander Stoep authored
      Adds per-app categories to untrusted app domains and their
      app data types. Per-app categories are in addition to the
      existing per-user categories.
      
      Apps targeting sdk version 28+ will now have the following
      characteristics:
      Domain: u:r:untrusted_app:s0:c[0-9]+,c[0-9]+,c[0-9],c[0-9]
      Data context: u:object_r:app_data_file:s0:c[0-9]+,c[0-9]+,c[0-9],c[0-9]
      
      Whereas apps targeting 27- will look like:
      Domain: u:r:untrusted_app_27:s0:c[0-9]+,c[0-9]+
      Data context: u:object_r:app_data_file:s0:c[0-9]+,c[0-9]+
      
      To ensure backwards compatibility with previous SDK versions,
      the levelFrom=all now enforces categories by dominance instead of
      equality. Apps with per-app and per-user categories will continue
      to have selinux permissions (but not necessarily unix permissions)
      to access app data with only per-user categories, but apps with only
      per-user categories will not be able to access the data of apps with
      both per-app and per-user categories.
      
      Bug: 63897054
      Test: Boot sailfish, run apps, verify no new selinux denials.
      Test: cts-tradefed run cts -m CtsSelinuxTargetSdkCurrentTestCases
      Test: cts-tradefed run cts -m CtsSelinuxTargetSdk27TestCases
      Test: cts-tradefed run cts -m CtsSelinuxTargetSdk25TestCases
      Test: adb sideload an OTA and verify that files are correctly labeled.
      Change-Id: I64b013874fe87b55f47e817a1279e76ecf86b7c0
      6231b4d9
  7. Jan 16, 2018
    • Michael Butler's avatar
      Allow applications to use NN API HAL services · ea331aa7
      Michael Butler authored
      The NeuralNetworks runtime is a library that communicates with
      NeuralNetworks HIDL services and is linked by applications. To enable
      the NN runtime to use these services, applications must have explicit
      sepolicy permissions to find the NN services and communicate across
      binder.
      
      This CL relaxes neverallow rules for hal_neuralnetworks_*.
      
      Because it is affecting pre-existing neverallow rules, this CL requires
      a CTS rebuild.
      
      Bug: 70340780
      Test: mm
      Test: ran neuralnetworks vts and cts binaries
      Change-Id: I84f73ac77486681f91d1f8687268c0fa22a7ba0b
      (cherry picked from commit 598870bebc4bb34542df81799b46f3cdcfb6723b)
      ea331aa7
  8. Jan 10, 2018
  9. Dec 12, 2017
    • Marissa Wall's avatar
      Restrict access to uid_concurrent_*_time · 80ee23f7
      Marissa Wall authored
      Do not let apps read uid_concurrent_active_time and
      uid_concurrent_policy_time.
      
      b/68399339
      
      Test: Check that they can't be read from the shell
          without root permissions and system_server was able
          to read them
      
      Change-Id: I6f09ef608607cb9f4084ba403a1e7254b8c49a06
      80ee23f7
  10. Oct 12, 2017
  11. Oct 06, 2017
    • Tri Vo's avatar
      Extend access to proc/asound/* · 464f59ae
      Tri Vo authored
      Renamed this type:
      proc_asound_cards -> proc_asound
      
      Labeled /proc/asound/devices as proc_asound.
      
      We now use proc_asound type to label files under /proc/asound which we
      want to expose to system components.
      
      Bug: 66988327
      Test: Pixel 2 boots, can play sound with or without headphones, and
      selinux denials to proc_asound are not seen.
      
      Change-Id: I453d9bfdd70eb80931ec9e80f17c8fd0629db3d0
      464f59ae
  12. Sep 28, 2017
  13. Sep 27, 2017
    • Dan Cashman's avatar
      Fix build. Split mediaprovider from priv_app. · 3e21c5f1
      Dan Cashman authored
      This CL was accidentally reverted a second time by commit:
      cb5129f9.  Submit it for the third,
      and final, time.
      
      (cherry-pick of 5637587d
      which was in AOSP and internal master but not stage-aosp-master)
      
      Bug: 62102757
      Test: Builds and boots.
      Change-Id: I0394907e808c737422e644aec452baa3e777cf6f
      3e21c5f1
  14. Sep 26, 2017
  15. Sep 20, 2017
    • Tri Vo's avatar
      Explicitly label filesystem files in /proc · 62f2842c
      Tri Vo authored
      proc files needed by fwk that were labeled:
      /proc/filesystems -> proc_filesystems
      /proc/mounts -> proc_mounts
      /proc/swaps -> proc_mounts
      
      Removed access to proc label from these domains:
      e2fs, fsck, fsck_untrusted, sdcardd
      
      e2fs: added access to proc_filesystems, proc_mounts, proc_swaps
      fsck: added access to proc_mounts, proc_swaps
      fsck_untrusted: added access to proc_mounts
      sdcardd: added access to proc_filesystems
      vold: added access to proc_filesystems, proc_mounts
      
      Bug: 66199084
      Test: device boots without selinux denials to new labels or proc label.
      Change-Id: If0f19e22074419dab0b3a0c6f3a300ea8cb94523
      62f2842c
  16. Sep 19, 2017
    • Tri Vo's avatar
      Explicitly label system_server's dependencies in /proc · 8c2323d3
      Tri Vo authored
      Labeled:
      /proc/asound/cards -> proc_asound_cards
      /proc/loadavg -> proc_loadavg
      /proc/pagetypeinfo -> proc_pagetypeinfo
      /proc/version -> proc_version
      /proc/vmallocinfo -> proc_vmallocinfo
      
      system_server: added access to all new types  and removed access to proc label.
      init: added access to proc_version.
      dumpstate: added access to proc_pagetypeinfo, proc_version,
      proc_vmallocinfo.
      hal_audio: added access to proc_asound_cards.
      all_untrusted_apps: extended neverallow rule to include new labels.
      
      Bug: 65980789
      Test: device boots without selinux denials to the newly introduced
      labels.
      Test: "adb shell dumpstate" throws no violations to new labels.
      Change-Id: Ic60facd3d4776e38d5e3ba003d06ada4e52c7dca
      8c2323d3
  17. Aug 17, 2017
  18. Aug 16, 2017
  19. Aug 04, 2017
  20. Jul 17, 2017
  21. Jul 10, 2017
  22. Jul 05, 2017
    • Jeff Vander Stoep's avatar
      Preserve attributes needed for CTS · 5f5aa962
      Jeff Vander Stoep authored
      Change fb889f23 "Force expand all hal_* attributes" annotated all
      hal_* attributes to be expanded to their associated types. However
      some of these attributes are used in CTS for neverallow checking.
      Mark these attributes to be preserved.
      
      In addition, remove the hacky workaround introduced in oc-dev
      for b/62658302 where extraneous neverallow rules were introduced
      to prevent unused or negated attributes from being auto-expanded
      from policy.
      
      Bug: 62658302
      Bug: 63135903
      Test: cts-tradefed run cts -m CtsSecurityHostTestCases -t \
          android.cts.security.SELinuxNeverallowRulesTest
      
          armeabi-v7a CtsSecurityHostTestCases completed in 4s.
          501 passed, 0 failed, 0 not executed
      Merged-In: I989def70a16f66e7a18bef1191510793fbe9cb8c
      Change-Id: I989def70a16f66e7a18bef1191510793fbe9cb8c
      5f5aa962
  23. Jun 21, 2017
    • Dan Cashman's avatar
      Revert "Remove neverallow preventing hwservice access for apps." · ceed7204
      Dan Cashman authored
      This reverts commit 3e307a4d.
      
      Test: Builds - neverallow change only.
      Bug: 62806062
      Change-Id: Id3aa1b425cf48fc8586890c9850a74594584922d
      ceed7204
    • Dan Cashman's avatar
      Remove neverallow preventing hwservice access for apps. · 3e307a4d
      Dan Cashman authored
      Same-process HALs are forbidden except for very specific HALs that have
      been provided and whitelisted by AOSP.  As a result, a vendor extension
      HAL may have a need to be accessed by untrusted_app.  This is still
      discouraged, and the existing AOSP hwservices are still forbidden, but
      remove the blanket prohibition.  Also indicate that this is temporary,
      and that partners should expect to get exceptions to the rule into AOSP
      in the future.
      
      Bug: 62806062
      Test: neverallow-only change builds.  Verify new attribute is in policy.
      Change-Id: I6d3e659147d509a3503c2c9e0b6bb9016cc75832
      3e307a4d
  24. Jun 16, 2017
  25. Jun 08, 2017
    • Jerry Zhang's avatar
      Revert "Split mediaprovider from priv_app." · cb5129f9
      Jerry Zhang authored
      This reverts commit c147b592.
      
      The new domain changed neverallows, breaking CTS compatability.
      Revert the domain now, with the intention to re-add for the next
      release.
      
      Bug: 62102757
      Test: domain is set to priv_app
      Change-Id: I907ff7c513cd642a306e3eaed3937352ced90005
      cb5129f9
  26. Jun 07, 2017
  27. Jun 02, 2017
    • Jerry Zhang's avatar
      Revert "Split mediaprovider from priv_app." · c00c07c1
      Jerry Zhang authored
      This reverts commit c147b592.
      
      The new domain changed neverallows, breaking CTS compatability.
      Revert the domain now, with the intention to re-add for the next
      release.
      
      Bug: 62102757
      Test: domain is set to priv_app
      Change-Id: I907ff7c513cd642a306e3eaed3937352ced90005
      c00c07c1
  28. May 25, 2017
  29. Apr 26, 2017
    • Nick Kralevich's avatar
      Add untrusted_v2_app to all_untrusted_apps · db5962ce
      Nick Kralevich authored
      This was accidentally omitted from all_untrusted_app
      
      While I'm here, split across mutiple lines and alphabetize.
      
      Test: policy compiles.
      Change-Id: I7fe1d1d0a4ef2ed3ab010931ee2ba15637c2be51
      db5962ce
    • Nick Kralevich's avatar
      relax fuse_device neverallow rules · 45766d41
      Nick Kralevich authored
      The fuse_device neverallow rules are too aggressive and are inhibiting
      certain vendor customizations. Relax the /dev/fuse neverallow rules so
      that they better reflect the security invariants we want to uphold.
      
      Bug: 37496487
      Test: policy compiles.
      Change-Id: Ie73b0ba7c76446afc2a7a23ebed1275c977d932d
      45766d41
  30. Apr 25, 2017
    • Alex Klyubin's avatar
      Assert ban on framework <-> vendor comms over VndBinder · 00657834
      Alex Klyubin authored
      This adds neverallow rules which enforce the prohibition on
      communication between framework and vendor components over VendorBinder.
      This prohibition is similar in spirit to the one for Binder
      communications.
      
      Most changes consist of adding neverallow rules, which do not affect
      runtime behavior. The only change which does affect runtime behavior
      is the change which takes away the right of servicemanager domain to
      transfer Binder tokens to hwservicemanager and vndservicemanager. This
      grant was there by accident (because it was overly broad) and is not
      expected to be needed: servicemanager, hwservicemanager, and
      vndservicemanager are not supposed to be communicating with each
      other.
      
      P. S. The new neverallow rules in app_neverallows.te are covered by
      the new rules in domain.te. The rules were nevertheless added to
      app_neverallows.te for consistency with other *Binder rules there.
      
      Test: mmm system/sepolicy
      Bug: 37663632
      Change-Id: I7c2ae23924bf0f2fed3f1e3a8d4d603129286329
      00657834
  31. Apr 24, 2017
    • Alex Klyubin's avatar
      Assert untrusted apps can't add or list hwservicemanager · 5c5b6263
      Alex Klyubin authored
      This adds a neverallow rules which checks that SELinux app domains
      which host arbitrary code are not allowed to access hwservicemanager
      operations other than "find" operation for which there already are
      strict neverallow rules in the policy.
      
      Test: mmm system/sepolicy -- neverallow-only change
      Bug: 34454312
      Change-Id: I3b80c6ae2c254495704e0409e0c5c88f6ce3a6a7
      5c5b6263
    • Alex Klyubin's avatar
      Assert apps can access only approved HwBinder services · 2a7f4fb0
      Alex Klyubin authored
      App domains which host arbitrary code must not have access to
      arbitrary HwBinder services. Such access unnecessarily increases the
      attack surface. The reason is twofold:
      1. HwBinder servers do not perform client authentication because HIDL
         currently does not expose caller UID information and, even if it
         did, many HwBinder services either operate at a layer below that of
         apps (e.g., HALs) or must not rely on app identity for
         authorization. Thus, to be safe, the default assumption is that
         a HwBinder service treats all its clients as equally authorized to
         perform operations offered by the service.
      2. HAL servers (a subset of HwBinder services) contain code with
         higher incidence rate of security issues than system/core
         components and have access to lower layes of the stack (all the way
         down to hardware) thus increasing opportunities for bypassing the
         Android security model.
      
      HwBinder services offered by core components (as opposed to vendor
      components) are considered safer because of point #2 above.
      
      Always same-process aka always-passthrough HwBinder services are
      considered safe for access by these apps. This is because these HALs
      by definition do not offer any additional access beyond what its
      client already as, because these services run in the process of the
      client.
      
      This commit thus introduces these two categories of HwBinder services
      in neverallow rules.
      
      Test: mmm system/sepolicy -- this does not change on-device policy
      Bug: 34454312
      Change-Id: I4f5f4dd10b3fc3bb9d262dda532d4a23dcdf061d
      2a7f4fb0
  32. Apr 21, 2017
  33. Apr 17, 2017
    • Jerry Zhang's avatar
      Split mediaprovider from priv_app. · c147b592
      Jerry Zhang authored
      MediaProvider requires permissions that diverge from those
      of a typical priv_app. This create a new domain and removes
      Mtp related permissions from priv_app.
      
      Bug: 33574909
      Test: Connect with MTP, download apps and files, select ringtones
      Test: DownloadProvider instrument tests, CtsProviderTestCases
      
      Change-Id: I950dc11f21048c34af639cb3ab81873d2a6730a9
      c147b592
    • Jerry Zhang's avatar
      Split mediaprovider as a separate domain from priv_app · 9f152d98
      Jerry Zhang authored
      MediaProvider requires permissions that diverge from those
      of a typical priv_app. This create a new domain and removes
      Mtp related permissions from priv_app.
      
      Bug: 33574909
      Test: Connect with MTP, download apps and files, select ringtones
      Test: DownloadProvider instrument tests, CtsProviderTestCases
      
      Change-Id: I950dc11f21048c34af639cb3ab81873d2a6730a9
      9f152d98
  34. Mar 22, 2017
    • Nick Kralevich's avatar
      app.te: prevent locks of files on /system · 92c44a57
      Nick Kralevich authored
      Prevent app domains (processes spawned by zygote) from acquiring
      locks on files in /system. In particular, /system/etc/xtables.lock
      must never be lockable by applications, as it will block future
      iptables commands from running.
      
      Test: device boots and no obvious problems.
      Change-Id: Ifd8dc7b117cf4a622b30fd4fffbcab1b76c4421b
      92c44a57
  35. Mar 15, 2017
    • Fyodor Kupolov's avatar
      Split preloads into media_file and data_file · b238fe66
      Fyodor Kupolov authored
      Untrusted apps should only access /data/preloads/media and demo directory.
      
      Bug: 36197686
      Test: Verified retail mode.
            Checked non-privileged APK cannot access /data/preloads
      Change-Id: I8e9c21ff6aba799aa31bf06893cdf60dafc04446
      b238fe66
Loading