skip to main content
10.1145/2857705.2857723acmconferencesArticle/Chapter ViewAbstractPublication PagescodaspyConference Proceedingsconference-collections
research-article

Hacking the DBMS to Prevent Injection Attacks

Authors Info & Claims
Published:09 March 2016Publication History

ABSTRACT

After more than a decade of research, web application security continues to be a challenge and the backend database the most appetizing target. The paper proposes preventing injection attacks against the database management system (DBMS) behind web applications by embedding protections in the DBMS itself. The motivation is twofold. First, the approach of embedding protections in operating systems and applications running on top of them has been effective to protect this software. Second, there is a semantic mismatch between how SQL queries are believed to be executed by the DBMS and how they are actually executed, leading to subtle vulnerabilities in prevention mechanisms. The approach -- SEPTIC -- was implemented in MySQL and evaluated experimentally with web applications written in PHP and Java/Spring. In the evaluation SEPTIC has shown neither false negatives nor false positives, on the contrary of alternative approaches, causing also a low performance overhead in the order of 2.2%.

References

  1. Spring framework, 2014. http://spring.io/.Google ScholarGoogle Scholar
  2. B. Ahuja, A. Jana, A. Swarnkar, and R. Halder. On preventing SQL injection attacks. Advanced Computing and Systems for Security, 395:49--64, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  3. S. Bandhakavi, P. Bisht, P. Madhusudan, and V. N. Venkatakrishnan. CANDID: preventing SQL injection attacks using dynamic candidate evaluations. In Proceedings of the 14th ACM Conference on Computer and Communications Security, pages 12--24, Oct. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BBC Technology. Millions of websites hit by Drupal hack attack, Oct. 2014. http://www.bbc.com/news/technology-29846539.Google ScholarGoogle Scholar
  5. T. Berners-Lee, R. Fielding, and L. Masinter. Uniform resource identifier (URI): Generic syntax. IETF Request for Comments: RFC 3986, Jan. 2005.Google ScholarGoogle Scholar
  6. S. W. Boyd and A. D. Keromytis. SQLrand: Preventing SQL injection attacks. In Proceedings of the 2nd Applied Cryptography and Network Security Conference, pages 292--302, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  7. G. T. Buehrer, B. W. Weide, and P. Sivilotti. Using parse tree validation to prevent SQL injection attacks. In Proceedings of the 5th International Workshop on Software Engineering and Middleware, pages 106--113, Sept. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. E. Cecchet, V. Udayabhanu, T. Wood, and P. Shenoy. Benchlab: An open testbed for realistic benchmarking of web applications. In Proceedings of the 2nd USENIX Conference on Web Application Development, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Clarke. SQL Injection Attacks and Defense. Syngress, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. CVE. http://cve.mitre.org.Google ScholarGoogle Scholar
  11. A. Douglen. SQL smuggling or, the attack that wasn't there. Technical report, COMSEC Consulting, Information Security, 2007.Google ScholarGoogle Scholar
  12. M. Dowd, J. Mcdonald, and J. Schuh. Art of Software Security Assessment. Pearson Professional Education, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. W. Halfond and A. Orso. AMNESIA: analysis and monitoring for neutralizing SQL-injection attacks. In Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, pages 174--183, Nov. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. W. Halfond, A. Orso, and P. Manolios. WASP: protecting web applications using positive tainting and syntax-aware evaluation. IEEE Transactions on Software Engineering, 34(1):65--81, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Howard and D. LeBlanc. Writing Secure Code for Windows Vista. Microsoft Press, 1st edition, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. ICS-CERT. Incident response/vulnerability coordination in 2014. ICS-CERT Monitor, Set.-Feb. 2015.Google ScholarGoogle Scholar
  17. Imperva. Hacker intelligence initiative, monthly trend report#8. Apr. 2012.Google ScholarGoogle Scholar
  18. JSoup. http://jsoup.org.Google ScholarGoogle Scholar
  19. M. Koschany. Debian hardening, 2013. https://wiki.debian.org/ Hardening.Google ScholarGoogle Scholar
  20. W. Masri and S. Sleiman. SQLPIL: SQL injection prevention by input labeling. Security and Communication Networks, 8(15):2545--2560, 2015.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Measureit. https://code.google.com/p/measureit/.Google ScholarGoogle Scholar
  22. I. Medeiros, N. F. Neves, and M. Correia. Automatic detection and correction of web application vulnerabilities using data mining to predict false positives. In Proceedings of the International World Wide Web Conference, pages 63--74, Apr. 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. G. Modelo-Howard, C. Gutierrezand, F. Arshad, S. Bagchi, and Y. Qi. Psigene: Webcrawling to generalize SQL injection signatures. In Proceedings of the 44th IEEE/IFIP International Conference on Dependable Systems and Networks, June 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. OSVDB. http://osvdb.org.Google ScholarGoogle Scholar
  25. PHP Address Book. http://php-addressbook.sourceforge.net.Google ScholarGoogle Scholar
  26. T. Pietraszek and C. V. Berghe. Defending against injection attacks through context-sensitive string evaluation. In Proceedings of the 8th International Conference on Recent Advances in Intrusion Detection, pages 124--145, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. D. Ray and J. Ligatti. Defining code-injection attacks. In Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 179--190, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. refbase. http://http://www.refbase.net.Google ScholarGoogle Scholar
  29. Search Security TechTarget. Wordpress vulnerable to stored XSS, Apr. 2015. http://searchsecurity.techtarget.com/news/4500245137/ WordPress-vulnerable-to-stored-XSS-researchers-find.Google ScholarGoogle Scholar
  30. SolidIT. DB-Engines Ranking. http://db-engines.com/en/ranking, accessed Aug. 10th, 2015.Google ScholarGoogle Scholar
  31. S. Son, K. S. McKinley, and V. Shmatikov. Diglossia: detecting code injection attacks with precision and efficiency. In Proceedings of the 20th ACM Conference on Computer and Communications Security, pages 1181--1192, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Spring. http://docs.spring.io/spring/docs/2.5.4/reference/aop.html.Google ScholarGoogle Scholar
  33. sqlmap. https://github.com/sqlmapproject/testenv/tree/master/mysql.Google ScholarGoogle Scholar
  34. Z. Su and G. Wassermann. The essence of command injection attacks in web applications. In Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 372--382, Jan. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Trustwave SpiderLabs. ModSecurity - Open Source Web Application Firewall. http://www.modsecurity.org.Google ScholarGoogle Scholar
  36. WebChess. http://sourceforge.net/projects/webchess/.Google ScholarGoogle Scholar
  37. J. Williams and D. Wichers. OWASP Top 10: The ten most critical web application security risks. Technical report, OWASP Foundation, 2013.Google ScholarGoogle Scholar
  38. W. Xu, S. Bhatkar, and R. Sekar. Practical dynamic taint analysis for countering input validation attacks on web applications. Technical Report SECLAB-05-04, Department of Computer Science, Stony Brook University, 2005.Google ScholarGoogle Scholar
  39. ZeroCMS. Content management system built using PHP and MySQL. http://www.aas9.in/zerocms/.Google ScholarGoogle Scholar

Index Terms

  1. Hacking the DBMS to Prevent Injection Attacks

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          CODASPY '16: Proceedings of the Sixth ACM Conference on Data and Application Security and Privacy
          March 2016
          340 pages
          ISBN:9781450339353
          DOI:10.1145/2857705

          Copyright © 2016 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 9 March 2016

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          CODASPY '16 Paper Acceptance Rate22of115submissions,19%Overall Acceptance Rate149of789submissions,19%

          Upcoming Conference

          CODASPY '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader