1. Analyzing system software components using API model guided symbolic execution.
- Author
-
Yavuz, Tuba and Bai, Ken (Yihang)
- Subjects
SYSTEMS software ,SOFTWARE frameworks ,APPLICATION program interfaces ,COMPUTER software execution - Abstract
Analyzing real-world software is challenging due to complexity of the software frameworks or APIs they depend on. In this paper, we present a tool, PROMPT, that facilitates the analysis of software components using API model guided symbolic execution. PROMPT has a specification component, PROSE, that lets users define an API model, which consists of a set of data constraints and life-cycle rules that define control-flow constraints among sequentially composed API functions. Given a PROSE model and a software component, PROMPT symbolically executes the component while enforcing the specified API model. PROMPT has been implemented on top of the KLEE symbolic execution engine and has been applied to Linux device drivers from the video, sound, and network subsystems and to some vulnerable components of BlueZ, the implementation of the Bluetooth protocol stack for the Linux kernel. PROMPT detected two new and four known memory vulnerabilities in some of the analyzed system software components. [ABSTRACT FROM AUTHOR]
- Published
- 2020
- Full Text
- View/download PDF