Program file security verification method and device, electronic equipment and storage medium

By assembling the metric values ​​of the security verification program file and its dependent files in the virtualization product and matching them with the group metric benchmark value, the problem of inaccurate security verification results in the prior art is solved, and higher security verification accuracy is achieved.

CN121456879APending Publication Date: 2026-02-03CHINA MOBILE INTERNET CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511439368.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-10
Publication Date
2026-02-03

AI Technical Summary

Technical Problem

In existing technologies, security verification methods that independently compare the metric value of a single file with its corresponding standard metric value cannot comprehensively assess the security risks of virtualization product program files, resulting in low accuracy of security verification results.

Method used

The system obtains the measurement values ​​of the virtualization product to be verified and its dependent files in the terminal, concatenates them to obtain the concatenated measurement value, and matches it with the group measurement benchmark value of multiple program files to determine whether the program file to be verified passes the security verification.

Benefits of technology

By combining the metrics of the program file to be verified and its dependent files for comprehensive security verification, the accuracy and comprehensiveness of the security verification results are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121456879A_ABST
    Figure CN121456879A_ABST
Patent Text Reader

Abstract

The invention provides a program file security verification method and device, electronic equipment and a storage medium, and relates to the technical field of computers. The method comprises the following steps: splicing a metric value of a to-be-verified program file of a virtualized product in a terminal and a metric value of a first program file on which the to-be-verified program file depends to obtain a first spliced metric value; and matching the first splicing measurement value with grouping measurement reference values corresponding to a plurality of program file groups of the virtualized product to obtain a first matching result, and determining whether the to-be-verified program file passes security verification according to the first matching result. Therefore, in the process of performing security verification on the to-be-verified program file, comprehensive security verification is performed on the to-be-verified program file in combination with the metric value of the to-be-verified program file and the metric value of the program file on which the to-be-verified program depends, so that the accuracy of a security verification result of the to-be-verified program file is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of computer, and particularly relates to a program file security verification method and device, electronic equipment and storage medium. BACKGROUND

[0002] Virtualization products are software or hardware products developed based on virtualization technology, for example, virtual machines, virtual networks, virtual storage, etc.

[0003] In actual application, a terminal usually obtains program files of required virtualization products from a server. To ensure system security, the terminal needs to perform security verification on the program files before loading them into memory and executing.

[0004] In related technologies, security verification is usually dominated by the server: the server obtains the measurement values (such as hash values) of each program file of the virtualization product on the terminal side, and compares the measurement values with the corresponding standard measurement values pre-stored locally on the server. According to the comparison result, it is determined whether the program file passes the verification; only when the verification passes, the terminal can load the program file into memory for running. However, this way of comparing the measurement value of a single file with its corresponding standard measurement value independently to realize the security verification of the file can not comprehensively evaluate the security risk of the file itself, thus the accuracy of the obtained security verification result is low. SUMMARY

[0005] The present disclosure provides a program file security verification method and device, electronic equipment and storage medium.

[0006] In a first aspect, the present disclosure provides a program file security verification method, which comprises: obtaining a measurement value of a to-be-verified program file of a virtualization product in a terminal, and a measurement value of a first program file, wherein the first program file is a file relied on by the to-be-verified program file in the virtualization product; splicing the measurement value of the to-be-verified program file and the measurement value of the first program file to obtain a first spliced measurement value; matching the first spliced measurement value with group measurement reference values corresponding to a plurality of program file groups of the virtualization product to obtain a first matching result, wherein the plurality of program file groups are obtained by grouping a plurality of program files of the virtualization product, and for any first target program file in the program file groups, the program file groups include a second target program file relying on the first target program file, and / or a third target program file relied on by the first target program file; and determining whether the to-be-verified program file passes the security verification according to the first matching result.

[0007] In a second aspect, the present disclosure provides a program file security verification device, the device comprising: an acquisition module configured to acquire a measurement value of a program file to be verified of a virtualization product in a terminal, and a measurement value of a first program file, wherein the first program file is a file relied on by the program file to be verified in the virtualization product; a splicing module configured to splice the measurement value of the program file to be verified and the measurement value of the first program file to obtain a first spliced measurement value; a matching module configured to match the first spliced measurement value with a group measurement reference value corresponding to each of a plurality of program file groups of the virtualization product to obtain a first matching result, wherein the plurality of program file groups are obtained by grouping a plurality of program files of the virtualization product, and for any first target program file in the program file groups, the program file groups include a second target program file relying on the first target program file, and / or a third target program file relied on by the first target program file; and a determination module configured to determine whether the program file to be verified passes the security verification according to the first matching result.

[0008] In a third aspect, the present disclosure provides an electronic device, comprising: a processor, and a memory connected with the processor in communication; the memory stores computer execution instructions; and the processor executes the computer execution instructions stored in the memory to implement the program file security verification method disclosed in the embodiments of the present disclosure.

[0009] In a fourth aspect, the present disclosure provides a computer readable storage medium, the computer readable storage medium storing computer execution instructions, and the computer execution instructions are executed by a processor to implement the program file security verification method disclosed in the embodiments of the present disclosure.

[0010] In a fifth aspect, the present disclosure provides a computer program product, comprising a computer program, and the computer program is executed by a processor to implement the program file security verification method disclosed in the embodiments of the present disclosure.

[0011] The technical solutions provided by the embodiments of the present disclosure at least bring the following beneficial effects: obtaining a measurement value of a program file to be verified of a virtualization product in a terminal, and a measurement value of a first program file, wherein the first program file is a file relied on by the program file to be verified in the virtualization product; splicing the measurement value of the program file to be verified and the measurement value of the first program file to obtain a first spliced measurement value; matching the first spliced measurement value with a group measurement reference value corresponding to each of a plurality of program file groups of the virtualization product to obtain a first matching result, wherein the plurality of program file groups are obtained by grouping a plurality of program files of the virtualization product, and for any first target program file in the program file groups, the program file groups include a second target program file relied on by the first target program file, and / or a third target program file relied on by the first target program file; and determining whether the program file to be verified passes a security check according to the first matching result. Thus, in the process of performing the security check on the program file to be verified, the program file to be verified is comprehensively and securely checked in combination with the measurement value of the program file to be verified and the measurement value of the program file relied on by the program to be verified, thereby improving the accuracy of the result of the security check on the program file to be verified. BRIEF DESCRIPTION OF DRAWINGS

