Next Article in Journal
WASAE-NIDS: Reverse-Frequency Class Weighting with GAN-Assisted Conditional Autoencoder for Network Intrusion Detection
Next Article in Special Issue
Proposal for the Sixth Error Type for Cyberattack Detection and Defense in CAN Protocol
Previous Article in Journal
Interleaved High-Gain DC-DC Converters with Low Input Ripple and Voltage Stress for Passenger Fuel Cell Vehicles
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Algorithmic Optimization for Accelerated UDS Fuzzing in Cyber–Physical Automotive Networks: The BB-FAST Approach on LIN-Bus

by
Sungsik Im
1,*,
Yijoon Jung
1 and
Junyoung Park
2
1
Assistant Research Engineer, Security Vulnerability Analysis Team, FESCARO Co., Ltd., Suwon-si 16512, Gyeonggi-do, Republic of Korea
2
Senior Research Engineer, Security Vulnerability Analysis Team, FESCARO Co., Ltd., Suwon-si 16512, Gyeonggi-do, Republic of Korea
*
Author to whom correspondence should be addressed.
Electronics 2026, 15(6), 1223; https://doi.org/10.3390/electronics15061223
Submission received: 11 February 2026 / Revised: 6 March 2026 / Accepted: 12 March 2026 / Published: 14 March 2026

Abstract

In modern cyber–physical vehicle networks, the security of component-level Electronic Control Units (ECUs) is essential for overall system reliability. While Controller Area Network(CAN) security is well-studied, the Local Interconnect Network (LIN) has received less attention despite its growing role in critical functions and diagnostic services (UDS). The inherent constraints of the LIN protocol, specifically its low bandwidth and master–slave architecture, make traditional fuzz testing impractical due to extremely long execution times. This paper proposes Batch-based Binary-search Fuzzing and Accelerated Security Testing (BB-FAST), an optimized framework for faster vulnerability detection in LIN-based systems. By integrating batch processing and binary search techniques, BB-FAST overcomes communication bottlenecks and enables efficient error localization. Empirical evaluations on a physical automotive ECU demonstrate that BB-FAST achieves a significant reduction in testing time—up to 97.7% compared to traditional sequential methods. Notably, in scenarios involving critical controller failures, BB-FAST outperformed optimized batch-based approaches by 64.2% through its logarithmic error localization logic. By mitigating these physical limitations through algorithmic optimization, this work enables thorough security verification for LIN-based diagnostic interfaces that was previously constrained by protocol latency, thereby enhancing the integrity of cyber–physical automotive networks.

1. Introduction

With the rapid transition of the automotive industry toward software-defined vehicles (SDV) [1], modern vehicles have evolved into complex cyber–physical networks (CPNs) where the physical movement of the vehicle is governed by intricate electronic control units (ECUs). As advanced driver assistance systems (ADAS) and infotainment systems become more sophisticated, the functional significance of these ECUs has increased, making the reliability and security of component-level nodes critical factors in determining the overall safety and resilience of the vehicular ecosystem [2].
In these cyber–physical environments, a single vulnerable ECU can serve as an entry point to compromise the entire network’s functional integrity. While traditional automotive security focused on external interfaces—such as Wi-Fi, cellular, and Bluetooth—modern cybersecurity emphasizes the necessity of securing internal networks, including the Controller Area Network (CAN), Automotive Ethernet, and even low-speed protocols. Accordingly, international standards like ISO/SAE 21434 [3] and UN Regulation No. 155 (UNR 155) [4] now require rigorous security testing to ensure the trust and safety of internal communication architectures.
A key element in evaluating ECU security is the testing of Unified Diagnostic Services (UDS) [5]. Since UDS provides powerful control functions such as memory management and firmware updates, it is a primary target for adversaries seeking to exploit vehicular control systems. To proactively identify vulnerabilities in these diagnostic interfaces, fuzz testing—which injects malformed inputs to verify exception-handling capabilities—is widely utilized. While UDS-based fuzzing via CAN is a well-established requirement [6], research on other critical internal protocols has been comparatively limited.
Concurrently, the Local Interconnect Network (LIN) is an indispensable protocol used in various domains, including side mirror control, intelligent Heating, Ventilation, and Air Conditioning (HVAC) sensors, and Battery Management Systems (BMS) [7]. In next-generation architectures, LIN-based ECUs are increasingly undertaking more complex control functions, leading to a significant rise in the integration of UDS for advanced lifecycle management and maintenance. However, despite this growing importance, UDS-based fuzzing for LIN remains under-explored. Specifically, LIN is constrained by a limited bandwidth of up to 20 kbps and a rigid master–slave architecture. These physical communication constraints lead to severe performance bottlenecks, making conventional testing methodologies designed for CAN environments impractical for LIN-based cyber–physical nodes.
To bridge this gap, this paper proposes BB-FAST, an optimized UDS-based fuzzing framework specifically designed to overcome the inherent constraints of LIN communication. By introducing algorithmic optimizations such as batch processing and binary-search logic, our approach addresses the physical latency of LIN with cyber intelligence. This ensures deterministic efficiency and facilitates exhaustive security verification, enabling thorough vulnerability detection in bandwidth-limited environments that were previously difficult to test rigorously.
The remainder of this paper is organized as follows. Section 2 provides the theoretical background on LIN message structures and fuzzing techniques, followed by a review of related research. Section 3 details the proposed UDS-based fuzzing methodologies, optimized for the LIN environment through preliminary analysis. Section 4 presents a theoretical analysis and complexity modeling for each proposed method. Section 5 evaluates the effectiveness of the proposed approach through experimental validation on a representative LIN-based ECU. Section 6 discusses the significance of the findings and addresses the study’s limitations. Finally, Section 7 concludes the paper with a summary and future directions.

2. Background and Related Works

2.1. Background

2.1.1. Local Interconnect Network (LIN)

The local interconnect network (LIN) is a low-cost communication protocol developed to complement the cost limitations of the CAN, which handles high-speed communication within in-vehicle networks. LIN is primarily utilized in environments that do not require high bandwidth, such as for controlling seats, doors, and side mirrors, as well as for communication between various sensors. Currently, LIN is defined as an international standard through the ISO 17987 series and plays an essential role in vehicle networks [8].
In the case of CAN, it supports communication speeds of up to 1 Mbps and features a multi-master approach where multiple nodes can communicate simultaneously. Furthermore, it demonstrates high reliability due to structures such as Cyclic Redundancy Check (CRC) error detection and differential signaling (CAN High/Low). Conversely, LIN supports a relatively slow communication speed of up to 20 kbps—approximately 1/50th the speed of CAN—and is characterized by a single-master architecture where one master node controls all slave nodes [9]. Additionally, LIN features a simple structure using a single wire, resulting in lower message reliability compared to CAN but offering the advantage of being more cost-effective.
A LIN message frame, as shown in Figure 1, consists of a header frame transmitted by the master node and a response frame transmitted by either the master or a slave node depending on the specific identifier. The header frame comprises a break field, a sync field, and a protected identifier (PID) field, which respectively serve as a frame start notification, synchronization, and message ID value. Notably, PIDs ranging from 0 × 00 to 0 × 3B are used for signal transmission, while 0 × 3C is utilized for requests in diagnostic functions and 0 × 3D for responses. The response frame has a data field of up to 8 bytes and includes a 1-byte Checksum field for data integrity. Since LIN is based on the universal asynchronous receiver-transmitter (UART) communication method, every field constituting a LIN frame includes a start bit and a stop bit. That is, a field with a size of 1 byte (8 bits) consists of a total of 10 bits, including the start and stop bits.
Unlike CAN, where all nodes act as master nodes, LIN has a structure with only one master node and multiple slave nodes associated with it. In this architecture, message transmission is conducted via a polling method where the master node transmits a header frame to the bus according to a schedule table to call a specific slave node. In particular, for diagnostic communication such as UDS as illustrated in Figure 2, the master node transmits a request header with a PID of 0 × 3C and the corresponding data to the bus. Subsequently, when the master node transmits a response header with a PID of 0 × 3D along with an empty data frame, the slave node corresponding to the node address (NAD) receives the 0 × 3D message, populates it with the response data, and transmits the response message to the bus. While this method prevents message collisions and ensures stable communication, it acts as a constraint that degrades overall latency and the efficiency of security testing, as the slave node must wait until it receives a polling header from the master node to respond.

2.1.2. Unified Diagnostic Services (UDS)

