ACM Home Page
Please provide us with feedback. Feedback
Bouncer: securing software by blocking bad input
Full text FlvFlv (27:59),  Mp3Mp3 (11.76 MB),  PdfPdf (449 KB)
Source
ACM Symposium on Operating Systems Principles archive
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles table of contents
Stevenson, Washington, USA
SESSION: Software robustness table of contents
Pages: 117 - 130  
Year of Publication: 2007
ISBN:978-1-59593-591-5
Also published in ...
Authors
Manuel Costa  Microsoft Research, Cambridge, United Kingdom
Miguel Castro  Microsoft Research, Cambridge, United Kingdom
Lidong Zhou  Microsoft Research, Mountain View
Lintao Zhang  Microsoft Research, Mountain View
Marcus Peinado  Microsoft, Redmond
Sponsors
ACM: Association for Computing Machinery
SIGOPS: ACM Special Interest Group on Operating Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 23,   Downloads (12 Months): 149,   Citation Count: 7
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/1294261.1294274
What is a DOI?

ABSTRACT

Attackers exploit software vulnerabilities to control or crash programs. Bouncer uses existing software instrumentation techniques to detect attacks and it generates filters automatically to block exploits of the target vulnerabilities. The filters are deployed automatically by instrumenting system calls to drop exploit messages. These filters introduce low overhead and they allow programs to keep running correctly under attack. Previous work computes filters using symbolic execution along the path taken by a sample exploit, but attackers can bypass these filters by generating exploits that follow a different execution path. Bouncer introduces three techniques to generalize filters so that they are harder to bypass: a new form of program slicing that uses a combination of static and dynamic analysis to remove unnecessary conditions from the filter; symbolic summaries for common library functions that characterize their behavior succinctly as a set of conditions on the input; and generation of alternative exploits guided by symbolic execution. Bouncer filters have low overhead, they do not have false positives by design, and our results show that Bouncer can generate filters that block all exploits of some real-world vulnerabilities.


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
GHttpd Log() Function Buffer Overflow Vulnerability. http://www.securityfocus.com/bid/5960.
 
2
Null HTTPd Remote Heap Overflow Vulnerability. http://www.securityfocus.com/bid/5774.
 
3
STunnel Client Negotiation Protocol Format String Vulnerability. http://www.securityfocus.com/bid/3748.
4
 
5
6
7
8
 
9
 
10
11
 
12
 
13
 
14
 
15
M. Costa. End-to-End Containment of Internet Worm Epidemics. PhD thesis, University of Cambridge, Oct. 2006.
16
 
17
18
 
19
20
21
22
23
24
 
25
J. O. Kephart and W. C. Arnold. Automatic extraction of computer virus signatures. In Virus Bulletin, Sept. 1994.
 
26
27
 
28
 
29
 
30
C. Kreibich and J. Crowcroft. Honeycomb -- creating intrusion detection signatures using honeypots. In HotNets, Nov. 2003.
 
31
32
 
33
Microsoft. Phoenix compiler framework. http://research.microsoft.com/phoenix/phoenixrdk.aspx.
 
34
 
35
J. Newsome, D. Brumley, and D. Song. Vulnerability-specific execution filtering for exploit prevention on commodity software. In NDSS, Feb. 2006.
 
36
 
37
J. Newsome and D. Song. Dynamic taint analysis for automatic detection, analysis and signature generation of exploits on commodity software. In NDSS, Feb. 2005.
38
 
39
 
40
O. Ruwase and M. Lam. A practical dynamic buffer overflow detector. In NDSS, Feb. 2004.
41
 
42
 
43
SPEC. Specweb99 benchmark. http://www.spec.org/osg/web99.
 
44
T. Toth and C. Kruegel. Accurate buffer overflow detection via abstract payload execution. In RAID, Oct. 2002.
 
45
TPC. TPC-C online transaction processing benchmark. 1999. http://www.tpc.org/tpcc.
46
 
47
48
 
49
 
50
51

CITED BY  7

Collaborative Colleagues:
Manuel Costa: colleagues
Miguel Castro: colleagues
Lidong Zhou: colleagues
Lintao Zhang: colleagues
Marcus Peinado: colleagues