Okapi: Efficiently Safeguarding Speculative Data Accesses in Sandboxed Environments

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Schmitz, Philipp, Jauch, Tobias, Wezel, Alex, Fadiheh, Mohammad R., Tiemann, Thore, Heller, Jonah, Eisenbarth, Thomas, Stoffel, Dominik, Kunz, Wolfgang
Natura: Preprint
Pubblicazione: 2023
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866908488538521600
author Schmitz, Philipp
Jauch, Tobias
Wezel, Alex
Fadiheh, Mohammad R.
Tiemann, Thore
Heller, Jonah
Eisenbarth, Thomas
Stoffel, Dominik
Kunz, Wolfgang
author_facet Schmitz, Philipp
Jauch, Tobias
Wezel, Alex
Fadiheh, Mohammad R.
Tiemann, Thore
Heller, Jonah
Eisenbarth, Thomas
Stoffel, Dominik
Kunz, Wolfgang
contents This paper introduces Okapi, a new hardware/software cross-layer architecture designed to mitigate Transient Execution Side Channel attacks, including Spectre variants, in modern computing systems. Okapi provides a hardware basis for secure speculation in sandboxed environments and can replace expensive speculation barriers in software. At its core, it allows for speculative data accesses to a memory page only after the page has been accessed non-speculatively by the current trust domain. The granularity of the trust domains can be controlled in software to achieve different security and performance trade-offs. For environments with less stringent security needs, the features can be deactivated to remove all performance overhead. Without relying on any software modification, the Okapi hardware features provide full protection against TES breakout attacks, e.g., by Spectre-PHT or Spectre-BTB, at a thread-level granularity. This incurs an average performance overhead of only 3.17% for the SPEC CPU2017 benchmark suite. Okapi introduces the OkapiReset instruction for additional software-level security support. This instruction allows for fine-grained sandboxing with any custom size, resulting in 2.34% performance overhead in our WebAssembly runtime experiment. On top, Okapi provides the possibility to eliminate poisoning attacks. For the highest level of security, the OkapiLoad instruction prevents confidential data from being added to the trust domain after a sequential access, thereby enforcing weak speculative non-interference. In addition, we present a hardware extension that limits the exploitable code space for Spectre gadgets to well-defined sections of the program. Therefore, by ensuring the absence of gadgets in these sections, developers can tailor their software towards achieving beneficial trade-offs between the size of a trust domain and performance.
format Preprint
id arxiv_https___arxiv_org_abs_2312_08156
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Okapi: Efficiently Safeguarding Speculative Data Accesses in Sandboxed Environments
Schmitz, Philipp
Jauch, Tobias
Wezel, Alex
Fadiheh, Mohammad R.
Tiemann, Thore
Heller, Jonah
Eisenbarth, Thomas
Stoffel, Dominik
Kunz, Wolfgang
Cryptography and Security
Hardware Architecture
This paper introduces Okapi, a new hardware/software cross-layer architecture designed to mitigate Transient Execution Side Channel attacks, including Spectre variants, in modern computing systems. Okapi provides a hardware basis for secure speculation in sandboxed environments and can replace expensive speculation barriers in software. At its core, it allows for speculative data accesses to a memory page only after the page has been accessed non-speculatively by the current trust domain. The granularity of the trust domains can be controlled in software to achieve different security and performance trade-offs. For environments with less stringent security needs, the features can be deactivated to remove all performance overhead. Without relying on any software modification, the Okapi hardware features provide full protection against TES breakout attacks, e.g., by Spectre-PHT or Spectre-BTB, at a thread-level granularity. This incurs an average performance overhead of only 3.17% for the SPEC CPU2017 benchmark suite. Okapi introduces the OkapiReset instruction for additional software-level security support. This instruction allows for fine-grained sandboxing with any custom size, resulting in 2.34% performance overhead in our WebAssembly runtime experiment. On top, Okapi provides the possibility to eliminate poisoning attacks. For the highest level of security, the OkapiLoad instruction prevents confidential data from being added to the trust domain after a sequential access, thereby enforcing weak speculative non-interference. In addition, we present a hardware extension that limits the exploitable code space for Spectre gadgets to well-defined sections of the program. Therefore, by ensuring the absence of gadgets in these sections, developers can tailor their software towards achieving beneficial trade-offs between the size of a trust domain and performance.
title Okapi: Efficiently Safeguarding Speculative Data Accesses in Sandboxed Environments
topic Cryptography and Security
Hardware Architecture
url https://arxiv.org/abs/2312.08156