Visible to the public Efficient and Flexible Discovery of PHP Application Vulnerabilities

TitleEfficient and Flexible Discovery of PHP Application Vulnerabilities
Publication TypeConference Paper
Year of Publication2017
AuthorsBackes, M., Rieck, K., Skoruppa, M., Stock, B., Yamaguchi, F.
Conference Name2017 IEEE European Symposium on Security and Privacy (EuroS P)
Date PublishedApril 2017
PublisherIEEE
ISBN Number978-1-5090-5762-7
Keywordscode 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.

URLhttp://ieeexplore.ieee.org/document/7961989/
DOI10.1109/EuroSP.2017.14
Citation Keybackes_efficient_2017