[0012] The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate embodiments consistent with the present disclosure and, together with the description, further serve to explain the principles of the present disclosure.

[0013] Figure 1 A flowchart of a program file security check method according to an example embodiment; Figure 2 A flowchart of a program file security check method according to another example embodiment; Figure 3 A flowchart of a program file security check method according to another example embodiment; Figure 4 An example diagram of a dependency relationship diagram; Figure 5 A structural schematic diagram of a program file security check device according to another example embodiment; Figure 6 A structural block diagram of an electronic device according to an example embodiment.

[0014] The specific embodiments of the present disclosure have been shown through the above-described drawings, and will be described in more detail hereinafter. These drawings and the written description are not intended to restrict the scope of the present disclosure concept in any way, but to illustrate the present disclosure concept to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION

[0015] The exemplary embodiments will be described in detail herein with reference to the attached drawings. The following description is only exemplary and is not intended to limit the present disclosure, as defined by the appended claims, in which like numbers refer to like elements throughout the several views. The following description discloses exemplary embodiments that accomplish the present disclosure. However, the exemplary embodiments should not be construed as limiting all embodiments consistent with the present disclosure to the exemplary embodiments described herein. Rather, these exemplary embodiments are offered to describe the inventive concept in a manner most typically and clearly understood.

[0016] The technical solutions of the present disclosure and how the technical solutions solve the above technical problems will be described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of the present disclosure will be described below with reference to the accompanying drawings.

[0017] First, the program file security verification method provided by the embodiments of the present disclosure will be described in detail. Figure 1 The program file security verification method provided by the embodiments of the present disclosure will be described in detail.

[0018] Figure 1 A flowchart of a program file security verification method according to an exemplary embodiment is shown.

[0019] It should be noted that the program file security verification method provided by the embodiments of the present disclosure can be executed by a program file security verification device, and the program file security verification device can be implemented by software and / or hardware. The program file security verification device can be an electronic device or can be configured in an electronic device.

[0020] The electronic device refers to a device that can communicate with a terminal and has a program file security verification function. For example, the electronic device can be a server.

[0021] It should be noted that the embodiments of the present disclosure are exemplarily described by taking the electronic device as a server.

[0022] As shown in Figure 1 The program file security verification method includes the following steps: In step 101, the measurement value of the program file to be verified of the virtualization product in the terminal and the measurement value of the first program file are obtained, wherein the first program file is a file relied on by the program file to be verified in the virtualization product.

[0023] In some embodiments, the terminal can obtain the program file of the virtualization product and the first program file relied on by the program file from the server. Before loading the program file of the virtualization product into the memory and executing, the terminal can take the program file of the virtualization product as a program file to be verified, and send a security verification request to the server, wherein the security verification request comprises the measurement value of the program file to be verified of the virtualization product in the terminal and the measurement value of the first program file. Correspondingly, the server can obtain the measurement value of the program file to be verified of the virtualization product in the terminal and the measurement value of the first program file based on the security verification request.

[0024] In some embodiments, the measurement value is used to represent the integrity of the program file. The measurement value can be a hash value, or other values such as a message authentication code (MAC), and the embodiments are not limited in this regard.

[0025] In some embodiments, the measurement value of the first program file is determined according to the file content of the first program file. For example, the hash value obtained by performing hash calculation on the file content of the first program file can be taken as the measurement value of the first program file.

[0026] In some embodiments, the measurement value of the program file to be verified is determined according to the file content of the program file to be verified. For example, the hash value obtained by performing hash calculation on the file content of the program file to be verified can be taken as the measurement value of the program file to be verified.

[0027] Step 102, splicing the measurement value of the program file to be verified and the measurement value of the first program file to obtain a first spliced measurement value.

[0028] In some embodiments, the measurement value of the program file to be verified and the measurement value of the first program file can be spliced according to a preset splicing rule to obtain the first spliced measurement value.

[0029] The preset splicing rule is a splicing rule set in advance according to actual needs. For example, the preset splicing rule is to splice the measurement value of a target program file relied on by a program file in front of the measurement value of the program file. Correspondingly, according to the preset splicing rule, the measurement value of the first program file can be spliced in front of the measurement value of the program file to be verified to obtain the first spliced measurement value.

[0030] Step 103: Match the first concatenation metric value with the corresponding group metric benchmark values ​​of the multiple program file groups of the virtualization product to obtain the first matching result. The multiple program file groups are obtained by grouping the multiple program files of the virtualization product. For any first target program file in the program file group, the program file group includes: a second target program file that depends on the first target program file, and / or a third target program file that the first target program file depends on.

[0031] In this embodiment, any program file selected from the program file group is referred to as the first target program file.

[0032] In this embodiment, the program file that depends on the first target program file in the program file group is called the second target program file.

[0033] In this embodiment, the program file that the first target program file depends on in the program file group is referred to as the third target program file.

[0034] For a detailed description of obtaining multiple program file groups of the virtualization product and the corresponding group metric benchmark values ​​for each of the multiple program file groups, please refer to the relevant descriptions in the subsequent embodiments.

[0035] Step 104: Determine whether the program file to be verified has passed the security verification based on the first matching result.

[0036] In some embodiments, if the first matching result indicates that the first splicing metric matches one of the multiple grouped metric benchmarks, the program file to be verified is determined to have passed the security verification.

[0037] In other embodiments, if the first matching result indicates that the first splicing metric does not match any of the multiple grouping metric benchmarks, it is determined that the program file to be verified has failed the security verification.

[0038] In some embodiments, after determining whether the program file to be verified has passed the security verification based on the first matching result, a security verification result can also be returned to the terminal. This security verification result indicates whether the program file to be verified has passed the security verification. Thus, the terminal can determine whether the program file to be verified has passed the security verification through the security verification result, and perform subsequent processing accordingly.

