Runtime Input Validation for Java Web Applications Using Static Bytecode Instrumentation
Title | Runtime Input Validation for Java Web Applications Using Static Bytecode Instrumentation |
Publication Type | Conference Paper |
Year of Publication | 2016 |
Authors | Cho, Sangwook, Kim, Gyoosik, Cho, Seong-je, Choi, Jongmoo, Park, Minkyu, Han, Sangchul |
Conference Name | Proceedings of the International Conference on Research in Adaptive and Convergent Systems |
Publisher | ACM |
Conference Location | New York, NY, USA |
ISBN Number | 978-1-4503-4455-5 |
Keywords | bytecode instrumentation, data privacy, Human Behavior, input validation, Java web application, Metrics, path traversal, privacy, pubcrawl, Resiliency, SQL Injection, SQL injection attack |
Abstract | As web applications is becoming more prominent due to the ubiquity of web services, web applications have become main targets for attackers. In order to steal or leak sensitive user data managed by web applications, attackers exploit a wide range of input validation vulnerabilities such as SQL injection, path traversal (or directory traversal), cross-site scripting (XSS), etc. This paper propose a technique that can verify input values of Java-based web applications using static bytecode instrumentation and runtime input validation. The technique searches for target methods or object constructors in compiled Java class files, and statically inserts bytecode modules. At runtime, the instrumented bytecode modules validate input values of the targets, and take countermeasure against malicious inputs. The proposed technique can mitigate the input validation vulnerabilities in Java-based web applications without source codes. To evaluate the effectiveness of the proposed technique, experiments are carried out with an insecure web application maintained by OWASP WebGoat Project. The experimental results show that the proposed technique successfully mitigates input validation vulnerabilities such as SQL injection and path traversal. |
URL | http://doi.acm.org/10.1145/2987386.2987432 |
DOI | 10.1145/2987386.2987432 |
Citation Key | cho_runtime_2016 |