Model checking techniques for vulnerability analysis of Web applications
Date
Authors
Major Professor
Advisor
Committee Member
Journal Title
Journal ISSN
Volume Title
Publisher
Authors
Research Projects
Organizational Units
Computer Science—the theory, representation, processing, communication and use of information—is fundamentally transforming every aspect of human endeavor. The Department of Computer Science at Iowa State University advances computational and information sciences through; 1. educational and research programs within and beyond the university; 2. active engagement to help define national and international research, and 3. educational agendas, and sustained commitment to graduating leaders for academia, industry and government.
History
The Computer Science Department was officially established in 1969, with Robert Stewart serving as the founding Department Chair. Faculty were composed of joint appointments with Mathematics, Statistics, and Electrical Engineering. In 1969, the building which now houses the Computer Science department, then simply called the Computer Science building, was completed. Later it was named Atanasoff Hall. Throughout the 1980s to present, the department expanded and developed its teaching and research agendas to cover many areas of computing.
Dates of Existence
1969-present
Related Units
- College of Liberal Arts and Sciences (parent college)
Journal Issue
Is Version Of
Versions
Series
Department
Abstract
Injection Attacks exploit vulnerabilities of Web pages by inserting and executing malicious code (e.g., database query, Javascript functions) in unsuspecting users' computing environment or on a Web server. Such attacks compromise users' information and system resources, and pose a serious threat to personal and business assets. Methods have been devised to counter attacks and/or detect vulnerabilities to injection attacks in queries and/or in application source code. We define a classification for these query and application level methods and use this to classify a representative body of works that address injection attacks. We investigate and develop a framework where queries and vulnerable fragments of applications (written in query and application languages) are identified and analyzed offline (statically), and at runtime the vulnerable fragments are monitored to detect possible injection attacks. At its core, our framework leverages model checking, program analysis and concolic testing. Results show the effectiveness of our framework compared to the existing ones in three dimensions: first, our framework can detect vulnerabilities that go undetected when existing methods are used; second, our framework makes offline analysis of applications time efficient; and finally, our framework reduces the runtime monitoring overhead by focusing only on query conditions and application fragments that are vulnerable to injection attacks.