Sanctum's strong isolation yields a simple security model for application
developers: \emph{all computation that executes inside an enclave, and only
accesses data inside the enclave, is protected from any attack mounted by
software outside the enclave}. All communication with the outside world,
including accesses to non-enclave memory, is subject to attacks.

Sanctum assumes that the enclave runtime implements the security measures needed to
protect the enclave's communication with other software modules. For example,
any algorithm's memory access patterns can be protected by ensuring that the
algorithm only operates on enclave data. The runtime can implement this
protection simply by copying any input buffer from non-enclave memory into the
enclave before computing on it.

The enclave runtime can use Native Client's approach \citep{yee2009native} to
ensure that the rest of the enclave software only interacts with the host
application via the runtime to mitigate potential security
vulnerabilities in enclave software.