[0039] The program file security verification method provided in this disclosure obtains the metric value of the program file to be verified and the metric value of a first program file in a virtualization product in a terminal, wherein the first program file is a file that the program file to be verified depends on in the virtualization product; the metric value of the program file to be verified and the metric value of the first program file are concatenated to obtain a first concatenated metric value; the first concatenated metric value is matched with the group metric benchmark values ​​corresponding to each of multiple program file groups in the virtualization product to obtain a first matching result, wherein the multiple program file groups are obtained by grouping multiple program files in the virtualization product, and for any first target program file in the program file group, the program file group includes: a second target program file that depends on the first target program file, and / or a third target program file that the first target program file depends on; and the program file to be verified passes the security verification based on the first matching result. Therefore, in the process of performing security verification on the program file to be verified, by combining the metric value of the program file to be verified and the metric values ​​of the program files that the program file to be verified depends on, a comprehensive security verification of the program file to be verified is performed, improving the accuracy of the security verification result of the program file to be verified.

[0040] Figure 2 This is a flowchart illustrating a program file security verification method according to another exemplary embodiment.

[0041] like Figure 2 As shown, the method may include: Step 201: Obtain the measurement value of the program file to be verified and the measurement value of the first program file in the virtualization product of the terminal, wherein the first program file is the file that the program file to be verified depends on in the virtualization product.

[0042] Step 202: Concatenate the measurement value of the program file to be verified and the measurement value of the first program file to obtain the first concatenated measurement value.

[0043] It should be noted that for a detailed description of steps 201 and 202, please refer to the relevant descriptions in other embodiments, which will not be repeated here.

[0044] Step 203: Match the first concatenation metric value with the group metric benchmark value corresponding to each of the multiple program file groups of the virtualization product to obtain the first matching result. The multiple program file groups are obtained by grouping multiple program files of the virtualization product. For any first target program file in the program file group, the program file group includes: a second target program file that depends on the first target program file, and / or a third target program file that the first target program file depends on.

[0045] Step 204: Obtain the second program file that the virtualization product has already run in the terminal's memory.

[0046] Step 205: If there is a dependency between the second program file and the program file to be verified, the metric value of the program file to be verified and the metric value of the second program file are concatenated according to the dependency to obtain the second concatenated metric value.

[0047] In some embodiments, where the dependency relationship indicates that the second program file depends on the program file to be verified, the metric value of the second program file can be concatenated before the metric value of the program file to be verified to obtain a second concatenated metric value.

[0048] In other embodiments, when the dependency relationship indicates that the program file to be verified depends on the second program file bag, the metric value of the program file to be verified can be concatenated before the metric value of the second program file to obtain a second concatenated metric value.

[0049] Step 206: Match the second concatenated metric value with the corresponding group metric benchmark values ​​of the multiple program file groups of the virtualization product to obtain the second matching result.

[0050] In some embodiments, the second splicing metric value can be matched with the group metric benchmark value corresponding to each of the multiple program file groups of the virtualization product to obtain the second matching result.

[0051] Step 207: Determine whether the program file to be verified passes the security verification based on the first matching result and the second matching result.

[0052] In some embodiments, if a first matching result indicates that a first concatenated metric value matches one of a plurality of grouped metric benchmark values, and a second matching result indicates that a second concatenated metric value matches one of a plurality of grouped metric benchmark values, then the program file to be verified is determined to have passed security verification. Thus, it is accurately determined that the program file to be verified has passed security verification.

[0053] In other embodiments, if the first matching result indicates that the first splicing metric value does not match any of the multiple grouping metric benchmark values, and / or the second matching result indicates that the second splicing metric value does not match any of the multiple grouping metric benchmark values, it is determined that the program file to be verified has failed the security verification. Thus, by combining the first and second matching results, the security verification result of the program file to be verified is accurately determined.

[0054] In some embodiments, after determining whether the program file to be verified has passed the security verification based on the first matching result and the second matching result, a security verification result can also be returned to the terminal, wherein the security verification result is used to indicate whether the program file to be verified has passed the security verification. This allows the terminal to know whether the program file to be verified has passed the security verification through the security verification result, so as to perform subsequent processing based on the security verification result.

[0055] In this embodiment, during the security verification of the program file to be verified, not only are the metrics of the program file to be verified utilized, but also the metrics of the first program file that the program file to be verified depends on, and the metrics of the second program file that has been run in the terminal's memory and has a dependency relationship with the program file to be verified, are combined to perform a comprehensive security verification of the program file to be verified. Therefore, by combining the metrics of the program files that have a dependency relationship with the program file to be verified, a comprehensive security verification of the program file to be verified can be performed, which can improve the accuracy and comprehensiveness of the security verification results of the program file to be verified.

[0056] Figure 3 This is a flowchart illustrating a program file security verification method according to another exemplary embodiment.

[0057] like Figure 3 As shown, the method may include: Step 301: Determine the dependency graph of multiple program files of the virtualization product, wherein the dependency graph uses program files as nodes and the dependencies between program files as the connection relationships between nodes.

[0058] In some embodiments, a virtualization product consists of multiple program files.

[0059] It should be noted that the methods for determining the dependency graph of multiple program files in a virtualization product differ in different application scenarios. Examples are provided below: As an example, obtain the dependencies between multiple program files of a virtualization product; and construct a dependency graph of multiple program files based on the dependencies between them.

[0060] As another example, screenshots of multiple program files, including their information, are obtained. These screenshots are then input into a pre-trained dependency graph model to generate a dependency graph. Thus, the dependency graph of multiple program files for the virtualization product is quickly obtained using the dependency graph model.

[0061] In some embodiments, the aforementioned large dependency graph model is pre-trained. One possible implementation of obtaining the pre-trained large dependency graph model is as follows: obtain screenshots of target program files, including program file information, from multiple sample program files, and the target dependency graph corresponding to the multiple sample program files; input the target program file graph into the initial large dependency graph model to obtain the output predicted dependency graph; and train the initial large dependency graph model based on the predicted dependency graph and the target dependency graph to obtain the large dependency graph model.

[0062] In some embodiments, where the dependency graph model includes a relationship determination layer and a dependency graph generation layer, one possible implementation of inputting screenshots of program files into the pre-trained dependency graph model to obtain the dependency graph is as follows: In the relationship determination layer, the screenshots of program files are analyzed to determine the dependencies between multiple program files; in the dependency graph generation layer, a dependency graph of multiple program files is generated based on the dependencies between the multiple program files. Thus, the dependency graph model can determine the dependencies between multiple program files from the screenshots of program files and accurately generate the dependency graph of multiple program files based on these dependencies.