Unified diagnostic services (UDS) is an automotive diagnostic communication protocol defined by the ISO 14229 standard [10], which supports standardized diagnostic communication at the application layer. This service facilitates standardized communication between in-vehicle ECUs and external diagnostic clients. It plays a critical role in vehicle service and maintenance by performing core functions such as controller configuration, memory dumps, and firmware updates.
The ISO 14229 standard assigns a unique service identifier (SID) to each service for vehicle diagnostics, and its primary functions are categorized as shown in Table 1. UDS operates on a request-response pair mechanism; when a client transmits a request frame containing a specific SID, the ECU returns either a positive response or a negative response frame. In this process, the SID of a positive response is the value of the request SID plus 0 × 40. Conversely, the SID of a negative response is 0 × 7F, which is returned along with a negative response code (NRC) that provides specific information regarding the nature of the response.
While the UDS protocol provides a consistent application layer interface, its implementation is tailored to the characteristics of the underlying physical and data link layers. Specifically, Part 7 of the ISO 14229 standard specifies the implementation of UDS over the LIN communication environment. To identify individual slave nodes on the LIN bus, a NAD value is utilized; this value is defined within the payload of the designated diagnostic PIDs, 0 × 3C (Request) and 0 × 3D (Response). As illustrated in Figure 3, a LIN diagnostic frame—which has a maximum data field of 8 bytes—consists of a 1-byte NAD, a 1-byte Protocol Control Information (PCI) field defining the frame type and data length, and a 1-byte SID. These are followed by up to 5 bytes of actual service data or parameters.

2.1.3. Fuzz Testing

Fuzz testing (fuzzing) [11] is a dynamic analysis technique used to identify software defects and security vulnerabilities by continuously injecting random or abnormal data into a target system. Fuzzing is highly effective even in black-box environments where source code is unavailable, as it can trigger exception-handling logic or unexpected system crashes. This allows researchers to detect unknown vulnerabilities and evaluate software stability within undefined or undocumented regions.
Fuzz testing is primarily classified into two categories based on the methodology used to generate test cases [12]:
  • Mutation-based Fuzz Testing: This approach generates modified data by applying techniques such as bit-flipping or random value injection to existing normal data packets, which serve as seed samples. It can be implemented without an in-depth understanding of complex protocol structures and is mainly utilized for testing simple network packets.
  • Generation-based Fuzz Testing: This method creates new test data from scratch that complies with the rules of the target protocol, such as frame structures and checksums, based on its specification. This approach is particularly effective for testing sophisticated communication protocols and diagnostic services, such as UDS.
Furthermore, fuzzing techniques are categorized into three types based on the extent of information available regarding the target system’s internal logic and code:
  • Black-box Fuzz Testing [13,14]: This method operates without any knowledge of the target system’s internal code or structure. It relies solely on the observation of input-output behaviors, such as diagnostic responses or communication timeouts. It is highly practical for testing third-party ECUs where source code is typically inaccessible due to intellectual property restrictions.
  • White-box Fuzz Testing [15]: This approach requires full access to the source code and internal design of the system. It employs techniques like symbolic execution and data-flow analysis to explore all possible execution paths. While it provides high code coverage, it suffers from significant computational overhead and is often impractical for real-time embedded systems.
  • Gray-box Fuzz Testing [16,17,18]: A hybrid approach that utilizes limited internal information, such as such as CAN communication databases and partial functional security specifications. It balances the efficiency of black-box testing with the depth of white-box testing. However, its application to automotive controllers can be challenging due to the resource constraints of low-end ECUs and the latency of feedback loops.

2.2. Related Works

2.2.1. Trends in Automotive Network Security Surveys

In-vehicle network (IVN) security has evolved significantly with the transition toward software-defined architectures. Rathore et al. [19] categorized in-vehicle communication architectures and primary internal protocols such as CAN, LIN, Flex-Ray, and Automotive Ethernet. They surveyed security solutions focused on machine learning-based Intrusion Detection Systems (IDS) and encryption-based authentication mechanisms. However, most of the presented security solutions and intrusion detection research were conducted on CAN-based internal networks, with limited coverage of security solution cases for LIN-based communication.
Luo et al. [20] provided a comprehensive classification of automotive cybersecurity testing methodologies, suggesting that penetration testing, vulnerability scanning, and fuzzing-based security verification are core technologies for vehicle security validation. Notably, this study analyzed that attack research targeting internal vehicle networks accounts for the largest proportion of automotive security literature. They reported numerous studies on fuzzing and penetration testing for major protocols like CAN, Scalable Service-Oriented Middleware over IP (SOME/IP), Diagnostics over IP (DoIP), and UDS. Conversely, security testing and fuzzing research for LIN were notably absent from the literature distribution. Beyond these surveys, several comprehensive studies have highlighted that while cyber–physical networks require holistic protection, research efforts remain disproportionately focused on high-speed protocols like CAN and Automotive Ethernet [21,22].

2.2.2. Fuzzing and Vulnerability Detection for In-Vehicle Networks

Automated fuzzing is a primary method for detecting implementation flaws in ECUs. I. Cho et al. [23] implemented a tool to scan sessions and services to understand ECU environments for security testing within UDS frameworks and conducted tests targeting the CAN environment of specific ECUs. This process effectively identified undocumented custom sessions and services within the ECUs. D. Kim et al. [24] analyzed the potential for detecting vulnerabilities in ECU internal software based on the CAN protocol, with the test subjects and fuzzing input structures designed according to the CAN frame format. However, their study did not include fuzzing experiments that considered the frame structure or the master–slave scheduling characteristics of the LIN protocol.
In parallel, recent research has explored intelligent fuzzing and mutation-based techniques to improve the detection rate of unknown vulnerabilities across various in-vehicle networks [25,26]. However, these frameworks often rely on the high bandwidth and multi-master capabilities of CAN and Automotive Ethernet, which allow for rapid feedback loops and high-concurrency testing. Such approaches are difficult to translate directly to the LIN protocol, where the rigid master–slave architecture and low baud rates impose significant physical communication constraints. Consequently, existing fuzzing methodologies frequently fail to account for the deterministic scheduling and inherent latency of LIN, necessitating a specialized optimization approach that considers the unique physical-layer characteristics of the bus.

2.2.3. Efficiency and Optimization in Security Testing

The efficiency of security testing is a critical factor in cyber–physical systems where resource constraints are significant. General research in the field of software testing has long utilized batch-processing and adaptive search algorithms to optimize search space exploration [27,28,29]. In the automotive domain, some attempts have been made to reduce testing time through structural-aware fuzzing or predictive models [25]. Nevertheless, systematic optimization of the fuzzing process for low-bandwidth protocols like LIN—specifically addressing the bottleneck of master–slave scheduling and recovery time—remains a largely unexplored area. This research gap necessitates a dedicated research and framework, which optimizes communication overhead while ensuring the resilience of the testing process.

3. Proposed Methodology

Conventional UDS fuzzing methodologies have primarily been researched for CAN-based systems; however, applying them directly to the LIN protocol reveals clear limitations due to fundamental architectural disparities. While CAN environments support high bandwidth and asynchronous, event-driven communication—enabling immediate response verification with negligible overhead—LIN is constrained by its low bandwidth and master–slave architecture. Specifically, verifying a response in LIN necessitates that the master issues a dedicated 0 × 3D slot (Slave Response) for every polling process, which introduces substantial cumulative latency for each test case. Furthermore, the deterministic nature of the schedule table and the resource-constrained characteristics of LIN-based ECUs often lead to synchronization failures with the fuzzer due to timing jitter under heavy diagnostic traffic.
Therefore, to overcome these physical and structural constraints of the LIN protocol and maximize testing efficiency, we propose a novel UDS fuzzing methodology that integrates schedule-aware batch processing and an efficient error-recovery mechanism. The proposed approach is designed to resolve the inherent bottlenecks of the LIN protocol, thereby maximizing testing throughput while ensuring robust synchronization during large-scale security audits.
Also, the proposed methodologies are engineered as protocol-level efficiency optimizers that are fundamentally agnostic to the specific fuzzing mode—whether Black-box, Gray-box, or White-box. While the fuzzing technique for generating test cases may vary depending on the degree of knowledge regarding the target system, such as access to source code or internal architecture, the core mechanisms—synchronizing batch sizes with the LIN schedule and optimizing error recovery—remain consistent across diverse testing environments. As illustrated in Figure 4, the proposed system consists of three primary stages: scanning UDS sessions and services present in the target ECU, identifying valid services based on the scan results, and executing fuzz tests for each identified service using optimized algorithms.
The UDS session and service scanning processes build upon the research of I. Cho et al. [23], but have been advanced through specialized steps tailored for the LIN environment and an optimized logic that eliminates redundant operations upon encountering negative responses. From the perspective of component-level ECU testing within a LIN environment, the normal operation of the controller during the fuzz testing is verified by checking for a valid response to the UDS request message. Furthermore, this paper proposes three distinct methodologies for verifying the operational integrity and normal behavior of the ECU during the fuzzing process.

