PMVX: Partial multi-variant execution

01 January 2020 → Ongoing
Research Foundation - Flanders (FWO)
Research disciplines
  • Natural sciences
    • Computer system security
software diversification protection against remote exploits effective and efficient support for security - critical software
Project description

Remote exploits, one of the major forms of cyber security attacks, trigger software bugs to escalate the attacker's privileges Multi-Variant eXecution Engines (MVXEs) monitor the transparent execution of multiple, diversified variants of a program Those variants behave the same for benign inputs, but diverge for malicious inputs, such that no remote exploit can ever simultaneously compromise all variants without being detected We already demonstrated the effectiveness and relative efficiency of MVXEs Some fundamental issues remain, however, such as the manual labor needed to make whole programs MVXE-compatible by patching incompatible artifacts, the problem of supporting the growing range of applications that rely on shared memory, and the absolute overhead of multiplied resource consumption by running complete program variants in parallel, even though not all parts are equally or critically vulnerable We will overcome these issues by means of recently introduced hardware support for isolating and compartmentalizing parts of applications, and by splitting programs in a security-critical part that is executed in a multi-variant mode, while the rest executes in single-variant mode We will rely on program analyses and transformations and hardware-supported system solutions such that all mode switching and all shared memory accesses are handled effectively, and such that all performance-relevant cases are handled efficiently with minimal manual programmer intervention