Initial sepolicy for app_zygote.
The application zygote is a new sort of zygote process that is a child of the regular zygote. Each application zygote is tied to the application for which it's launched. Once it's started, it will pre-load some of the code for that specific application, much like the regular zygote does for framework code. Once the application zygote is up and running, it can spawn isolated service processes that run in the isolated_app domain. These services can then benefit from already having the relevant application code and data pre-loaded. The policy is largely the same as the webview_zygote domain, however there are a few crucial points where the policy is different. 1) The app_zygote runs under the UID of the application that spawned it. 2) During app_zygote launch, it will call a callback that is controlled by the application, that allows the application to pre-load code and data that it thinks is relevant. Especially point 2 is imporant: it means that untrusted code can run in the app_zygote context. This context is severely limited, and the main concern is around the setgid/setuid capabilities. Those conerns are mitigated by installing a seccomp filter that only allows setgid/setuid to be called in a safe range. Bug: 111434506 Test: app_zygote can start and fork children without denials. Change-Id: I1cc49ee0042d41e5ac6eb81d8f8a10ba448d4832
Showing
- private/app_zygote.te 135 additions, 0 deletionsprivate/app_zygote.te
- private/compat/26.0/26.0.ignore.cil 1 addition, 0 deletionsprivate/compat/26.0/26.0.ignore.cil
- private/compat/27.0/27.0.ignore.cil 1 addition, 0 deletionsprivate/compat/27.0/27.0.ignore.cil
- private/compat/28.0/28.0.ignore.cil 1 addition, 0 deletionsprivate/compat/28.0/28.0.ignore.cil
- private/coredomain.te 2 additions, 0 deletionsprivate/coredomain.te
- private/domain.te 3 additions, 0 deletionsprivate/domain.te
- private/isolated_app.te 7 additions, 0 deletionsprivate/isolated_app.te
- private/seapp_contexts 1 addition, 0 deletionsprivate/seapp_contexts
- private/system_server.te 4 additions, 0 deletionsprivate/system_server.te
- private/zygote.te 5 additions, 1 deletionprivate/zygote.te
- public/app_zygote.te 5 additions, 0 deletionspublic/app_zygote.te
- public/domain.te 3 additions, 2 deletionspublic/domain.te
private/app_zygote.te
0 → 100644
public/app_zygote.te
0 → 100644
Please register or sign in to comment