3.1. Session & Service Scan

To perform fuzzing in a UDS environment, the client scans all active diagnostic sessions on the target ECU and explores a session transition diagram based on the breadth-first search (BFS) algorithm. Upon identifying all sessions, the proposed methodology navigates through each session according to the session transition diagram to enumerate all active services and their sub-functions.
The active sessions on the target ECU are determined through positive or negative responses to Diagnostic Session Control (0 × 10) service requests. Figure 5 illustrates the message flow between the client and the target ECU for session scanning. The client transmits a Diagnostic Session Control (0 × 10) request message using PID 0 × 3C to scan for active sessions and generates a polling message to the ECU node to receive the response.
In response to the request, the target ECU populates the received polling message frame with the appropriate PCI, SID, payload, and checksum values. In this study, the responses returned by the target ECU for session scanning are categorized into the following three cases:
  • Case 1: If a positive response with SID 0 × 50 is returned for a SID 0 × 10 request, it is determined that the target session is accessible from the current session.
  • Case 2: If a negative response with NRC 0 × 7F 0 × 12 (Sub-function Not Supported) is returned for a SID 0 × 10 request, it is determined that the target session is inaccessible from the current session.
  • Case 3: If a negative response with an NRC value other than 0 × 12 is returned for a SID 0 × 10 request, the client directly determines the accessibility of the target session based on the specific NRC received.
Algorithm 1 illustrates the algorithm for discovering all sessions within the ECU. Starting from the default session (0 × 01), the algorithm identifies all accessible sessions from the current state and sequentially explores them based on the BFS algorithm.
Algorithm 1: BFS-based Diagnostic Session Scan
Require:   Default   session   s 0 ,   candidate   session   set   S , N A D ,   retry   limit   K  
Ensure:   Shortest   transition   paths   p a t h s s ,   transition   edges   E
1:  p a t h s { s 0 : s 0 }
2:  E  
3:  Q q u e u e   i n i t i a l i z e d   w i t h   s 0
4:
5: while  Q is not empty do
6:    u pop Q
7:    P u p a t h s u
8:   SendUDS( N A D , 0 × 10 , s 0 ) //reset to default session
9:   for all  x P u  do
10:      o k false
11:     for  i   =   1   to K  do
12:        r e s p   SendUDS( N A D ,   0 × 10 ,   x )
13:       if  r e s p = = POS 0 × 50 , x  then
14:          o k true ; break
15:       end if
16:     end for
17:     if  o k = = false  then
18:       continue while-loop
19:      end if
20:   end for
21:   for all  v S  do
22:     if  v   p a t h s or v   = =   u  then
23:       continue
24:     end if
25:      o k false
26:     for  i   =   1 to K  do
27:        r e s p   SendUDS( N A D ,   0 × 10 ,   v )
28:       if  r e s p = = POS 0 × 50 , v  then
29:          o k true ; break
30:       end if
31:     end for
32:     if  o k = = true  then
33:        E E u , v
34:        p a t h s v P u v
35:       push( Q ,   v )
36:     end if
37:     SendUDS( N A D , 0 × 10 , s 0 )
38:     for all  x P u do
39:       SendUDS( N A D ,   0 × 10 ,   x )
40:     end for
41:    end for
42: end while
43:
44: return p a t h s ,   E
Subsequently, after accessing each session based on the transition diagram explored during the session scanning process, the client scans for the list of active services and the available sub-function values for each service. Figure 6 shows the message flow for scanning services and sub-functions within each session. The client transmits a request message for the diagnostic service to be scanned using PID 0 × 3C and delivers a polling message to the ECU node to receive a response. For services that support sub-functions, their availability is verified by sequentially incrementing the sub-function value from 0 × 00 within a predefined range. Additionally, the Tester Present (0 × 3E) service is invoked to maintain the non-default session state, preventing an automatic reversion to the default session due to timeout during the scanning process.
The target ECU responds to the service request by populating the received polling message frame with the appropriate PCI, SID, payload, and checksum values. In this study, the response cases that the target ECU can return during service scanning are classified into the following three categories:
  • Case 1: If a positive response (0 × SV + 0 × 40) is returned for a specific service (0 × SV) request, it is determined that the target service exists within the current session.
  • Case 2: If a negative response with NRC 0 × 7F 0 × 11 (Service Not Supported) is returned for a specific service (0 × SV) request, it is concluded that the target service does not exist in the current session. Consequently, the process bypasses any subsequent sub-function discovery for that service and immediately proceeds to the next service ID to optimize scanning efficiency.
  • Case 3: If a negative response with an NRC value other than 0 × 11 is returned for a specific service (0 × SV) request, the client directly determines the existence of the target service based on the received NRC.
Algorithm 2 illustrates the algorithm for traversing all services within the ECU. Service and sub-function scans are performed sequentially across all active sessions identified during the session scanning phase.
Algorithm 2: Path-aware UDS Service Scan with NRC = 0 × 11 Shortcut
Require :   Discovered   paths   p a t h s s ,   service   ID   range   D ,   sub-function   set   F , N A D
Ensure :   Result   table   T s e s s i o n , p a t h , S I D , S U B , c o d e
1:    for   all   s   p a t h s  sorted by path length do
2:      P p a t h s s
3:   SendUDS ( N A D ,   0 × 10 ,   0 × 01 ) //reset to default session
4:    for   all   x   P  do
5:      r e s p   SendUDS( N A D ,   0 × 10 ,   x )
6:      if   r e s p   POS( 0 × 50 ,   x ) then
7:       continue next session
8:     end if
9:   end for
10:    for   all   S I D D do
11:      r e s p 0 SendUDS( N A D ,   S I D ,   0 × 00 )
12:      if   r e s p 0 = = NEG( 0 × 7 F ,   S I D ,   0 × 11 ) then//NRC 0 × 11 Shortcut
13:        for   all   S U B F  do
14:          Append ( T , s , P , S I D , S U B , 11 )
15:       end for
16:       continue next SID
17:     end if
18:      for   all   S U B F  do
19:        r e s p   SendUDS( N A D ,   S I D ,   S U B )
20:        c o d e   Interpret( r e s p ,   S I D )
21:       Append( T , s , P , S I D , S U B , c o d e )
22:     end for
23:   end for
24: end for
25:
26 :   return   T

3.2. Select Valid Services

The selection of target UDS services for fuzz testing is a critical step that bridges the gap between initial scanning and actual test execution. Rather than performing an exhaustive, brute-force search across all possible services, which is often inefficient and time-consuming in a resource-constrained LIN environment, this study utilizes the sub-function and session information identified during the scanning phase to select targets strategically. We adopt a risk-based approach as emphasized in international cybersecurity standards such as ISO/SAE 21434 and UN R155 (Vehicle Type Approval). This methodology focuses on the critical attack surface of the ECU, ensuring that the fuzzing process remains both efficient and relevant to realistic threat scenarios.
The target services, as shown in Table 2, are categorized into three primary security domains based on their potential impact on the vehicle’s security posture and functional safety. The selection criteria for each domain are detailed as follows:
  • Information retrieval and diagnostic monitoring: Services related to data reading are prioritized to assess the risk of Information Disclosure and unauthorized asset access. Read Data by Identifier (0 × 22) and Read Memory by Address (0 × 23) are critical pathways for retrieving sensitive information, such as Vehicle Identification Numbers (VIN), software versions, and internal calibration data. Furthermore, monitoring services like Read DTC Information (0 × 19) and Dynamically Define Data Identifier (0 × 2C) are included to verify if the ECU erroneously exposes internal states or violates memory boundaries when subjected to malformed diagnostic requests.
  • Data configuration and parameter modification: Services that allow modification of the ECU’s operational logic or parameters are defined as core attack surfaces. Unauthorized configuration changes via Write Data by Identifier (0 × 2E) or Write Memory by Address (0 × 3D) can lead to system malfunctions. Specifically, services involved in large-scale data transmission, such as Request Download/Upload (0 × 34/0 × 35) and Transfer Data (0 × 36), are designated as mandatory targets. These are critical for assessing the ECU’s resilience against unauthorized firmware updates or integrity bypass attempts, which are high-priority risks in cybersecurity audits.
  • Authentication, session management, and system control: This category focuses on services directly linked to privilege escalation and physical actuator control. Security Access (0 × 27) serves as the primary gateway for privileged operations; any logic flaw in this authentication process can compromise the entire system’s security perimeter. Diagnostic Session Control (0 × 10) and ECU Reset (0 × 11) are assessed for their ability to force state transitions that might disable security features. Most importantly, Input/Output Control by Identifier (0 × 2F) and Routine Control (0 × 31) is prioritized as a high-risk target because it enables the remote execution of specific ECU functions, posing a direct threat to functional safety if manipulated.

