Cherub: Fine-Grained Application Protection with On-Demand Virtualization

Hai Jin,Ge Cheng,Deqing Zou,Xinwen Zhang
DOI: https://doi.org/10.1016/j.camwa.2012.02.001
IF: 3.218
2013-01-01
Computers & Mathematics with Applications
Abstract:Cherub is an on-demand virtualization mechanism aiming to provide fine-grained application protection in untrusted environments. By leveraging late launch technology, Cherub dynamically inserts a lightweight virtual machine monitor (VMM) under a commodity operating system (OS) when critical pieces of an application code or data are to be processed. The novel design of Cherub with a double-shadowed page table extends VMM level memory protection into application level, such that it can isolate selected memory pages of a target process from the rest and other processes in the same OS environment. With this, Cherub enables fine-grained memory access control and therefore flexible security objectives. Compared to existing approaches, Cherub has the benefits of small code size, low performance overhead, no change to existing applications and commodity OS, and selective protection capability within a single application space. We implement Cherub in Linux and our analysis and evaluation demonstrate its effectiveness and practicality.
What problem does this paper attempt to address?