ACM Home Page
Please provide us with feedback. Feedback
Automatic discovery of API-level exploits
Full text PdfPdf (510 KB)
Source International Conference on Software Engineering archive
Proceedings of the 27th international conference on Software engineering table of contents
St. Louis, MO, USA
SESSION: Security table of contents
Pages: 312 - 321  
Year of Publication: 2005
ISBN:1-59593-963-2
Authors
Vinod Ganapathy  University of Wisconsin-Madison, Madison, WI
Sanjit A. Seshia  Carnegie Mellon University, Pittsburgh, PA
Somesh Jha  University of Wisconsin-Madison, Madison, WI
Thomas W. Reps  University of Wisconsin-Madison, Madison, WI
Randal E. Bryant  Carnegie Mellon University, Pittsburgh, PA
Sponsors
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 60,   Citation Count: 3
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/1062455.1062518
What is a DOI?

ABSTRACT

We argue that finding vulnerabilities in software components is different from finding exploits against them. Exploits that compromise security often use several low-level details of the component, such as layouts of stack frames. Existing software analysis tools, while effective at identifying vulnerabilities, fail to model low-level details, and are hence unsuitable for exploit-finding.We study the issues involved in exploit-finding by considering application programming interface (API) level exploits. A software component is vulnerable to an API-level exploit if its security can be compromised by invoking a sequence of API operations allowed by the component. We present a framework to model low-level details of APIs, and develop an automatic technique based on bounded, infinite-state model checking to discover API-level exploits.We present two instantiations of this framework. We show that format-string exploits can be modeled as API-level exploits, and demonstrate our technique by finding exploits against vulnerabilities in widely-used software. We also use the framework to model a cryptographic-key management API (the IBM CCA) and demonstrate a tool that identifies a previously known exploit.


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
2
3
 
4
 
5
 
6
M. Bond. A chosen key difference attack on control vectors. Manuscript, November 2000. http://www.cl.cam.ac.uk/ mkb23/research/CVDif.pdf.
7
 
8
9
10
 
11
E. M. Clarke, D. Kroening, and F. Lerda. A tool for checking ANSI-C programs. In Proc. 10th TACAS, 2004.
 
12
C. Cowan, M. Barringer, S. Beattie, G. Kroah-Hartman, M. Frantzen, and J. Lokier. FormatGuard: Automatic protection from printf format-string vulnerabilities. In Proc. 10th Security Symp. USENIX, 2001.
13
 
14
 
15
D. Dolev and A. Yao. On the security of public key protocols. IEEE Transactions on Information Theory, 29(2):198--208, 1983.
 
16
D. Engler, B. Chelf, A. Chou, and S. Hallem. Checking system rules using system-specific, programmer-written compiler extensions. In Proc. 4th OSDI. ACM/USENIX, 2000.
 
17
D. F. Ferraiolo and D. R. Kuhn. Role based access control. In 15th National Computer Security Conference, October 1992.
18
 
19
V. Ganapathy, S. A. Seshia, S. Jha, T. W. Reps, and R. E. Bryant. Automatic discovery of API-level vulnerabilities. Technical Report 1512, CS Dept., Univ. of Wisconsin, 2004. http://www.cs.wisc.edu/wisa/papers/tr1512/tr1512.pdf.
20
21
 
22
23
 
24
25
26
 
27
 
28
C. Meadows. The NRL Protocol Analyzer: An overview. Journal of Logic Programming, 26(2):113--131, 1996.
29
 
30
T. Newsham. Format string attacks. www.securityfocus.com/guest/3342.
 
31
SecurityFocus. Qualcomm qpopper vulnerability. www.securityfocus.com/advisories/2271.
 
32
 
33
U. Shankar, K. Talwar, J. S. Foster, and D. Wagner. Automated detection of format-string vulnerabilities using type qualifiers. In Proc. 10th Security Symp. USENIX, 2001.
 
34
Siege SAT solver. http://www.cs.sfu.ca/loryan/personal.
 
35
36
 
37
A. Thuemmel. Analysis of format string bugs. Manuscript, 2001. http://downloads.securityfocus.com/library/format-bug-analysis.pdf.
 
38
 
39
D. Wagner, J. S. Foster, E. Brewer, and A. Aiken. A first step towards automated detection of buffer overrun vulnerabilities. In Proc. NDSS. ISOC, 2000.
40


Collaborative Colleagues:
Vinod Ganapathy: colleagues
Sanjit A. Seshia: colleagues
Somesh Jha: colleagues
Thomas W. Reps: colleagues
Randal E. Bryant: colleagues