3.3. Methods for Fuzz Testing

Fuzzing is conducted based on the previously scanned session and service lists to detect vulnerabilities—such as improper exception handling for abnormal inputs and unexpected system crashes—and to evaluate stability within undefined regions of the target ECU. Furthermore, this study aims to perform UDS-based fuzzing to verify the security of component-level ECUs within a LIN network.
Considering the specific characteristics of LIN, such as its master–slave architecture—where slave nodes can only respond through the master node’s polling messages—and its relatively low transmission speed, this paper proposes three UDS-based fuzzing methodologies categorized by the approach used to verify malfunctions and anomalies. Each proposed method transmits separate UDS request messages to monitor normal processing and valid responses, thereby identifying potential ECU malfunctions.

3.3.1. Sequential Discovery Fuzzing (SDF)

The Sequential Discovery Fuzzing (SDF) test conducts fuzzing on a per-service basis and verifies the normal operation status of the ECU by transmitting a polling message for every individual fuzzing request. While this approach is similar to standard fuzzing procedures where responses are monitored for all test cases to determine malfunctions, the inherent characteristics of LIN communication require the master node to transmit an individual polling message to retrieve each response. The input data for the test consists of a list of N test messages, each of test messages is composed of either random or ascending values of a specified length. The detailed operational algorithm for this method is illustrated in Algorithm 3.
Algorithm 3: Sequential Discovery Fuzzing (SDF)
Input: TestMessagesList T [ N ]
Output: ErrorList
1:  for   i   =   1 to N  do
2:   send_fuzz_message( T [ i ] )
3:    r e s p o n s e   send_polling_message() //Polling (e.g., TesterPresent 0 × 3E)
4:    if   r e s p o n s e = = NO _ RESPONSE or r e s p o n s e = = ERROR  then
5:      ErrorList . add ( T [ i ] )
6:     reset_ecu_power()//Hard Reset via Relay or Power Supply
7:     re-enter_session( 0 × 10 )//Diagnostic Session Control
8:   end if
9: end for

3.3.2. Batch-Based Sequential Fuzzing (BSF)

The Batch-based Sequential Fuzzing (BSF) test executes the fuzzing process by dividing the total test message lists (T[N]) into batches of a specific size (m). Also, the input data for the test consists of a list of N test messages, each of test messages is composed of either random or ascending values of a specified length. Unlike the previously proposed SDF test, the BSF method just transmits all fuzz messages within a defined batch consecutively. To verify the operational integrity and processing status of the ECU after batch transmission, the system sends a session transition (re-entry) request to the current diagnostic session followed by a polling message, determining the state based on the response from the target node.
If a positive response is received, the test proceeds to the next batch and repeats the process. If a negative response is returned, the system performs an SDF procedure within that specific batch range to identify the exact error-inducing message. Once the fault is pinpointed, the BSF process resumes from the subsequent message with a full batch size, continuing the cycle. The detailed operational algorithm for this methodology is illustrated in Algorithm 4.
Algorithm 4: Batch-based Sequential Fuzzing (BSF)
Input: TestMessagesList T [ N ] , BatchSize m
Output: ErrorList
1:  i   1
2: while  i   N  do
3:    u p p e r _ l i m i t min i + m 1 , N
4:
5:   for  j   =   i to u p p e r _ l i m i t  do//1. Batch Transmission
6:     send_fuzz_message( T [ j ] )
7:   end for
8:
9:    s t a t u s   check_session_and_polling() //2. Verification
10:   if  s t a t u s   = =   S U C C E S S  then
11:      i   u p p e r _ l i m i t   +   1
12:   else
13:     reset_ecu_power()
14:     re-enter_session( 0 × 10 )
15:     for  k   =   i to u p p e r _ l i m i t  do
16:       send_fuzz_message( T [ k ] )
17:       if check_polling() = =   F A I L  then
18:         ErrorList.add( T [ k ] )
19:         reset_ecu_power()
20:         re-enter_session( 0 × 10 )
21:          i   k   +   1
22:         break
23:       end if
24:     end for
25:   end if
26: end while

3.3.3. Batch-Based Binary-Search Fuzzing and Accelerated Security Testing (BB-FAST)

Similar to the BSF test, the Batch-based Binary-search Fuzzing and Accelerated Security Testing (BB-FAST) test divides total test message lists (T[N]) into batches of a specific size (m). Also, the input data for the test consists of a list of N test messages, each of test messages is composed of either random or ascending values of a specified length. It transmits all fuzz messages within a batch and then evaluates the operational integrity and processing status of the ECU by sending a session transition (re-entry) request to the current session followed by a polling message.
For a positive response, the process proceeds to the subsequent batch. In contrast to the BSF test, if a negative response is returned, the BB-FAST identifies the error-triggering message through a binary search. Within the batch range where the error occurred, the algorithm explores the messages using a binary search mechanism; at each step of this search, the system transmits a session transition (re-entry) request and a polling message to verify the response of the target node.
Upon identifying the message that induced the error, the BB-FAST process resumes from the next message with a full batch size, repeating the sequence. The detailed operational algorithm for this methodology is illustrated in Algorithm 5.
Algorithm 5: Batch-Based Binary-Search Fuzzing and Accelerated Security Testing (BB-FAST)
Input: TestMessagesList T [ N ] , BatchSize m
Output: ErrorList
1: function FindErrorBinary( l o w ,   h i g h )
2:   if  l o w   = =   h i g h  then
3:     return  l o w
4:   end if
5:    m i d   ( l o w   +   h i g h ) / 2  
6:   
7:   for  j   =   l o w   to m i d  do //Test left half
8:     send_fuzz_message( T [ j ] )
9:   end for
10:    s t a t u s   check_session_and_polling()
11:   if  s t a t u s   = =   F A I L  then
12:     reset_ecu_power()
13:     re-enter_session( 0 × 10 )
14:     return FindErrorBinary( l o w ,   m i d ) //Narrow down to left half
15:   else//Left is normal, error is in the right half
16:     return FindErrorBinary( m i d   +   1 ,   h i g h )
17:   end if
18: end function
19:
20: i   1
21: while  i   N  do
22:    u p p e r _ l i m i t min i + m 1 , N
23:   for  j   =   i to u p p e r _ l i m i t  do
24:     send_fuzz_message( T [ j ] )
25:   end for
26:    s t a t u s   check_session_and_polling()
27:   if  s t a t u s   = =   S U C C E S S  then
28:      i   u p p e r _ l i m i t   +   1
29:   else
30:     reset_ecu_power()
31:     re-enter_session( 0 × 10 )
32:      e r r o r _ i d x   FindErrorBinary( i ,   u p p e r _ l i m i t )
33:     ErrorList.add( e r r o r _ i d x )
34:     reset_ecu_power()
35:     re-enter_session( 0 × 10 )
36:      i   e r r o r _ i d x   +   1
37:   end if
38: end while

4. Theoretical Analysis on Proposed Methods

This chapter evaluates the three proposed fuzzing methodologies introduced in Section 3 by calculating their respective time complexities and providing a comparative analysis. Variables that significantly impact the performance of the fuzzing process—including the total number of messages, batch size, and the number of identified vulnerabilities or errors are defined. By establishing these time complexity models, we analyze the most effective fuzzing approach across different experimental conditions and scenarios.

4.1. Time-Complexity Analysis

To calculate the time complexity for each of the three proposed fuzzing methodologies, the variables that impact performance are defined in Table 3.
For SDF, polling process is performed for each of the N fuzzing packets to verify the response. Furthermore, for every error identified in the target ECU, additional time is required for a power cycle (power cycling the ECU to perform a hard reset). The time complexity of SDF testing is expressed as Equation (1):
T S D F = N T f + T p + k · T r
For BSF, fuzzing messages are sent for all N packets, while polling messages are transmitted for every batch of size m to verify the response. For each detected error, the ECU undergoes one power cycle, followed by an SDF procedure within the batch range to pinpoint the specific error. Assuming that errors are uniformly distributed within the batch of size m , the average number of attempts required to identify a single error is defined as m + 1 2 , based on the expected value of a discrete uniform distribution. For the purpose of complexity analysis, this expected value is simplified to m 2 . The total time complexity of BSF testing is expressed as Equation (2):
T B S F = N · T f + N m T p + k 2 T r + m 2 T f + T p
BB-FAST operates similarly to BSF, but it utilizes a binary search within the batch range of size m for each detected error to identify the specific error-inducing message. The total time complexity of BB-FAST is expressed as Equation (3):
T B B F A S T = N · T f + N m T p + k 2 T r + i = 1 log 2 m m 2 i T f + T p + T r
The calculated time complexities are represented using Big-O notation for worst-case scenarios in Table 4, considering the parameters N , m , and k , which determine the system scale and status. The analysis results demonstrate that the proposed batch-based techniques (BSF and BB-FAST) achieve superior efficiency compared to SDF by drastically reducing the frequency of response verifications from the total number of messages ( N ) to the batch unit ( N m ). In particular, BB-FAST maintains high stability and minimizes performance degradation, even in environments with frequent communication delays or ECU resets, by reducing the recovery complexity from linear ( m ) to logarithmic ( log m ).

