“Detecting and Removing Web Application Vulnerabilities with Static Analysis and Data Mining”

From Navigators

(Difference between revisions)
Jump to: navigation, search
(Created page with "{{Publication |type=article |document=Document for Publication-IEEETR15.pdf |title=Detecting and Removing Web Application Vulnerabilities with Static Analysis and Data Mining |au...")
Line 3: Line 3:
|document=Document for Publication-IEEETR15.pdf
|document=Document for Publication-IEEETR15.pdf
|title=Detecting and Removing Web Application Vulnerabilities with Static Analysis and Data Mining
|title=Detecting and Removing Web Application Vulnerabilities with Static Analysis and Data Mining
-
|author=Ibéria Medeiros, Nuno Ferreira Neves, Miguel Correia,  
+
|author=Ibéria Medeiros, Nuno Ferreira Neves, Miguel Correia,
-
|Project=Project:SEGRID,  
+
|Project=Project:SEGRID,
|ResearchLine=Fault and Intrusion Tolerance in Open Distributed Systems (FIT)
|ResearchLine=Fault and Intrusion Tolerance in Open Distributed Systems (FIT)
|year=2015
|year=2015
Line 29: Line 29:
lines of code. Its accuracy and precision were approximately 5%
lines of code. Its accuracy and precision were approximately 5%
better than PhpMinerII’s and 45% better than Pixy’s.
better than PhpMinerII’s and 45% better than Pixy’s.
-
|journal=IEEE Transactions on Reliability
+
|journal=IEEE Transactions on Reliability, accepted for publication
}}
}}

Revision as of 05:12, 1 May 2015

Ibéria Medeiros, Nuno Ferreira Neves, Miguel Correia

IEEE Transactions on Reliability, accepted for publication, 2015.

Abstract: Although a large research effort has been going on for more than a decade, the security of web applications continues to be a challenging problem. An important part of that problem derives from vulnerable source code, often written in unsafe languages like PHP. Source code static analysis tools are a solution to find vulnerabilities, but they tend to generate false positives and require considerable effort for programmers to manually fix the code. We explore the use of a combination of methods to discover vulnerabilities in source code with less false positives. We combine taint analysis, which finds candidate vulnerabilities, with data mining, in order to predict the existence of false positives. This approach brings together two approaches that are apparently orthogonal: humans coding the knowledge about vulnerabilities (for taint analysis) versus automatically obtaining that knowledge (with machine learning, for data mining). Given this enhanced form of detection, we propose doing automatic code correction by inserting fixes in the source code. Our approach was implemented in the WAP tool and an experimental evaluation was performed with a large set of PHP applications. Our tool found 388 vulnerabilities in 1.4 million lines of code. Its accuracy and precision were approximately 5% better than PhpMinerII’s and 45% better than Pixy’s.

Download paper

Download Detecting and Removing Web Application Vulnerabilities with Static Analysis and Data Mining

Export citation

BibTeX

Project(s): Project:SEGRID

Research line(s): Fault and Intrusion Tolerance in Open Distributed Systems (FIT)

Personal tools
Navigators toolbox