Publication Data
Adapting Software Fault Isolation to Contemporary CPU Architectures
Abstract: Software Fault Isolation (SFI) is an effective approach to
sandboxing binary code of questionable provenance, an interesting use case for native
plugins in a Web browser. We present software fault isolation schemes for ARM and
x86-64 that provide control-flow and memory integrity with average performance overhead
of under 5% on ARM and 7% on x86-64. We believe these are the best known SFI
implementations for these architectures, with significantly lower overhead than
previous systems for similar architectures. Our experience suggests that these SFI
implementations benefit from instruction-level parallelism, and have particularly small
impact for workloads that are data memory-bound, both properties that tend to reduce
the impact of our SFI systems for future CPU implementations.
