-
Notifications
You must be signed in to change notification settings - Fork 1
Sandboxing #4
Copy link
Copy link
Open
Labels
Platform: iOSPriority: 0 - EssentialHighest level priority, a must have, required for Browsers, Web Apps or functional competitionHighest level priority, a must have, required for Browsers, Web Apps or functional competitionStatus: OpenOpen for discussionOpen for discussionSupport: GoogleSupport: Open Web AdvocacyTo: AppleRequests made to AppleRequests made to Apple
Metadata
Metadata
Assignees
Labels
Platform: iOSPriority: 0 - EssentialHighest level priority, a must have, required for Browsers, Web Apps or functional competitionHighest level priority, a must have, required for Browsers, Web Apps or functional competitionStatus: OpenOpen for discussionOpen for discussionSupport: GoogleSupport: Open Web AdvocacyTo: AppleRequests made to AppleRequests made to Apple
Type
Fields
Give feedbackNo fields configured for issues without a type.
Description
A modern browser can only be made secure by relying on multiple processes (#3) and process sandboxing technology. Modern OSes like Windows, MacOS, Linux, Android and ChromeOS all provide the primitives that make a multi-process sandboxed browser possible, but iOS makes them available only to the system WebKit implementation. For details on existing browser design see Chromium Sandbox and Firefox Security/Sandbox. In addition to being essential in browsers, sandboxing technology is potentially helpful for securing any complex application that handles untrusted data (eg. messaging applications). There is an existing iOS API (NSExtension) for doing some of this, but it is private and so reserved for use by Apple only, such as in their Swift Playgrounds application. In 2021 Google made a feature request to Apple for a sandboxing API that would improve the security of Chrome, even when using Apple's WebKit engine.
Outcome
A secure browser needs at least the ability to set process security capabilities, eg. for chromium:
For maximum security, Chromium relies on a variety of process types. Details of Chromium's sandboxing system on MacOS can be found here and in the seatbelt files.