Isolation without taxation: near-zero-cost transitions for WebAssembly and SFI
Isolation without taxation: near-zero-cost transitions for WebAssembly and SFI
复制标题
无需纳税的隔离:WebAssembly 和 SFI 的近乎零成本转换
DOI:
10.1145/3498688
复制
发表时间:
2022
影响因子:
--
通讯作者:
Stefan, Deian
中科院分区:
文献类型:
--
作者:
Kolosick, Matthew;Narayan, Shravan;Johnson, Evan;Watt, Conrad;LeMay, Michael;Garg, Deepak;Jhala, Ranjit;Stefan, Deian
Software sandboxing or software-based fault isolation (SFI) is a lightweight approach to building secure systems out of untrusted components. Mozilla, for example, uses SFI to harden the Firefox browser by sandboxing third-party libraries, and companies like Fastly and Cloudflare use SFI to safely co-locate untrusted tenants on their edge clouds. While there have been significant efforts to optimize and verify SFI enforcement, context switching in SFI systems remains largely unexplored: almost all SFI systems useheavyweight transitionsthat are not only error-prone but incur significant performance overhead from saving, clearing, and restoring registers when context switching. We identify a set ofzero-cost conditionsthat characterize when sandboxed code has sufficient structured to guarantee security via lightweightzero-costtransitions (simple function calls). We modify the Lucet Wasm compiler and its runtime to use zero-cost transitions, eliminating the undue performance tax on systems that rely on Lucet for sandboxing (e.g., we speed up image and font rendering in Firefox by up to 29.7% and 10% respectively). To remove the Lucet compiler and its correct implementation of the Wasm specification from the trusted computing base, we (1) develop astatic binary verifier, VeriZero, which (in seconds) checks that binaries produced by Lucet satisfy our zero-cost conditions, and (2) prove the soundness of VeriZero by developing a logical relation that captures when a compiled Wasm function is semantically well-behaved with respect to our zero-cost conditions. Finally, we show that our model is useful beyond Wasm by describing a new, purpose-built SFI system, SegmentZero32, that uses x86 segmentation and LLVM with mostly off-the-shelf passes to enforce our zero-cost conditions; our prototype performs on-par with the state-of-the-art Native Client SFI system.
登录
查看更多内容
影响因子:
--
作者:
Frédéric Besson;Sandrine Blazy;Alexandre Dang;T. Jensen;Pierre Wilke
通讯作者:
Pierre Wilke
DOI:
10.1145/2254064.2254111
发表时间:
2012
期刊:
Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation
影响因子:
--
作者:
Greg Morrisett;Gang Tan;Joseph Tassarotti;Jean;Edward Gan
通讯作者:
Edward Gan
DOI:
10.1109/dsn.2009.5270357
发表时间:
2009
期刊:
2009 IEEE/IFIP International Conference on Dependable Systems & Networks
影响因子:
--
作者:
J. Herder;H. Bos;Ben Gras;P. Homburg;A. Tanenbaum
通讯作者:
A. Tanenbaum
DOI:
--
发表时间:
2010
期刊:
--
影响因子:
--
作者:
A. Mettler;D. Wagner;T. Close
通讯作者:
A. Mettler;D. Wagner;T. Close
DOI:
10.1109/csf.2014.10
发表时间:
2014
期刊:
2014 IEEE 27th Computer Security Foundations Symposium
影响因子:
--
作者:
Joshua A. Kroll;Gordon Stewart;A. Appel
通讯作者:
A. Appel