[0063] In some embodiments, in the dependency graph generation layer, a dependency graph of multiple program files can be generated based on the dependencies between multiple program files and a pre-built dependency graph hint template. Thus, the dependency graph hint template provides a large dependency graph model, enabling the large dependency graph model to accurately obtain the dependency graph of the multiple program files of the virtualization program.

[0064] As an example, a relationship diagram hint template may include a reference example of a dependency diagram.

[0065] In some embodiments, in the relationship determination layer, the program file information corresponding to each program file can be extracted from the program file screenshot, and the dependency relationship between multiple program files can be determined based on the program file information.

[0066] As an example, the dependencies between multiple program files can be determined based on the file type information in the program file information and a pre-built library of call relationships between different types.

[0067] In addition to file type, program file information may also include other information such as file name.

[0068] The program file information can be any information related to the program file, and this embodiment does not specifically limit the program file information.

[0069] In some embodiments, each node in the dependency graph corresponds to a program file, and the program file information of the corresponding program file can be used as the node attribute of the corresponding node.

[0070] It should be noted that if a program file A calls another program file B, it means that program file A depends on program file B, that is, the program file that program file A depends on is program file B.

[0071] For example, a virtualization product includes five program files: program file 1, program file 2, program file 3, program file 4, and program file 5. If the dependencies between these five program files are as follows: program file 2 is a dependency of program file 1, program file 3 is a dependency of both program file 1 and program file 4, and program file 5 is a dependency of both program file 2 and program file 3, then the dependency graph generated based on these dependencies would look like this: Figure 4 As shown. It should be noted that, Figure 4 Circle 1 represents node 1 corresponding to program file 1; circle 2 represents node 2 corresponding to program file 2; circle 3 represents node 3 corresponding to program file 3; circle 4 represents node 4 corresponding to program file 4; and circle 5 represents node 5 corresponding to program file 5. Figure 4 The arrows in the diagram indicate dependencies: the program file of the starting node depends on the program file of the node the arrow points to. In other words, the program file of the node the arrow points to is a dependency of the program file of the starting node.

[0072] Step 302: Based on the dependency graph, group the multiple program files to obtain multiple program file groups.

[0073] In some embodiments, grouping multiple program files according to the dependency graph can be achieved as follows: for each leaf node in the dependency graph, determine at least one path corresponding to the leaf node, where the path is formed by traversing all parent nodes of the leaf node upwards to the root node; and form a program file group for the virtualization product based on the program files corresponding to each node on the path. Thus, by combining the dependency graph, the grouping of multiple program files is accurately achieved.

[0074] For example, with Figure 4Taking the dependency graph as an example, this graph has two leaf nodes, node 1 and node 4. For node 1, traversing upwards from node 1 through its parent nodes until the root node (node ​​5) forms two paths: Path 1: node 1, node 2, and node 5; Path 2: node 1, node 3, and node 5. Similarly, traversing upwards from node 4 through its parent nodes until the root node (node ​​5) forms one path, denoted as path 3, which consists of node 4, node 3, and node 5. Combining these three paths, each path forms a group of program files. Therefore, based on this dependency graph, grouping these five program files results in three final program file groups. Suppose we use program file group 1, program file group 2, and program file group 3 to represent these three program file groups. Program file group 1 can be represented as: program file 5, program file 2, and program file 1; program file group 2 can be represented as: program file 5, program file 3, and program file 1; and program file group 3 can be represented as: program file 5, program file 3, and program file 4.

[0075] It should be noted that the sorting method of program files within the program file group is preset. As an example, the sorting method of program files within a program file group can be set as follows: for any two adjacent program files in the program file group, the first target program file in the group is positioned before the second target program file in the adjacent program file group. Here, the first target program file is a dependent file of the second target program file; that is, the first target program file is a file that the second target program depends on, meaning the second target program file depends on the first target program file.

[0076] As another example, the sorting method of program files in the program file group can be set as follows: for any two adjacent program files in the program file group, the first target program file in the two adjacent program files is located after the second target program file in the program file group. Here, the first target program file is a dependent file of the second target program file, that is, the first target program file is a file that the second target program depends on. In other words, the second target program file depends on the first target program file.

[0077] It is understood that two adjacent program files consist of a first target program file and a second target program file.

[0078] It should be noted that, for any first target program file in the program file group, the program file group includes: a second target program file that depends on the first target program file, and / or a third target program file that the first target program file depends on.

[0079] In other embodiments, when there are multiple paths, the program file groups formed by each of the multiple paths can be merged to obtain a merged program file result; the program files in the merged program file result are deduplicated to obtain a program file group of the virtualization product.

[0080] Step 303: For each program file group, determine the grouping metric value of the program file group based on the metric values ​​of each program file in the program file group.

[0081] In some embodiments, one possible implementation of determining the group metric value of a program file group based on the metric values ​​of each program file in the group can be as follows: determine the metric value of each program file in the group; concatenate the metric values ​​of each program file in the group to obtain the group metric value corresponding to the program file group. Thus, by concatenating the metric values, the group metric value corresponding to the program file group is accurately obtained.

[0082] In some embodiments, the file content of each program file in the program file group is hashed to obtain the hash value of each program file in the program file group, and the hash value is used as the measurement benchmark value.

[0083] In some embodiments, the program files in the program file group are sorted as follows: for any two adjacent program files in the program file group, the first target program file in the adjacent program file group is positioned before the second target program file in the adjacent program file group, wherein the second target program file depends on the first target program file. Correspondingly, one possible implementation of concatenating the benchmark values ​​of each program file in the program file group to obtain the group benchmark value corresponding to the program file group is: according to the arrangement order of each program file in the program file group, the benchmark values ​​of each program file in the program file group are sequentially concatenated to obtain the group benchmark value corresponding to the program file group. Therefore, combining the arrangement order of the program files in the program file group to sequentially concatenate the benchmark values ​​of each program file can ensure the consistency of data processing and help improve the efficiency of concatenation.

[0084] In this context, it can be understood that, based on the order in which the program files are arranged in the program file group, the metric benchmark values ​​of each program file in the program file group are sequentially concatenated to obtain the group metric benchmark value corresponding to the program file group. In other words, based on the order in which the program files are arranged in the program file group, each program file in the program file group is concatenated sequentially to obtain the group metric benchmark value corresponding to the program file group.

