Win: Remove Ppapi Plugin App Container and add sandbox policy unit tests

This removes the AddAppContainerPolicy call in Ppapi. Right now, if the
renderer app container feature is enabled, this can cause the Ppapi
process to add the app container. Since Ppapi is scheduled for
deprecation and we are actively trying to stand up the renderer app
container, we will just remove this call to reduce complexity.

Also adds a sandbox policy unit test.

Bug: 1274959
Change-Id: I02bd72f7797bddaed46cd321afc9445d517896a7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3309900
Reviewed-by: Will Harris <wfh@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Commit-Queue: Emily Andrews <emiled@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#949028}
NOKEYCHECK=True
GitOrigin-RevId: 86b5e59d7e8fb4f9bc028b99a766608bd58c45f9
3 files changed
tree: fbbfa0d5ee76325debc4b9ddb1c80bd0ab03dd3c
  1. linux/
  2. mac/
  3. policy/
  4. win/
  5. BUILD.gn
  6. COMMON_METADATA
  7. constants.h
  8. DEPS
  9. DIR_METADATA
  10. features.gni
  11. ipc.dict
  12. OWNERS
  13. README.md
  14. sandbox_export.h
README.md

Sandbox Library

This directory contains platform-specific sandboxing libraries. Sandboxing is a technique that can improve the security of an application by separating untrustworthy code (or code that handles untrustworthy data) and restricting its privileges and capabilities.

Each platform relies on the operating system's process primitive to isolate code into distinct security principals, and platform-specific technologies are used to implement the privilege reduction. At a high-level:

  • mac/ uses the Seatbelt sandbox. See the detailed design for more.
  • linux/ uses namespaces and Seccomp-BPF. See the detailed design for more.
  • win/ uses a combination of restricted tokens, distinct job objects, alternate desktops, and integrity levels. See the detailed design for more.

Built on top of the low-level sandboxing library is the //sandbox/policy component, which provides concrete policies and helper utilities for sandboxing specific Chromium processes and services. The core sandbox library cannot depend on the policy component.