Skip to main content
Erschienen in: Empirical Software Engineering 6/2019

Open Access 13.04.2019

Search-based multi-vulnerability testing of XML injections in web applications

verfasst von: Sadeeq Jan, Annibale Panichella, Andrea Arcuri, Lionel Briand

Erschienen in: Empirical Software Engineering | Ausgabe 6/2019

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Modern web applications often interact with internal web services, which are not directly accessible to users. However, malicious user inputs can be used to exploit security vulnerabilities in web services through the application front-ends. Therefore, testing techniques have been proposed to reveal security flaws in the interactions with back-end web services, e.g., XML Injections (XMLi). Given a potentially malicious message between a web application and web services, search-based techniques have been used to find input data to mislead the web application into sending such a message, possibly compromising the target web service. However, state-of-the-art techniques focus on (search for) one single malicious message at a time.
Since, in practice, there can be many different kinds of malicious messages, with only a few of them which can possibly be generated by a given front-end, searching for one single message at a time is ineffective and may not scale. To overcome these limitations, we propose a novel co-evolutionary algorithm (COMIX) that is tailored to our problem and uncover multiple vulnerabilities at the same time. Our experiments show that COMIX outperforms a single-target search approach for XMLi and other multi-target search algorithms originally defined for white-box unit testing.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Fußnoten
1
The name of the company cannot be revealed due to a non-disclosure agreement
 
3
7 app. versions × 4 algorithms × 30 minutes × 30 repetitions = 25200 minutesor 420 hours
 
