Methods, apparatus, storage media and program products for gray-box fuzzy testing of network equipment
By using the ptrace system call to set brief breakpoints and perform dynamic address space checks, the limitations of existing technologies in terms of applicability and slow execution speed are resolved. This enables efficient gray-box fuzz testing of various network devices, improving network device security and testing efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA ELECTRONICS CYBERSPACE RESEARCH INSTITUTE CO LTD
- Filing Date
- 2024-11-26
- Publication Date
- 2026-05-26
Smart Images

Figure CN122086745A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of network security technology, and in particular to a gray-box fuzzy testing method, apparatus, storage medium, and program product for network devices. Background Technology
[0002] Network devices, including home routers and enterprise-level routers, are often located at critical network intersections. Once compromised, they can cause serious problems, making improved security crucial. Common vulnerability discovery methods include static analysis and fuzzing. For targets with complex patterns that are difficult to generalize, fuzzing analysis is often necessary.
[0003] The existing technology is as follows:
[0004] (1) Invention Title: A Black-Box Coverage Collection Method and System Based on Intel-pt (Publication No. CN117785668A), which proposes a software analysis system based on dynamic instrumentation, but it only uses Intel-pt instrumentation and is not applicable to architectures other than x86. Intel-pt is a new feature of Intel processors that provides machine instruction-level tracing. This facilitates low-level debugging and performance analysis of programs, and can even recover the state of crashed applications.
[0005] (2) Invention title: A software analysis method and system based on dynamic instrumentation (Publication No. CN112559322A), which is a fuzzing+crash+coverage analysis system that can obtain coverage, provide feedback and generate new seeds. However, its breakpoints are permanent breakpoints, the execution speed is slow, and the scope of application is limited, such as not being applicable to network devices that are sensitive to latency, such as protocols.
[0006] Problems with existing technology:
[0007] (1) In dynamic instrumentation methods, the Intel-pt method is only applicable to x86 / x86-64 targets and is not applicable to other targets; virtualization instrumentation is only suitable for virtual devices built by Network Functions Virtualization (NFV); static instrumentation methods, such as static code rewriting, have poor stability and there is no stable and universally accepted method, and these methods require the opportunity to restart the target process.
[0008] (2) The traditional ptrace monitoring method uses permanent breakpoints, which is not practical for protocols with high real-time requirements.
[0009] Therefore, how to provide a gray-box fuzzy testing method and apparatus for network devices that can improve execution speed to meet higher real-time requirements and has a wider range of applications is a technical problem that urgently needs to be solved. Summary of the Invention
[0010] In view of this, embodiments of the present invention provide a method, apparatus, storage medium, and program product for gray-box fuzz testing of network devices, in order to eliminate or improve one or more defects existing in the prior art.
[0011] One aspect of the present invention provides a gray-box fuzzing method for network devices. The method includes the following steps: a basic information acquisition step, which calculates the basic block address of the target program by performing static analysis on the target program of the network device; and a gray-box fuzzing step, which uses the basic block address as the target address for dynamic analysis, attaches a tracing program based on the ptrace system call to the corresponding target process of the target program, sets a transient breakpoint for the target program using the ptrace system call, and uses the tracing program to detect whether the target program hits the current transient breakpoint by monitoring the target process. When the target program hits the current transient breakpoint, the tracing program reports a coverage change to the fuzzer and deletes the current transient breakpoint using the ptrace system call. The input to the gray-box fuzzing is a test case. During the process of using the tracing program to detect whether the target program hits the current transient breakpoint, when a coverage change is detected by the current test case, the method checks at preset time intervals whether further coverage changes are triggered during the execution of the target program.
[0012] In some embodiments of the present invention, the method further includes: if the current test case does not trigger further coverage changes, the processing of the current test case is completed and the test case is replaced; if the current test case triggers further coverage changes, it is considered that the current test case is still being executed, and the interval time is increased until the coverage remains stable.
[0013] In some embodiments of the present invention, the method further includes an address space check step during the execution of the target program, including: using ptrace to implement a hook function, pre-modifying the memory allocation function of the target program, aligning the memory block allocated by the target program before a non-readable and writable page, and reporting a memory out-of-bounds access error when the target program attempts to perform an out-of-bounds read / write operation.
[0014] In some embodiments of the present invention, the basic information acquisition step further includes acquiring the predecessor node, successor node, Caller node, and Callee node of the basic block, and constructing a global CFG graph based on the acquired nodes; wherein, the global CFG graph is used to assist in analyzing coverage changes.
[0015] In some embodiments of the present invention, the method further includes: classifying the importance of the basic blocks to be analyzed based on the global CFG graph.
[0016] In some embodiments of the present invention, the basic block contains a set of consecutive instruction sequences in the target program, the basic block has an entry point and an exit point, and the transient breakpoint is set based on the calculated address of the basic block.
[0017] In some embodiments of the present invention, the detection criterion for whether the target program hits the current transient breakpoint is: when the SIGTRAP signal is detected, it indicates that the target program has hit the current transient breakpoint; otherwise, it indicates that it has not hit.
[0018] Corresponding to the above methods, the present invention also provides a gray-box fuzzy testing device for network devices, including a processor, a memory, and a computer program / instructions stored in the memory. The processor is used to execute the computer program / instructions, and when the computer program / instructions are executed, the device implements the steps of any of the methods described in the above embodiments.
[0019] In accordance with the above methods, the present invention also provides a computer-readable storage medium having a computer program / instructions stored thereon, which, when executed by a processor, implements the steps of the method as described in any of the above embodiments.
[0020] Corresponding to the above methods, the present invention also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the method as described in any of the above embodiments.
[0021] The gray-box fuzzy testing method, apparatus, storage medium, and program products for network devices proposed in this invention have a faster execution speed and can better meet the target program testing based on high real-time requirements and latency-sensitive protocols. Furthermore, the ptrace-based method has a wider range of applications and can be universally applied to gray-box testing of various network devices.
[0022] Additional advantages, objects, and features of the invention will be set forth in part in the description which follows, and will also become apparent in part to those skilled in the art upon studying the description, or may be learned by practice of the invention. The objects and other advantages of the invention can be realized and obtained by means of the structures specifically pointed out in the specification and drawings.
[0023] Those skilled in the art will understand that the objectives and advantages achievable with this invention are not limited to those specifically described above, and that the above and other objectives achievable with this invention will become clearer from the following detailed description. Attached Figure Description
[0024] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, are not intended to limit the scope of the invention. In the drawings:
[0025] Figure 1 This is a flowchart of a gray-box fuzzy testing method in one embodiment of the present invention.
[0026] Figure 2 This is a flowchart of a gray-box fuzzy testing method in another embodiment of the present invention.
[0027] Figure 3 This is a schematic diagram of the computer equipment included in the system. Detailed Implementation
[0028] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the embodiments and accompanying drawings. Here, the illustrative embodiments and descriptions of this invention are used to explain the invention, but are not intended to limit the invention.
[0029] It should also be noted that, in order to avoid obscuring the invention with unnecessary details, only the structures and / or processing steps closely related to the solution according to the invention are shown in the accompanying drawings, while other details that are not closely related to the invention are omitted.
[0030] It should be emphasized that the term "including / comprises" as used herein refers to the presence of a feature, element, step, or component, but does not exclude the presence or addition of one or more other features, elements, steps, or components.
[0031] It should also be noted that, unless otherwise specified, the term "connection" in this article can refer not only to a direct connection, but also to an indirect connection involving an intermediary.
[0032] In the following description, embodiments of the invention will be illustrated with reference to the accompanying drawings. In the drawings, the same reference numerals represent the same or similar parts, or the same or similar steps.
[0033] To overcome the problems existing in the prior art, this invention proposes a gray-box fuzzy testing method for network devices, as well as corresponding devices, storage media and program products.
[0034] The method proposed in this invention is based on the ptrace system call, which can not only trace the coverage of the target but also dynamically modify (hook) the target code, and achieve dynamic address space inspection of the physical device. By setting short-lived breakpoints through the ptrace system call and deleting them after a single hit, it offers faster execution speed compared to existing gray-box testing methods based on permanent breakpoints. It can effectively test the target and even trace complex targets with arbitrary multi-threading and multi-process capabilities. The ptrace system call is a system call in Unix and some Unix-like operating systems. Using ptrace (short for "process trace"), one process can control another, allowing the controller to inspect and manipulate the internal state of its target.
[0035] Figure 1 This is a flowchart of a gray-box fuzzy testing method according to an embodiment of the present invention. The method includes the following steps:
[0036] Step S110: Basic information acquisition step, by performing static analysis on the target program of the network device, the basic block address of the target program is calculated.
[0037] Step S120: Gray-box fuzzing step. Using the basic block address as the target address for dynamic analysis, the tracing program based on the ptrace system call is attached to the corresponding target process of the target program. A transient breakpoint is set for the target program through the ptrace system call. The tracing program is used to detect whether the target program hits the current transient breakpoint by monitoring the target process. When the target program is detected to have hit the current transient breakpoint, the tracing program reports the coverage change to the fuzz tester and deletes the current transient breakpoint through the ptrace system call.
[0038] The detection criterion for whether the target program hits the current transient breakpoint is as follows: when the SIGTRAP signal is detected, it means that the target program has hit the current transient breakpoint; otherwise, it means that it has not hit it.
[0039] In the gray-box fuzzing test, the input is the test case. During the process of using the tracing program to detect the coverage change of the target program up to the current brief breakpoint (detecting whether the current brief breakpoint is hit), when the current test case triggers a coverage change, the program checks whether further coverage changes are triggered during the execution of the target program at preset time intervals.
[0040] Regarding "hitting (or executing to) a breakpoint," in actual execution, a signal trap is used to notify the tracer. The tracer can then use ptrace to obtain information such as which breakpoint was hit during the current program execution. Hitting a breakpoint leads to increased program coverage. In practice, random data is input at the entry point of the target program, and the corresponding output is observed. The execution of the target program generates a corresponding target process, which is monitored by the tracing system.
[0041] The gray-box fuzzy testing method, apparatus, storage medium, and program products for network devices proposed in this invention have a faster execution speed and can better meet the target program testing requirements based on high real-time requirements and latency-sensitive protocols. Furthermore, the ptrace-based method has a wider range of applications and can be universally applied to gray-box testing of various network devices.
[0042] In some embodiments of the present invention, the method further includes: (1) if the current test case does not trigger further coverage changes, the processing of the current test case is completed and the test case is replaced; (2) if the current test case triggers further coverage changes, it is considered that the current test case is still being executed, and the interval time is increased until the coverage remains stable.
[0043] This invention optimizes the fuzzing logic based on the coverage check step of the time alignment algorithm, improving the effectiveness of seeds in the queue. Compared to existing technologies, the time alignment algorithm introduced in this embodiment can determine whether the current test case has been completed, saving performance overhead compared to existing breakpoint methods. In some embodiments of this invention, the method further includes an address space check step during the execution of the target program, including: using ptrace to implement a hook function, pre-modifying the memory allocation function of the target program, aligning the memory block allocated by the target program before a non-readable / writable page, and reporting a memory out-of-bounds access error when the target program attempts to perform an out-of-bounds read / write operation.
[0044] By employing this embodiment of the invention, memory access errors such as out-of-bounds reads and writes can be effectively detected through dynamic address space, preventing the occurrence of memory out-of-bounds access problems and ensuring the security and robustness of the program.
[0045] In some embodiments of the present invention, the basic information acquisition step S110 further includes acquiring the predecessor node, successor node, Caller node, and Callee node of the basic block, and constructing a global CFG graph based on the acquired nodes; wherein, the global CFG graph is used to assist in analyzing coverage changes.
[0046] By employing this embodiment of the invention, top basic blocks to be analyzed can be recommended based on the global CFG graph, thereby enhancing information collection capabilities.
[0047] In some embodiments of the present invention, the method further includes: classifying the importance of the basic blocks to be analyzed based on the global CFG graph.
[0048] By employing this embodiment of the invention, it is possible to further recommend the top basic blocks to be analyzed based on the global CFG graph, thereby enhancing the information collection capability.
[0049] In some embodiments of the present invention, a basic block contains a set of consecutive instruction sequences in the target program, and the basic block has an entry point and an exit point, and the transient breakpoint is set based on the calculated address of the basic block.
[0050] Using this embodiment of the invention, a short-lived breakpoint can be set through the ptrace system call and then deleted after being hit once. Compared with the existing gray-box testing method based on permanent breakpoints, this method is faster and can better meet the testing requirements of target programs based on high real-time requirements and latency-sensitive protocols. It can effectively test the target and even track complex targets with arbitrary multi-threading and multi-processing.
[0051] Figure 2 This is a flowchart of a gray-box fuzzing method according to another embodiment of the present invention. The method proposed in this invention mainly includes basic block address calculation, ptrace-based fuzzing, and dynamic address space inspection (ASan). The process is as follows: Figure 2 As shown. The following is about Figure 2 The steps in the illustrated embodiment are described in detail below:
[0052] Step S210: Obtain basic information.
[0053] We use IDA Pro to perform static analysis on the target program, calculating the addresses of its basic blocks. A basic block is a continuous sequence of instructions in the target program, with only one entry point and one exit point. By extracting these basic block addresses, we can more accurately set short-lived breakpoints and monitor coverage changes during the target program's execution in dynamic analysis. All extracted basic block addresses will be considered as target addresses for subsequent dynamic analysis. IDA Pro is a powerful reverse engineering tool that can statically analyze binary files and extract the start and end addresses of basic blocks. Short-lived breakpoints set using the ptrace system call are deleted after each hit (i.e., a coverage increase).
[0054] Furthermore, this step involves acquiring various types of nodes, including predecessor, successor, caller, and callee nodes, from the basic blocks. These acquired nodes are used to construct a global control flow graph (CFG). During subsequent fuzzing, the global CFG can assist users in analyzing the current coverage and, based on the global CFG, rank the importance of the basic blocks to be analyzed. For example, it can recommend the basic blocks that most need to be analyzed (which can be called top basic blocks or top nodes).
[0055] Step S220: Optimized ptrace-based fuzz testing.
[0056] In fuzzing based on the ptrace system call, a tracer program implemented using the ptrace system call attaches to the corresponding target process in the gray-box testing by means of the test case input. In this embodiment, ptrace allows the tracer program to monitor the signals of all transient breakpoints in the target process. When an increase in coverage is detected, the tracer program feeds this information back to the fuzzer and deletes the current transient breakpoint. ptrace is a powerful debugging tool that can monitor and control another process, and can be used to capture transient breakpoint signals and perform single-step execution. The transient breakpoints can be pre-set, intelligently selected by the system, or subjectively selected by the personnel participating in the gray-box testing.
[0057] Using this embodiment of the invention, a short-lived breakpoint can be set through the ptrace system call and then deleted after being hit once. Compared with the existing gray-box testing method based on permanent breakpoints, this method is faster and can effectively test the target, and can even track complex targets with any multi-thread and multi-process nature.
[0058] Due to the initial processing delay, this solution also incorporates a coverage check step based on an alignment time algorithm. When the current test case triggers new code coverage, the system checks every N seconds for any new coverage improvement, where N can be any real number. If no new coverage improvement is detected in subsequent checks, the current test case is considered complete. This method effectively avoids a large number of similar test seeds (invalid seeds) entering the queue, improving the efficiency and accuracy of fuzzing. In gray-box fuzzing, coverage primarily refers to code coverage, which is the ratio of the amount of code actually executed during testing to the total amount of code in the program. In some embodiments of this invention, coverage changes may include function coverage changes and interface coverage changes.
[0059] Step S230: Dynamic ASAn.
[0060] Based on the ptrace system call, this solution also implements a dynamic address space sanitizer (Dynamic Address Sanitizer, Dynamic ASan) for physical devices. By modifying the target program's memory allocation functions such as malloc, free, realloc, or calloc, the memory blocks allocated by the target program are aligned and placed before a non-readable and writable page. Thus, when the target program attempts to perform out-of-bounds read / write operations, the system will immediately detect and report the error. Dynamic address space effectively detects memory access errors such as out-of-bounds read / write, preventing memory access problems from occurring and ensuring the security and robustness of the program.
[0061] In summary, the gray-box fuzzy testing method, apparatus, storage medium, and program product for network devices proposed in this invention have a faster execution speed and can better meet the target program testing requirements based on high real-time requirements and latency-sensitive protocols. Furthermore, the ptrace-based method has a wider range of applications and can be universally applied to gray-box testing of various network devices.
[0062] The advantages and key points of the method proposed in this invention are as follows:
[0063] (1) The method can set short-term breakpoints through the ptrace system call and delete the breakpoints after each use. Compared with the existing gray-box testing methods based on permanent breakpoints, this method is faster and can better meet the testing needs of target programs based on high real-time requirements and latency-sensitive protocols. It can effectively test the target and even track complex targets with arbitrary multi-threading and multi-processing. (2) For existing technologies, most vulnerabilities require debugging with gdb to complete the exploit. Supporting gdb necessarily supports ptrace. Therefore, the ptrace-based method proposed in this invention has a wider range of applications and can be universally applied to gray-box testing of various network devices.
[0064] (3) It can effectively detect memory access errors such as out-of-bounds read and write through dynamic address space, prevent memory out-of-bounds access problems from occurring, and ensure the security and robustness of the program. (4) Furthermore, the gray-box fuzzing test based on the ptrace system call proposed in this solution can achieve coarse-grained ASAN at the binary level, thereby improving the vulnerability detection rate.
[0065] (5) It can recommend the top basic blocks to be analyzed based on the global CFG graph, which enhances the information collection capability.
[0066] (6) The coverage check step based on the alignment time algorithm optimizes the fuzzing logic, which can improve the effectiveness of the seeds in the queue.
[0067] Corresponding to the above method, the present invention also provides a gray-box fuzzy testing device for network devices. The device includes a computer device, which includes a processor and a memory. The memory stores computer instructions, and the processor is used to execute the computer instructions stored in the memory. When the computer instructions are executed by the processor, the device implements the steps of the method described above.
[0068] Figure 3 This is a schematic diagram of the computer equipment included in the system. See also... Figure 3 The computer device 00 includes: a processor 01, a memory 02, and a computer program stored on the memory 02 and executable on the processor 01. When the processor 01 executes the computer program, it implements the human factors data server access control method provided in the above method embodiments.
[0069] The processor 01 is connected to the memory 02, such as via a bus 03. The processor 01 can be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor 01 can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc. The bus 03 may include a pathway for transmitting information between the aforementioned components. The bus 03 can be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. The bus 130 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 3The text uses only a single thick line to represent a bus, but this does not imply that there is only one bus or one type of bus. Memory 02 stores a computer program corresponding to the human factors data server access control method described in the above embodiments of this application. This computer program is executed under the control of processor 01. Processor 01 executes the computer program stored in memory 02 to implement the content shown in the aforementioned method embodiments.
[0070] Corresponding to the methods described above, the present invention also provides a computer-readable storage medium having a computer program / instructions stored thereon, which, when executed by a processor, implements the steps of the method as described in any of the above embodiments. The computer-readable storage medium may be a tangible storage medium, such as random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, register, floppy disk, hard disk, removable storage disk, CD-ROM, or any other form of storage medium known in the art.
[0071] Corresponding to the above methods, the present invention also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the method as described in any of the above embodiments.
[0072] Those skilled in the art will understand that the exemplary components, systems, and methods described in conjunction with the embodiments disclosed herein can be implemented in hardware, software, or a combination of both. Whether implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this invention. When implemented in hardware, it can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this invention are programs or code segments used to perform the desired tasks. The programs or code segments can be stored in a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried in a carrier wave.
[0073] It should be clarified that the present invention is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present invention is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of the present invention.
[0074] In this invention, features described and / or illustrated for one embodiment may be used in the same or similar manner in one or more other embodiments, and / or combined with or in place of features of other embodiments.
[0075] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, various modifications and variations of the embodiments of the present invention are possible. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A gray-box fuzzy testing method for network devices, characterized in that, The method includes: The basic information acquisition step involves calculating the basic block address of the target program by performing static analysis on the target program of the network device. The gray-box fuzzing test steps use the basic block address as the target address for dynamic analysis. A tracing program based on the ptrace system call is attached to the corresponding target process of the target program. A transient breakpoint is set for the target program through the ptrace system call. The tracing program detects whether the target program hits the current transient breakpoint by monitoring the target process. When the target program is detected to have hit the current transient breakpoint, the tracing program reports the coverage change to the fuzz tester and deletes the current transient breakpoint through the ptrace system call. In gray-box fuzz testing, the input is the test case. While using the tracer to detect whether the target program hits the current short-term breakpoint, when the current test case triggers a change in coverage, the system checks whether further coverage changes are triggered during the execution of the target program at preset time intervals.
2. The method according to claim 1, characterized in that, The method further includes: If the current test case does not trigger further coverage changes, the processing of the current test case is complete, and the test case is replaced. If the current test case triggers further coverage changes, it is assumed that the current test case is still in the process of execution, and the interval time is increased until the coverage remains stable.
3. The method according to claim 1, characterized in that, The method further includes an address space check step during the execution of the target program, including: The hook function is implemented using ptrace. The memory allocation function of the target program is modified in advance to align the memory block allocated by the target program before placing it in front of a non-readable and writable page. When the target program attempts to perform out-of-bounds read and write operations, an out-of-bounds memory access error is reported.
4. The method according to claim 1, characterized in that, The basic information acquisition step also includes acquiring the predecessor node, successor node, caller node, and callee node of the basic block, and constructing a global CFG graph based on the acquired nodes; wherein, the global CFG graph is used to assist in the analysis of coverage changes.
5. The method according to claim 4, characterized in that, The method further includes: classifying the importance of the basic blocks to be analyzed based on the global CFG graph.
6. The method according to claim 1, characterized in that, The basic block contains a set of consecutive instruction sequences in the target program. The basic block has an entry point and an exit point. The transient breakpoint is set based on the calculated address of the basic block.
7. The method according to claim 1, characterized in that, The criterion for detecting whether the target program has hit the current transient breakpoint is: when the SIGTRAP signal is detected, it means that the target program has hit the current transient breakpoint; otherwise, it means that it has not hit it.
8. A gray-box fuzzy testing device for network equipment, comprising a processor, a memory, and a computer program / instructions stored in the memory, characterized in that, The processor is configured to execute the computer program / instructions, and when the computer program / instructions are executed, the device implements the steps of the method as described in any one of claims 1 to 7.
9. A computer-readable storage medium having a computer program / instructions stored thereon, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method as described in any one of claims 1 to 7.
10. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Software analysis method and system based on dynamic instrumentation
CN112559322A
Black box collection coverage rate method and system based on intel-PT
CN117785668A