[0085] Continuing with the above examples, assuming that hash values ​​are used to represent the benchmark values, the program files in program file group 1 are arranged in the following order: program file 5, program file 2, program file 1. Then, the benchmark value for program file group 1 can be: the hash value of program file 5 + the hash value of program file 2 + the hash value of program file 1. The program files in program file group 2 are arranged in the following order: program file 5, program file 3, program file 1. Then, the benchmark value for program file group 2 can be: the hash value of program file 5 + the hash value of program file 3 + the hash value of program file 1. The program files in program file group 3 are arranged in the following order: program file 5, program file 3, program file 4. Then, the benchmark value for program file group 3 can be: the hash value of program file 5 + the hash value of program file 3 + the hash value of program file 4.

[0086] In other embodiments, the program files in the program file group are sorted as follows: for any two adjacent program files in the program file group, the first target program file in the adjacent program file group is positioned after the second target program file in the adjacent program file group, wherein the second target program file depends on the first target program file. Correspondingly, one possible implementation of concatenating the metric benchmark values ​​of each program file in the program file group to obtain the group metric benchmark value corresponding to the program file group can be: performing sequential concatenation of the metric benchmark values ​​of each program file in the program file group according to the reverse order of the arrangement of the program files in the program file group to obtain the group metric benchmark value corresponding to the program file group. Therefore, combining the reverse order of the arrangement of the program files in the program file group to sequentially concatenate the metric benchmark values ​​of each program file can ensure the consistency of data processing and help improve the efficiency of concatenation.

[0087] It is understandable that, in order to facilitate the subsequent use of the group metric benchmark values ​​corresponding to each program file group, the group metric benchmark values ​​corresponding to each program file group can be stored.

[0088] Step 304: Obtain the measurement value of the program file to be verified and the measurement value of the first program file in the virtualization product in the terminal, wherein the first program file is the file that the program file to be verified depends on in the virtualization product.

[0089] Step 305: Concatenate the measurement value of the program file to be verified and the measurement value of the first program file to obtain the first concatenated measurement value.

[0090] Step 306: Match the first spliced ​​metric value with the corresponding group metric benchmark values ​​of the multiple program file groups of the virtualization product to obtain the first matching result.

[0091] Step 307: Obtain the second program file that the virtualization product has already run in the terminal's memory.

[0092] In some embodiments, code text residing in the terminal's memory can be obtained, and from the code file, a second program file that the virtualization product has run in the terminal's memory can be determined, and the calling relationship between the second program file and the program file to be verified can be determined, and the dependency relationship between the second program file and the program file to be verified can be determined based on the calling relationship between the second program file and the program file to be verified.

[0093] In some embodiments, when the calling relationship indicates that the second program file depends on the program file to be verified, the dependency relationship between the second program file and the program file to be verified can be determined as follows: the second program file depends on the program file to be verified, that is, the program file to be verified is a dependent file of the second program file.

[0094] In other embodiments, when the calling relationship indicates that the program file to be verified depends on the second program file, the dependency relationship between the second program file and the program file to be verified can be determined as follows: the program file to be verified depends on the second program file, that is, the second program file is a dependent file of the program file to be verified.

[0095] It should be noted that, in this embodiment, the program file to be verified and the first program file are program files that have been downloaded to the terminal but have not yet been executed in the terminal's memory.

[0096] It is understandable that, since the second program file existing in memory needs to call the program file to be verified, if the second program file is tampered with by malicious code in memory, its content will change. Correspondingly, the metric value of the second program file will change, and thus the second concatenated metric value obtained by concatenating the metric value of the second program file and the metric value of the program file to be verified will not match the pre-stored group metric standard value of each program file group. At this time, it can be determined that the program file to be verified has failed the security verification, and the terminal is informed of the result that the program file to be verified has failed the security verification. Correspondingly, the terminal will no longer execute the program file to be verified in memory based on the result, thereby avoiding the possibility of the program file to be verified being tampered with.

[0097] Step 308: If there is a dependency between the second program file and the program file to be verified, the metric value of the program file to be verified and the metric value of the second program file are concatenated according to the dependency to obtain the second concatenated metric value.

[0098] It should be noted that the metric value of the second program file is determined based on its content. For example, a hash calculation can be performed on the content of the second program file, and the resulting hash value can be used as the metric value of the second program file.

[0099] It should be noted that for a detailed description of step 308, please refer to the relevant descriptions in other embodiments, which will not be repeated here.

[0100] Step 309: Match the second concatenated metric value with the corresponding group metric baseline values ​​of the multiple program file groups of the virtualization product to obtain the second matching result.

[0101] It should be noted that the number of the second program files mentioned above can be one or more, and this embodiment limits the number of the second program files.

[0102] As an example, when there are multiple second program files, a second splicing metric can be obtained for each second program file. Correspondingly, each second splicing metric is matched with the corresponding grouping metric benchmark value of each program file group, and a second matching result will be obtained. Therefore, when there are multiple second program files, multiple second matching results will be obtained.

[0103] Step 310: Determine whether the program file to be verified passes the security verification based on the first matching result and the second matching result.

[0104] In some embodiments, it can be determined whether the program file to be verified passes the security verification based on a first matching result and multiple second matching results.

[0105] In some embodiments, when a first matching result indicates that a first splicing metric matches one of a plurality of grouped metric benchmarks, and each second matching result indicates that a corresponding second splicing metric matches one of a plurality of grouped metric benchmarks, the program file to be verified is determined to have passed security verification.

[0106] In other embodiments, if the first matching result indicates that the first splicing metric does not match any of the multiple grouping metric benchmarks, and / or at least one of the multiple second matching results indicates that the corresponding second splicing metric does not match any of the multiple grouping metric benchmarks, it is determined that the program file to be verified has failed the security verification.

[0107] It should be noted that for a detailed description of steps 309 and 310, please refer to the relevant descriptions in other embodiments, which will not be repeated here.

