Lexar: Generating String Inputs for Loop-Exploiting Attacks via Evolutionary Techniques

Suresh Thummalapenta,Guofei Jiang,Franjo Ivancic,Sriram Sankaranarayanan,Tao Xie
2010-01-01
Abstract:Application-level security attacks refer to the category of attacks that exploit vulnerabilities in an application’s code. Among various kinds of these attacks, two important types of attacks, CPU exhaustion and buffer-overflow attacks, exploit loops in the application and are referred to as loopexploiting attacks. It is quite challenging to generate inputs that can launch loop-exploiting attacks, since these inputs belong to only a small portion of the entire input space. To address this challenge, we propose a general framework, called Lexar, that includes both static and dynamic analyses. More specifically, Lexar uses static analysis to identify source-code portions that are vulnerable for loop-exploiting attacks. Lexar next uses dynamic analysis to generate inputs that can cause loop-exploiting attacks. To effectively deal with loops during dynamic analysis, Lexar uses evolutionary techniques guided by a fitness function computed based on the executed number of loop iterations. In our evaluations, we show that Lexar confirms known CPU exhaustion vulnerabilities in four popular applications. We also show that Lexar performs better than an existing related approach for buffer-overflow vulnerabilities and detects two new unknown buffer-overflow vulnerabilities.
What problem does this paper attempt to address?