sandboxed-api/sandboxed_api/sandbox2
Christian Blichmann 21f7373e76 Initial changes to support AArch64
This is a work in progress:
- Syscall tables need work
- Only tested on real hardware using one of our test hosts

As a drive-by, this change also enables the open source version to function on
POWER.

Another side-effect of this change is that the default policies no longer
check for different host architectures at runtime. On x86_64, we do not need
to check for PPC or AArch64 specifice and vice versa.

PiperOrigin-RevId: 331137472
Change-Id: Ic6d6be5cbe61d83dbe13d5a0be036871754b2eb8
2020-09-11 06:34:27 -07:00
..
examples Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
network_proxy Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
testcases Introduce config header to centralize CPU architecture checks 2020-09-10 05:48:00 -07:00
unwind Refactor stack trace handling 2020-07-20 00:24:40 -07:00
util Migrate to open-source absl::StatusOr<> 2020-09-03 07:40:48 -07:00
bpfdisassembler.cc Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
bpfdisassembler.h Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
buffer_test.cc Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
buffer.cc Internal BUILD refactoring 2020-09-03 07:40:33 -07:00
buffer.h Internal BUILD refactoring 2020-09-03 07:40:33 -07:00
BUILD.bazel Introduce config header to centralize CPU architecture checks 2020-09-10 05:48:00 -07:00
client.cc Replace sapi::Status with absl::Status 2020-02-27 09:24:12 -08:00
client.h Replace sapi::Status with absl::Status 2020-02-27 09:24:12 -08:00
CMakeLists.txt Introduce config header to centralize CPU architecture checks 2020-09-10 05:48:00 -07:00
comms_test.cc Replace sapi::Status with absl::Status 2020-02-27 09:24:12 -08:00
comms_test.proto Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
comms.cc Use inclusive language 2020-09-11 03:14:12 -07:00
comms.h Replace sapi::Status with absl::Status 2020-02-27 09:24:12 -08:00
config.h Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
executor.cc Log details when executor fails to open the sandboxee binary 2020-09-09 02:12:29 -07:00
executor.h Extract ForkClient to a separate target 2020-07-17 04:54:54 -07:00
fork_client.cc Extract ForkClient to a separate target 2020-07-17 04:54:54 -07:00
fork_client.h Extract ForkClient to a separate target 2020-07-17 04:54:54 -07:00
forkingclient.cc Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
forkingclient.h Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
forkserver_bin.cc Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
forkserver_test.cc Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
forkserver.cc Internal BUILD refactoring 2020-09-03 07:40:33 -07:00
forkserver.h Extract ForkClient to a separate target 2020-07-17 04:54:54 -07:00
forkserver.proto Internal change 2020-01-31 05:39:25 -08:00
global_forkclient.cc Extract ForkClient to a separate target 2020-07-17 04:54:54 -07:00
global_forkclient.h Extract ForkClient to a separate target 2020-07-17 04:54:54 -07:00
ipc_test.cc Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
ipc.cc Now network proxy server supports IP filtering. API to policybuilder is added to make a list of allowed pairs of allowed IP, mask and port where mask and port are optional. 2020-02-20 07:45:44 -08:00
ipc.h Now network proxy server supports IP filtering. API to policybuilder is added to make a list of allowed pairs of allowed IP, mask and port where mask and port are optional. 2020-02-20 07:45:44 -08:00
limits_test.cc Introduce config header to centralize CPU architecture checks 2020-09-10 05:48:00 -07:00
limits.h Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
logserver.cc Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
logserver.h Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
logserver.proto Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
logsink.cc Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
logsink.h Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
monitor.cc Introduce config header to centralize CPU architecture checks 2020-09-10 05:48:00 -07:00
monitor.h Now network proxy server supports IP filtering. API to policybuilder is added to make a list of allowed pairs of allowed IP, mask and port where mask and port are optional. 2020-02-20 07:45:44 -08:00
mounts_test.cc Cleanup calls to sapi::StatusOr<>::ValueOrDie() 2020-04-02 07:42:45 -07:00
mounts.cc Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
mounts.h Replace sapi::Status with absl::Status 2020-02-27 09:24:12 -08:00
mounttree.proto Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
namespace_test.cc Introduce config header to centralize CPU architecture checks 2020-09-10 05:48:00 -07:00
namespace.cc Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
namespace.h Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
notify_test.cc Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
notify.h Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
policy_test.cc Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
policy.cc Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
policy.h Reduce dependencies on libcap 2020-07-01 08:23:46 -07:00
policybuilder_test.cc Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
policybuilder.cc Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
policybuilder.h Introduce config header to centralize CPU architecture checks 2020-09-10 05:48:00 -07:00
README.md Corrects typo in link 2019-10-07 02:36:35 -07:00
regs.cc Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
regs.h Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
result.cc Refactor stack trace handling 2020-07-20 00:24:40 -07:00
result.h Introduce config header to centralize CPU architecture checks 2020-09-10 05:48:00 -07:00
sandbox2_test.cc Introduce config header to centralize CPU architecture checks 2020-09-10 05:48:00 -07:00
sandbox2.cc Internal BUILD refactoring 2020-09-03 07:40:33 -07:00
sandbox2.h Internal BUILD refactoring 2020-09-03 07:40:33 -07:00
sanitizer_test.cc Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
sanitizer.cc Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
sanitizer.h Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
stack_trace_test.cc Refactor stack trace handling 2020-07-20 00:24:40 -07:00
stack_trace.cc Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
stack_trace.h Refactor stack trace handling 2020-07-20 00:24:40 -07:00
syscall_defs.cc Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
syscall_defs.h Introduce config header to centralize CPU architecture checks 2020-09-10 05:48:00 -07:00
syscall_test.cc Introduce config header to centralize CPU architecture checks 2020-09-10 05:48:00 -07:00
syscall.cc Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
syscall.h Introduce config header to centralize CPU architecture checks 2020-09-10 05:48:00 -07:00
testing.cc Move filewrapper to tools directory 2020-05-29 05:40:52 -07:00
testing.h Update license header with recommended best practices 2020-01-17 05:05:29 -08:00
util_test.cc Migrate to open-source absl::StatusOr<> 2020-09-03 07:40:48 -07:00
util.cc Initial changes to support AArch64 2020-09-11 06:34:27 -07:00
util.h Internal BUILD refactoring 2020-09-03 07:40:33 -07:00
violation.proto Initial changes to support AArch64 2020-09-11 06:34:27 -07:00

Sandbox2

Sandbox2 is a C++ security sandbox for Linux which can be used to run untrusted programs or portions of programs in confined environments. The idea is that the runtime environment is so restricted that security bugs such as buffer overflows in the protected region cause no harm.

Documentation

Detailed developer documentation is available on the Google Developers site for Sandboxed API under Sandbox2.

There is also a Getting Started guide for Sandbox2.