[0108] For example, the program file to be verified is program file A, and the dependent file is program file B, meaning program file A depends on program file B. Assume that the virtualization product has already run program files C and D in the terminal's memory. Program file C calls program file A, and program file A calls program file D; that is, program file C depends on program file A, and program file A depends on program file D. Correspondingly, assume that the corresponding program files are concatenated according to the concatenation method where the metric of the dependent program file is appended before the metric of the program files that depend on it. Program file A depends on program file B. The concatenated metric value 1, obtained by combining the metrics of program file A and program file B, can be represented as: Metric value of program file B + Metric value of program file A. Similarly, program file C depends on program file A. The concatenated metric value 2, obtained by combining the metrics of program file C and program file A, can be represented as: Metric value of program file A + Metric value of program file C. Likewise, program file A depends on program file D. The concatenated metric value 3, obtained by combining the metrics of program file D and program file A, can be represented as: Metric value of program file D + Metric value of program file A. Assume that the pre-saved group metric baseline values ​​for the two program file groups are: Group metric baseline value 1: Metric value of program file B + Metric value of program file A; Group metric baseline value 2: Metric value of program file D. By matching the splicing metric value with the two grouping metric benchmarks mentioned above, it can be determined that among splicing metric value 1, splicing metric value 2, and splicing metric value 3, only splicing metric value 1 can match grouping metric benchmark value 1; splicing metric value 2 and splicing metric value 3 do not match the grouping metric value. At this time, it can be determined that the verification program file has failed the security verification.

[0109] For example, continuing with the three concatenated metrics from the previous example, if the pre-saved grouped metric baselines for the three program file groups are: Grouped metric baseline 1: Metric value of program file B + Metric value of program file A; Grouped metric baseline 2: Metric value of program file D + Metric value of program file B + Metric value of program file E; Grouped metric baseline 3: Metric value of program file C. By matching the concatenated metric value 1 with the above three grouped metric baselines, it can be determined that the concatenated metric value 1 matches the above three grouped metric baselines. By matching the concatenated metric value 2 with the above three grouped metric baselines, it can be determined that the concatenated metric value 2 does not match any of the above three grouped metric baselines. By matching the concatenated metric value 3 with the above three grouped metric baselines, it can be determined that the concatenated metric value 3 does not match any of the above three grouped metric baselines. In this case, it can be determined that the program file to be verified has failed the security verification.

[0110] Additionally, it should be noted that although the splicing metric value 3 does not match any of the three grouped metric benchmarks mentioned above, it can be determined that the grouped metric benchmark value 1 among the three grouped metric benchmarks is a complete match with the splicing metric value 1. In this case, the grouped metric value 1 can be used as the target grouped metric benchmark value. Then, the target grouped metric benchmark value is matched with the grouped metric benchmark value 2 and the grouped metric benchmark value 3 respectively. It can be determined that the metric value of program file B in the grouped metric benchmark value 2 is the same as the metric value of program file B in the target grouped metric benchmark value. Correspondingly, the metric value of program file D, which is located before the metric value of program file B, can be obtained from the grouped metric benchmark value 2, and the metric value of program file D can replace the metric value of program file B in the target grouped metric benchmark value to obtain a new target grouped metric benchmark value. At this time, it can be determined that the new target grouped metric benchmark value is a complete match with the splicing metric value 3. Therefore, it can be seen that program file D in the program file group corresponding to group metric benchmark value 2 has a higher probability of being a dependent file than program file B. Since program file B is a dependent file of program file A, it can be determined that program file A depends on program file D. In this case, if the concatenation metric value 1 matches one of the three group metric benchmark values, and the concatenation metric value 2 matches one of the three group metric benchmark values, but the concatenation metric value 3 does not match any of the three group metric benchmark values, it can still be determined that the program file to be verified passes the security check.

[0111] For example, continuing with the three concatenated metrics from the previous example, if the pre-saved grouped metrics for the three program file groups are as follows: Group metric 1: Metric value of program file B + Metric value of program file A; Group metric 2: Metric value of program file B + Metric value of program file D + Metric value of program file E; Group metric 3: Metric value of program file C. By matching concatenated metric 1 with the above three group metric benchmarks, it can be determined that concatenated metric 1 matches Group metric benchmark 1 among the above three group metric benchmarks. By matching concatenated metric 2 with the above three group metric benchmarks, it can be determined that concatenated metric 2 does not match any of the above three group metric benchmarks; by matching concatenated metric 3 with the above three group metric benchmarks, it can be determined that concatenated metric 3 does not match any of the above three group metric benchmarks. In this case, it can be determined that the program file to be verified has failed the security verification.

[0112] For example, let's continue with the three concatenated metrics from the previous example. If the pre-saved grouped metrics for the three program file groups are: Group Metric 1: Metric value of program file B + Metric value of program file A; Group Metric 2: Metric value of program file A + Metric value of program file C; Group Metric 3: Metric value of program file D + Metric value of program file A. By matching the concatenated metric 1 with the above three group metric benchmarks, it can be determined that the concatenated metric 1 matches the above three group metric benchmarks. By matching the concatenated metric 2 with the above three group metric benchmarks, it can be determined that the concatenated metric 2 matches the above three group metric benchmarks. By matching the concatenated metric 3 with the above three group metric benchmarks, it can be determined that the concatenated metric 3 matches the above three group metric benchmarks. At this point, it can be determined that the program file to be verified has passed the security verification.

[0113] In this embodiment, security verification is no longer based solely on the metric value of the program file to be verified. Instead, it combines the metric values ​​of program files that depend on the program file to be verified, as well as the metric values ​​of a second program file that has been run in the terminal's memory and also depends on the program file to be verified. This improves the accuracy and comprehensiveness of the security verification of the program file.

[0114] Figure 5 This is a schematic diagram illustrating the structure of a program file security verification device according to an exemplary embodiment.

[0115] like Figure 5As shown, the program file security verification device 500 includes: an acquisition module 501, a splicing module 502, a matching module 503, and a determination module 504, wherein: The acquisition module 501 is used to acquire the measurement value of the program file to be verified and the measurement value of the first program file in the virtualization product in the terminal, wherein the first program file is the file that the program file to be verified depends on in the virtualization product.

[0116] The splicing module 502 is used to splice the measurement value of the program file to be verified and the measurement value of the first program file to obtain the first spliced ​​measurement value.

[0117] The matching module 503 is used to match the first concatenated metric value with the corresponding group metric benchmark value of each of the multiple program file groups of the virtualization product to obtain the first matching result. The multiple program file groups are obtained by grouping multiple program files of the virtualization product. For any first target program file in the program file group, the program file group includes: a second target program file that depends on the first target program file, and / or a third target program file that the first target program file depends on.

