Abstract
In this paper, we present the most critical security risk of vulnerable web applications, SQL injection attack. We design a system based on machine learning for preventing SQL injection attack, which utilizes pattern classifiers to detect injection attacks and protect web applications. The system captures parameters of HTTP requests, and converts them into numeric attributes. Numeric attributes include the length of parameters and the number of keywords of parameters. Using these attributes, the system classifies the parameters by Bayesian classifier for judging whether parameters are injection patterns. If any SQL injection pattern is found, the TCP connection between the attacker and server will be terminated immediately. As a learning-based method, it is necessary to have a training phase before the detection and prevention. We also present a tool that generates massive injection and legitimate patterns automatically by randomization and combination. We evaluated this method with various different types of injection patterns, and evaluated the actual effect with a popular SQL injection attack tool named Sqlmap. The results of evaluation show that proposed system was able to prevent SQL injection attack with a simple mechanism and high positive detection rate.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have