4.2. Performance Evaluation via Numerical Simulation

In this section, numerical simulations are performed under various environments to compare and evaluate the practical efficiency of the three proposed fuzzing methodologies. These simulations reflect the actual constraints of the LIN bus environment, such as the potential number of errors ( k ), the practical ECU recovery time ( T r ), and the polling cost ( T p ) for verifying normal operation. The variables used in the simulations follow the definitions in Table 3, and the common parameters are established in Table 5.

4.2.1. Simulation According to ERROR Density (k)

This subsection analyzes the performance of each fuzzing methodology based on the number of vulnerabilities present in the target ECU. The parameters established for this analysis are as follows:
  • k: 1 to 100 (independent variable);
  • m: 512 (fixed value);
  • Tr: 2.0 s (fixed value; reflects the human reaction limit for controllability as specified in ISO 26262-3 [30]).
Figure 7 illustrates the simulated test duration as a function of the number of errors, the independent variable. As the number of errors increases, BB-FAST demonstrates a gentler rate of time increase compared to BSF due to its search efficiency. This indicates that even when numerous vulnerabilities are detected in a large-scale test case environment, the time required to pinpoint the error locations remains controlled below a certain threshold, thereby ensuring overall test availability.

4.2.2. Analysis According to ECU Recovery Time (Tr)

This subsection evaluates the performance of the fuzzing methodologies according to the time required for ECU recovery after an error occurs. The parameters for this analysis are:
  • k: 10 (fixed value);
  • m: 512 (fixed value);
  • Tr: 0.5 s to 5.0 s (independent variable).
Figure 8 presents the simulated test duration as a function of the ECU recovery time. The results indicate that with a batch size of 512, a recovery time of approximately 3 s serves as the crossover point where the time efficiency of BB-FAST surpasses that of BSF. However, in environments where the batch size is set larger, considering scenarios where N exceeds 2 bytes (e.g., 3 bytes), BB-FAST is expected to maintain its performance advantage through its efficient search structure, even in high-performance ECU environments with significant recovery times.

4.2.3. Simulation According to Batch Size (m)

This subsection analyzes the performance of each fuzzing methodology relative to the batch size. The parameters for this analysis are:
  • k: 10 (fixed value);
  • m: 10 to 1000 (independent variable);
  • Tr: 2.0 s (fixed value; reflects the human reaction limit for controllability as specified in ISO 26262-3 [30]).
Figure 9 shows the simulated test duration between BSF and BB-FAST based on the batch size. An intersection in performance between BSF and BB-FAST occurs at a batch size of approximately 300. Notably, from a batch size of approximately 100, the test duration for BSF begins to increase at a much steeper gradient compared to BB-FAST.

4.2.4. Summary of Simulation Results

The results of the numerical simulations conducted in this section confirm that the proposed BB-FAST methodology demonstrates the highest scalability in environments with limited bandwidth and significant reset overhead, such as the LIN bus. The key findings and academic implications derived from the simulations are as follows:
  • Strategic Selection of Parameter m: As confirmed in Section 4.2.3, the theoretical optimal batch size varies depending on error density (k) and recovery time (Tr). However, this paper adopts m = 512 as a strategic standard, comprehensively considering the scalability for future tests (e.g., 3-byte search spaces), the minimization of polling overhead, and the implementation efficiency of the binary search algorithm. This design ensures universal performance across diverse vehicle network environments rather than seeking a local optimum for a specific scenario.
  • Ensuring Feasibility for Large-scale Search Spaces: The simulation results show that an m = 512 configuration suppresses the frequency of polling—the dominant bottleneck in total execution time—to 1/512 of the original rate. This minimizes the time delay caused by polling overhead (Tp) even in vast search spaces exceeding 2 bytes, thereby guaranteeing deterministic throughput to complete fuzz tests within restricted project schedules.
  • Optimization of Search Efficiency Under Physical Constraints: Even in environments with high reset overhead (e.g., Tr = 2.0 s), BB-FAST maintains efficient performance in locating error points through binary search. While the linear search cost of BSF increases sharply as the batch size grows, BB-FAST exhibits a gentle logarithmic increase, demonstrating robustness against system instability (presence of multiple errors) or large-scale batch environments.
In conclusion, considering the characteristics of LIN communication and the physical constraints of actual vehicle controllers, BB-FAST-based testing is the most stable and efficient approach for performing UDS-based fuzzing.

5. Experimental Results

In this section, we evaluate the proposed system by performing fuzz tests on an actual automotive ECU equipped with LIN-based UDS. We developed specific tools to implement the three proposed fuzzing methodologies and conducted 2 types of experiments on the target controller within a standardized experimental environment.

5.1. Experimental Setup

The hardware and software environments for the UDS-based fuzz tests on the LIN bus are configured as detailed in Table 6 and Table 7. Based on the system mechanism proposed in Section 3, we developed a testing tool and executed it on the physical ECU.

5.2. Experiment Process

In this study, to verify the performance of the proposed BB-FAST framework from various perspectives, two distinct experimental scenarios were designed according to the fuzz testing methodology described in Section 2.1.3. All experiments were conducted on a real-world automotive ECU in a black-box environment, where the recovery time ( T r ) required for an ECU power cycle upon error detection was fixed at 2 s.
The adoption of a black-box environment is strategically intended to reflect the most challenging conditions where knowledge is highly restricted, while accounting for the realistic constraints of automotive security testing. In typical industrial scenarios, security researchers must perform vulnerability assessments on individual units or vehicle-integrated ECUs without access to proprietary source code or internal architectural designs. By evaluating the proposed methodologies in this information-restricted setting, we verify their practical applicability and robustness in identifying undefined vulnerabilities and stability issues solely through standard protocol responses. Furthermore, demonstrating high efficiency in a black-box environment—the most demanding case—effectively underscores the potential for the universal deployment of our optimization mechanisms across diverse testing paradigms.

5.2.1. Scenario 1: Generation-Based Service Fuzzing

The first scenario involves generation-based fuzz testing based on UDS services identified through the Session & Service Scan stage. The overall experimental procedure follows the methodology described in Section 3 and detailed parameters except error ( k ) are configured identically to the values in Section 4.2.1. First, individual diagnostic sessions and the available services for each session in the target ECU are identified. Subsequently, a specific service is selected, and appropriate payloads are constructed based on the UDS standard. In this paper, the experiment focuses on the Read Data by Identifier (SID 0 × 22) service. The Data Identifier (DID) size is set to the commonly used 2-byte range (0 × 0000–0 × FFFF), and the inputs are constructed and injected sequentially to evaluate the framework’s exhaustive search efficiency.

5.2.2. Scenario 2: Mutation-Based Frame Fuzzing

The second scenario is mutation-based fuzz testing, which identifies anomalies by generating random values within the message frames of UDS on LIN. This scenario evaluates the robustness of the UDS frame structure itself rather than the stability of specific UDS services. The experiment targets the raw message frames used in the LIN transport layer. Following the structure defined in Figure 3 of Section 2.1.2, the Node Address (NAD) is fixed, while the remaining 7 bytes of the data field are configured as random input datasets to be injected into the target ECU. Total test messages count ( N ) will be set to 10,000, and other detailed parameters, except error (k), are configured identically to the values in Section 4.2.1.

5.3. Experiment Results

This section analyzes and compares the results of the three proposed fuzzing methodologies (SDF, BSF, and BB-FAST) based on the experimental environment established in Section 5.1 and the two experimental procedures described in Section 5.2.

5.3.1. Result Analysis of Scenario 1: Generation-Based Service Fuzzing

