Efficient and Flexible Discovery of PHP Application Vulnerabilities
Title | Efficient and Flexible Discovery of PHP Application Vulnerabilities |
Publication Type | Conference Paper |
Year of Publication | 2017 |
Authors | Backes, M., Rieck, K., Skoruppa, M., Stock, B., Yamaguchi, F. |
Conference Name | 2017 IEEE European Symposium on Security and Privacy (EuroS P) |
Date Published | April 2017 |
Publisher | IEEE |
ISBN Number | 978-1-5090-5762-7 |
Keywords | code property graphs, Cross Site Scripting, Cross Site Scripting (XSS), Databases, graph database, graph theory, Human Behavior, human factor, human factors, information flow analysis, Internet, interprocedural analysis technique, Open Source Software, PHP, PHP application vulnerabilities, Programming, programming language, pubcrawl, resilience, Resiliency, Scalability, security, Servers, SQL Injection, Structured Query Language, Syntactics, vulnerability scanner, Web applications |
Abstract | The Web today is a growing universe of pages and applications teeming with interactive content. The security of such applications is of the utmost importance, as exploits can have a devastating impact on personal and economic levels. The number one programming language in Web applications is PHP, powering more than 80% of the top ten million websites. Yet it was not designed with security in mind and, today, bears a patchwork of fixes and inconsistently designed functions with often unexpected and hardly predictable behavior that typically yield a large attack surface. Consequently, it is prone to different types of vulnerabilities, such as SQL Injection or Cross-Site Scripting. In this paper, we present an interprocedural analysis technique for PHP applications based on code property graphs that scales well to large amounts of code and is highly adaptable in its nature. We implement our prototype using the latest features of PHP 7, leverage an efficient graph database to store code property graphs for PHP, and subsequently identify different types of Web application vulnerabilities by means of programmable graph traversals. We show the efficacy and the scalability of our approach by reporting on an analysis of 1,854 popular open-source projects, comprising almost 80 million lines of code. |
URL | http://ieeexplore.ieee.org/document/7961989/ |
DOI | 10.1109/EuroSP.2017.14 |
Citation Key | backes_efficient_2017 |
- PHP application vulnerabilities
- web applications
- vulnerability scanner
- Syntactics
- Structured Query Language
- SQL injection
- Servers
- security
- Scalability
- Resiliency
- resilience
- pubcrawl
- Programming Language
- programming
- code property graphs
- PHP
- Open Source Software
- interprocedural analysis technique
- internet
- information flow analysis
- Human Factors
- human factor
- Human behavior
- graph theory
- graph database
- Databases
- Cross Site Scripting (XSS)
- Cross Site Scripting