Automated Test Generation from Vulnerability Signatures
Title | Automated Test Generation from Vulnerability Signatures |
Publication Type | Conference Paper |
Year of Publication | 2014 |
Authors | Aydin, A., Alkhalaf, M., Bultan, T. |
Conference Name | Software Testing, Verification and Validation (ICST), 2014 IEEE Seventh International Conference on |
Date Published | March |
Keywords | Algorithm design and analysis, Approximation methods, attack string discovery, authoring languages, Automata, automata theory, automata-based static string analysis techniques, automata-based test generation, automated test case generation, automatic vulnerability signature computation, Databases, digital signatures, HTML, insecure Web applications, path coverage, program diagnostics, program testing, scripting languages, security, state, static string analysis undecidability, string analysis, Testing, transition, validation and sanitization, vulnerability signatures, web services |
Abstract | Web applications need to validate and sanitize user inputs in order to avoid attacks such as Cross Site Scripting (XSS) and SQL Injection. Writing string manipulation code for input validation and sanitization is an error-prone process leading to many vulnerabilities in real-world web applications. Automata-based static string analysis techniques can be used to automatically compute vulnerability signatures (represented as automata) that characterize all the inputs that can exploit a vulnerability. However, there are several factors that limit the applicability of static string analysis techniques in general: 1) undesirability of static string analysis requires the use of approximations leading to false positives, 2) static string analysis tools do not handle all string operations, 3) dynamic nature of the scripting languages makes static analysis difficult. In this paper, we show that vulnerability signatures computed for deliberately insecure web applications (developed for demonstrating different types of vulnerabilities) can be used to generate test cases for other applications. Given a vulnerability signature represented as an automaton, we present algorithms for test case generation based on state, transition, and path coverage. These automatically generated test cases can be used to test applications that are not analyzable statically, and to discover attack strings that demonstrate how the vulnerabilities can be exploited. |
URL | https://ieeexplore.ieee.org/document/6823881 |
DOI | 10.1109/ICST.2014.32 |
Citation Key | 6823881 |
- insecure Web applications
- web services
- vulnerability signatures
- validation and sanitization
- transition
- testing
- string analysis
- static string analysis undecidability
- state
- security
- scripting languages
- program testing
- program diagnostics
- path coverage
- Algorithm design and analysis
- HTML
- digital signatures
- Databases
- automatic vulnerability signature computation
- automated test case generation
- automata-based test generation
- automata-based static string analysis techniques
- automata theory
- automata
- authoring languages
- attack string discovery
- Approximation methods