Skip to content
Snippets Groups Projects
  • 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