ACM Home Page
Please provide us with feedback. Feedback
Orchestra: intrusion detection using parallel execution and monitoring of program variants in user-space
Full text PdfPdf (621 KB)
Source
European Conference on Computer Systems archive
Proceedings of the 4th ACM European conference on Computer systems table of contents
Nuremberg, Germany
SESSION: Defending against bad things table of contents
Pages 33-46  
Year of Publication: 2009
ISBN:978-1-60558-482-9
Authors
Babak Salamat  University of California, Irvine, Irvine, CA, USA
Todd Jackson  University of California, Irvine, Irvine, CA, USA
Andreas Gal  University of California, Irvine, Irvine, CA, USA
Michael Franz  University of California, Irvine, Irvine, CA, USA
Sponsor
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 28,   Downloads (12 Months): 171,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1519065.1519071
What is a DOI?

ABSTRACT

In a Multi-Variant Execution Environment (MVEE), several slightly different versions of the same program are executed in lockstep. While this is done, a monitor compares the behavior of the versions at certain synchronization points with the aim of detecting discrepancies which may indicate attacks.

As we show, the monitor can be implemented entirely in user space, eliminating the need for kernel modifications. As a result, the monitor is not a part of the trusted code base.

We have built a fully functioning MVEE, named Orchestra, and evaluated its effectiveness. We obtained benchmark results on a quad-core system, using two variants which grow the stack in opposite directions. The results show that the overall penalty of simultaneous execution and monitoring of two variants on a multi-core system averages about 15% relative to unprotected conventional execution


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Aleph One. Smashing the stack for fun and profit. Phrack, 7 (2), 1996.
 
2
Apache Software Foundation. ab -- Apache HTTP Server Benchmarking Tool.
 
3
J. Avariento. Exploit for Apache mod_rewrite off-by-one, 2006. URL http://ciberjacobo.com/sec/mod_rewrite.html.
 
4
A. Avizienis and L. Chen. On the implementation of n-version programming for software fault tolerance during execution. In IEEE International Computer Software and Applications Conference (COMPSAC), volume 77, pages 149--155, 1977.
5
6
 
7
 
8
 
9
M. Chew and D. Song. Mitigating buffer overflows by operating system randomization. Technical report, Department of Computer Science, Carnegie Mellon University, 2002.
 
10
 
11
 
12
 
13
Diet libc. URL http://www.fefe.de/dietlibc/.
 
14
M. Dowd. Apache Mod_Rewrite Off-By-One Buffer Overflow Vulnerability, 2006. URL http://www.securityfocus.com/archive/1/441487/30/0/threaded.
 
15
Crazy Einstein. Apache mod_include Local Buffer Overflow Vulnerability, 2004. URL http://www.securityfocus.com/bid/11471.
 
16
Crazy Einstein. Apache łeq 1.3.31 mod_include Local Buffer Overflow Exploit, 2006. URL http://milw0rm.com/exploits/587.
 
17
 
18
GNU. GNU Compiler Collection (GCC). URL http://gcc.gnu.org.
 
19
R. Hastings and B. Joyce. Purify: Fast detection of memory leaks and access errors. In Proceedings of the Winter USENIX Conference, volume 136, 1992.
 
20
 
21
Intel. Paul Otellini Keynote. Intel Developer Forum, September 2006.
 
22
M.K. Joseph and Avizienis. A. A fault tolerance approach to computer viruses. In 1988 IEEE Symposium on Security and Privacy, pages 52--58, 1988.
 
23
24
25
 
26
A. Manion and J. Gennari. US-CERT Vulnerability Note VU #175500, October 2005. URL http://www.kb.cert.org/vuls/id/175500.
27
 
28
 
29
N. Mehta. Snort Back Orifice Parsing Remote Code Execution, 2005.
30
 
31
Nergal. The advanced return-into-lib(c) exploits: PaX case study. Phrack, 2001.
 
32
N. Nethercote and J. Seward. Valgrind: A Program Supervision Framework. Electronic Notes in Theoretical Computer Science, 2003.
 
33
T. Oh. Advanced Buffer Overflow Exploit, 2000. URL http://www.windowsecurity.com/uplarticle/1/advanced.txt.
34
 
35
PaX. URL http://pax.grsecurity.net.
 
36
 
37
E. Pinheiro, R. Bianchini, E.V. Carrera, and T. Heath. Load balancing and unbalancing for power and performance in cluster-based systems. In Workshop on Compilers and Operating Systems for Low Power, pages 182--195, 2001.
 
38
C. Pu, A. Black, C. Cowan, and J. Walpole. A specialization toolkit to increase the diversity of operating systems. In ICMAS Workshop on Immunity-Based Systems, 1996.
 
39
rd. THCsnortbo 0.3 -- Snort BackOrifice PING exploit, October 2005. URL http://milw0rm.com/exploits/1272.
 
40
B. Salamat, A. Gal, and M. Franz. Reverse stack execution in a multi-variant execution environment. In Workshop on Compiler and Architectural Techniques for Application Reliability and Security (CATARS), 2008.
 
41
 
42
Solar Designer. Non-executable user stack. URL http://www.openwall.com.
 
43
Standard Performance Evaluation Corporation (SPEC). URL http://www.spec.org.
 
44
C. Taschner and A. Manion. US-CERT Vulnerability Note VU #196240, February 2007. URL http://www.kb.cert.org/vuls/id/196240.
 
45
J. Wilander and M. Kamkar. A comparison of publicly available tools for dynamic buffer overflow prevention. In Proceedings of the 10th Annual Symposium On Network And Distributed System Security, 2003.


Collaborative Colleagues:
Babak Salamat: colleagues
Todd Jackson: colleagues
Andreas Gal: colleagues
Michael Franz: colleagues