The results of the session and service scanning for the target ECU are summarized in Table 8, which identifies a total of three sessions and seven services per session. Among the identified services, fuzzing was performed on the 2-byte data field of the Read Data by Identifier (SID 0 × 22) service; as shown in Table 9, the target ECU responded normally to all requests without any anomalies, such as abnormal terminations or communication delays.
The experimental results show that in Session 0 × 01 and Session 0 × 03, the batch-based algorithms (BSF and BB-FAST) achieved a time reduction of approximately 93.44% compared to the traditional sequential approach (SDF). In Session 0 × 02, a time reduction of approximately 55.56% was observed. This efficiency gain is attributed to the minimization of network idle time and physical response latency through batch processing. Notably, Session 0 × 02, being a programming session, demonstrated a faster processing speed compared to other sessions due to its specialized response handling.
In this specific test, the execution times for BSF and BB-FAST were nearly identical. This is because, in the “Best Case” scenario where no errors occur, BB-FAST executes the same batch verification logic as BSF. Although the binary search-based error identification logic—the core feature of BB-FAST—was not activated, the results confirm that BB-FAST maintains the same high-performance levels as BSF under normal operational conditions.

5.3.2. Result Analysis of Scenario 2: Mutation-Based Frame Fuzzing

In Scenario 2, random mutation-based fuzzing was conducted to evaluate the system’s ability to detect unexpected defects in a black-box environment. Out of the 10,000 test messages, a critical malfunction occurred at approximately the 75% mark, causing the target ECU to stop responding and undergo a power shutdown. The performance metrics for each methodology are detailed in Table 10.
The results demonstrate a pronounced contrast in efficiency when an actual error is encountered. The traditional SDF approach required 57 min and 45 s to reach the error point, suffering from the massive cumulative latency of LIN’s sequential polling. While BSF utilized batch processing to achieve an Initial Discovery Time of 1 min and 2 s, it encountered a significant bottleneck during the In-batch localization phase. BSF spent an additional 2 min and 34 s to pinpoint the specific error index, resulting in a total execution time of 3 min and 38 s.
In contrast, BB-FAST completed the entire process in just 1 min and 18 s. Although it incurred a higher reset count compared to BSF, its optimized binary search logic reduced the In-batch Localization Time to a mere 8.2 s. This represents a time reduction of approximately 97.7% compared to SDF and 64.2% compared to BSF. These findings highlight that BB-FAST’s primary strength lies in its worst-case handling; by minimizing idle synchronization wait times during the localization process, it ensures that exhaustive security audits remain feasible even in environments requiring frequent controller resets.

5.3.3. Comparison and Discussion with Theoretical Analysis

The experimental results from Scenarios 1 and 2 provide strong empirical evidence for the theoretical time complexity models derived in Section 4.2. By mapping the measured execution times to the established formulas, we can analyze the efficiency of the proposed algorithms from both communication and recovery perspectives.
In Scenario 1, where no ECU errors occurred ( k = 0 ), the execution times of BSF and BB-FAST converged as predicted by the theoretical models. According to the Equations (1) and (4):
T B S F T B B F A S T N · T f + N m T p
The experimental data showed a 93.44% time reduction in Sessions 0 × 01 and 0 × 03. This gain is mathematically attributed to the term N m T p . In LIN-based UDS communication, the physical response latency ( T p ) and master–slave polling delay constitute the dominant overhead. By grouping m messages into a single batch, the algorithm effectively reduces the cumulative polling wait time by a factor of m . The convergence of BSF and BB-FAST at approximately 7 min and 50 s proves that under the best-case complexity of Ω N m , both algorithms maintain optimal performance by minimizing network idle time.
Scenario 2, where one ECU error occurred ( k = 1 ), reveals a pronounced divergence between the algorithms, validating the worst-case complexity analysis. The core difference lies in the in-batch localization phase, where the specific error index is identified.
  • BSF: The localization term for BSF is defined as k 2 T r + m 2 T f + T p . Although BSF reduced the initial discovery time, it suffered from a linear search complexity of O k m . In the experimental environment, this resulted in an isolation time of 154 s. This confirms that for larger batch sizes ( m ), the sequential approach within a failed batch becomes a significant bottleneck, especially when each retry is subject to physical protocol delays.
  • BB-FAST: BB-FAST optimizes this process using binary search, with a complexity of O N m + k   log 2   m . The localization time was reduced to only 8.2 s, despite a higher reset count. This demonstrates a critical trade-off: although BB-FAST triggers more power cycles ( k T r ), the logarithmic reduction in the number of test cases m 2 i T f + T p  far outweighs the reset overhead.

6. Discussions and Limitations

The experimental results validate that BB-FAST effectively overcomes the inherent performance bottlenecks of the LIN protocol, which have long hindered comprehensive security testing. As demonstrated in Section 5.3, the proposed framework achieved a massive time reduction—reaching up to 97.7% compared to the traditional SDF approach. This stark contrast highlights that the sequential master–slave polling in SDF is no longer a viable option for exhaustive security audits in modern vehicular environments.
A key finding of this study is the pronounced performance evolution from SDF to BB-FAST, particularly in error-prone environments. While BSF successfully reduced the communication overhead of SDF through batch processing, it encountered a linear search bottleneck during error localization. In Scenario 2, BB-FAST achieved a 64.2% time reduction even compared to BSF, proving that the binary search-based recovery logic is essential for handling the physical latency of power cycles ( T r ). These results confirm that while BSF improves the best-Case, BB-FAST provides the only scalable solution for the worst-case involving frequent controller resets.
From a practical perspective, the primary significance of this study lies in its ability to close the security blind spot in low-bandwidth in-vehicle networks. Due to the 20 kbps baud rate limit of LIN, researchers have often simplified or omitted security verification for LIN-based ECUs. BB-FAST transforms this burden into a feasible industrial process. By ensuring that rigorous UDS-based fuzzing can be completed within a practical timeframe, even during worst-case scenarios, our framework provides a robust tool for meeting the strict demands of UN R155 and ISO/SAE 21434 compliance.
Regarding the limitations and future research directions, first, this study primarily focuses on fuzzing injections based on Single Frames (SF). While the LIN transport layer standard (ISO 17987-2) supports multi-frame transmissions consisting of First Frames (FF) and Consecutive Frames (CF), it differs structurally from CAN’s ISO-TP by omitting Flow Control (FC, 0 × 30) frames and relying on the master’s schedule for continuous transmission. Since UDS service requests (SID) and core parameters are generally determined within the FF, service-level availability testing can be largely addressed through the current single-frame fuzzing approach. However, in multi-frame scenarios, subsequent CFs may contain unexpected anomalous payloads, which are critical targets for security verification as they can trigger buffer overflows or logical malfunctions within the protocol stack. Therefore, future research should extend the batch processing and binary search logic of BB-FAST to multi-frame units to precisely identify error-inducing points within complex data structures.
Second, the empirical experiments were limited to a single LIN-based controller and a 2-byte payload range. In complex vehicular architectures, recovery times ( T r ) and response behaviors may vary significantly across different ECU types. Additionally, high-bandwidth protocols like Automotive Ethernet or data-heavy systems like In-Vehicle Infotainment (IVI) present different challenges in terms of protocol complexity and data volume. Therefore, subsequent studies should focus on verifying the scalability of BB-FAST across diverse hardware architectures and advancing toward multivariate fuzzing algorithms with expanded payload ranges to detect more sophisticated, unknown vulnerabilities.

7. Conclusions

This study presented BB-FAST, an optimized fuzzing framework designed to overcome the inherent communication bottlenecks and recovery delays of the LIN protocol in automotive cybersecurity testing. By integrating batch-based request processing with a binary search-based error localization logic, this research bridge the gap between theoretical algorithmic efficiency and physical network constraints. Based on the empirical validation across multiple scenarios, the final conclusions are as follows:
  • Validation of Algorithmic Efficiency: Experimental results confirmed that BB-FAST achieves a massive time reduction—up to 97.7% compared to traditional SDF—by optimizing the N m communication overhead. This proves that the theoretical complexity established in this study is highly consistent with real-world controller behavior, transforming exhaustive LIN-based security audits from an impractical task into a feasible industrial process.
  • Superior Resilience in Error Scenarios: A key contribution of this study is the demonstration of BB-FAST’s superiority in worst-case scenarios. While conventional batch methods (BSF) suffer from linear search bottlenecks during error localization, BB-FAST achieved a 64.2% performance gain over BSF in error-triggering environments. By reducing the localization time to a logarithmic scale ( O k log m ), the framework effectively suppresses the impact of physical reset latencies ( T r ), ensuring high test availability even under frequent controller failures.
  • Elimination of Security Blind Spots: By maximizing test feasibility within practical timeframes, BB-FAST allows for the inclusion of low-bandwidth LIN components—which were previously overlooked—into the standard security verification suite. This ensures that core diagnostic protocols are thoroughly verified, facilitating compliance with rigorous international standards such as UN R155 and ISO/SAE 21434.