[0118] The determination module 504 is used to determine whether the program file to be verified has passed the security verification based on the first matching result.

[0119] In one embodiment of this disclosure, the device may further include: The first processing module is used to obtain the second program file that the virtualization product has run in the terminal's memory; when there is a dependency relationship between the second program file and the program file to be verified, the module concatenates the metric value of the program file to be verified and the metric value of the second program file according to the dependency relationship to obtain a second concatenated metric value; and matches the second concatenated metric value with the group metric benchmark values ​​corresponding to each of the multiple program file groups of the virtualization product to obtain a second matching result. Specifically, the determining module 504 is used to: determine whether the program file to be verified has passed the security verification based on the first matching result and the second matching result.

[0120] In one embodiment of this disclosure, the determining module 504 is specifically configured to: determine that the program file to be verified has passed the security verification when the first matching result indicates that the first splicing metric value matches one of the multiple grouping metric benchmark values, and the second matching result indicates that the second splicing metric value matches one of the multiple grouping metric benchmark values.

[0121] In one embodiment of this disclosure, the determining module 504 is further configured to: determine that the program file to be verified has failed the security verification when the first matching result indicates that the first splicing metric value does not match any of the multiple grouping metric benchmark values, and / or the second matching result indicates that the second splicing metric value does not match any of the multiple grouping metric benchmark values.

[0122] In one embodiment of this disclosure, the device may further include: The second processing module is used to determine the dependency graph of multiple program files, wherein the dependency graph uses program files as nodes and the dependencies between program files as the connection relationships between nodes; based on the dependency graph, the multiple program files are grouped to obtain multiple program file groups; for each program file group, the grouping metric value of the program file group is determined based on the metric values ​​of each program file in the program file group.

[0123] In one embodiment of this disclosure, the second processing module determines the dependency graph of multiple program files in the following ways: obtaining screenshots of the program files, including program file information, from the multiple program files; inputting the program file screenshots into a pre-trained dependency graph model to obtain the dependency graph through the dependency graph model.

[0124] In one embodiment of this disclosure, the dependency graph large model includes a relationship determination layer and a relationship graph generation layer. The specific implementation of inputting program file screenshots into the pre-trained dependency graph large model to obtain a dependency graph through the dependency graph large model can be as follows: in the relationship determination layer, the program file screenshots are analyzed to determine the dependency relationships between multiple program files; in the relationship graph generation layer, a dependency graph of multiple program files is generated based on the dependency relationships between multiple program files.

[0125] In one embodiment of this disclosure, the specific implementation of grouping multiple program files according to the dependency graph can be as follows: for each leaf node in the dependency graph, determine at least one path corresponding to the leaf node, wherein the path is formed by traversing all levels of parent nodes of the leaf node upwards from the leaf node to the root node; and form a program file group of the virtualization product according to the program files corresponding to each node on the path.

[0126] In one embodiment of this disclosure, the specific implementation of determining the group metric benchmark value of a program file group based on the metric benchmark value of each program file in the program file group can be as follows: determine the metric benchmark value of each program file in the program file group; concatenate the metric benchmark values ​​of each program file in the program file group to obtain the group metric benchmark value corresponding to the program file group.

[0127] In one embodiment of this disclosure, the program files are sorted in the program file group as follows: for any two adjacent program files in the program file group, the first target program file in the two adjacent program files is positioned before the second target program file in the program file group, wherein the second target program file depends on the first target program file; The specific implementation method for concatenating the benchmark values ​​of each program file in the program file group to obtain the group benchmark value corresponding to the program file group can be as follows: according to the arrangement order of each program file in the program file group, the benchmark values ​​of each program file in the program file group are concatenated sequentially to obtain the group benchmark value corresponding to the program file group.

[0128] It should be noted that the foregoing description of the program file security verification method embodiment also applies to the program file security verification device of this embodiment, and will not be repeated here.

[0129] The program file security verification device provided in this embodiment obtains the measurement value of the program file to be verified and the measurement value of a first program file in a virtualization product in a terminal, wherein the first program file is a file that the program file to be verified depends on in the virtualization product; the measurement value of the program file to be verified and the measurement value of the first program file are concatenated to obtain a first concatenated measurement value; the first concatenated measurement value is matched with the group measurement benchmark values ​​corresponding to each of multiple program file groups in the virtualization product to obtain a first matching result, wherein the multiple program file groups are obtained by grouping multiple program files in the virtualization product, and for any first target program file in the program file group, the program file group includes: a second target program file that depends on the first target program file, and / or a third target program file that the first target program file depends on; and determines whether the program file to be verified passes the security verification based on the first matching result. Therefore, in the process of performing security verification on the program file to be verified, by combining the measurement value of the program file to be verified and the measurement values ​​of the program files that the program file to be verified depends on, a comprehensive security verification of the program file to be verified is performed, improving the accuracy of the security verification result of the program file to be verified.

[0130] It should be noted that the collection, storage, use, processing, transmission, provision, and disclosure of data in this disclosure are all carried out with the consent of the users, comply with relevant laws and regulations, and do not violate public order and good morals.

[0131] According to embodiments of this disclosure, an electronic device is also provided, including: a processor; and a memory for storing processor-executable instructions, wherein the processor is configured to: implement the program file security verification method disclosed in embodiments of this disclosure.

[0132] To implement the above embodiments, this disclosure also proposes a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the program file security verification method disclosed in this disclosure.

[0133] To implement the above embodiments, this disclosure also provides a computer program product.

[0134] The computer program product includes a computer program that, when executed by a processor, implements the program file security verification method disclosed in this embodiment.

[0135] Figure 6 This is a structural block diagram of an electronic device according to an exemplary embodiment. Figure 6 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.

[0136] like Figure 6 As shown, the electronic device 1000 includes a processor 111, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 112 or a program loaded from memory 116 into random access memory (RAM) 113. The RAM 113 also stores various programs and data required for the operation of the electronic device 1000. The processor 111, ROM 112, and RAM 113 are interconnected via a bus 114. An input / output (I / O) interface 115 is also connected to the bus 114.

