Skip to content
Snippets Groups Projects
  • Nick Kralevich's avatar
    bb9a3888
    Assign a label to the ro.boottime.* properties · bb9a3888
    Nick Kralevich authored
    system/core commit 331cf2fb7c16b5b25064f8d2f00284105a9b413f created a
    number of new properties of the form:
    
      [ro.boottime.init]: [5294587604]
      [ro.boottime.InputEventFind]: [10278767840]
      [ro.boottime.adbd]: [8359267180]
      ...
    
    These properties were assigned the default_prop SELinux label because a
    better label did not exist. Properties labeled with the default_prop
    label are readable to any SELinux domain, which is overly broad.
    
      bullhead:/ $ getprop -Z ro.boottime.adbd
      u:object_r:default_prop:s0
    
    Instead, create a new label for the ro.boottime.* properties so we can
    apply more fine grain read access control to these properties.
    
      bullhead:/ $ getprop -Z ro.boottime.adbd
      u:object_r:boottime_prop:s0
    
    New SELinux property labels have minimal permissions by default. As a
    result, after this change, ro.boottime.* properties will only be
    readable to system_server, bootstat, init (because it manages the property
    space), and "adb root" (because no SELinux permissions are enforced there).
    
    Additional read access can be granted as-needed.
    
    This is part of a larger effort to implement fine-grain access control
    on the properties managed by init.
    
    Test: Device boots and no SELinux denials on boot.
    Change-Id: Ibf981cb81898f4356fdc5c1b6f15dd93c0d6d84d
    bb9a3888
    History
    Assign a label to the ro.boottime.* properties
    Nick Kralevich authored
    system/core commit 331cf2fb7c16b5b25064f8d2f00284105a9b413f created a
    number of new properties of the form:
    
      [ro.boottime.init]: [5294587604]
      [ro.boottime.InputEventFind]: [10278767840]
      [ro.boottime.adbd]: [8359267180]
      ...
    
    These properties were assigned the default_prop SELinux label because a
    better label did not exist. Properties labeled with the default_prop
    label are readable to any SELinux domain, which is overly broad.
    
      bullhead:/ $ getprop -Z ro.boottime.adbd
      u:object_r:default_prop:s0
    
    Instead, create a new label for the ro.boottime.* properties so we can
    apply more fine grain read access control to these properties.
    
      bullhead:/ $ getprop -Z ro.boottime.adbd
      u:object_r:boottime_prop:s0
    
    New SELinux property labels have minimal permissions by default. As a
    result, after this change, ro.boottime.* properties will only be
    readable to system_server, bootstat, init (because it manages the property
    space), and "adb root" (because no SELinux permissions are enforced there).
    
    Additional read access can be granted as-needed.
    
    This is part of a larger effort to implement fine-grain access control
    on the properties managed by init.
    
    Test: Device boots and no SELinux denials on boot.
    Change-Id: Ibf981cb81898f4356fdc5c1b6f15dd93c0d6d84d