TY - GEN
T1 - Okapi: Efficiently Safeguarding Speculative Data Accesses in Sandboxed Environments
AU - Schmitz, Philipp
AU - Jauch, Tobias
AU - Wezel, Alex
AU - Fadiheh, Mohammad Rahmani
AU - Tiemann, Thore
AU - Heller, Jonah
AU - Eisenbarth, Thomas
AU - Stoffel, Dominik
AU - Kunz, Wolfgang
N1 - DBLP License: DBLP's bibliographic metadata records provided through http://dblp.org/ are distributed under a Creative Commons CC0 1.0 Universal Public Domain Dedication. Although the bibliographic metadata records are provided consistent with CC0 1.0 Dedication, the content described by the metadata records is not. Content may be subject to copyright, rights of privacy, rights of publicity and other restrictions.
PY - 2025
Y1 - 2025
N2 - This paper introduces Okapi, a new hardware/software cross-layer architecture designed to mitigate Transient Execution Side Channel (TES) 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, Okapi allows for speculative data accesses to a memory page only after the page has been accessed non-speculatively at least once 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, Okapi's features can be deactivated to remove all performance overhead. Without relying on any software modification, the Okapi hardware features already 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 soft-ware-level security support. This instruction allows for fine-grained sandboxing with custom program sizes smaller than a thread, 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.
AB - This paper introduces Okapi, a new hardware/software cross-layer architecture designed to mitigate Transient Execution Side Channel (TES) 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, Okapi allows for speculative data accesses to a memory page only after the page has been accessed non-speculatively at least once 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, Okapi's features can be deactivated to remove all performance overhead. Without relying on any software modification, the Okapi hardware features already 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 soft-ware-level security support. This instruction allows for fine-grained sandboxing with custom program sizes smaller than a thread, 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.
UR - https://arxiv.org/abs/2312.08156
UR - https://www.mendeley.com/catalogue/071b83b2-e9ca-3a66-97a2-b14d08e88149/
U2 - 10.1145/3708821.3733869
DO - 10.1145/3708821.3733869
M3 - Conference contribution
SN - 9798400714108
T3 - Proceedings of the ACM Conference on Computer and Communications Security
SP - 1203
EP - 1218
BT - Proceedings of the 20th ACM Asia Conference on Computer and Communications Security, ASIA CCS 2025, Hanoi, Vietnam, August 25-29, 2025
PB - ACM
ER -