Network protocol fuzzy testing seed evaluation method based on multi-criteria combination weighting
By employing a multi-criteria weighting method, combined with entropy weighting and deviation maximization methods, the value of fuzz test seeds for network protocols is evaluated. This addresses the issues of inaccurate seed selection and insufficient stability in existing technologies, thereby improving the efficiency and vulnerability discovery capabilities of fuzz testing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING INST OF TECH
- Filing Date
- 2025-12-02
- Publication Date
- 2026-08-04
AI Technical Summary
Existing network protocol fuzzing methods lack comprehensive criteria for seed selection, leading to inaccurate evaluations, which affects fuzzing efficiency and vulnerability discovery capabilities. Furthermore, the single metric is susceptible to sample data disturbances and lacks stability.
A multi-criteria weighting method is adopted, combining entropy weighting and deviation maximization methods. The seed value is comprehensively evaluated through basic evaluation indicators, future potential indicators, and network protocol-related indicators. The state information unique to network protocols is introduced to reduce the impact of sample data disturbances and improve the stability of seed selection.
It enables a comprehensive and stable assessment of seed value, improves the efficiency of fuzz testing and vulnerability discovery capabilities, and ensures the reliability of the selection process and the utilization rate of protocol information.
Smart Images

Figure CN121603404B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of information security technology, specifically relating to a method and apparatus for evaluating network protocol fuzzy testing seeds based on multi-standard combination weighting. Background Technology
[0002] Fuzzing is a method for discovering software vulnerabilities by providing unexpected input to a target system or software and monitoring the abnormal results. It is an important method in the field of network protocol vulnerability discovery. Most of the currently popular network protocol fuzzing tools have good vulnerability discovery capabilities, therefore, network protocol fuzzing has received widespread attention in both practice and research.
[0003] However, while network protocol fuzzing can effectively uncover vulnerabilities in many scenarios, it still has the following two limitations: (1) Most existing network protocol fuzzing methods do not refer to comprehensive criteria when selecting seeds. For example, AFLNET only determines whether to prioritize a seed by judging whether it is the initial seed, whether it has been selected before, and whether new coverage has been discovered. Such seed evaluation and selection methods only consider a very small number of seed value evaluation indicators, which is relatively crude and makes it difficult to achieve a comprehensive and accurate seed value evaluation. It may mistakenly select some seeds with low value, affecting the efficiency of fuzzing. Moreover, most of these indicators lack historical information of the fuzzing execution process, such as the number of crashes discovered and the number of paths discovered; they also lack features specific to network protocol fuzzing, such as protocol states and the transition relationships between states.
[0004] (2) Existing network protocol fuzzy testing methods require seed value indicators to select high-value seeds. Some works have adopted objective quantitative methods, but these often use a single measurement method, only considering the indicator value itself without analyzing the indicator characteristics from multiple perspectives. This leads to an incomplete evaluation of seed value. In addition, objective quantitative methods need to use sample data to measure the importance of indicators. The results of a single measurement method are easily affected by the values of the sample data. If the sample data is disturbed, the measurement results will change significantly, and the stability is insufficient.
[0005] The above problems make the current work's assessment of the importance of seed value evaluation indicators incomplete and incomplete, resulting in an inability to accurately measure seed value. Summary of the Invention
[0006] In view of this, the present invention provides a method and apparatus for evaluating network protocol fuzzing seeds based on multi-standard combination weighting, which can improve the utilization rate of protocol information, thereby ensuring the stability of the selection process, improving the overall quality of the selected seeds, and thus improving the efficiency of fuzzing and vulnerability discovery capabilities.
[0007] To achieve the above objectives, the present invention adopts the following approach.
[0008] A method for evaluating network protocol fuzzy testing seeds based on multi-criteria combined weighting, the method comprising: Select evaluation metrics to measure the value of network protocol fuzz test seeds; the evaluation metrics include basic evaluation metrics, future potential metrics, and network protocol-related metrics; the network protocol-related metrics express the depth of interaction between the seed and the target being tested from one or more of the following aspects: the number of different protocol states involved in the seed execution process, the number of protocol state transitions generated, and the total state value of the different protocol states involved. Perform a pre-fuzz test on the sample seeds to obtain the sample seeds'... Evaluation index values; Based on the evaluation index values, the entropy value of the evaluation index is determined using the entropy weight method, and then the entropy value is determined based on the entropy value. The first weight of an evaluation indicator; the higher the entropy value of an evaluation indicator, the weaker its distinguishing ability and the lower its first weight. Based on the evaluation index values, the deviation maximization method is used to determine... The second weight of the evaluation index is used to maximize the total deviation of all evaluation indices for all sample seeds. The evaluation weight of each evaluation indicator is determined by combining the first weight and the second weight. Based on the aforementioned evaluation weights, integrate the sample seeds. The evaluation index values are used to obtain the assessment value of the sample seeds.
[0009] Preferably, the process of determining the evaluation weight of each evaluation index value by combining the first weight and the second weight is as follows: Based on the distance between the first weight and the second weight, the preference coefficients of the first weight and the second weight are determined; using the determined preference coefficients, the weighted sum of the first weight and the second weight is calculated as the evaluation weight.
[0010] Preferably, the preference coefficient is determined as follows: Based on the distance between the first and second weights, the constraint equation for the preference coefficients is established as follows:
[0011] In the formula, and These are the preference coefficients for the first and second weights, respectively. ; For the first Evaluation indicators First weight Second weight The distance; Solve the constraint equations to obtain the preference coefficients for the first and second weights.
[0012] Preferably, the future potential index evaluates the seed from the perspective of historical information, and assesses the future potential of the seed by calculating the fuzzing ability of the seed and its offspring generated by the mutation of the seed during historical fuzzing; the fuzzing ability includes one or more combinations of new seed generation ability, collapse detection ability and path detection ability.
[0013] Preferably, the process for determining the first weight is as follows: For the The sample seeds in the th Values on the evaluation indicators ,calculate For all sample seeds, the evaluation index The proportion of the total value , The total number of seeds in the sample; calculate The entropy values of each evaluation indicator ; Calculated based on the entropy values of each evaluation indicator The first weight of each evaluation indicator : .
[0014] Preferably, the process for determining the second weight is as follows: First, construct the target weight function:
[0015] in, This indicates the evaluation indicators , evaluation of the Sample seeds Other sample seeds The deviation, , For the total number of sample seeds, when The time difference is 0; 、 The first The and the first The seed of the sample Each evaluation indicator value; For the first Evaluation indicators The second weight; Based on the principle of maximizing the total deviation of all evaluation indicators for all sample seeds, the following linear programming model T is established:
[0016] In the formula Represents the second weight set The maximum deviation is the second weight set. The sum of all deviations; using the Lagrange function to solve the linear programming model, the second weights of each evaluation index are obtained. .
[0017] Preferably, the step of performing a pre-fuzz test on the sample seeds to obtain the sample seeds' The process of evaluating the index values is as follows: The sample seed is fed into fuzzing to generate test cases, which are then executed by the target under test. During execution, instrumented code is used to monitor the behavior of the target under test in real time, record data changes, and obtain... Original evaluation index values; The original evaluation index values were normalized using the extreme value method to obtain the sample seed. Evaluation index value.
[0018] This invention provides a network protocol fuzzy testing seed evaluation device based on multi-standard combined weighting. The device includes: a multi-standard fuzzy testing index selection module and an index evaluation and weighting module; the index evaluation and weighting module includes a pre-fuzzy testing unit, an entropy weight method calculation unit, a deviation maximization method calculation unit, a weight synthesis unit, and a seed value calculation unit. A multi-standard fuzzing metric selection module is used to select evaluation metrics for measuring the value of network protocol fuzzing seeds; the evaluation metrics include basic evaluation metrics, future potential metrics, and network protocol-related metrics. The pre-fuzzing test unit is used to perform pre-fuzzing tests on the sample seed to obtain the sample seed's... The values of the evaluation indicators are provided to the entropy weight method calculation unit, the deviation maximization method calculation unit, and the seed value calculation unit. The entropy weight method calculation unit is used to determine the entropy value of the evaluation index based on the evaluation index value using the entropy weight method, and to determine the entropy value based on the entropy value. The first weight of an evaluation indicator; the higher the entropy value of an evaluation indicator, the weaker its distinguishing ability and the lower its first weight. The deviation maximization calculation unit is used to determine the deviation maximization method based on the evaluation index value. The second weight of the evaluation index is used to maximize the total deviation of all evaluation indices for all sample seeds. The weighting integration unit is used to integrate the first weight and the second weight to determine the evaluation weight of each evaluation indicator; The seed value calculation unit is used to integrate the sample seeds according to the evaluation weights. The evaluation index values are used to obtain the assessment value of the sample seeds.
[0019] Preferably, the process by which the weighting unit determines the evaluation weight value of each evaluation indicator is as follows: based on the distance between the first weight and the second weight, the preference coefficients of the first weight and the second weight are determined; using the determined preference coefficients, the weighted sum of the first weight and the second weight is calculated as the evaluation weight.
[0020] Preferably, the network protocol-related indicators express the depth of interaction between the seed and the target being tested from one or more of the following aspects: the number of different protocol states involved in the seed execution process, the number of protocol state transitions generated, and the total state value of the different protocol states involved; the future potential indicators evaluate the seed from the perspective of historical information, and assess the future potential of the seed by calculating the fuzzing capabilities of the seed and its offspring generated by mutations during historical fuzzing processes; the fuzzing capabilities include one or more combinations of new seed generation capabilities, crash detection capabilities, and path detection capabilities.
[0021] Beneficial effects: (1) This invention identifies three types of evaluation indicators, including basic evaluation indicators, future potential indicators, and network protocol-related indicators. Among them, network protocol-related indicators are designed for network protocol fuzzing and can reflect the unique seed information involved in the protocol, making them representative indicator types. Introducing network protocol-related indicators helps the fuzzer to analyze the characteristics of network protocols, improves the utilization rate of protocol information, and is more suitable for fuzzing tests targeting network protocols. In a preferred embodiment, a network protocol fuzzing indicator system is built by classifying and constructing indicators. This method has a wide coverage, high reliability, and excellent scalability.
[0022] (2) In assessing the importance of various seed value evaluation indicators, this invention adopts a combination of two objective weighting methods—entropy weighting and deviation maximization—to comprehensively consider the objective importance of the indicators. Entropy weighting objectively evaluates the importance of the indicators from the perspective of the indicator values themselves, while deviation maximization objectively evaluates the importance of the indicators from the perspective of the differences in indicator values among different samples. By integrating multi-dimensional features, the comprehensiveness of seed value evaluation is improved, and the calculated seed value is more reasonable, thereby ensuring the stability of the seed selection process and improving the overall quality of the selected seeds. (3) In order to minimize the impact of sample data disturbance, this invention calculates the distance between the two weights, and at the same time integrates the index weights, it achieves the effect of monitoring and suppressing sample disturbance, improves the stability of seed selection results, makes the process of evaluating the importance of the index objective, comprehensive and perfect, and finally forms a simple and intuitive weight value, thereby effectively evaluating the quality of seeds in the fuzzy test execution process and providing a quantitative basis for further screening of high-quality seeds. Attached Figure Description
[0023] Figure 1 This is a schematic diagram of the network protocol fuzzy testing seed evaluation scheme based on multi-standard combination weighting according to the present invention.
[0024] Figure 2 A flowchart of the process of assigning weights to indicators for evaluation.
[0025] Figure 3 This is a block diagram of the network protocol fuzzy test seed evaluation device based on multi-standard combination weighting according to the present invention. Detailed Implementation
[0026] The present invention will now be described in detail with reference to the accompanying drawings and embodiments.
[0027] This invention provides a network protocol fuzzy testing seed evaluation scheme based on multi-standard combined weighting, which offers targeted solutions to two limitations of existing technologies: To address the issue that most existing network protocol fuzzing methods lack comprehensive standards for seed selection, this invention, in its preferred embodiment, categorizes seed value metrics into three main types: basic evaluation metrics, future potential metrics, and network protocol-related metrics. ① Basic evaluation metrics: These contain basic seed information and are classic metrics primarily considered in existing work. ② Future potential metrics: These evaluate seeds from a historical information perspective, assessing their future potential by calculating the fuzzing capabilities of the seed and its offspring during historical fuzzing processes. ③ Network protocol-related metrics: Considering that state is a unique attribute of network protocols, these metrics are only applicable to network protocol fuzzing and reflect the unique seed information involved in the protocols, making them representative metrics. Network protocol-related metrics express the depth of interaction between the seed and the target object through one or more of the following aspects: the number of protocol states involved in the seed execution process, the number of state transitions, and the state value. Introducing network protocol-related metrics facilitates fuzzing analysis utilizing the characteristics of the network protocol environment, improves protocol information utilization, and is more suitable for fuzzing of network protocols. This invention establishes a network protocol fuzzing metric system through categorized index construction. This method has a wide coverage, high reliability, and excellent scalability.
[0028] To address the shortcomings of existing objective methods for quantifying seed value, such as their reliance on a single measurement method and susceptibility to fluctuations in sample data, resulting in insufficient stability, this invention proposes a fuzzy testing index evaluation method based on combined weighting. This method employs a combination of two objective weighting methods—entropy weighting and deviation maximization—to comprehensively consider the objective importance of each index. When considering evaluation indicators, the primary basis is the individual index value itself. Entropy weighting calculates the entropy value of the target index based on the information contained within the index value itself, thereby determining the weight of each index to represent its importance. Furthermore, in addition to the information inherent in the index value itself, the differences in values taken by different samples for the same index also reflect its importance. Deviation maximization considers the deviations between different samples, arguing that if the data within an index shows a large degree of variation, it has a significant impact on the final evaluation result of the system, indicating high importance and the need for greater weighting. Therefore, this invention improves the comprehensiveness of seed value evaluation by integrating the characteristics of evaluation indicators from two perspectives, thereby ensuring the stability of the seed selection process and improving the overall quality of the selected seeds. Furthermore, this invention utilizes the distance between the two weights to integrate the weights obtained from the two evaluation methods, monitors and suppresses sample perturbations, thereby improving the stability of seed selection results.
[0029] Therefore, this invention objectively evaluates the importance of indicators from the perspectives of the indicator value itself and sample differences. By integrating the weights obtained from the two evaluation methods through distance, it monitors and suppresses sample disturbances, improves the stability of seed selection results, and makes the process of evaluating the importance of indicators objective, comprehensive and perfect. Finally, it forms simple and intuitive weight values, thereby effectively evaluating the quality of seeds in the fuzzy testing process and providing a quantitative basis for further screening of high-quality seeds.
[0030] In summary, this invention supports high-quality seed-guided fuzzing of network protocol implementations. It primarily utilizes a multi-standard fuzzing metric selection method and a combined weighting-based fuzzing metric evaluation method to establish a multi-metric, objective, comprehensive, and robust seed quality evaluation system. By employing a multi-standard combined weighting-based network protocol fuzzing seed evaluation method, the utilization rate of protocol information is improved, thereby ensuring the stability of the selection process, enhancing the quality of selected seeds, and ultimately improving the efficiency and vulnerability discovery capabilities of fuzzing.
[0031] The present invention will now be described in detail with reference to the accompanying drawings and embodiments.
[0032] Figure 1This diagram illustrates the principle of a network protocol fuzzing seed evaluation method based on multi-standard combined weighting. The method mainly comprises two modules: a multi-standard fuzzing indicator selection module and an indicator evaluation and weighting module. The multi-standard fuzzing indicator selection module provides the indicator set IDX to the indicator evaluation and weighting module. The indicator evaluation and weighting module calculates weights based on the indicator set selected by the multi-standard fuzzing indicator selection module, calculating the value for each new seed during fuzzing and adding it to the seed set. Subsequent seed selection processes in the fuzzing loop are based on seed value; the higher the seed value, the greater the probability of the seed being selected.
[0033] (1) Multi-standard fuzzy test index selection module The multi-standard fuzzy testing metric selection module transforms the task of measuring seed value into finding evaluation metrics that reflect the effectiveness of fuzzy testing. To achieve comprehensive and accurate seed value assessment, the evaluation metrics are divided into three categories: basic evaluation metrics. Future potential indicators Network protocol related indicators .
[0034] The basic evaluation indicators are as follows: p ( p >0) items, represented as These metrics evaluate seeds from the perspective of basic seed information, including but not limited to the length of the seed file, the total time from when the seed is selected to the end of all mutation execution processes, and the number of times the seed is selected for execution.
[0035] Future potential indicators q ( q >0) items, represented as These metrics evaluate seeds from a historical information perspective, assessing their future potential by calculating the fuzzing ability of the seed and its offspring resulting from mutations during historical fuzzing tests. In a preferred embodiment, future potential metrics may include the following three types: 1. New seed generation capacity: The ratio of the seed itself and the offspring seeds generated by the mutation of that seed to the total number of seeds during historical fuzzy testing; 2. Collapse detection capability: The ratio of the number of collapses detected by the seed itself and its offspring during historical fuzzing to the total number of collapses; 3. Path discovery capability: The ratio of the number of different paths discovered by the seed itself and its offspring during historical fuzzy testing to the total number of paths discovered.
[0036] The stronger the seed's ability to generate new seeds, detect crashes, and discover paths, the more likely the seed is to reach critical program nodes and the greater its future potential.
[0037] Network protocol related indicators r ( r >0) items, represented as These metrics evaluate seeds from the perspective of network protocol state information. They are targeted evaluation metrics designed specifically for the state information inherent in protocols, aiming to guide seed selection based on protocol state information. In a preferred embodiment, network protocol-related metrics may include the following three metrics for extracting a single seed: 1. Number of states: The number of different protocol states involved in the current seed execution process; in practice, different protocol states can be distinguished by the status codes returned by the target being tested; 2. Number of state transitions: The number of times the protocol transitions from one protocol state to another during the execution of the current seed; 3. State Value: The frequency of different protocol states is counted through pre-fuzzing (fuzzing performed using sample seeds before the formal fuzzing cycle begins). The state value is determined based on the frequency of occurrence of a protocol state; the fewer times a protocol state appears, the higher its corresponding state value. The state value of a seed is the sum of the values of all protocol states involved with that seed.
[0038] The more protocol states the seed reaches and the more protocol state transitions it goes through during execution, the higher the state value, indicating a deeper interaction between the seed and the target being tested, and a greater likelihood of finding hidden vulnerabilities.
[0039] Basic evaluation indicators Future potential indicators Network protocol related indicators The resulting set of indicators is obtained through aggregation. The set contains a total of n One indicator, n = p + q + r Indicator set Represented as: .
[0040] (2) Indicator Evaluation and Weighting Module The purpose of the indicator evaluation and weighting module is to measure the importance of each indicator to the seed value evaluation through an objective and comprehensive method after the multi-standard fuzzy test indicator selection module has determined the selected indicators, and finally reasonably determine the weight of each indicator.
[0041] The indicator evaluation and weighting module focuses on a single seed, making a preliminary quantitative estimate of the seed's value. It mainly consists of three parts: pre-fuzz testing, weighting method weight calculation, and weight synthesis. The weighting method weight calculation includes two parts: entropy weight calculation and deviation maximization weight calculation. There is no requirement for the order of the two weight calculation steps, and they can be executed in parallel.
[0042] Figure 2 The flowchart of the indicator evaluation and weighting process is shown, as follows: Figure 2 As shown, it includes the following steps: Step 1: Perform a pre-fuzz test on the sample seeds to obtain the sample seeds'... The value of each evaluation indicator.
[0043] The pre-fuzzing process is responsible for collecting metric values for the subsequent weight calculation. Before the formal fuzzing loop begins, a small number of sample seeds are selected and used in the fuzzing process to generate test cases. These test cases are then executed by the target under test. During execution, instrumented code is used to monitor the behavior of the target under test in real time and record data changes. Once the value of a metric determined by the multi-criteria fuzzing metric selection module changes—for example, if the current test case discovers a new protocol state—these changes are recorded as metric value data. This process is repeated until all test cases generated from all sample seeds have been executed. Because the fuzzing process records unprocessed metric value data directly extracted from the execution process, this metric value data is called raw data.
[0044] Build a based on the original data dimensional primitive matrix ,in The total number of seeds in the sample. This represents the total number of evaluation indicators selected in the multi-standard fuzzy testing indicator selection module.
[0045]
[0046] matrix middle, Indicates for the first Sample seeds The The raw data for each evaluation indicator. Indicates the seed set number ( i =1,2,…, m ) sample seeds, This indicates the first index in the index set established by the multi-standard fuzzy testing index selection module. ( j =1,2,…, n) evaluation indicators.
[0047] To standardize indicator values across different data ranges, the extreme value method was used to analyze the original data. After normalization, the data obtained is Normalization is calculated using the following formula:
[0048] In the formula This indicates that all sample seeds are for the same index. The minimum value among the possible values. This indicates that all sample seeds are for the same index. The maximum value among the possible values. Since the standardized data will fall between [0,1], to eliminate the influence of 0 in subsequent steps, the matrix is shifted 0.001 units to the right to obtain the normalized matrix. : . Step 2: Based on the evaluation index values obtained in Step 1, the first weight of the evaluation index is determined using the entropy weight method.
[0049] The entropy weighting method uses entropy values to assess the degree of variation of each indicator, determine the weight of the indicator, and measure the amount of information provided by the data. The smaller the entropy value, the less uncertainty it contains, indicating that the indicator conveys a greater amount of effective information, the greater the weight of the indicator, and the greater its influence in the evaluation; conversely, the larger the entropy value of an indicator, the greater the uncertainty it contains, and the smaller its influence in the evaluation.
[0050] The normalized matrix calculated in the pre-fuzzing test section Calculate each item based on For indicators on all sample seeds The proportion of the normalized value :
[0051] Based on the definitions of specific gravity and entropy calculated above, calculate... The entropy values of each indicator :
[0052] Calculated based on the entropy values of each indicator The first weight of each indicator:
[0053] As shown in the above formula, the higher the entropy value, the more uniform the data distribution, and the weaker the distinguishing ability of the indicator; therefore, the weight should be reduced, and vice versa. Entropy weight method based on indicators The weights are determined by the entropy value, and the first set of weights for all indicators is denoted as . .
[0054] Step 3: Based on the evaluation index values obtained in Step 1, determine the second weight using the deviation maximization method. There is no specific order requirement between Step 3 and Step 2; they can be executed in parallel.
[0055] The deviation maximization method focuses only on the relationships between information elements while ignoring the characteristics of the information itself. Similar to the entropy weight method, the deviation maximization method also requires the normalized matrix calculated from the pre-fuzzy testing part. Perform the calculation.
[0056] Under the conditions of normalization and weight constraints, the deviation maximization method first constructs the following objective weight function:
[0057] in, This indicates the evaluation indicators Sample seeds Other sample seeds The deviation, when The time difference is 0; 、 The first The and the first The seed of the sample The normalized evaluation index value; For the first Evaluation indicators The second weight.
[0058] Based on the principle of maximizing the total deviation of all evaluation indicators for all sample seeds, the following linear programming model is established. T :
[0059] In the formula Represents the second weight set The maximum deviation is the second weight set. The sum of all deviations.
[0060] Solving using the Lagrange function T :
[0061] To each By taking the partial derivative with ξ, we finally obtain the optimal solution of the model. :
[0062] After normalization, we get :
[0063] this This is the deviation maximization method for evaluation indicators. The assigned weights, denoted as the second set of weights for all evaluation indicators, are denoted as... .
[0064] Step 4: Combine the first weight and the second weight to determine the evaluation weight of each evaluation indicator.
[0065] The first weight set obtained by the comprehensive entropy weight method The second weight set obtained by the deviation maximization method The preference coefficients used in the weighted calculation of the first and second weights are determined by introducing distance. Using these preference coefficients, the weighted sum of the first and second weights is calculated as the evaluation weight. Here, the distance can be different types such as Euclidean distance, cosine distance, or Hamming distance. Preferably, this embodiment uses Euclidean distance in its formula. The specific implementation scheme based on Euclidean distance is as follows: First, determine and Euclidean distance between:
[0066] The corrected evaluation weights are represented by two parameters. :
[0067] in, and represents the preference coefficients for the entropy weight method and the deviation maximization method, respectively.
[0068] This invention designs the following constraints to obtain and :
[0069] In the formula .
[0070] Solving the above constraint equations simultaneously yields the weight preference coefficients, which can then be used to determine the actual evaluation weights. The values are summed to obtain the set of evaluation index weights for all indicators. W .
[0071] Step 5: Integrate the sample seeds according to the evaluation weights. The evaluation index values are used to obtain the assessment value of the sample seeds.
[0072] When the fuzzing loop generates a new seed Then, in order to calculate the value of the seeds Record seeds Various indicator values ( j =1,2,…, Based on the set of evaluation index weights. W Evaluation indicators The contribution to the value of seeds is The total value of the seeds was calculated. :
[0073] Record seed value The seed is then added to the seed set S for use in the subsequent seed selection process.
[0074] Based on the above method, the present invention further provides a network protocol fuzzy test seed evaluation device based on multi-standard combined weighting, such as... Figure 3 As shown, the device includes a multi-standard fuzzy test index selection module and an index evaluation and weighting module; wherein, the index evaluation and weighting module includes a pre-fuzzy test unit, an entropy weight method calculation unit, a deviation maximization method calculation unit, a weight synthesis unit, and a seed value calculation unit.
[0075] The multi-standard fuzzing metric selection module is used to select evaluation metrics to measure the value of network protocol fuzzing seeds. In a preferred scheme, the evaluation metrics include basic evaluation metrics, future potential metrics, and network protocol-related metrics, the definitions and selection methods of which are described above.
[0076] The pre-fuzzing test unit is used to perform pre-fuzzing tests on the sample seed to obtain the sample seed's... The values of the evaluation indicators are provided to the entropy weight method calculation unit, the deviation maximization method calculation unit, and the seed value calculation unit. The specific implementation process of the pre-fuzzy testing unit is described in step 1 above.
[0077] The entropy weight method calculation unit is used to determine the entropy value of the evaluation index based on the evaluation index value using the entropy weight method, and to determine the entropy value based on the entropy value. The first weight of an evaluation indicator; the higher the entropy value of an evaluation indicator, the weaker its distinguishing ability, and the lower its first weight.
[0078] The deviation maximization calculation unit is used to determine the deviation maximization method based on the evaluation index value. The second weight of the evaluation index is used to maximize the total deviation of all evaluation indices for all sample seeds.
[0079] For the specific implementation process of the entropy weight method calculation unit and the deviation maximization method calculation unit, please refer to steps 2 and 3 above.
[0080] The weighting integration unit is used to integrate the first weight and the second weight to determine the evaluation weight of each evaluation indicator. Specifically, the weighting integration unit determines the evaluation weight of each evaluation indicator by: determining the preference coefficient used in the weighted calculation of the first and second weights based on the distance between them; and using the determined preference coefficient, calculating the weighted sum of the first and second weights as the evaluation weight. The specific implementation process of the weighting integration unit is described in step 4 above.
[0081] The seed value calculation unit is used to integrate the sample seeds according to the evaluation weights. The evaluation index values are used to obtain the assessment value of the sample seeds. The specific implementation process of the seed value calculation unit is described in step 5 above.
[0082] The specific embodiments described above only illustrate the design principles of the present invention. The shapes and names of the components in this description may differ and are not limited. Therefore, those skilled in the art can modify or make equivalent substitutions to the technical solutions described in the foregoing embodiments; and these modifications and substitutions do not depart from the inventive spirit and technical solutions of the present invention, and should all fall within the protection scope of the present invention.
Claims
1. A method for evaluating network protocol fuzzy testing seeds based on multi-criteria combined weighting, characterized in that, The method includes: The evaluation metrics for measuring the value of network protocol fuzzing seeds are selected. These metrics include basic evaluation metrics, future potential metrics, and network protocol-related metrics. The network protocol-related metrics express the depth of interaction between the seed and the target being tested from one or more of the following aspects: the number of different protocol states involved in the seed's execution, the number of protocol state transitions generated, and the total state value of the different protocol states involved. The future potential metrics evaluate the seed from a historical information perspective, assessing its future potential by calculating the fuzzing capabilities of the seed and its offspring generated from mutations during historical fuzzing processes. The fuzzing capabilities include one or more combinations of new seed generation capability, crash detection capability, and path detection capability. Perform a pre-fuzz test on the sample seeds to obtain the sample seeds'... Evaluation index values; Based on the evaluation index values, the entropy value of the evaluation index is determined using the entropy weight method, and then the entropy value is determined based on the entropy value. The first weight of an evaluation indicator; the higher the entropy value of an evaluation indicator, the weaker its distinguishing ability and the lower its first weight. Based on the evaluation index values, the deviation maximization method is used to determine... The second weight of the evaluation index is used to maximize the total deviation of all evaluation indices for all sample seeds. The evaluation weight of each evaluation indicator is determined by combining the first weight and the second weight. Based on the aforementioned evaluation weights, integrate the sample seeds. The evaluation index values are used to obtain the assessment value of the sample seeds.
2. The evaluation method as described in claim 1, characterized in that, The process of determining the evaluation weight of each evaluation index value by combining the first weight and the second weight is as follows: Based on the distance between the first weight and the second weight, the preference coefficients of the first weight and the second weight are determined; using the determined preference coefficients, the weighted sum of the first weight and the second weight is calculated as the evaluation weight.
3. The evaluation method as described in claim 2, characterized in that, The preference coefficient is determined as follows: Based on the distance between the first and second weights, the constraint equation for the preference coefficients is established as follows: In the formula, and These are the preference coefficients for the first and second weights, respectively. ; For the first Evaluation indicators First weight Second weight The distance; Solve the constraint equations to obtain the preference coefficients for the first and second weights.
4. The evaluation method as described in claim 1, characterized in that, The process for determining the first weight is as follows: For the The sample seed in the th Values on the evaluation indicators ,calculate For all sample seeds, the evaluation index The proportion of the total value , The total number of seeds in the sample; calculate The entropy values of each evaluation indicator ; Calculated based on the entropy values of each evaluation indicator The first weight of each evaluation indicator : 。 5. The evaluation method as described in claim 1, characterized in that, The process for determining the second weight is as follows: First, construct the target weight function: in, This indicates the evaluation indicators , evaluation of the Sample seeds Other sample seeds The deviation, , For the total number of sample seeds, when The time difference is 0; 、 The first The and the first The seed of the sample Each evaluation indicator value; For the first Evaluation indicators The second weight; Based on the principle of maximizing the total deviation of all evaluation indicators for all sample seeds, the following linear programming model T is established: In the formula Represents the second weight set The maximum deviation is the second weight set. The sum of all deviations; using the Lagrange function to solve the linear programming model, the second weights of each evaluation index are obtained. .
6. The evaluation method as described in claim 1, characterized in that, The sample seeds are pre-fuzzed to obtain the sample seeds. The process of evaluating the index values is as follows: The sample seed is fed into fuzzing to generate test cases, which are then executed by the target under test. During execution, instrumented code is used to monitor the behavior of the target under test in real time, record data changes, and obtain... Original evaluation index values; The original evaluation index values were normalized using the extreme value method to obtain the sample seed. Evaluation index value.
7. A network protocol fuzzy testing seed evaluation device based on multi-standard combination weighting, characterized in that, The device includes: a multi-standard fuzzy test index selection module and an index evaluation and weighting module; the index evaluation and weighting module includes a pre-fuzzy test unit, an entropy weight method calculation unit, a deviation maximization method calculation unit, a weight synthesis unit, and a seed value calculation unit. A multi-standard fuzzing metric selection module is used to select evaluation metrics for measuring the value of network protocol fuzzing seeds; the evaluation metrics include basic evaluation metrics, future potential metrics, and network protocol-related metrics. The network protocol-related indicators express the depth of interaction between the seed and the target being tested from one or more of the following aspects: the number of different protocol states involved in the seed execution process, the number of protocol state transitions generated, and the total state value of the different protocol states involved. The future potential indicators evaluate the seed from the perspective of historical information, and assess the future potential of the seed by calculating the fuzzing capabilities of the seed and its offspring generated by mutations during historical fuzzing processes. The fuzzing capabilities include one or more combinations of new seed generation capabilities, crash detection capabilities, and path detection capabilities. The pre-fuzzing test unit is used to perform pre-fuzzing tests on the sample seed to obtain the sample seed's... The values of the evaluation indicators are provided to the entropy weight method calculation unit, the deviation maximization method calculation unit, and the seed value calculation unit. The entropy weight method calculation unit is used to determine the entropy value of the evaluation index based on the evaluation index value using the entropy weight method, and to determine the entropy value based on the entropy value. The first weight of an evaluation indicator; the higher the entropy value of an evaluation indicator, the weaker its distinguishing ability and the lower its first weight. The deviation maximization calculation unit is used to determine the deviation maximization method based on the evaluation index value. The second weight of the evaluation index is used to maximize the total deviation of all evaluation indices for all sample seeds. The weighting integration unit is used to integrate the first weight and the second weight to determine the evaluation weight of each evaluation indicator; The seed value calculation unit is used to integrate the sample seeds according to the evaluation weights. The evaluation index values are used to obtain the assessment value of the sample seeds.
8. The evaluation apparatus as claimed in claim 7, characterized in that, The process by which the weighting unit determines the evaluation weight value of each evaluation indicator is as follows: based on the distance between the first weight and the second weight, the preference coefficients of the first weight and the second weight are determined; using the determined preference coefficients, the weighted sum of the first weight and the second weight is calculated as the evaluation weight.