While this study focused on specific LIN-based ECUs, the underlying logic of the proposed optimization is theoretically extensible to various automotive communication architectures, suggesting its potential for broader application. Future research will aim to advance toward intelligent, multivariate fuzzing to enhance detection rates for unknown vulnerabilities and verify the scalability of this methodology in high-speed networks like Automotive Ethernet. We expect these findings to serve as a foundational benchmark for establishing standardized, high-efficiency automotive cybersecurity verification methodologies.

Author Contributions

Conceptualization, S.I., Y.J. and J.P.; methodology, S.I., Y.J. and J.P.; software, Y.J.; validation, Y.J. and J.P.; formal analysis, S.I.; investigation, S.I. and Y.J.; resources, S.I.; data curation, Y.J.; writing—original draft preparation, S.I.; writing—review and editing, S.I., Y.J. and J.P.; visualization, S.I. and Y.J.; supervision, J.P.; project administration, J.P.; funding acquisition, J.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research and the APC was funded by the Korea Evaluation Institute of Industrial Technology (KEIT), grant funded by the Korea government (MOTIR) (No. 2410013725).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on reasonable request from the corresponding author due to corporate security policies and the sensitivity of the vehicle control system data.

Acknowledgments

The authors would like to thank D. Kim, S. Jeon and J. Jang from the Security Vulnerability Analysis Team at FESCARO for their technical support. We also extend our gratitude to J. Kim and E. Ju from the IP Strategy Team at FESCARO for their administrative assistance.

Conflicts of Interest

The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results. Also, the author and co-authors were employed by the company FESCARO. The submitted paper is expected to provide a framework for the company’s future intellectual property acquisition and patenting strategies, notwithstanding the absence of current filings at the time of submission. The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

References

  1. De, M.; Pesé, M.D.; Brooks, R.R.; Hasan, M. Contextualizing Security and Privacy of Software-Defined Vehicles: State of the Art and Industry Perspectives. arXiv 2024, arXiv:2411.10612. [Google Scholar] [CrossRef]
  2. Anwar, A.; Anwar, A.; Moukahal, L.; Zulkernine, M. Security Assessment of In-Vehicle Communication Protocols. Veh. Commun. 2023, 44, 100639. [Google Scholar] [CrossRef]
  3. ISO/SAE 21434; Road Vehicles—Cybersecurity Engineering. ISO: Geneva, Switzerland, 2021.
  4. UN Regulation No. 155; Cyber Security and Cyber Security Management Syste. UNECE: Geneva, Switzerland, 2021.
  5. Yekta, A.R.; Loza, N.; Gramm, J.; Schneider, M.P.; Katzenbeisser, S. From ECU to VSOC: UDS Security Monitoring Strategies. In Proceedings of the Nineteenth International Conference on Emerging Security Information, Systems and Technologies (SECURWARE 2025), IARIA, Barcelona, Spain, 26–30 October 2025; pp. 40–47. [Google Scholar] [CrossRef]
  6. Kayas, G.; Etas, Z.P.; Etas, D.G.; Etas, T.A.; Payton, J. AI-Assisted Vulnerability Analysis And Classification Framework for UDS on CAN-Bus Fuzzer. In Proceedings of the 10th Escar USA—The World’s Leading Automotive Cyber Security Conference; ESCRYPT: Plymouth, MI, USA, 2023. [Google Scholar]
  7. Ruff, M. Evolution of Local Interconnect Network (LIN) Solutions. In 2003 IEEE 58th Vehicular Technology Conference (VTC 2003-Fall); IEEE Cat: Orlando, FL, USA, 2003; pp. 3382–3389. [Google Scholar] [CrossRef]
  8. ISO 17987; Road Vehicles—Local Interconnect Network (LIN). ISO: Geneva, Switzerland, 2025.
  9. Navet, N.; Simonot-Lion, F. Automotive Embedded Systems Handbook (Industrial Information Technology); CRC Press: Boca Raton, FL, USA, 2008. [Google Scholar]
  10. ISO 14229; Road Vehicles—Unified Diagnostic Services (UDS). ISO: Geneva, Switzerland, 2022.
  11. Manès, V.J.; Han, H.; Han, C.; Cha, S.K.; Egele, M.; Schwartz, E.J.; Woo, M. The art, science, and engineering of fuzzing: A survey. IEEE Trans. Softw. Eng. 2019, 47, 2312–2331. [Google Scholar] [CrossRef]
  12. Sutton, M.; Greene, A.; Amini, P. Fuzzing: Brute Force Vulnerability Discovery; Addison-Wesley Professional: Boston, MA, USA, 2007. [Google Scholar]
  13. Beizer, B.; Wiley, J. Black Box Testing: Techniques for Functional Testing of Software and Systems. IEEE Softw. 1996, 13, 98. [Google Scholar] [CrossRef]
  14. Myers, G.J.; Sandler, C.; Badgett, T. The Art of Software Testing; John Wiley & Sons: Hoboken, NJ, USA, 2011. [Google Scholar]
  15. Godefroid, P.; Levin, M.Y.; Molnar, D.A. Automated Whitebox Fuzz Testing. In Proceedings of the Network and Distributed System Security Symposium, San Diego, CA, USA, 10–13 February 2008; pp. 151–166. [Google Scholar]
  16. Embleton, S.; Sparks, S.; Cunningham, R. Sidewinder: An Evolutionary Guidance System for Malicious Input Crafting. Available online: http://www.blackhat.com/presentations/bh-usa-06/BH-US-06-Embleton.pdf (accessed on 5 March 2026).
  17. DeMott, J.D.; Enbody, R.J.; Punch, W.F. Revolutionizing the Field of Grey-Box Attack Surface Testing with Evolutionary Fuzzing. Available online: https://blackhat.com/presentations/bh-usa-07/DeMott_Enbody_and_Punch/Whitepaper/bh-usa-07-demott_enbody_and_punch-WP.pdf (accessed on 5 March 2026).
  18. Takanen, A.; DeMott, J.D.; Miller, C. Fuzzing for Software Security Testing and Quality Assurance, 2nd ed.; Artech: Norwood, MA, USA, 2018. [Google Scholar]
  19. Rathore, R.S.; Hewage, C.; Kaiwartya, O.; Lloret, J. In-Vehicle Communication Cyber Security: Challenges and Solutions. Sensors 2022, 22, 6679. [Google Scholar] [CrossRef] [PubMed]
  20. Luo, F.; Zhang, X.; Yang, Z.; Jiang, Y.; Wang, J.; Wu, M.; Feng, W. Cybersecurity Testing for Automotive Domain: A Survey. Sensors 2022, 22, 9211. [Google Scholar] [CrossRef] [PubMed]
  21. Hussain, I.; Reis, M.J.C.S.; Serôdio, C.; Branco, F. A Bibliometric Analysis and Visualization of In-Vehicle Communication Protocols. Future Internet 2025, 17, 268. [Google Scholar] [CrossRef]
  22. Yu, J.; Wagner, S.; Wang, B.; Luo, F. A systematic mapping study on security countermeasures of in-vehicle communication systems. SAE Int. J. Transp. Cybersecur. Priv. 2021, 4, 97–116. [Google Scholar] [CrossRef]
  23. Cho, I.; Yoon, J.; Eom, S. Implementation of session and service scanner for UDS security testing. In Proceedings of the KASE 2023 Annual Spring Conference, PyeongChang, Republic of Korea, 24–27 May 2023; pp. 893–897. [Google Scholar]
  24. Kim, H.; Jeong, Y.; Choi, W.; Lee, D.H.; Jo, H.J. Efficient ECU Analysis Technology Through Structure-Aware CAN Fuzzing. IEEE Access 2022, 10, 23259–23271. [Google Scholar] [CrossRef]
  25. Chen, Q.; Zikui, K.; Hu, K.; Peng, X.; Gong, S.; Chen, B.; Kong, Z.; Jiang, H.; Sun, B.; Lu, Y. Structure-Aware, Diagnosis-Guided ECU Firmware Fuzzing. Proc. ACM Softw. Eng 2025, 2, 871–893. [Google Scholar] [CrossRef]
  26. Faschang, T.; Macher, G. An Open Software-Based Framework for Automotive Cybersecurity Testing; Communications in Computer and Information Science; Springer: Cham, Switzerland, 2023; Volume 1890, pp. 316–328. [Google Scholar] [CrossRef]
  27. Zeller, A.; Hildebrandt, R. Simplifying and Isolating Failure-Inducing Input. IEEE Trans. Softw. Eng. 2002, 28, 183–200. [Google Scholar] [CrossRef]
  28. Kapugama, C.G. Extending Delta Debugging Minimization for Spectrum-Based Fault Localization. In Proceedings of the 2026 IEEE 16th Annual Computing and Communication Workshop and Conference (CCWC); IEEE SE, Las Vegas, NV, USA, 5–7 January 2026. [Google Scholar] [CrossRef]
  29. McMinn, P. Search-Based Software Test Data Generation: A Survey. Softw. Test. Verif. Reliab. 2004, 14, 105–156. [Google Scholar] [CrossRef]
  30. ISO 26262-3; Road Vehicles—Functional Safety—Part 3: Concept Phase. ISO: Geneva, Switzerland, 2018.
