Ming Zhong, Zisheng Zeng, Yijia Guo, Dandan Zhao, Bo Zhang, Shenghong Li, Hao Peng, Zhiguo Ding
{"title":"Intelligent test case generation method for fuzzing IoT protocols based on LLM","authors":"Ming Zhong, Zisheng Zeng, Yijia Guo, Dandan Zhao, Bo Zhang, Shenghong Li, Hao Peng, Zhiguo Ding","doi":"10.1007/s10515-025-00557-x","DOIUrl":null,"url":null,"abstract":"<div><p>The Internet of Things (IoT) protocols are a core element of IoT systems, providing the fundamental support for communication and data exchange between devices. These protocols enable various devices to connect and work together. However, potential errors and vulnerabilities in IoT protocol implementations can make devices easily attacked. Therefore, ensuring the security of IoT protocols is of utmost importance. Common vulnerability detection methods, such as fuzzing, encounter significant challenges in evaluating these implementations, mainly due to the need for extensive protocol knowledge, high time and resource consumption, as well as the difficulty of generating high-quality and targeted test cases. In order to solve the above issues, this paper presents an intelligent fuzzer, LIPFuzzer, for testing IoT protocols. Unlike common methods that heavily rely on the user’s understanding of the protocol to generate test cases, LIPFuzzer, with the assistance of Large Language Models (LLMs), mutates real IoT protocol communication messages to automatically generate more targeted test cases. Specifically, it utilizes LLMs to understand the relative knowledge of protocols, analyze different categories of protocol messages, and identify recommended mutation fields in combination with the characteristics of IoT protocols, providing targeted mutation strategies for each category. In addition, we evaluate LIPFuzzer on several widely-used implementations of well-known IoT protocols (e.g., Modbus-TCP, MQTT, and CoAP). Experimental results indicate that, compared to widely-used protocol fuzzers such as Peach, LIPFuzzer generates test cases more conveniently and efficiently, while also discovering vulnerabilities more effectively.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"33 1","pages":""},"PeriodicalIF":3.1000,"publicationDate":"2025-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Automated Software Engineering","FirstCategoryId":"94","ListUrlMain":"https://link.springer.com/article/10.1007/s10515-025-00557-x","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
The Internet of Things (IoT) protocols are a core element of IoT systems, providing the fundamental support for communication and data exchange between devices. These protocols enable various devices to connect and work together. However, potential errors and vulnerabilities in IoT protocol implementations can make devices easily attacked. Therefore, ensuring the security of IoT protocols is of utmost importance. Common vulnerability detection methods, such as fuzzing, encounter significant challenges in evaluating these implementations, mainly due to the need for extensive protocol knowledge, high time and resource consumption, as well as the difficulty of generating high-quality and targeted test cases. In order to solve the above issues, this paper presents an intelligent fuzzer, LIPFuzzer, for testing IoT protocols. Unlike common methods that heavily rely on the user’s understanding of the protocol to generate test cases, LIPFuzzer, with the assistance of Large Language Models (LLMs), mutates real IoT protocol communication messages to automatically generate more targeted test cases. Specifically, it utilizes LLMs to understand the relative knowledge of protocols, analyze different categories of protocol messages, and identify recommended mutation fields in combination with the characteristics of IoT protocols, providing targeted mutation strategies for each category. In addition, we evaluate LIPFuzzer on several widely-used implementations of well-known IoT protocols (e.g., Modbus-TCP, MQTT, and CoAP). Experimental results indicate that, compared to widely-used protocol fuzzers such as Peach, LIPFuzzer generates test cases more conveniently and efficiently, while also discovering vulnerabilities more effectively.
期刊介绍:
This journal details research, tutorial papers, survey and accounts of significant industrial experience in the foundations, techniques, tools and applications of automated software engineering technology. This includes the study of techniques for constructing, understanding, adapting, and modeling software artifacts and processes.
Coverage in Automated Software Engineering examines both automatic systems and collaborative systems as well as computational models of human software engineering activities. In addition, it presents knowledge representations and artificial intelligence techniques applicable to automated software engineering, and formal techniques that support or provide theoretical foundations. The journal also includes reviews of books, software, conferences and workshops.