Topic blueprint for application isolation work

Registered by Jamie Strandboge

Group all blueprints related to application isolation. This work implements the security team's work in https://wiki.ubuntu.com/AppDevUploadProcess.

Confined applications should not be able to interfere with the system, the user's data or other applications. All applications from the app store should be confined. Some Ubuntu applications may be confined.

This work includes mediation for the following:
- system files and user data (done)
- networking (done)
- library loading (done)
- execution of applications (done)
- capabilities (done)
- privileged operations, such as mount (done)
- sending signals/IPC (done)
- DBus API (path, interface, method, bus, signals, permission (send,receive,bind)) (done, 13.10)
- keyboard sniffing (handled by Mir)
- mouse sniffing (handled by Mir)
- screenshots (handled by Mir)
- clipboard access
- ptracing other processes (done)
- user and session settings (gsettings) - 15.10+
- environment variables - future
- kernel @proc kernel variables (ie, owner @{PROC}/@{PID}/** style rules) - future
- drag and drop - future
- 3rd party on screen keyboard - future

In addition to providing mediation, the work includes:
- a helper application for on demand access to user data (aka, content-hub. done, 13.10)
- tools to integrate with the SDK (done, 13.10)
- reusable confinement policy for applications developed with the SDK (should support
  http://www.ubuntu.com/devices/phone/app-ecosystem. done, 13.10)
- application launcher/executor to setup the application's enviroment and monitor the
  application (done, 13.10)
- ensuring mediation works correctly with LXC
- online accounts credentials (done, 15.04)

Blueprint information

Status:
Not started
Approver:
Jamie Strandboge
Priority:
High
Drafter:
Jamie Strandboge
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.