Figure 1. Frame of the Local Interconnect Network (LIN) Message.
Figure 1. Frame of the Local Interconnect Network (LIN) Message.
Electronics 15 01223 g001
Figure 2. Example of LIN Communication on Unified Diagnostic Services (UDS).
Figure 2. Example of LIN Communication on Unified Diagnostic Services (UDS).
Electronics 15 01223 g002
Figure 3. Example UDS frame on LIN.
Figure 3. Example UDS frame on LIN.
Electronics 15 01223 g003
Figure 4. Overview of the proposed fuzz testing system./ECU: Electronic Control Unit.
Figure 4. Overview of the proposed fuzz testing system./ECU: Electronic Control Unit.
Electronics 15 01223 g004
Figure 5. Flow graph of the scanning session step.
Figure 5. Flow graph of the scanning session step.
Electronics 15 01223 g005
Figure 6. Flow graph of the scanning service step.
Figure 6. Flow graph of the scanning service step.
Electronics 15 01223 g006
Figure 7. Simulation results according to error density.
Figure 7. Simulation results according to error density.
Electronics 15 01223 g007
Figure 8. Simulation results according to ECU recovery time.
Figure 8. Simulation results according to ECU recovery time.
Electronics 15 01223 g008
Figure 9. Simulation results according to batch size.
Figure 9. Simulation results according to batch size.
Electronics 15 01223 g009
Table 1. Examples of Service ID on UDS Standard.
Table 1. Examples of Service ID on UDS Standard.
Request SIDResponse SIDServiceDetails
0 × 100 × 50Diagnostic Session ControlControl which UDS services are available
0 × 110 × 51ECU ResetReset the Electronic Control Unit(ECU)
0 × 270 × 67Security AccessEnable use of security-critical services via authentication
0 × 220 × 62Read Data By IdentifierRead data from targeted ECU
0 × 230 × 63Read Memory By AddressRead data from physical memory
0 × 2E0 × 6EWrite Data By IdentifierProgram specific variables determined by data parameters
0 × 3D0 × 7DWrite Memory By AddressWrite information to the ECU’s memory
0 × 310 × 71Routine ControlInitiate/stop routines
0 × 340 × 74Request DownloadStart request to add software/data to ECU
0 × 350 × 75Request UploadStart request to read software/data from ECU
0 × 360 × 76Transfer DataPerform actual transfer of data
0 × 7FNegative ResponseSent with a negative response code when a request cannot be handled
Table 2. Recommended service to select for fuzz testing.
Table 2. Recommended service to select for fuzz testing.
Request SIDServiceSelection
0 × 10DiagnosticSessionControl
0 × 11EcuReset
0 × 19ReadDTCInformation
0 × 22ReadDataByIdentifier
0 × 23ReadMemoryByAddress
0 × 27SecurityAccess
0 × 28CommunicationControl
0 × 2CDynamicallyDefineDataIdentifier
0 × 2EWriteDataByIdentifier
0 × 2FInput/OutputControlByIdentifier
0 × 31RoutineControl
0 × 34RequestDownload
0 × 35RequestUpload
0 × 36TransferData
0 × 3DWriteMemoryByAddress
0 × 3ETesterPresent
0 × 83AccessTimingParameters
0 × 85ControlDTCSetting
0 × 86ResponseonEvent
0 × 87LinkControl
◎: Mandatory, ○: Recommend./DTC: Diagnostic Trouble Code
Table 3. Variable symbols with time-complexity.
Table 3. Variable symbols with time-complexity.
SymbolDescriptionUnit
N Total number of fuzzing messages (packets)
m Batch size
k Number   of   errors   ( vulnerabilities )   in   the   target   controller   ( k N )
T f Transmission time for each fuzzing message m s
T p Session Re-entry and Polling Message Verification Time m s
T r ECU initialization time (power re-application, boot-up, etc.) m s
Table 4. Comparison of theoretical time complexity for the proposed fuzzing methods.
Table 4. Comparison of theoretical time complexity for the proposed fuzzing methods.
MethodTime-Complexity (Big-O)
Sequential Discovery Fuzzing (SDF) O ( N + k )
Batch-based Sequential Fuzzing (BSF) O ( N m + k m )
Batch-Based Binary-Search Fuzzing and Accelerated Security Testing (BB-FAST) O ( N m + k log m )
Notes: N = total test cases, k = number of errors, m = batch size.
Table 5. Fixed Parameters for numerical simulation.
Table 5. Fixed Parameters for numerical simulation.
SymbolDefault ValueNotes
N 65,5362-byte range (0 × 0000~0 × FFFF)
T f 10 msFrame transmission time at LIN 20 kbps
T p 100 ms0 × 10 Service polling latency included
Table 6. Hardware configuration and specifications.
Table 6. Hardware configuration and specifications.
ComponentSpecificationRole
LaptopIntel(R) Core(TM) Ultra 7, 32 GB RAMdeveloping tool, controlling fuzz testing scripts
PEAK PLIN-USBsupports all LIN specificationsUSB to LIN bus converter
Automotive ECULIN-based Electronic Control Unitexperimental target
Power Relay12 V/5 A, 1-Channel RelayECU power relay and reset
Table 7. Software and development environment.
Table 7. Software and development environment.
ComponentSpecificationRole
Operating SystemWindows 11 Pro
LanguagePython 3.13.9script developing, test controlling
ModulePLinApiLIN communication API
numpy, matplotlibdata processing, simulation and result plotting
MonitoringPLIN-Viewreal-time LIN monitoring
Table 8. Session & Service scanning results.
Table 8. Session & Service scanning results.
Session ID0 × 010 × 020 × 03
Service ID
0 × 10 (DiagnosticSessionControl)OOO
0 × 11 (EcuReset)OOO
0 × 22 (ReadDataByIdentifier)OOO
0 × 27 (SecurityAccess)OOO
0 × 2E (WriteDataByIdentifier)OOO
0 × 31 (RountineControl)OOO
0 × 3E (TesterPresent)OOO
Table 9. Fuzz testing measurement results in scenario 1.
Table 9. Fuzz testing measurement results in scenario 1.
SessionService IDExecution Time (SDF)Execution Time (BSF)Execution Time (BB-FAST)
0 × 010 × 22121 min 48 s7 min 53 s7 min 51 s
0 × 020 × 2217 min 56 s7 min 50 s7 min 49 s
0 × 030 × 22121 min 48 s7 min 53 s7 min 51 s
Table 10. Fuzz testing measurement results in scenario 2.
Table 10. Fuzz testing measurement results in scenario 2.
Proposed MethodInitial Discovery TimeIn-Batch Localization Time Reset Overhead
(Tr × reset count)
Total Identification Time
SDF57 min 45 s--57 min 45 s
BSF1 min 2 s2 min 34 s2 s (2 s × 1)3 min 38 s
BB-FAST1 min 2 s8 s8 s (2 s × 4)1 min 18 s
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Im, S.; Jung, Y.; Park, J. Algorithmic Optimization for Accelerated UDS Fuzzing in Cyber–Physical Automotive Networks: The BB-FAST Approach on LIN-Bus. Electronics 2026, 15, 1223. https://doi.org/10.3390/electronics15061223

AMA Style

Im S, Jung Y, Park J. Algorithmic Optimization for Accelerated UDS Fuzzing in Cyber–Physical Automotive Networks: The BB-FAST Approach on LIN-Bus. Electronics. 2026; 15(6):1223. https://doi.org/10.3390/electronics15061223

Chicago/Turabian Style

Im, Sungsik, Yijoon Jung, and Junyoung Park. 2026. "Algorithmic Optimization for Accelerated UDS Fuzzing in Cyber–Physical Automotive Networks: The BB-FAST Approach on LIN-Bus" Electronics 15, no. 6: 1223. https://doi.org/10.3390/electronics15061223

APA Style

Im, S., Jung, Y., & Park, J. (2026). Algorithmic Optimization for Accelerated UDS Fuzzing in Cyber–Physical Automotive Networks: The BB-FAST Approach on LIN-Bus. Electronics, 15(6), 1223. https://doi.org/10.3390/electronics15061223

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop