Automatic discovery of API-level exploits

1Citations
Citations of this article
39Readers
Mendeley users who have this article in their library.
Get full text

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 demon-strate a tool that identifies a previously known exploit. Copyright 2005 ACM.

Cite

CITATION STYLE

APA

Ganapathy, V., Seshia, S. A., Jha, S., Reps, T. W., & Bryant, R. E. (2005). Automatic discovery of API-level exploits. In Proceedings - 27th International Conference on Software Engineering, ICSE05 (pp. 312–321). Association for Computing Machinery. https://doi.org/10.1145/1062455.1062518

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free