Academia.eduAcademia.edu

Outline

Automatic Testing of Program Security Vulnerabilities

2009

https://doi.org/10.1109/COMPSAC.2009.191

Abstract

Vulnerabilities in applications and their widespread exploitation through successful attacks are common these days. Testing applications for preventing vulnerabilities is an important step to address this issue. In recent years, a number of security testing approaches have been proposed. However, there is no comparative study of these work that might help security practitioners select an appropriate approach for their needs. Moreover, there is no comparison with respect to automation capabilities of these approaches. In this work, we identify seven criteria to analyze program security testing work. These are vulnerability coverage, source of test cases, test generation method, level of testing, granularity of test cases, testing automation, and target applications. We compare and contrast prominent security testing approaches available in the literature based on these criteria. In particular, we focus on work that address four most common but dangerous vulnerabilities namely buffer overflow, SQL injection, format string bug, and cross site scripting. Moreover, we investigate automation features available in these work across a security testing process. We believe that our findings will provide practical information for security practitioners in choosing the most appropriate tools.

References (39)

  1. Common Vulnerabilities and Exposures, http://cve.mitre.org
  2. Open Source Vulnerability Database, http://osvdb.org.
  3. The Open Web Application Security Project (OWASP), http://www.owasp.org/index.php/Top_10_2007.
  4. Aleph One, "Smashing the Stack for Fun and Profit", Phrack Magazine, Volume 7, Issue 49, Nov 1996. http://www.phrack.org/archives/49/P49-14
  5. W. G. Halfond, J. Viegas, and A. Orso, "A Classification of SQL-Injection Attacks and Countermeasures", In Proc. of the Intern. Symposium on Secure Software Engineering (ISSSE 2006), March 2006.
  6. Scut/team teso, "Exploiting Format String Vulnerabilities", 2001, http://doc.bughunter.net/format-string/exploit-fs.html
  7. G. Zuchlinski, "The Anatomy of Cross Site Scripting", November 2003.
  8. M. Dowd, J. McDonald, and J. Schuh, The Art of Software Security Assessment, Addision-Wesley publications, 2007.
  9. A. Mathur, Foundations of Software Testing, First edition, Pearson Education, 2008.
  10. R. Xu, P. Godefroid, and R. Majumdar, "Testing for Buffer Overflows with Length Abstraction", Proceedings of the International Symposium on Software Testing and Analysis, Seattle, WA, July 2008, pp. 27-38.
  11. P. Vilela, M. Machado, and E. Wong, "Testing for Security Vulnerabilities in Software", Proceeding of Software Engineering and Applications (SEA 2002), Cambridge, USA, November 2002.
  12. O. Tal, S. Knight, and T. Dean, "Syntax-based Vulnerabilities Testing of Frame-based Network Protocols", In Proceedings of the 2nd Annual Conference on Privacy, Security and Trust, Fredericton, October 2004, pp. 155-160
  13. Tappenden, A. Beatty, P. Miller, J. Geras, A., and Smith, M., "Agile Security Testing of Web-based Systems via HTTPUnit", Proceedings of Agile Development Conference (ADC), Denver, Colorado, July 2005, pp. 29-38.
  14. Pari Salas, Krishnan, K.J Ross, "Model-Based Security Vulnerability Testing", In Proceedings of Australian Software Engineering Conference, Australia, 2007, pp. 284-296
  15. Yao-Wen Huang; Chung-Hung Tsai; Lee, D.T.; Sy-Yen Kuo; "Non-Detrimental Web Application Security Scanning", Proceedings of the 15 th International Symposium on Software Reliability Engineering, France, Nov. 2004, pp. 219-230.
  16. S. Kals, E. Krida, C. Kruegel, and N. Jovanovic, "SecuBat: A Web Vulnerability Scanner", Proceedings of the 15 th International Conference on World Wide Web, Edinburgh, Scotland, May 2006, pp. 247-256.
  17. Ben Breech and Lori Pollock, "A Framework for Testing Security Mechanisms for Program-based Attacks", Proceedings of the 2005 Workshop on Software Engineering for Secure Systems-Building Trustworthy Applications, St. Louis, Missouri, pp. 1-7.
  18. Yao-Wen Huang; Chung-Hung Tsai; Lee, D.T.; Sy-Yen Kuo; "Non-Detrimental Web Application Security Scanning", Proceedings of the 15 th International Symposium on Software Reliability Engineering, France, Nov. 2004 pp. 219-230.
  19. Y. Kosuga, K. Kono, M. Hanaoka, M. Hishiyama, Y. Takahama, "Sania: Syntactic and Semantic Analysis for Automated Testing against SQL Injection", In Proceedings of the 23 rd Annual Computer Security Applications Conference, 2007, Miami, December 2007, pp. 107-117.
  20. Adam Kieżun, Philip J. Guo, Karthick Jayaraman, and Michael D. Ernst, "Automatic creation of SQL injection and cross-site scripting attacks", MIT Computer Science and Artificial Intelligence Laboratory technical report MIT- CSAIL-TR-2008-054, Cambridge, MA, September, 2008.
  21. Offutt, J.; Wu, Ye.; Du, X.; Huang, H., "Bypass Testing of Web Applications", In Proceedings of the 15 th International Symposium on Software Reliability Engineering, France, November 2004, pp. 187-197.
  22. Sean Mcallister, Engin Kirda, and Christopher Kruegel, "Leveraging User Interactions for In-Depth Testing of Web Applications", Proceedings of the 11 th International Symposium on Recent Advances in Intrusion Detection, 2008, Massachusetts, USA, pp. 191-210.
  23. E. Fong, R. Gaucher, V. Okun, P. Black, "Building A Test Suite for Web Application Scanners", Proceedings of the 41 st Hawaii International. Conference on System Sciences (HICSS'08), Hawaii, January 2008, pp. 478-485.
  24. Jose Fonseca, Marco Vieira, and Henrique Madeira, "Testing and Comparing Web Vulnerability Scanning Tools for SQL Injection and XSS Attacks", In Proceedings of the 13 th Pacific Rim International Symposium on Dependable Computing, Australia, December 2007, pp. 365-372.
  25. G. Vigna, W. Robertson, D. Balzarotti, "Testing Network- based Intrusion Detection Signature Using Mutant Exploits", In Proceedings of the ACM Conference on Computer and Communication Security (ACM CCS), October 2004, Washington DC, pp. 21-30.
  26. FlawFinder, Available: http://www.dwheeler.com/flawfinder/
  27. D. Evans and D. Larochelle, "Improving Security Using Extensible Lightweight Static Analysis", IEEE Software, 19(1):42-51, 2002.
  28. U. Shankar, K. Talwar, J. Foster, and D. Wagner, "Detecting Format String Vulnerabilities with Type Qualifiers", In Proceedings of 10 th USENIX Security Symposium, August 2001, Washington, pp. 201-218.
  29. G. Wassermann and Z. Su, "Static Detection of Cross-site Scripting Vulnerabilities", Proceedings of the 30 th ICSE, Leipzig, Germany, May 2008, pp. 171-180.
  30. V. Benjamin Livshits and Monica S. Lam, "Finding Security Vulnerabilities in Java Applications with Static Analysis", Proceedings of the 14 th Conference on USENIX Security Symposium, Baltimore, MD, August 2005, pp 18-18.
  31. W. Halfond, and A. Orso, "AMNESIA: Analysis and Monitoring for NEutralizing SQL-Injection Attacks", Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005), Nov 2005, Long Beach, CA, USA, pp.174-183.
  32. G. A. Di Lucca, A. R. Fasolino, M. Mastoianni, and P. Tramontana, "Identifying Cross Site Scripting Vulnerabilities in Web Applications", Proceedings of the Sixth International Workshop on Web Site Evolution (WSE 2004), Chicago, September 2004, pp. 71-80.
  33. S. Thomas and L. Williams, "Using Automated Fix Generation to Secure SQL Statements", Third International Workshop on Software Engineering for Secure Systems (SESS'07), Minneapolis, 2007, pp. 9-14.
  34. J. Lin and J. Chen, "An Automatic Revised Tool for Anti- Malicious Injection", In Proceedings of the 6 th International Conference on Computer and Information Technology (CIT2006), Seoul, Korea, September 2006, pp. 164-169.
  35. H. Shahriar and M. Zulkernine, "Mutation-based Testing of Buffer Overflow Vulnerabilities", To appear in the Proceedings of the Second International Workshop on Security in Software Engineering (IWSSE 2008), IEEE CS Press, Turku, Finland, July 2008, pp. 979-984.
  36. H. Shahriar and M. Zulkernine, "MUSIC: Mutation-based SQL Injection Vulnerability Checking". Proceedings of the Eighth International Conference on Quality Software (QSIC 2008), IEEE CS Press, London, August 2008, pp. 77-86.
  37. H. Shahriar and M. Zulkernine, "Mutation-based Testing of Format String Bugs", Proceedings of 11 th High Assurance Systems Engineering Symposium (HASE 2008), IEEE CS Press, Nanjing, China, December 2008, pp. 229-238
  38. H. Shahriar and M. Zulkernine, "MUTEC: Mutation-based Testing of Cross Site Scripting," To appear in the Proceedings of the 5 th International Workshop on Software Engineering for Secure Systems (SESS), Vancouver, Canada, May 2009.
  39. Felix "FX" Lindner, "Software security is software reliability", Communications of the ACM, Volume 49 , Issue 6, June 2006, pp. 57-61.