skip to main content
10.1145/3407023.3407078acmotherconferencesArticle/Chapter ViewAbstractPublication PagesaresConference Proceedingsconference-collections
research-article

Automated security test generation for MQTT using attack patterns

Authors Info & Claims
Published:25 August 2020Publication History

ABSTRACT

The dramatic increase of attacks and malicious activities has made security a major concern in the development of interconnected cyber-physical systems and raised the need to address this concern also in testing. The goal of security testing is to discover vulnerabilities in the system under test so that they can be fixed before an attacker finds and abuses them. However, testing for security issues faces the challenge of systematically exploring a potentially non-tractable number of interaction scenarios that have to include also invalid inputs and possible harmful interaction attempts. In this paper, we describe an approach for automated generation of test cases for security testing, which are based on attack patterns. These patterns are blueprints that can be used for exploiting common vulnerabilities. The approach combines random test case generation with attack patterns implemented for the Message Queuing Telemetry Transport (MQTT) protocol. We have applied the proposed testing approach to five popular and widely available MQTT brokers, generating 1,804 interaction sequences in form of executable test cases which resulted in numerous test failures, unhandled exceptions and crashes. A detailed manual analysis of these cases have revealed 28 security-relevant issues and critical shortcomings in the tested MQTT broker implementations.

References

  1. Ala I. Al-Fuqaha, Mohsen Guizani, Mehdi Mohammadi, Mohammed Aledhari, and Moussa Ayyash. 2015. Internet of Things: A Survey on Enabling Technologies, Protocols, and Applications. IEEE Communications Surveys and Tutorials 17, 4 (2015), 2347--2376.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Saswat Anand, Edmund K Burke, Tsong Yueh Chen, John Clark, Myra B Cohen, Wolfgang Grieskamp, Mark Harman, Mary Jean Harrold, Phil Mcminn, Antonia Bertolino, et al. 2013. An orchestrated survey of methodologies for automated software test case generation. Journal of Systems and Software 86, 8 (2013), 1978--2001.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Andrew Banks, Ed Briggs, Ken Borgendale, and Rahul Gupta. [n.d.]. MQTT Version 5.0. OASIS Standard. https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.htmlGoogle ScholarGoogle Scholar
  4. Andrew Banks and Rahul Gupta. [n.d.]. MQTT Version 3.1.1. OASIS Standard. http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.htmlGoogle ScholarGoogle Scholar
  5. Josip Bozic and Franz Wotawa. 2014. Security Testing Based on Attack Patterns. In Seventh IEEE International Conference on Software Testing, Verification and Validation, ICST 2014 Workshops Proceedings, March 31 - April 4, 2014, Cleveland, Ohio, USA. IEEE Computer Society, 4--11.Google ScholarGoogle Scholar
  6. Alireza Esfahani, Georgios Mantas, Rainer Matischek, Firooz B. Saghezchi, Jonathan Rodriguez, Ani Bicaku, Silia Maksuti, Markus Gerhard Tauber, Christoph Schmittner, and Joaquim Bastos. 2019. A Lightweight Authentication Mechanism for M2M Communications in Industrial IoT Environment. IEEE Internet of Things Journal 6, 1 (2019), 288--296.Google ScholarGoogle ScholarCross RefCross Ref
  7. Patrick Th. Eugster, Pascal Felber, Rachid Guerraoui, and Anne-Marie Kermarrec. 2003. The many faces of publish/subscribe. ACM Comput. Surv. 35, 2 (2003), 114--131.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Tobias Heer, Oscar García Morchon, René Hummen, Sye Loong Keoh, Sandeep S. Kumar, and Klaus Wehrle. 2011. Security Challenges in the IP-based Internet of Things. Wireless Personal Communications 61, 3 (2011), 527--542.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. HiveMQ. [n.d.]. Enterprise MQTT Broker. https://www.hivemq.com/downloads/hivemq-data-sheet-4.2.pdf.Google ScholarGoogle Scholar
  10. HiveMQ. [n.d.]. Security Fundamentals. https://www.hivemq.com/blog/mqtt-security-fundamentals-authentication-username-password/.Google ScholarGoogle Scholar
  11. Greg Hoglund and Gary McGraw. 2004. Exploiting Software: How to Break Code. Addison Wesley.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Houimli, L. Kahloul, and S. Benaoun. 2017. Formal specification, verification and evaluation of the MQTT protocol in the Internet of Things. In 2017 International Conference on Mathematics and Information Technology (ICMIT). IEEE Computer Society, 214--221.Google ScholarGoogle Scholar
  13. Rizwan Khan and Santosh Kumar. 2013. Using Exploit Patterns to Develop Secure Software. VSRD International Journal of Computer Science & Information Technology 3 (01 2013), 257--260.Google ScholarGoogle Scholar
  14. Amir Manzoor. 2016. Securing Device Connectivity in the Industrial Internet of Things (IoT). In Connectivity Frameworks for Smart Devices. Computer Communications and Networks. Springer, Cham, 3--22.Google ScholarGoogle Scholar
  15. Vasileios Mavroeidis and Siri Bromander. 2017. Cyber threat intelligence model: An evaluation of taxonomies, sharing standards, and ontologies within cyber threat intelligence. In 2017 European Intelligence and Security Informatics Conference (EISIC). IEEE, 91--98.Google ScholarGoogle ScholarCross RefCross Ref
  16. Kristiyan Mladenov. 2017. Formal verification of the implementation of the MQTT protocol in IoT devices. Technical Report. University of Amsterdam, Faculty of Physics, Mathematics and Informatics.Google ScholarGoogle Scholar
  17. Andrew Moore, Robert Ellison, and Rick Linger. 2001. Attack Modeling for Information Security and Survivability. Technical Report. Technical Note CMU/SEI-2001-TN-001, Carnegie Mellon University.Google ScholarGoogle Scholar
  18. Ricardo Neisse, Gary Steri, and Gianmarco Baldini. 2014. Enforcement of security policy rules for the Internet of Things. In IEEE 10th International Conference on Wireless and Mobile Computing, Networking and Communications, WiMob 2014. IEEE Computer Society, 165--172.Google ScholarGoogle ScholarCross RefCross Ref
  19. Carlos Pacheco and Michael D Ernst. 2007. Randoop: feedback-directed random testing for Java. In Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion. 815--816.Google ScholarGoogle Scholar
  20. Rudolf Ramler, Georg Buchgeher, and Claus Klammer. 2018. Adapting automated test generation to GUI testing of industry applications. Information and Software Technology 93 (2018), 248--263.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Santiago Hernández Ramos, M. Teresa Villalba, and Raquel Lacuesta. 2018. MQTT Security: A Novel Fuzzing Approach. Wireless Communications and Mobile Computing 2018 (2018).Google ScholarGoogle Scholar
  22. SeongHan Shin, Kazukuni Kobara, Chia-Chuan Chuang, and Weicheng Huang. 2016. A security framework for MQTT. In 2016 IEEE Conference on Communications and Network Security, CNS 2016, Philadelphia, PA, USA, October 17-19, 2016. IEEE, 432--436.Google ScholarGoogle ScholarCross RefCross Ref
  23. M. Singh, M. A. Rajan, V. L. Shivraj, and P. Balamuralidhar. 2015. Secure MQTT for Internet of Things (IoT). In Fifth International Conference on Communication Systems and Network Technologies. IEEE, 746--751.Google ScholarGoogle Scholar
  24. Hannes Sochor, Flavio Ferrarotti, and Rudolf Ramler. 2020. An Architecture for Automated Security Test Case Generation for MQTT Systems. In 4th International Workshop on Cyber-Security and Functional Safety in Cyber-Physical Systems (IWCFS), co-located with DEXA 2020, Bratislava, Slovakia. Springer.Google ScholarGoogle ScholarCross RefCross Ref
  25. Wei-Tsung Su, Wei-Cheng Chen, and Chao-Chun Chen. 2019. An Extensible and Transparent Thing-to-Thing Security Enhancement for MQTT Protocol in IoT Environment. In 2019 Global IoT Summit, GIoTS 2019, Aarhus, Denmark, June 17-21, 2019. IEEE, 1--4.Google ScholarGoogle Scholar
  26. Ari Takanen, Jared D Demott, Charles Miller, and Atte Kettunen. 2018. Fuzzing for software security testing and quality assurance. Artech House.Google ScholarGoogle Scholar
  27. Martin Tappler, Bernhard K. Aichernig, and Roderick Bloem. 2017. Model-Based Testing IoT Communication via Active Automata Learning. In 2017 IEEE International Conference on Software Testing, Verification and Validation, ICST 2017, Tokyo, Japan, March 13-17, 2017. IEEE Computer Society, 276--287.Google ScholarGoogle ScholarCross RefCross Ref
  28. James A Whittaker. 2002. How to Break Software: A Practical Guide to Testing. Addison-Wesley Longman Publishing.Google ScholarGoogle Scholar

Index Terms

  1. Automated security test generation for MQTT using attack patterns

      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 Other conferences
        ARES '20: Proceedings of the 15th International Conference on Availability, Reliability and Security
        August 2020
        1073 pages
        ISBN:9781450388337
        DOI:10.1145/3407023
        • Program Chairs:
        • Melanie Volkamer,
        • Christian Wressnegger

        Copyright © 2020 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 the author(s) 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: 25 August 2020

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate228of451submissions,51%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader