Sharing is Caring

Secure and Efcient Shared Memory Support for MVEEs

Conference Paper (2022)
Author(s)

Jonas Vinck

Bert Abrath

Bart Coppens

VOULIMENEAS ALEXIOS (External organisation)

Bjorn De Sutter

Stijn Volckaert

Affiliation
External organisation
DOI related publication
https://doi.org/10.1145/3492321.3519558
More Info
expand_more
Publication Year
2022
Language
English
Affiliation
External organisation
Pages (from-to)
99-116
ISBN (electronic)
9781450391627

Abstract

Multi-Variant Execution Environments (MVEEs) are a powerful tool for protecting legacy software against memory corruption attacks. MVEEs employ software diversity to run multiple variants of the same program in lockstep, whilst providing them with the same inputs and comparing their behavior. Well-constructed variants will behave equivalently under normal operating conditions but diverge when under attack. The MVEE detects these divergences and takes action before compromised variants can damage the host system. Existing MVEEs replicate inputs at the system call boundary, and therefore do not support programs that use shared-memory IPC with other processes, since shared memory pages can be read from and written to directly without system calls. We analyzed modern applications, ranging from web servers, over media players, to browsers, and observe that they rely heavily on shared memory, in some cases for their basic functioning and in other cases for enabling more advanced functionality. It follows that modern applications cannot enjoy the security provided by MVEEs unless those MVEEs support shared-memory IPC. This paper first identifies the requirements for supporting shared-memory IPC in an MVEE. We propose a design that involves techniques to identify and instrument accesses to shared memory pages, as well as techniques to replicate I/O through shared-memory IPC. We implemented these techniques in a prototype MVEE and report our findings through an evaluation of a range of benchmark programs. Our contributions enable the use of MVEEs on a far wider range of programs than previously supported. By overcoming one of the major remaining limitations of MVEEs, our contributions can help to bolster their real-world adoption.

No files available

Metadata only record. There are no files for this record.