Issue No. 04 - July/August (2011 vol. 8)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TDSC.2011.18
Babak Salamat , University of California, Irvine, Irvine
Todd Jackson , University of California, Irvine, Irvine
Gregor Wagner , University of California, Irvine, Irvine
Christian Wimmer , University of California, Irvine, Irvine
Michael Franz , University of California, Irvine, Irvine
The number and complexity of attacks on computer systems are increasing. This growth necessitates proper defense mechanisms. Intrusion detection systems play an important role in detecting and disrupting attacks before they can compromise software. Multivariant execution is an intrusion detection mechanism that executes several slightly different versions, called variants, of the same program in lockstep. The variants are built to have identical behavior under normal execution conditions. However, when the variants are under attack, there are detectable differences in their execution behavior. At runtime, a monitor compares the behavior of the variants at certain synchronization points and raises an alarm when a discrepancy is detected. We present a monitoring mechanism that does not need any kernel privileges to supervise the variants. Many sources of inconsistencies, including asynchronous signals and scheduling of multithreaded or multiprocess applications, can cause divergence in behavior of variants. These divergences cause false alarms. We provide solutions to remove these false alarms. Our experiments show that the multivariant execution technique is effective in detecting and preventing code injection attacks. The empirical results demonstrate that dual-variant execution has on average 17 percent performance overhead when deployed on multicore processors.
Intrusion detection, multivariant execution, n-variant execution, system call.
Babak Salamat, Todd Jackson, Gregor Wagner, Christian Wimmer, Michael Franz, "Runtime Defense against Code Injection Attacks Using Replicated Execution", IEEE Transactions on Dependable and Secure Computing, vol. 8, no. , pp. 588-601, July/August 2011, doi:10.1109/TDSC.2011.18