Literatur
Zurück zum Zitat Appelt D, Nguyen C, Briand CL, Alshahwan N (2014) Automated testing for sql injection vulnerabilities: An input mutation approach. In: 2014 international symposium on software testing and analysis, ISSTA 2014 - Proceedings Appelt D, Nguyen C, Briand CL, Alshahwan N (2014) Automated testing for sql injection vulnerabilities: An input mutation approach. In: 2014 international symposium on software testing and analysis, ISSTA 2014 - Proceedings
Zurück zum Zitat Arcuri A (2017) Many independent objective (MIO) algorithm for test suite generation. In: International symposium on search based software engineering (SSBSE) Arcuri A (2017) Many independent objective (MIO) algorithm for test suite generation. In: International symposium on search based software engineering (SSBSE)
Zurück zum Zitat Arcuri A, Fraser G (2013) Parameter tuning or default values? an empirical investigation in search-based software engineering. Empir Softw Eng 18(3):594–623CrossRef Arcuri A, Fraser G (2013) Parameter tuning or default values? an empirical investigation in search-based software engineering. Empir Softw Eng 18(3):594–623CrossRef
Zurück zum Zitat Avancini A, Ceccato M (2011) Security testing of web applications: A search-based approach for cross-site scripting vulnerabilities. In: 2011 11th IEEE international working conference on source code analysis and manipulation (SCAM), pp 85–94. https://doi.org/10.1109/SCAM.2011.7 Avancini A, Ceccato M (2011) Security testing of web applications: A search-based approach for cross-site scripting vulnerabilities. In: 2011 11th IEEE international working conference on source code analysis and manipulation (SCAM), pp 85–94. https://​doi.​org/​10.​1109/​SCAM.​2011.​7
Zurück zum Zitat Bali K K, Chandra R (2015) Multi-island competitive cooperative coevolution for real parameter global optimization. In: Arik S., Huang T., Lai W. K., Liu Q. (eds) Neural information processing. Springer International Publishing, Cham, pp 127–136CrossRef Bali K K, Chandra R (2015) Multi-island competitive cooperative coevolution for real parameter global optimization. In: Arik S., Huang T., Lai W. K., Liu Q. (eds) Neural information processing. Springer International Publishing, Cham, pp 127–136CrossRef
Zurück zum Zitat Chen Q, Liu B, Zhang Q, Liang J, Suganthan P, Qu B (2014) Problem definition and evaluation criteria for cec 2015 special session and competition on bound constrained single-objective computationally expensive numerical optimization. Tech rep Chen Q, Liu B, Zhang Q, Liang J, Suganthan P, Qu B (2014) Problem definition and evaluation criteria for cec 2015 special session and competition on bound constrained single-objective computationally expensive numerical optimization. Tech rep
Zurück zum Zitat Chess B, West J (2007) Secure programming with static analysis, first edn Addison-Wesley Professional Chess B, West J (2007) Secure programming with static analysis, first edn Addison-Wesley Professional
Zurück zum Zitat Clause J, Orso A (2009) Penumbra: Automatically identifying failure-relevant inputs using dynamic tainting. In: Proceedings of the 18th international symposium on software testing and analysis, ISSTA ’09. https://doi.org/10.1145/1572272.1572301. ACM, New York, pp 249–260 Clause J, Orso A (2009) Penumbra: Automatically identifying failure-relevant inputs using dynamic tainting. In: Proceedings of the 18th international symposium on software testing and analysis, ISSTA ’09. https://​doi.​org/​10.​1145/​1572272.​1572301. ACM, New York, pp 249–260
Zurück zum Zitat Curbera F, Duftler M, Khalaf R, Nagy W, Mukhi N, Weerawarana S (2002) Unraveling the web services web: an introduction to soap, wsdl, and uddi. IEEE Internet Comput 6(2):86–93CrossRef Curbera F, Duftler M, Khalaf R, Nagy W, Mukhi N, Weerawarana S (2002) Unraveling the web services web: an introduction to soap, wsdl, and uddi. IEEE Internet Comput 6(2):86–93CrossRef
Zurück zum Zitat Davis P J, Rabinowitz P (2007) Methods of numerical integration. Courier Corporation Davis P J, Rabinowitz P (2007) Methods of numerical integration. Courier Corporation
Zurück zum Zitat De Jong KA (1975) An analysis of the behavior of a class of genetic adaptive systems, Ph.D. thesis, Ann Arbor. AAI7609381 De Jong KA (1975) An analysis of the behavior of a class of genetic adaptive systems, Ph.D. thesis, Ann Arbor. AAI7609381
Zurück zum Zitat Deb K, Deb D (2014) Analysing mutation schemes for real-parameter genetic algorithms. Int J Artif Intelligence Soft Comput 4(1):1–28MathSciNetCrossRef Deb K, Deb D (2014) Analysing mutation schemes for real-parameter genetic algorithms. Int J Artif Intelligence Soft Comput 4(1):1–28MathSciNetCrossRef
Zurück zum Zitat Felderer M, Büchler M, Johns M, Brucker AD, Breu R, Pretschner A (2016) Chapter one-security testing: a survey. Adv Comput 101:1–51CrossRef Felderer M, Büchler M, Johns M, Brucker AD, Breu R, Pretschner A (2016) Chapter one-security testing: a survey. Adv Comput 101:1–51CrossRef
Zurück zum Zitat Fielding R T (2000) Architectural styles and the design of network-based software architectures. Ph.D. thesis. University of California, Irvine Fielding R T (2000) Architectural styles and the design of network-based software architectures. Ph.D. thesis. University of California, Irvine
Zurück zum Zitat Fraser G, Arcuri A (2014) A large-scale evaluation of automated unit test generation using EvoSuite. ACM Trans Softw Eng Methodol (TOSEM) 24(2):8CrossRef Fraser G, Arcuri A (2014) A large-scale evaluation of automated unit test generation using EvoSuite. ACM Trans Softw Eng Methodol (TOSEM) 24(2):8CrossRef
Zurück zum Zitat Halfond WGJ, Orso A, Manolios P (2006) Using positive tainting and syntax-aware evaluation to counter sql injection attacks. In: Proceedings of the 14th ACM SIGSOFT international symposium on foundations of software engineering, SIGSOFT ’06/FSE-14. https://doi.org/10.1145/1181775.1181797. ACM, New York, pp 175–185 Halfond WGJ, Orso A, Manolios P (2006) Using positive tainting and syntax-aware evaluation to counter sql injection attacks. In: Proceedings of the 14th ACM SIGSOFT international symposium on foundations of software engineering, SIGSOFT ’06/FSE-14. https://​doi.​org/​10.​1145/​1181775.​1181797. ACM, New York, pp 175–185
Zurück zum Zitat Haupt R L, Haupt S E (2004) Practical genetic algorithms. Wiley, New YorkMATH Haupt R L, Haupt S E (2004) Practical genetic algorithms. Wiley, New YorkMATH
Zurück zum Zitat Holm S (1979) A simple sequentially rejective multiple test procedure. Scandinavian journal of statistics, pp 65–70 Holm S (1979) A simple sequentially rejective multiple test procedure. Scandinavian journal of statistics, pp 65–70
Zurück zum Zitat Huang YW, Yu F, Hang C, Tsai CH, Lee DT, Kuo SY (2004) Securing web application code by static analysis and runtime protection. In: Proceedings of the 13th international conference on world wide web, WWW ’04. https://doi.org/10.1145/988672.988679. ACM, New York, pp 40–52 Huang YW, Yu F, Hang C, Tsai CH, Lee DT, Kuo SY (2004) Securing web application code by static analysis and runtime protection. In: Proceedings of the 13th international conference on world wide web, WWW ’04. https://​doi.​org/​10.​1145/​988672.​988679. ACM, New York, pp 40–52
Zurück zum Zitat Jan S, Nguyen C D, Arcuri A, Briand L (2017a) A search-based testing approach for xml injection vulnerabilities in web applications. In: Proceedings of the 10th IEEE International Conference on Software Testing, Verification and Validation (ICST 2017) Jan S, Nguyen C D, Arcuri A, Briand L (2017a) A search-based testing approach for xml injection vulnerabilities in web applications. In: Proceedings of the 10th IEEE International Conference on Software Testing, Verification and Validation (ICST 2017)
Zurück zum Zitat Jan S, Nguyen C D, Briand L (2015) Known XML vulnerabilities are still a threat to popular parsers and open source systems. In: 2015 IEEE international conference on software quality, reliability and security (QRS), pp 233–241. https://doi.org/10.1109/QRS.2015.42 Jan S, Nguyen C D, Briand L (2015) Known XML vulnerabilities are still a threat to popular parsers and open source systems. In: 2015 IEEE international conference on software quality, reliability and security (QRS), pp 233–241. https://​doi.​org/​10.​1109/​QRS.​2015.​42
Zurück zum Zitat Jan S, Nguyen CD, Briand L (2016) Automated and effective testing of web services for XML injection attacks. In: Proceedings of the 2016 international symposium on software testing and analysis (ISSTA) Jan S, Nguyen CD, Briand L (2016) Automated and effective testing of web services for XML injection attacks. In: Proceedings of the 2016 international symposium on software testing and analysis (ISSTA)
Zurück zum Zitat Jansen T (2002) On the analysis of dynamic restart strategies for evolutionary algorithms. In: PPSN, vol 2, pp 33–43. Springer Jansen T (2002) On the analysis of dynamic restart strategies for evolutionary algorithms. In: PPSN, vol 2, pp 33–43. Springer
Zurück zum Zitat Jovanovic N, Kruegel C, Kirda E (2006) Pixy: A static analysis tool for detecting web application vulnerabilities (short paper). In: Proceedings of the 2006 IEEE symposium on security and privacy, SP ’06. https://doi.org/10.1109/SP.2006.29. IEEE Computer Society, Washington, pp 258–263 Jovanovic N, Kruegel C, Kirda E (2006) Pixy: A static analysis tool for detecting web application vulnerabilities (short paper). In: Proceedings of the 2006 IEEE symposium on security and privacy, SP ’06. https://​doi.​org/​10.​1109/​SP.​2006.​29. IEEE Computer Society, Washington, pp 258–263
Zurück zum Zitat Keerativuttitumrong N, Chaiyaratana N, Varavithya V (2002) Multi-objective co-operative co-evolutionary genetic algorithm. Parallel Problem Solving from Nature—PPSN VII:288–297 Keerativuttitumrong N, Chaiyaratana N, Varavithya V (2002) Multi-objective co-operative co-evolutionary genetic algorithm. Parallel Problem Solving from Nature—PPSN VII:288–297
Zurück zum Zitat Kosuga Y, Kono K, Hanaoka M, Hishiyama M, Takahama Y (2007) Sania: Syntactic and semantic analysis for automated testing against sql injection. In: 23rd annual computer security applications conference (ACSAC 2007), pp 107–117 Kosuga Y, Kono K, Hanaoka M, Hishiyama M, Takahama Y (2007) Sania: Syntactic and semantic analysis for automated testing against sql injection. In: 23rd annual computer security applications conference (ACSAC 2007), pp 107–117
Zurück zum Zitat Liu H, Tan HBK (2008) Testing input validation in web applications through automated model recovery. J Syst Softw 81(2):222–233. Model-Based Software TestingCrossRef Liu H, Tan HBK (2008) Testing input validation in web applications through automated model recovery. J Syst Softw 81(2):222–233. Model-Based Software TestingCrossRef
Zurück zum Zitat McMinn P (2004) Search-based software test data generation: A survey. Software Testing Verification and Reliability 14(2):105–156CrossRef McMinn P (2004) Search-based software test data generation: A survey. Software Testing Verification and Reliability 14(2):105–156CrossRef
Zurück zum Zitat Newman S (2015) Building microservices. ” O’Reilly Media Inc.” Newman S (2015) Building microservices. ” O’Reilly Media Inc.”
Zurück zum Zitat Panichella A, Kifetew F, Tonella P (2017) Automated test case generation as a many-objective optimisation problem with dynamic selection of the targets. IEEE Transactions on Software Engineering. To appear Panichella A, Kifetew F, Tonella P (2017) Automated test case generation as a many-objective optimisation problem with dynamic selection of the targets. IEEE Transactions on Software Engineering. To appear
Zurück zum Zitat Panichella A, Kifetew F M, Tonella P (2015) Reformulating branch coverage as a many-objective optimization problem. In: 2015 IEEE 8th international conference on software testing, verification and validation (ICST), pp 1–10. IEEE Panichella A, Kifetew F M, Tonella P (2015) Reformulating branch coverage as a many-objective optimization problem. In: 2015 IEEE 8th international conference on software testing, verification and validation (ICST), pp 1–10. IEEE
Zurück zum Zitat Potter M A, De Jong K A (1994) A cooperative coevolutionary approach to function optimization. In: Davidor Y, Schwefel HP, Männer R (eds) Parallel problem solving from nature — PPSN III. Springer, Berlin, pp 249–257CrossRef Potter M A, De Jong K A (1994) A cooperative coevolutionary approach to function optimization. In: Davidor Y, Schwefel HP, Männer R (eds) Parallel problem solving from nature — PPSN III. Springer, Berlin, pp 249–257CrossRef
Zurück zum Zitat Rawat S, Mounier L (2011) Offset-aware mutation based fuzzing for buffer overflow vulnerabilities: Few preliminary results. In: 2011 IEEE 4th international conference on software testing, verification and validation workshops (ICSTW), pp 531–533. https://doi.org/10.1109/ICSTW.2011.9 Rawat S, Mounier L (2011) Offset-aware mutation based fuzzing for buffer overflow vulnerabilities: Few preliminary results. In: 2011 IEEE 4th international conference on software testing, verification and validation workshops (ICSTW), pp 531–533. https://​doi.​org/​10.​1109/​ICSTW.​2011.​9
Zurück zum Zitat Schaffer J D, Caruana R A, Eshelman L J, Das R (1989) A study of control parameters affecting online performance of genetic algorithms for function optimization. In: Proceedings of the third international conference on Genetic algorithms, pp. 51–60. Morgan Kaufmann Publishers Inc Schaffer J D, Caruana R A, Eshelman L J, Das R (1989) A study of control parameters affecting online performance of genetic algorithms for function optimization. In: Proceedings of the third international conference on Genetic algorithms, pp. 51–60. Morgan Kaufmann Publishers Inc
Zurück zum Zitat Smith J E, Fogarty T C (1996) Adaptively parameterised evolutionary systems: Self adaptive recombination and mutation in a genetic algorithm. In: Parallel problem solving from nature—PPSN IV, pp 441–450. Springer Smith J E, Fogarty T C (1996) Adaptively parameterised evolutionary systems: Self adaptive recombination and mutation in a genetic algorithm. In: Parallel problem solving from nature—PPSN IV, pp 441–450. Springer
Zurück zum Zitat Williams J, Wichers D (2013) Owasp, top 10, the ten most critical web application security risks. Tech. rep., The Open Web Application Security Project Williams J, Wichers D (2013) Owasp, top 10, the ten most critical web application security risks. Tech. rep., The Open Web Application Security Project
Metadaten
Titel
Search-based multi-vulnerability testing of XML injections in web applications
verfasst von
Sadeeq Jan
Annibale Panichella
Andrea Arcuri
Lionel Briand
Publikationsdatum
13.04.2019
Verlag
Springer US
Erschienen in
Empirical Software Engineering / Ausgabe 6/2019
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-019-09707-8

Weitere Artikel der Ausgabe 6/2019

Empirical Software Engineering 6/2019 Zur Ausgabe

Premium Partner