Open Access Open Access  Restricted Access Subscription Access

Testing Program for Security using Symbolic Execution and Exception Injection


Affiliations
1 Aligarh Muslim University
2 Jamia Millia Islamia, India
3 Jamia Millia Islamia
 

Symbolic execution is one of the most popular automated testing techniques for program verification and test case generation. It assures exhaustive path  coverage by generating and resolving path constraints on each branch, effectively covering untested paths or gray areas that often lead to security vulnerabilities. Thus, symbolic execution is recognized as one of the most effective techniques for uncovering code vulnerabilities. Here, we consider special case of security vulnerabilities, which are raised due to improper error handling, such as resource leakage, program crash and program inconsistency. Finding these vulnerabilities during application development will check misuse of applications and hence will add more quality to the application. In this paper, authors propose a framework Symexc that tests and verifies if such vulnerabilities exist in the program using symbolic execution and exception injection. Further, the paper demonstrates the implementation of the framework, followed by its validation on some java programs.

Keywords

Symbolic Execution, Denial of Service, Improper Error Handling, Program Crash, Resource Leakage, Program Inconsistency
User

Abstract Views: 214

PDF Views: 0




  • Testing Program for Security using Symbolic Execution and Exception Injection

Abstract Views: 214  |  PDF Views: 0

Authors

Faisal Anwer
Aligarh Muslim University
Mohd Nazir
Jamia Millia Islamia, India
Khurram Mustafa
Jamia Millia Islamia

Abstract


Symbolic execution is one of the most popular automated testing techniques for program verification and test case generation. It assures exhaustive path  coverage by generating and resolving path constraints on each branch, effectively covering untested paths or gray areas that often lead to security vulnerabilities. Thus, symbolic execution is recognized as one of the most effective techniques for uncovering code vulnerabilities. Here, we consider special case of security vulnerabilities, which are raised due to improper error handling, such as resource leakage, program crash and program inconsistency. Finding these vulnerabilities during application development will check misuse of applications and hence will add more quality to the application. In this paper, authors propose a framework Symexc that tests and verifies if such vulnerabilities exist in the program using symbolic execution and exception injection. Further, the paper demonstrates the implementation of the framework, followed by its validation on some java programs.

Keywords


Symbolic Execution, Denial of Service, Improper Error Handling, Program Crash, Resource Leakage, Program Inconsistency



DOI: https://doi.org/10.17485/ijst%2F2016%2Fv9i19%2F133001