[0137] The following components are connected to I / O interface 115: memory 116 including hard disks, etc.; and communication section 117 including network interface cards such as local area network (LAN) cards, modems, etc., communication section 117 performs communication processing via a network such as the Internet; and driver 118 is also connected to I / O interface 115 as needed.

[0138] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 117. When the computer program is executed by processor 111, it performs the functions defined in the methods of this disclosure.

[0139] In an exemplary embodiment, a storage medium including instructions is also provided, such as a memory including instructions, which can be executed by the processor 111 of the electronic device 1000 to perform the above-described method. Optionally, the storage medium may be a non-transitory computer-readable storage medium, such as a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device.

[0140] In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can transmit, propagate, or transfer a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wireline, optical fiber, RF, etc., or any suitable combination thereof.

[0141] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.

[0142] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.

Claims

1. A method for verifying the security of program files, characterized in that, The method includes: Obtain the measurement value of the program file to be verified and the measurement value of the first program file in the virtualization product of the terminal, wherein the first program file is the file that the program file to be verified depends on in the virtualization product; The measurement value of the program file to be verified and the measurement value of the first program file are concatenated to obtain the first concatenated measurement value; The first splicing metric value is matched with the grouping metric benchmark value corresponding to each of the multiple program file groups of the virtualization product to obtain a first matching result. The multiple program file groups are obtained by grouping multiple program files of the virtualization product. For any first target program file in the program file group, the program file group includes: a second target program file that depends on the first target program file, and / or a third target program file that the first target program file depends on. Based on the first matching result, determine whether the program file to be verified passes the security verification.

2. The method as described in claim 1, characterized in that, The method further includes: Obtain the second program file that the virtualization product has already run in the memory of the terminal; If there is a dependency between the second program file and the program file to be verified, the metric value of the program file to be verified and the metric value of the second program file are concatenated according to the dependency to obtain a second concatenated metric value. The second splicing metric value is matched with the grouping metric benchmark value corresponding to each of the multiple program file groups of the virtualization product to obtain the second matching result; Wherein, determining whether the program file to be verified passes the security verification based on the first matching result includes: Based on the first matching result and the second matching result, determine whether the program file to be verified passes the security verification.

3. The method as described in claim 2, characterized in that, The step of determining whether the program file to be verified passes the security verification based on the first matching result and the second matching result includes: If the first matching result indicates that the first splicing metric value matches one of the plurality of grouping metric benchmark values, and the second matching result indicates that the second splicing metric value matches one of the plurality of grouping metric benchmark values, then the program file to be verified is determined to have passed the security verification.

4. The method as described in claim 3, characterized in that, The step of determining whether the program file to be verified passes the security verification based on the first matching result and the second matching result further includes: If the first matching result indicates that the first splicing metric value does not match any of the plurality of grouping metric benchmark values, and / or the second matching result indicates that the second splicing metric value does not match any of the plurality of grouping metric benchmark values, then it is determined that the program file to be verified has failed the security verification.

5. The method according to any one of claims 1-4, characterized in that, Before obtaining the verification program file of the virtualization product in the terminal and the first program file on which the verification program file depends in the virtualization product, the method further includes: Determine the dependency graph of the plurality of program files, wherein the dependency graph uses the program files as nodes and the dependencies between the program files as the connection relationships between the nodes; Based on the dependency graph, the multiple program files are grouped to obtain the multiple program file groups; For each program file group, a group metric benchmark value is determined based on the metric benchmark values ​​of each program file in the program file group.

6. The method as described in claim 5, characterized in that, Determining the dependency graph of the multiple program files includes: Obtain screenshots of the multiple program files, including program file information; The screenshot of the program file is input into a pre-trained dependency graph model to obtain the dependency graph through the dependency graph model.

7. The method as described in claim 6, characterized in that, The large dependency graph model includes a relationship determination layer and a relationship graph generation layer. The step of inputting the screenshot of the program file into the pre-trained large dependency graph model to obtain the dependency graph through the large dependency graph model includes: In the relationship determination layer, the screenshots of the program files are analyzed to determine the dependencies between the multiple program files; In the relationship graph generation layer, the dependency graph of the multiple program files is generated based on the dependency relationships between the multiple program files.

8. The method as described in claim 5, characterized in that, The step of grouping the multiple program files according to the dependency graph to obtain the multiple program file groups includes: For each leaf node in the dependency graph, determine at least one path corresponding to the leaf node, wherein the path is formed by traversing all parent nodes of the leaf node upwards from the leaf node to the root node. A group of program files for the virtualization product is formed based on the program files corresponding to each node on the path.

9. The method as described in claim 5, characterized in that, The step of determining the grouping metric value of the program file group based on the metric values ​​of each program file in the program file group includes: Determine the metric baseline value for each program file in the program file group; The measurement benchmark values ​​of each program file in the program file group are concatenated to obtain the group measurement benchmark value corresponding to the program file group.

10. The method as described in claim 9, characterized in that, The program files in the program file group are sorted as follows: for any two adjacent program files in the program file group, the first target program file in the two adjacent program files is positioned before the second target program file in the program file group, wherein the second target program file depends on the first target program file; The step of concatenating the metric benchmark values ​​of each program file in the program file group to obtain the group metric benchmark value corresponding to the program file group includes: Based on the arrangement order of the program files in the program file group, the metric benchmark values ​​of the program files in the program file group are sequentially concatenated to obtain the group metric benchmark value corresponding to the program file group.

11. A program file security verification device, characterized in that, The device includes: The acquisition module is used to acquire the measurement value of the program file to be verified and the measurement value of the first program file of the virtualization product in the terminal, wherein the first program file is the file that the program file to be verified depends on in the virtualization product; The splicing module is used to splice the measurement value of the program file to be verified and the measurement value of the first program file to obtain a first spliced ​​measurement value; The matching module is used to match the first concatenated metric value with the group metric benchmark value corresponding to each of the multiple program file groups of the virtualization product to obtain a first matching result. The multiple program file groups are obtained by grouping multiple program files of the virtualization product. For any first target program file in the program file group, the program file group includes: a second target program file that depends on the first target program file, and / or a third target program file that the first target program file depends on. The determination module is used to determine whether the program file to be verified passes the security verification based on the first matching result.

12. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1-10.

13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-10.

14. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of any one of claims 1-10.