Fuzzing method and device for afdx network protocol
By utilizing the configurable parameters of the AFDX protocol to generate test data packets, the problem of insufficient fuzz testing tools for the AFDX network protocol is solved, the test efficiency and coverage are improved, and the security and stability of the airborne system are enhanced.
Patent Information
- Application Number
- CN202411956977.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-29
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2044-12-29
AI Technical Summary
The existing technology lacks tools in fuzz testing of AFDX network protocols, resulting in low testing efficiency and making it difficult to meet the safety and stability requirements of domestic large aircraft projects for avionics systems.
The configurable parameters in the AFDX protocol are used as the input of the fuzz test to generate test data packets, which are sent to the device under test through the AFDX network. The test results are obtained and effective use cases are fed back to improve test coverage and accuracy.
Improved the testing efficiency of AFDX network protocols and related software, discovered potential vulnerabilities, and enhanced the security and stability of airborne systems.
Smart Images

Figure CN119892700B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of airborne network information security testing, and in particular relates to a fuzzy testing method and a fuzzy testing device for an AFDX network protocol. Background Art
[0002] The AFDX (Aviation Full-Duplex Switched Ethernet) network protocol, also known as the Aviation Full-Duplex Switched Ethernet protocol, is a standard protocol for network communications in avionics systems. Derived from commercial Ethernet technology, it is primarily used for intra-aircraft network communications as an upgrade to traditional aviation buses (such as ARI NC 429). AFDX offers high bandwidth, real-time performance, and reliability. It features virtual link-based flow control, bandwidth management, and redundancy design, ensuring reliable transmission of critical data and making it suitable for the complex and demanding data exchange tasks in modern avionics systems.
[0003] Currently, Airbus, Boeing, and other companies primarily test the AFDX network protocol through specialized tools such as TTTech's AFDX Explorer, D-Space, and Wind River simulation and monitoring tools. These tools enable virtual link (VL) configuration, traffic monitoring, performance evaluation, and fault injection within AFDX networks. Domestic research started relatively late, and the primary testing methods currently used include hardware-in-the-loop (HIL) testing, automated script testing, and verification of virtual link bandwidth allocation, real-time performance, and fault tolerance mechanisms.
[0004] Fuzz testing of the AFDX network protocol is still in the exploratory and developmental stages both domestically and internationally. Overseas, efforts are beginning to integrate automated testing techniques, utilizing random and non-standard data packets to test network robustness and exception handling capabilities. Currently, domestic testing primarily focuses on traditional functional and performance testing, with limited application of fuzz testing. However, with the development of domestically produced large aircraft programs, the domestic aviation industry's security requirements for AFDX networks are continuously increasing. The application of fuzz testing to the AFDX protocol faces challenges from insufficient tools and high complexity, resulting in reduced testing efficiency for the network protocol and its associated software. Summary of the Invention
[0005] In view of this, the fuzzy testing method of the AFDX network protocol of the present invention is used to test airborne equipment using the AFDX network protocol, discover security issues when airborne equipment uses the AFDX network protocol to communicate, improve the security and stability of the airborne system, discover potential vulnerabilities in a timely manner, and improve testing efficiency.
[0006] A fuzzy testing method for AFDX network protocol is suitable for testing airborne network protocols. The fuzzy testing method includes the following steps:
[0007] S1: Generate test data packets using configurable parameters in the AFDX protocol as input for fuzz testing, where the configurable parameters include virtual link configuration, bandwidth configuration, time scheduling configuration, and protocol frame field configuration;
[0008] S2: calling the test data packet to test the network protocol;
[0009] S3: Send the test data packet to the device under test through the AFDX network;
[0010] S4: Obtain test results of the device under test, where the test results include network protocol crashes, errors, or abnormal network packet loss, jitter, and delays during use, and then record the parameters of the test data packet and the current status of the network and the device under test;
[0011] S5: Based on the test results, the test cases that trigger the abnormal scenario are marked as valid test cases in a manual or automated manner, and the marked valid test cases are fed back to step S1 to generate test data packets of the same type.
[0012] Furthermore, test cases are generated using the configurable parameters in the AFDX protocol as input for fuzz testing. For example, fuzz testing is performed on virtual link configuration, bandwidth configuration, time scheduling configuration, protocol frame field configuration, etc., and test data packets for fuzz testing are generated using existing test case generation methods based on generation, mutation, or a combination of both.
[0013] Calling test data packets for testing. For example, to test the robustness and fault tolerance of the AFDX network in time scheduling, it is necessary to generate test inputs with different time intervals, timestamps, and scheduling cycles, simulate abnormal time triggering patterns, and schedule corresponding test data packets for testing.
[0014] Send the test data packet to the device under test through the AFDX network;
[0015] Use existing monitoring, logging, or status reporting methods to obtain test results from the device under test. If a crash, error, or abnormal packet loss, jitter, or delay occurs, record the test data packet and the current status of the network and device under test.
[0016] Based on the test results, test cases that trigger abnormal scenarios are marked as valid test cases using manual or automated methods.
[0017] In a second aspect, a fuzz testing device for an AFDX network protocol is provided, which may include: a generation unit, a scheduling unit, a sending unit, an acquisition unit, and a feedback unit;
[0018] The generating unit is used to generate test cases using configurable parameters in the AFDX protocol as input for fuzz testing;
[0019] The scheduling unit is used to schedule corresponding test data packets for different test purposes for testing;
[0020] The sending unit is used to send the test data packet to the device under test through the AFDX network;
[0021] The acquisition unit is used to obtain test results from the device under test, including data when a crash, error or abnormal packet loss, jitter and delay occurs, as well as the current status of the network and the device under test;
[0022] The feedback unit is used to feed back valid use case data to the test case generation module to generate test data packets of the same type to explore more potential problems.
[0023] In a third aspect, an electronic device is provided, the electronic device including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus;
[0024] Memory for storing computer programs;
[0025] The processor is configured to implement any of the method steps described in the first aspect when executing a program stored in the memory.
[0026] In a fourth aspect, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, any of the method steps described in the first aspect is implemented.
[0027] The technical beneficial effects of the present invention are:
[0028] The configurable parameters in the AFDX protocol are used as the input of the fuzz test to generate test cases. Then, the data packets are sent to the device under test through configurable case scheduling. Then, the test results are obtained from the device under test through monitoring, logging or status reporting, and the effective cases after screening and processing are fed back to the test case generation module, thereby improving the testing efficiency of network protocols and related software. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0030] Figure 1 Schematic diagram of the fuzzy testing method of the AFDX network protocol in the embodiment;
[0031] Figure 2 Schematic diagram of the AFDX frame structure in the embodiment;
[0032] Figure 3 Schematic diagram of a fuzzy testing device for the AFDX network protocol in an embodiment. DETAILED DESCRIPTION
[0033] The embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.
[0034] The following describes the embodiments of the present disclosure through specific examples, and those skilled in the art can easily understand other advantages and effects of the present disclosure from the contents disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all of the embodiments. The present disclosure can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present disclosure. It should be noted that, in the absence of conflict, the following embodiments and features in the embodiments can be combined with each other. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present disclosure.
[0035] It should be noted that various aspects of the embodiments within the scope of the appended claims are described below. It should be apparent that the aspects described herein can be embodied in a wide variety of forms, and any specific structure and / or function described herein is merely illustrative. Based on this disclosure, it should be understood by those skilled in the art that an aspect described herein can be implemented independently of any other aspect, and two or more of these aspects can be combined in various ways. For example, any number of aspects described herein can be used to implement an apparatus and / or practice a method. In addition, other structures and / or functionalities other than one or more of the aspects described herein can be used to implement this apparatus and / or practice this method.
[0036] Explanation of terms:
[0037] AFDX: A network protocol for data communication between avionics equipment. Based on Ethernet technology, it aims to provide high-bandwidth, low-latency, and high-reliability communications to meet the real-time and security requirements of the aerospace field.
[0038] Full-duplex: refers to the AFDX network in which data can be transmitted in both directions at the same time, allowing devices to send and receive data at the same time.
[0039] Fuzz testing: Fuzz testing is a software testing technique that identifies vulnerabilities and defects in a system by inputting large amounts of random or abnormal data into the program.
[0040] Airborne equipment: Airborne equipment refers to various electronic, mechanical and electrical equipment installed on aircraft to support flight, navigation, communication, monitoring and control functions.
[0041] like Figures 1 to 3 The fuzzy testing method of the AFDX network protocol shown is suitable for testing airborne network protocols. The fuzzy testing method includes the following steps:
[0042] S1: Generate test data packets using configurable parameters (typically fixed parameters) in the AFDX protocol as input for fuzz testing. Configurable parameters include virtual link configuration, bandwidth configuration, time scheduling configuration, and protocol frame field configuration. Generally, the test data packets are used as test cases. For example, the test data packets are generated using existing test case generation methods, such as generation-based, mutation-based, or a combination of both.
[0043] S2: Call test data packets to test the network protocol;
[0044] S3: Send the test data packet to the device under test through the AFDX network;
[0045] S4: Obtain test results of the device under test (for example, using existing monitoring, logging, or status reporting methods), where the test results include situations or conditions in which the network protocol crashes, errors, or abnormal network packet loss, jitter, and delay occur during use, and then record parameters of the test data packet and the current status of the network and the device under test;
[0046] S5: Based on the test results, the test cases that trigger the abnormal scenario are marked as valid test cases in a manual or automated manner, and the marked valid test cases are fed back to step S1 to generate test data packets of the same type.
[0047] The method of the present invention is different from traditional testing methods. It can cover various fields and boundary conditions of the AFDX protocol by randomly generating diverse inputs, simulate malicious data flows, and discover potential security vulnerabilities and implementation defects. In addition, the design of the AFDX protocol does not include a packet return mechanism. The method of the present invention has a result acquisition and feedback mechanism, which can form a closed loop, helping the fuzz testing device to more effectively identify and locate potential security vulnerabilities, thereby improving the comprehensiveness and accuracy of the test.
[0048] This method is applied to airborne AFDX network testing. It's important to note that there are currently no fuzzy testers for AFDX networks in China, leaving the aviation industry largely dormant in the field. AFDX networks maximize the speed and reliability of data exchange and communication functions, replacing traditional data transmission buses like the ARI NC429.
[0049] As a specific implementation method provided in this case, test data packets are generated, including different combinations of virtual link configurations, changes in bandwidth configurations, adjustments to time scheduling configurations, and diversification of protocol frame field configurations.
[0050] As a specific implementation method provided in this case, the test data packets are used to evaluate the performance and security of the AFDX network under different configuration conditions.
[0051] As a specific implementation method provided in this case, the test results include the operating status of the device under test and the test data packet under system or network abnormality conditions.
[0052] As a specific implementation method provided in this case, effective test cases include data packets that cause system or network abnormalities.
[0053] Secondly, a fuzzy testing device for the AFDX network protocol is provided, which is used in airborne AFDX network testing and applies the above-mentioned fuzzy testing method, including:
[0054] AFDX protocol test case generation module: generates test cases using configurable parameters in the AFDX protocol as input for fuzz testing;
[0055] AFDX protocol use case scheduling module: according to different test purposes, call the test data packets corresponding to the test purpose for testing;
[0056] AFDX protocol data packet sending module: sends the test data packet to the device under test through the AFDX network;
[0057] AFDX protocol data result acquisition and processing module: uses the existing data packet processing result acquisition method to obtain the test results of system anomalies or network anomalies from the device under test, including the test data packet and the current status of the network and the device under test;
[0058] AFDX Protocol Parameter Valid Case Feedback Module: Based on test results, test cases that trigger abnormal scenarios are manually or automatically marked as valid test cases and fed back to the test case generation module to generate test data packets of the same type. Based on the valid test data packets fed back to the AFDX Protocol Test Case Generation Module, the module generates the same test parameter set. This test parameter set is then used to test the network protocol in the network to uncover more potential issues.
[0059] By giving an example, the test of airborne equipment using the AFDX network protocol was conducted to discover the security issues of airborne equipment using the AFDX network protocol for communication, improve the security and stability of the airborne system, and discover potential vulnerabilities in a timely manner.
[0060] It should be noted that the fuzz testing method can be applied to a fuzz testing device, which can be installed in an onboard device or a separate server. This method is a fuzz testing solution from the perspective of the tester, as follows:
[0061] S1. The fuzz testing method uses the configurable parameters in the AFDX protocol as the input of the fuzz test to generate test cases. For example, fuzz testing is performed on the configuration of the virtual link, bandwidth configuration, time scheduling configuration, protocol frame field configuration, etc. The test data packets for the fuzz test are generated using the currently existing test case generation methods based on generation, mutation, or a combination of the two.
[0062] For virtual link configuration, the configurable parameters include at least:
[0063] ●Input physical port
[0064] ●Output physical port list
[0065] MAC destination address
[0066] Bandwidth allocation interval
[0067] Maximum allowed jitter
[0068] ●Whether the account is shared ( AC count )
[0069] ●Maximum / minimum allowed total length of Ethernet line
[0070] Priority
[0071] Bandwidth configuration is typically done in the switch configuration file and the terminal device configuration file. The switch configuration file can configure the maximum bandwidth and bandwidth allocation mechanism for each virtual link, while the terminal configuration file can configure the bandwidth parameters sent to the virtual link (such as the maximum send rate and minimum send interval).
[0072] For time scheduling configuration, configurable parameters include time interval, timestamp, and scheduling period.
[0073] For the configuration of the protocol frame fields, such as Figure 2 As shown, the configurable parameters include at least:
[0074] Source address
[0075] Destination address
[0076] Frame length
[0077] Data fields
[0078] Serial number
[0079] Frame check sequence and reserved fields
[0080] S2. Schedule different test data packets according to the test purpose. For example, to test the robustness and fault tolerance of the AFDX network in time scheduling, it is necessary to generate test inputs with different time intervals, timestamps, and scheduling periods to simulate abnormal time triggering patterns.
[0081] S3. Send the test data packet to the device under test through the AFDX network.
[0082] S4. Use existing monitoring, logging, or status reporting methods to obtain test results from the device under test. If a crash, error, or abnormal packet loss, jitter, or delay occurs, record the test data packet and the current status of the network and the device under test.
[0083] S5. Based on the test results, manually or automatically mark the test cases that trigger abnormal scenarios as valid test cases. Based on the valid test case data, feedback is sent to the test case generation module to generate test data packets of the same type to discover more potential problems. For test case optimization methods, please refer to:
[0084] Optimization of parameter values: For valid test cases that cause system crashes or exceptions, adjust the corresponding field value ranges in the test data packet. For example, conduct more in-depth tests on the boundary values of certain key fields (such as frame length and priority) and generate more test cases around these fields.
[0085] Adjust the randomization strategy: If certain random data triggers an exception, improve test coverage by generating more similar random data.
[0086] Corresponding to the above method, the embodiment of the present invention also provides a fuzzy testing device for the AFDX network protocol, such as Figure 3 As shown, the fuzzy testing device includes: a generating unit 410, a scheduling unit 420, a sending unit 430, an acquiring unit 440 and a feedback unit 450;
[0087] A generating unit 410 is configured to generate a test case using at least one configurable parameter item in the AFDX protocol as an input for fuzz testing. In an optional implementation, the at least one configurable parameter item includes at least one of a virtual link configuration, a bandwidth configuration, a time scheduling configuration, and a protocol frame field configuration.
[0088] The scheduling unit 420 is configured to schedule at least one test data packet for testing. In an optional implementation, the at least one test data packet scheduled includes at least one of the generated test cases.
[0089] The sending unit 430 is used to send the test data packet to the device under test through the AFDX network;
[0090] An acquisition unit 440 is configured to acquire test results from the device under test, including data when a crash, error, or abnormal packet loss, jitter, or delay occurs, as well as the current state of the network and the device under test;
[0091] Feedback unit 450 is configured to feed back valid test case data to the test case generation module to generate at least one test data packet of the same type. In an optional implementation, the at least one test data packet of the same type includes a new test case generated around the feedback field;
[0092] An embodiment of the present invention further provides an electronic device, including a processor 510 , a communication interface 520 , a memory 530 and a communication bus 540 , wherein the processor 510 , the communication interface 520 , and the memory 530 communicate with each other via the communication bus 540 .
[0093] Memory 530, for storing computer programs;
[0094] The processor 510 is configured to execute the program stored in the memory 530 by performing the following steps:
[0095] The configurable parameters in the AFDX protocol are used as the input of fuzz testing to generate test cases, and the test data packets for fuzz testing are generated using the existing test case generation methods based on generation, mutation, or a combination of the two.
[0096] Call the test data package for testing.
[0097] Send the test data packets to the device under test through the AFDX network.
[0098] Use existing monitoring, logging, or status reporting methods to obtain test results from the device under test. If a crash, error, or abnormal packet loss, jitter, or delay occurs, record the test data packet and the current status of the network and device under test.
[0099] Based on the test results, test cases that trigger abnormal scenarios are marked as valid test cases using manual or automated methods. Based on the valid test case data, it is fed back to the test case generation module to generate test data packets of the same type to discover more potential problems.
[0100] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is used in the figure, but this does not mean that there is only one bus or only one type of bus.
[0101] The communication interface is used for communication between the above electronic device and other devices.
[0102] The above are only specific embodiments of the present disclosure, but the scope of protection of the present disclosure is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this disclosure should be included in the scope of protection of the present disclosure. Therefore, the scope of protection of the present disclosure should be based on the scope of protection of the claims.
Claims
1. A fuzzy testing method for AFDX network protocol, suitable for testing airborne network protocols, characterized by: The fuzz testing method comprises the following steps: S1: Generate test data packets using configurable parameters in the AFDX protocol as input for fuzz testing, where the configurable parameters include virtual link configuration, bandwidth configuration, time scheduling configuration, and protocol frame field configuration; S2: calling the test data packet to test the network protocol; S3: Send the test data packet to the device under test through the AFDX network; S4: Obtain test results of the device under test, where the test results include network protocol crashes, errors, or abnormal network packet loss, jitter, and delays during use, and then record the parameters of the test data packet and the current status of the network and the device under test; S5: Based on the test results, the test cases that trigger the abnormal scenario are marked as valid test cases in a manual or automated manner, and the marked valid test cases are fed back to step S1 to generate test data packets of the same type.
2. The fuzz testing method according to claim 1, wherein: The generation of the test data packet includes different combinations of virtual link configurations, changes in bandwidth configurations, adjustments to time scheduling configurations, and diversification of protocol frame field configurations.
3. The fuzz testing method according to claim 1, wherein: The test data packets are used to evaluate the performance and security of the AFDX network under different configuration conditions.
4. The fuzz testing method according to claim 1, wherein: The test results include the operating status of the device under test and the test data packets under system or network abnormality conditions.
5. The fuzz testing method according to claim 1, wherein: The valid test cases include data packets that cause system or network anomalies.
6. A fuzzy testing device for AFDX network protocol, used in airborne AFDX network testing, characterized in that: Applying the fuzz testing method according to any one of claims 1 to 5, comprising: AFDX protocol test case generation module: generates test cases using configurable parameters in the AFDX protocol as input for fuzz testing; AFDX protocol use case scheduling module: according to different test purposes, call the test data packets corresponding to the test purpose for testing; AFDX protocol data packet sending module: sends the test data packet to the device under test through the AFDX network; AFDX protocol data result acquisition and processing module: uses the existing data packet processing result acquisition method to obtain the test results of system anomalies or network anomalies from the device under test, including the test data packet and the current status of the network and the device under test; AFDX protocol parameter valid use case feedback module: Based on the test results, the test cases that cause abnormal scenarios are marked as valid test cases in a manual or automated manner, and fed back to the test case generation module to generate test data packets of the same type.
Citation Information
Patent Citations
Modbus TCP fuzzy testing method based on genetic algorithm
CN112769654A
Fuzzy test method, electronic equipment and computer readable storage medium
CN117435506A