Swivel: Hardening WebAssembly against Spectre

Swivel: Hardening WebAssembly against Spectre
复制标题

DOI:
--
复制
发表时间:
2021-02
期刊:
ArXiv
影响因子:
--
通讯作者:
Shravan Narayan;Craig Disselkoen;D. Moghimi;Sunjay Cauligi;Evan Johnson;Zhao Gang;Anjo Vahldiek-Oberwagner;R. Sahita;H. Shacham;D. Tullsen;D. Stefan
Shravan Narayan;Craig Disselkoen;D. Moghimi;Sunjay Cauligi;Evan Johnson;Zhao Gang;Anjo Vahldiek-Oberwagner;R. Sahita;H. Shacham;D. Tullsen;D. Stefan
中科院分区:
其他
文献类型:
--
作者:
Shravan Narayan;Craig Disselkoen;D. Moghimi;Sunjay Cauligi;Evan Johnson;Zhao Gang;Anjo Vahldiek-Oberwagner;R. Sahita;H. Shacham;D. Tullsen;D. Stefan

文献摘要

相似文献

我们描述了Swivel,这是一种针对Specter攻击的新的编译器框架(WASM)。在浏览器之外,WASM已成为一种流行的轻质,过程中的沙箱,例如,在生产中使用,用来隔离边缘云和功能服务平台上的不同客户。不幸的是,幽灵攻击可以绕过Wasm的隔离保证。通过确保潜在的恶意代码既不能使用幽灵攻击来突破WASM沙盒,也不强迫受害者代码与ANA的WASM客户端或嵌入过程以泄漏秘密数据,从而使WASM与此类攻击相对。我们描述了两种Swivel设计,一种仅在现有CPU上使用的仅软件方法,以及一种使用Intel 11th Generation CPU中可用扩展的硬件辅助方法。对于这两者,我们都评估了一种减轻幽灵的随机方法和完全消除幽灵的确定性方法。我们的随机实施方式在Spec 2006的WASM兼容子集上施加了不到10.3%的开销,而确定性的实施则将间接开销介于3.3%至240.2%之间。尽管在某些基准测试上,Swivel的开销仍然比依赖管道围栏的现有防御能力小于9倍至36.3倍。
We describe Swivel, a new compiler framework for hardening WebAssembly (Wasm) against Spectre attacks. Outside the browser, Wasm has become a popular lightweight, in-process sandbox and is, for example, used in production to isolate different clients on edge clouds and function-as-a-service platforms. Unfortunately, Spectre attacks can bypass Wasm's isolation guarantees. Swivel hardens Wasm against this class of attacks by ensuring that potentially malicious code can neither use Spectre attacks to break out of the Wasm sandbox nor coerce victim code-another Wasm client or the embedding process-to leak secret data. We describe two Swivel designs, a software-only approach that can be used on existing CPUs, and a hardware-assisted approach that uses extension available in Intel 11th generation CPUs. For both, we evaluate a randomized approach that mitigates Spectre and a deterministic approach that eliminates Spectre altogether. Our randomized implementations impose under 10.3% overhead on the Wasm-compatible subset of SPEC 2006, while our deterministic implementations impose overheads between 3.3% and 240.2%. Though high on some benchmarks, Swivel's overhead is still between 9x and 36.3x smaller than existing defenses that rely on pipeline fences.