Virtual environment security trust checking method, device, equipment, medium and product
By reading the SMBIOS data table generated according to the application inspection protocol in the virtual machine for trust verification, the problem of the verification protocol and the generation rules is solved, and the trust inspection reliability of the virtual environment is improved.
Patent Information
- Application Number
- CN202510473275.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-15
- Publication Date
- 2025-08-19
AI Technical Summary
Due to the diversity of verification protocols, the trust check reliability of the virtual environment is not high, and the verification protocol does not match the generation rules.
By creating a virtual machine, running the virtual machine and reading the System Management Basic Input and Output System Identification Data Table (SMBIOS), which is pre-generated based on the check protocol of the application currently performing the trust check and is sent to the application for trust verification.
Improve the reliability of trust checking, ensure the authenticity and legality of the hardware information of the virtual machine, and prevent the virtual machine from being tampered with and cloned.
Smart Images

Figure CN120509036A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computers, and in particular to a method, apparatus, device, medium, and product for checking security trust in a virtual environment. Background Art
[0002] With the rapid development of information technology, virtualization technology is playing an increasingly important role, revolutionizing the entire ecosystem. Virtualization enables efficient sharing of various hardware resources, including central processing units, memory, graphics processing units, and input and output devices. Virtualized environments typically store large amounts of data, making data security paramount.
[0003] Currently, verification information for virtual environments is generated by virtual machines according to preset generation rules; however, due to the diversity of verification protocols, the verification protocols do not match the generation rules, resulting in low reliability of trust checks. Summary of the Invention
[0004] The embodiments of the present application provide a method, apparatus, device, medium, and product for checking the security trust of a virtual environment, so as to improve the reliability of the trust check.
[0005] In a first aspect, an embodiment of the present application provides a method for virtual environment security trust checking, characterized in that it includes: creating a virtual machine; running the virtual machine and reading a system management basic input and output system identification data table; wherein the system management basic input and output system identification data table is pre-generated according to the inspection protocol corresponding to the application currently performing the trust check; sending the system management basic input and output system identification data table to the application so that the application performs a trust check according to the system management basic input and output system identification data table.
[0006] In one possible implementation, before running the virtual machine and reading the system management basic input / output system identification data table, the method further includes: obtaining a check protocol corresponding to the application currently performing the trust check; obtaining check information required for the trust check according to the check protocol, and generating a system management basic input / output system identification data table of the virtual machine based on the information, and storing the system management basic input / output system identification data table in a memory area of the system management basic input / output system identification data table; wherein the system management basic input / output system identification data table includes but is not limited to the following fields: manufacturer, serial number, and product name.
[0007] In one possible implementation, creating a virtual machine's running memory; dividing the virtual machine's running memory to obtain a memory area of a system management basic input / output system identification data table; and reading the system management basic input / output system identification data table specifically include: reading the system management basic input / output system identification data table from the memory area of the system management basic input / output system identification data table.
[0008] In a possible implementation, reading the system management basic input / output system identification data table from the memory area of the system management basic input / output system identification data table specifically includes: calling the virtual peripheral interconnection of the virtual machine, and obtaining the system management basic input / output system identification data table by accessing the memory area of the system management basic input / output system identification data table.
[0009] In one possible implementation, a trust check is performed based on a system management basic input / output system identification data table, specifically including: if each item in the system management basic input / output system identification data table fully complies with a preset trust rule, determining that the virtual machine is a trusted device environment; if any item in the system management basic input / output system identification data table does not comply with a preset trust rule, determining that the virtual machine is an untrusted device environment.
[0010] In one possible implementation, if the manufacturer in the system management basic input / output system identification data table is on the trusted whitelist, the serial number complies with the preset format requirements and is unique, and the product name matches the type of virtual machine supported for operation, then it is determined that each item in the system management basic input / output system identification data table fully complies with the preset trust rules; wherein the trusted whitelist represents a list of manufacturers allowed to run in the virtual machine environment.
[0011] In one possible implementation, if the system management basic input / output system identification data table fully complies with the preset trust rules, the integrity and consistency of the system management basic input / output system identification data table are verified; if the integrity and consistency verification of the system management basic input / output system identification data table passes, the virtual machine is determined to be a trusted device environment; if the integrity and consistency verification of the system management basic input / output system identification data table fails, the virtual machine is determined to be an untrusted device environment.
[0012] In a possible implementation, if the virtual machine is a trusted device environment, the application is run; if the virtual machine is an untrusted device environment, the application is refused to run and the virtual machine is stopped.
[0013] In a second aspect, an embodiment of the present application provides a device for virtual environment security trust checking, characterized in that it includes: an acquisition module for creating a virtual machine; running the virtual machine and reading the system management basic input and output system identification data table; wherein the system management basic input and output system identification data table is pre-generated according to the inspection protocol corresponding to the application currently performing the trust check; a processing module for sending the system management basic input and output system identification data table to the application, so that the application performs a trust check based on the system management basic input and output system identification data table.
[0014] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a memory, a processor;
[0015] Memory stores computer-executable instructions;
[0016] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the above first aspect and / or various possible implementations of the first aspect.
[0017] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the first aspect above and / or various possible implementation methods of the first aspect.
[0018] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the above first aspect and / or various possible implementation methods of the first aspect.
[0019] The embodiments of the present application provide a method, apparatus, device, medium, and product for virtual environment security trust checking, which comprises creating a virtual machine; running the virtual machine and reading a system management basic input / output system identification data table; wherein the system management basic input / output system identification data table is pre-generated according to a check protocol corresponding to an application currently performing a trust check; and sending the system management basic input / output system identification data table to the application so that the application performs a trust check according to the system management basic input / output system identification data table. By directly reading the system management basic input / output system identification data table pre-generated according to a check protocol corresponding to an application currently performing a trust check by the virtual machine, the problem of mismatch between the verification protocol and the generation rule is solved, thereby improving the reliability of the trust check. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0021] Figure 1A flow chart of a method for checking virtual environment security trust provided by this application Figure 1 ;
[0022] Figure 2 This is an overall architecture diagram of a virtualized vehicle system;
[0023] Figure 3 A system architecture diagram for trust verification on a gaming platform;
[0024] Figure 4 This is a partial diagram of virtual machine memory distribution;
[0025] Figure 5 A flow chart of a method for checking virtual environment security trust provided by this application Figure 2 ;
[0026] Figure 6 A flow chart of a method for checking virtual environment security trust provided by this application Figure 3 ;
[0027] Figure 7 A schematic diagram of the structure of a device for checking virtual environment security trust provided by this application;
[0028] Figure 8 This is a schematic diagram of the structure of the electronic device provided in this application.
[0029] The above drawings illustrate specific embodiments of the present application, which will be described in more detail below. These drawings and the textual description are not intended to limit the scope of the present application in any way, but rather to illustrate the concepts of the present application to those skilled in the art by reference to specific embodiments. DETAILED DESCRIPTION
[0030] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
[0031] With the rapid development of information technology, virtualization technology is playing an increasingly important role, revolutionizing the entire ecosystem. Virtualization enables efficient sharing of various hardware resources, including central processing units, memory, graphics processing units, and input and output devices. Virtualized environments typically store large amounts of data, making data security paramount.
[0032] Currently, verification information for virtual environments is generated by virtual machines according to preset generation rules; however, due to the diversity of verification protocols, the verification protocols do not match the generation rules, resulting in low reliability of trust checks.
[0033] The present application provides a method for checking the security trust of a virtual environment, comprising the steps of creating a virtual machine; running the virtual machine and reading a system management basic input / output system identification data table; wherein the system management basic input / output system identification data table is pre-generated according to a check protocol corresponding to an application currently performing a trust check; and sending the system management basic input / output system identification data table to the application so that the application performs a trust check according to the system management basic input / output system identification data table. By directly reading the system management basic input / output system identification data table pre-generated according to a check protocol corresponding to an application currently performing a trust check by the virtual machine, the problem of mismatch between the verification protocol and the generation rule is resolved, thereby improving the reliability of the trust check.
[0034] The following specific embodiments describe in detail the technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0035] Example 1
[0036] Figure 1 A flow chart of a method for checking virtual environment security trust provided by this application Figure 1 ,like Figure 1 As shown, the method includes:
[0037] S101, creating a virtual machine; running the virtual machine and reading the system management basic input and output system identification data table; wherein the system management basic input and output system identification data table is pre-generated according to the check protocol corresponding to the application currently performing the trust check;
[0038] S102: Sending a system management basic input / output system identification data table to the application program, so that the application program performs a trust check according to the system management basic input / output system identification data table.
[0039] The System Management BIOS (SMBIOS) is a data structure specification used to provide system hardware configuration information to the operating system and management software. Pre-generating the SMBIOS identification data table based on the inspection protocol ensures that the information in the SMBIOS identification data table is authentic hardware information.
[0040] Currently, applications identify the presence of a virtualized environment by checking the uniqueness of the hardware environment and system identifiers. Specifically, security trust mechanism issues in virtual machine environments are primarily caused by hardware identifier consistency issues, virtualized environment identification, and non-unique serial numbers and product names. Virtualized environment identification refers to applications identifying a virtualized environment by checking specific patterns in hardware information, such as identifying whether the manufacturer field contains virtualization-related flags such as "QEMU" or "VMware."
[0041] In addition, the method for checking the security trust of the virtualized environment is applied to the virtualized vehicle system; Figure 2 This is an overall architecture diagram of a virtualized vehicle system, such as Figure 2 As shown in the figure, the virtualized vehicle system mainly includes remote debugging, network data transmission, and 5G network connection. Specifically, it involves the following main components: remote computer, primary virtual machine (PVM), virtualized operating system, hypervisor, device manager (DM), network transmission module, and DGPU discrete graphics card.
[0042] The remote computer includes debugging tools and a network interface card (NIC).
[0043] The main virtual machine includes a universal serial bus network interface card (USBNIC, referred to as USB network card), a virtual network bridge (Virbr0), and a virtual Ethernet (Virtual Ethernet, referred to as VETH).
[0044] The virtualization resources and management functions provided by the hypervisor include the virtual central processing unit (VCPU), input-output memory management unit (IOMMU), timer, interrupt management unit and other management units.
[0045] The device manager obtains input / output requests (IOREQs) from the shared page and calls the virtual Ethernet device back-end driver to process the requests. The back-end driver receives the data in the shared virtual queue and sends it to the virtual network device.
[0046] The network transmission module includes a switch and physical layer chip, an Ethernet gateway, and a 5G transmitter module. The switch and physical layer chip communicate via the Serial Gigabit Media Independent Interface (SGMII), ensuring efficient data transmission. The Ethernet gateway forwards data packets and performs network address translation, enabling communication between the intranet and the intranet. The 5G transmitter module connects to the internet via the 5G network, enabling high-speed wireless communication and data transmission.
[0047] In addition, applications that undergo trust verification include but are not limited to gaming platforms, music platforms, etc. Figure 3 This is a system architecture diagram for trust verification of a gaming platform, such as Figure 3 As shown, the passthrough module is used to directly expose some hardware devices to the virtual machine, such as the Graphics Processing Unit (GPU) hardware passthrough input-output memory management unit (IOMMU) to optimize performance and improve virtual machine access performance. The middle layer module is used to coordinate interrupt requests between the virtual machine and the virtualized environment. The interrupt request line includes the communication interrupt request (IRQ) and the hardware local interconnect network (LIN). Specifically, in the Microsoft operating system, when the 3D gaming platform needs to be verified as a music platform, it is changed to the music platform.
[0048] This virtualized vehicle system performs virtual environment security verification, involving the device manager and open virtual firmware. In practice, the device manager is called to create a virtual machine, and the open virtual firmware is called to initialize the virtual machine at startup. The virtual machine runs and reads the System Management BIOS Identification Data Table. The System Management BIOS Identification Data Table is then sent to the application for verification against it. By directly reading the System Management BIOS Identification Data Table, pre-generated according to the check protocol for the application currently performing the trust check, the virtual machine resolves the mismatch between the verification protocol and the generated rules, improving the reliability of the trust check.
[0049] In some examples, before running the virtual machine and reading the system management basic input and output system identification data table, the method further includes:
[0050] Get the check protocol corresponding to the application currently performing the trust check;
[0051] According to the inspection protocol, inspection information required for the trust inspection is obtained, and based on the information, a system management basic input and output system identification data table of the virtual machine is generated, and the system management basic input and output system identification data table is stored in a memory area of the system management basic input and output system identification data table; wherein the system management basic input and output system identification data table includes but is not limited to the following fields: manufacturer, serial number, and product name.
[0052] In a virtualized environment, the manufacturer (manufacturer string), serial number (serial number string), and product name (product name string) are three key identifiers used by the system to manage basic input and output systems. Custom identifiers can also be added for verification purposes. Specifically, the manufacturer identifier represents the manufacturer information of the virtual platform, such as "QEMU," "VMware," or a custom string such as "TrustedVM." This identifier is used to confirm whether the virtual machine's operating environment comes from a trusted manufacturer. Applications verify the manufacturer information against a whitelist. For example, applications are only allowed to run in a "TrustedVM" environment. The serial number identifier uniquely identifies the virtual hardware, similar to the serial number of a physical device. Applications verify the uniqueness of the serial number to prevent virtual machines from being copied or counterfeited. The product name identifier represents the product name of the virtual machine.
[0053] Combined with the previous example, the system management basic input and output system identification data table is pre-generated based on the inspection protocol corresponding to the application currently performing the trust check; specifically, first obtain the inspection protocol corresponding to the application currently performing the trust check; according to the inspection protocol, obtain the inspection information required for the trust check, and generate the virtual machine's system management basic input and output system identification data table based on the information, and store the system management basic input and output system identification data table in the memory area of the system management basic input and output system identification data table. When performing a security trust check, create a virtual machine, run the virtual machine and read the system management basic input and output system identification data table; wherein, the read system management basic input and output system identification data table is read from the memory area of the system management basic input and output system identification data table. According to this example, the system management basic input and output system identification data table is pre-generated based on the inspection protocol corresponding to the application currently performing the trust check.
[0054] In actual application, the device manager is called to generate the system management basic input and output system identification data table of the virtual machine and stored in the memory area of the system management basic input and output system identification data table; the system management basic input and output system identification data table is generated by obtaining the inspection protocol to ensure the accuracy of the manufacturer information, product name and the uniqueness of the serial number.
[0055] In addition, before running the virtual machine and reading the system management basic input and output system identification data table, the Advanced Configuration and Power Interface (ACPI) table is also created. Specifically, the ACPI table is an important data structure used by the virtual machine operating system to manage hardware resources; it provides a standard interface for interacting with virtual hardware, such as power management and hardware status reporting.
[0056] In some examples, creating a virtual machine's runtime memory;
[0057] Divide the running memory of the virtual machine to obtain the memory area of the system management basic input and output system identification data table;
[0058] Read the system management basic input and output system identification data table, including:
[0059] The system management basic input / output system identification data table is read from the memory area of the system management basic input / output system identification data table.
[0060] When creating the virtual machine running memory, memory is divided to divide the memory area for storing the system management basic input and output system identification data table; Figure 4 This is a partial diagram of the virtual machine memory distribution; Figure 4 As shown, when memory is low, the physical memory of the user virtual machine will reserve the memory addresses required for system management basic input and output systems, peripheral interconnection, etc.; when checking protocol changes, the device manager can be called to store the updated system management basic input and output system identification data table in the memory area. In this way, it can be applied to multiple virtualization platforms (such as QEMU, VMware, Hyper-V), and can be implemented in scenarios such as high-performance gaming cockpits and simulation test platforms.
[0061] In some examples, reading the system management basic input and output system identification data table from the memory area of the system management basic input and output system identification data table specifically includes:
[0062] The virtual peripheral interconnection of the virtual machine is called, and the system management basic input and output system identification data table is obtained by accessing the memory area of the system management basic input and output system identification data table.
[0063] Among them, Peripheral Component Interconnect (PCI) is an important interface for interaction between virtual machines and hardware devices. It is used to simulate hardware devices such as graphics cards and network cards in the virtual machine; creating a virtual peripheral interconnect and initializing it, which includes creating a virtual peripheral interconnect bus and allocating resources required for the virtual peripheral interconnect device; by creating a virtual peripheral interconnect and initializing it, it is ensured that the virtual machine can correctly identify and use the virtual hardware when it starts.
[0064] In a virtual machine environment, virtual peripheral interconnect (VPI) access to the system management BIOS identification data table enables isolation between virtual machines. Each virtual machine can only access its own VPI device and the corresponding system management BIOS identification data table, preventing direct access to information from other virtual machines, thus enhancing system security. VPI also provides a layer of abstraction, preventing malware in the virtual machine from directly attacking the underlying physical hardware's system management BIOS, reducing security risks.
[0065] In some examples, trust verification is performed based on the system management basic input and output system identification data table, specifically including:
[0066] If all items in the system management basic input and output system identification data table fully comply with the preset trust rules, the virtual machine is determined to be a trusted device environment;
[0067] If any item in the system management basic input and output system identification data table does not comply with the preset trust rule, the virtual machine is determined to be an untrusted device environment.
[0068] Among them, the preset trust rules refer to whether the manufacturer is in the trusted whitelist, whether the serial number meets the preset format requirements and is unique, and whether the product name matches the type of virtual machine supported.
[0069] For example, after verification, if the manufacturer is in the trusted whitelist, the serial number meets the preset format requirements and is unique, and the product name does not match the type of virtual machine that can be supported, the virtual machine is determined to be an untrusted device environment.
[0070] By verifying the system management basic input and output system identification data table, the authenticity and legality of the hardware can be guaranteed.
[0071] In some examples, if the manufacturer in the system management basic input and output system identification data table is on the trusted whitelist, the serial number meets the preset format requirements and is unique, and the product name matches the type of virtual machine supported, then it is determined that each item in the system management basic input and output system identification data table fully complies with the preset trust rules; wherein the trusted whitelist represents a list of manufacturers allowed to run in the virtual machine environment.
[0072] In actual applications, for example, in a verification success scenario, the system management basic input and output system identification data table stored in the memory area of the system management basic input and output system identification data table is as follows:
[0073] manufacturer string: set to "TrustedVM"
[0074] Serial number string: Set to a unique identifier (such as "SN123456789")
[0075] product name string: Set to the virtual machine type that supports games (such as "GamingVM")
[0076] The system management basic input and output system identification data table obtained by reading is:
[0077] Manufacturer : TrustedVM
[0078] SerialNumber: SN123456789
[0079] ProductName: GamingVM
[0080] After verification, the verification results are:
[0081] Manufacturer Match: "TrustedVM" is in the whitelist.
[0082] The serial number must be valid: unique and conform to the preset format requirements.
[0083] Product name matches: "GamingVM" belongs to the supported virtual machine types.
[0084] In the case of verification failure, the system management basic input and output system identification data table stored in the memory area of the system management basic input and output system identification data table is modified as follows:
[0085] Manufacturer: QEMUVM
[0086] SerialNumber: SN000000000
[0087] ProductName : VM
[0088] After verification, the verification result is:
[0089] Manufacturer mismatch: TrustedVM is not whitelisted.
[0090] Invalid serial number: does not meet the preset format requirements.
[0091] Product name does not match: does not contain "TestVM".
[0092] Manufacturer verification ensures that the virtual machine operating environment has not been tampered with, verifies the uniqueness of the serial number to prevent virtual machine cloning from bypassing verification, and verifies the product name to prevent unsupported virtual machine types from running.
[0093] In some examples, Figure 5 A flow chart of a method for checking virtual environment security trust provided by this application Figure 2 ,like Figure 5 Shown, including:
[0094] S501, if the system management basic input and output system identification data table fully complies with the preset trust rules, verify the integrity and consistency of the system management basic input and output system identification data table;
[0095] S502, if the integrity and consistency verification of the system management basic input and output system identification data table passes, then the virtual machine is determined to be a trusted device environment;
[0096] S503: If the integrity and consistency verification of the system management basic input and output system identification data table fails, the virtual machine is determined to be an untrusted device environment.
[0097] Among them, verification of the consistency and integrity of the system management basic input and output system identification data table refers to verifying the field integrity in the system management basic input and output system identification data table and the consistency of the system management basic input and output system identification data; by verifying the consistency and integrity of the system management basic input and output system identification data table, hardware information errors can be avoided and data damage or loss can be prevented.
[0098] In some examples, if the virtual machine is a trusted device environment, running the application;
[0099] If the virtual machine is an untrusted device environment, the application is refused to run and the virtual machine is stopped.
[0100] In an untrusted virtual machine environment, data integrity may be compromised. For example, programs within the virtual machine could be tampered with, causing data to be incorrectly modified or deleted. Stopping the virtual machine ensures that data is protected in its current state, preventing further data corruption.
[0101] In practical applications, Figure 6 A flow chart of a method for checking virtual environment security trust provided by this application Figure 3 ,like Figure 6 As shown, the device manager is started; the device manager is called to create a virtual machine; the preparation before starting the virtual machine includes: dividing the running memory of the virtual machine, dividing the memory area of the system management basic input and output system identification data table, creating a virtual peripheral interconnection and initializing it, building an advanced configuration and power management interface table, generating a system management basic input and output system identification data table and storing it in the memory area; calling the open virtual firmware to initialize the virtual machine to read the advanced configuration and power management interface table to obtain the virtual machine startup information and run the virtual machine; reading the system management basic input and output system identification data table for verification; if the system management basic input and output system identification data table fully complies with the preset trust rules, then verify the consistency and integrity. If the consistency and integrity verification passes, the virtual machine is a trusted device environment; if the consistency and integrity verification fails, the virtual machine is an untrusted device environment; if any item in the system management basic input and output system identification data table does not comply with the preset trust rules, the virtual machine is an untrusted device environment; the verification is completed, and the application is run or refused to run according to the verification result.
[0102] An embodiment of the present application provides a method for checking the security trust of a virtual environment, comprising: creating a virtual machine; running the virtual machine and reading a system management basic input / output system identification data table; wherein the system management basic input / output system identification data table is pre-generated according to a check protocol corresponding to an application currently performing a trust check; and sending the system management basic input / output system identification data table to the application so that the application performs a trust check according to the system management basic input / output system identification data table. By directly reading the system management basic input / output system identification data table pre-generated according to a check protocol corresponding to the application currently performing a trust check by the virtual machine, the problem of mismatch between the verification protocol and the generation rule is resolved, thereby improving the reliability of the trust check.
[0103] Example 2
[0104] Figure 7 A schematic diagram of the structure of a device for checking virtual environment security trust provided by this application, such as Figure 7 Shown, including:
[0105] The acquisition module 11 is used to create a virtual machine; run the virtual machine and read the system management basic input and output system identification data table; wherein the system management basic input and output system identification data table is pre-generated according to the check protocol corresponding to the application currently performing the trust check;
[0106] The processing module 12 is configured to send the system management basic input and output system identification data table to the application program, so that the application program performs a trust check according to the system management basic input and output system identification data table.
[0107] The System Management BIOS (SMBIOS) is a data structure specification used to provide system hardware configuration information to the operating system and management software. Pre-generating the SMBIOS identification data table based on the inspection protocol ensures that the information in the SMBIOS identification data table is authentic hardware information.
[0108] Currently, applications identify the presence of a virtualized environment by checking the uniqueness of the hardware environment and system identifiers. Specifically, security trust mechanism issues in virtual machine environments are primarily caused by hardware identifier consistency issues, virtualized environment identification, and non-unique serial numbers and product names. Virtualized environment identification refers to applications identifying a virtualized environment by checking specific patterns in hardware information, such as identifying whether the manufacturer field contains virtualization-related flags such as "QEMU" or "VMware."
[0109] Furthermore, the virtualized environment security trust check method is applied to a virtualized vehicle computer system, which primarily implements remote debugging, network data transmission, and 5G network connectivity. Specifically, it involves the following key components: a remote computer, a Primary Virtual Machine (PVM), a virtualized operating system, a hypervisor, a Device Module (DM), a network transmission module, and a discrete GPU (GPU).
[0110] The remote computer includes debugging tools and a network interface card (NIC).
[0111] The main virtual machine includes a universal serial bus network interface card (USBNIC, referred to as USB network card), a virtual network bridge (Virbr0), and a virtual Ethernet (Virtual Ethernet, referred to as VETH).
[0112] The virtualization resources and management functions provided by the hypervisor include the virtual central processing unit (VCPU), input-output memory management unit (IOMMU), timer, interrupt management unit and other management units.
[0113] The device manager obtains input / output requests (IOREQs) from the shared page and calls the virtual Ethernet device back-end driver to process the requests. The back-end driver receives the data in the shared virtual queue and sends it to the virtual network device.
[0114] The network transmission module includes a switch and physical layer chip, an Ethernet gateway, and a 5G transmitter module. The switch and physical layer chip communicate via the Serial Gigabit Media Independent Interface (SGMII), ensuring efficient data transmission. The Ethernet gateway forwards data packets and performs network address translation, enabling communication between the intranet and the intranet. The 5G transmitter module connects to the internet via the 5G network, enabling high-speed wireless communication and data transmission.
[0115] In addition, applications undergoing trust verification include, but are not limited to, gaming platforms and music platforms. The pass-through module is used to directly expose some hardware devices to the virtual machine, such as the Graphics Processing Unit (GPU) hardware pass-through Input-Output Memory Management Unit (IOMMU) to optimize performance and improve virtual machine access performance. The middle-layer module coordinates interrupt requests between the virtual machine and the virtualized environment. The interrupt request circuit includes the communication interrupt request (IRQ) and the hardware local interconnect network (LIN). Specifically, in the Microsoft operating system, when the 3D gaming platform needs to be verified as a music platform, it is changed to the music platform.
[0116] This virtualized vehicle system performs virtual environment security verification, involving the device manager and open virtual firmware. In practice, the device manager is called to create a virtual machine, and the open virtual firmware is called to initialize the virtual machine at startup. The virtual machine runs and reads the System Management BIOS Identification Data Table. The System Management BIOS Identification Data Table is then sent to the application for verification against it. By directly reading the System Management BIOS Identification Data Table, pre-generated according to the check protocol for the application currently performing the trust check, the virtual machine resolves the mismatch between the verification protocol and the generated rules, improving the reliability of the trust check.
[0117] In some examples, before running the virtual machine and reading the system management basic input and output system identification data table, the acquisition module 11 is further configured to:
[0118] Get the check protocol corresponding to the application currently performing the trust check;
[0119] According to the inspection protocol, inspection information required for the trust inspection is obtained, and based on the information, a system management basic input and output system identification data table of the virtual machine is generated, and the system management basic input and output system identification data table is stored in a memory area of the system management basic input and output system identification data table; wherein the system management basic input and output system identification data table includes but is not limited to the following fields: manufacturer, serial number, and product name.
[0120] In a virtualized environment, the manufacturer (manufacturer string), serial number (serial number string), and product name (product name string) are three key identifiers used by the system to manage basic input and output systems. Custom identifiers can also be added for verification purposes. Specifically, the manufacturer identifier represents the manufacturer information of the virtual platform, such as "QEMU," "VMware," or a custom string such as "TrustedVM." This identifier is used to confirm whether the virtual machine's operating environment comes from a trusted manufacturer. Applications verify the manufacturer information against a whitelist. For example, applications are only allowed to run in a "TrustedVM" environment. The serial number identifier uniquely identifies the virtual hardware, similar to the serial number of a physical device. Applications verify the uniqueness of the serial number to prevent virtual machines from being copied or counterfeited. The product name identifier represents the product name of the virtual machine.
[0121] Combined with the previous example, the system management basic input and output system identification data table is pre-generated based on the inspection protocol corresponding to the application currently performing the trust check; specifically, first obtain the inspection protocol corresponding to the application currently performing the trust check; according to the inspection protocol, obtain the inspection information required for the trust check, and generate the virtual machine's system management basic input and output system identification data table based on the information, and store the system management basic input and output system identification data table in the memory area of the system management basic input and output system identification data table. When performing a security trust check, create a virtual machine, run the virtual machine and read the system management basic input and output system identification data table; wherein, the read system management basic input and output system identification data table is read from the memory area of the system management basic input and output system identification data table. According to this example, the system management basic input and output system identification data table is pre-generated based on the inspection protocol corresponding to the application currently performing the trust check.
[0122] In actual application, the device manager is called to generate the system management basic input and output system identification data table of the virtual machine and stored in the memory area of the system management basic input and output system identification data table; the system management basic input and output system identification data table is generated by obtaining the inspection protocol to ensure the accuracy of the manufacturer information, product name and the uniqueness of the serial number.
[0123] In addition, before running the virtual machine and reading the system management basic input and output system identification data table, the Advanced Configuration and Power Interface (ACPI) table is also created. Specifically, the ACPI table is an important data structure used by the virtual machine operating system to manage hardware resources; it provides a standard interface for interacting with virtual hardware, such as power management and hardware status reporting.
[0124] In some examples, the acquisition module 11 is further used to: create a running memory of the virtual machine;
[0125] Divide the running memory of the virtual machine to obtain the memory area of the system management basic input and output system identification data table;
[0126] Read the system management basic input and output system identification data table, including:
[0127] The system management basic input / output system identification data table is read from the memory area of the system management basic input / output system identification data table.
[0128] When creating the virtual machine running memory, memory division is performed to divide the memory area for storing the system management basic input and output system identification data table; when the memory is low, the physical memory of the user virtual machine will reserve the memory addresses required for the system management basic input and output system, peripheral interconnection, etc.; when checking the protocol changes, the device manager can be called to store the updated system management basic input and output system identification data table in the memory area. In this way, it can be applied to multiple virtualization platforms (such as QEMU, VMware, Hyper-V), and can be implemented in scenarios such as high-performance gaming cockpits and simulation test platforms.
[0129] In some examples, the system management basic input and output system identification data table is read from the memory area of the system management basic input and output system identification data table, and the acquisition module 11 is further used to:
[0130] The virtual peripheral interconnection of the virtual machine is called, and the system management basic input and output system identification data table is obtained by accessing the memory area of the system management basic input and output system identification data table.
[0131] Among them, Peripheral Component Interconnect (PCI) is an important interface for interaction between virtual machines and hardware devices. It is used to simulate hardware devices such as graphics cards and network cards in the virtual machine; creating a virtual peripheral interconnect and initializing it, which includes creating a virtual peripheral interconnect bus and allocating resources required for the virtual peripheral interconnect device; by creating a virtual peripheral interconnect and initializing it, it is ensured that the virtual machine can correctly identify and use the virtual hardware when it starts.
[0132] In a virtual machine environment, virtual peripheral interconnect (VPI) access to the system management BIOS identification data table enables isolation between virtual machines. Each virtual machine can only access its own VPI device and the corresponding system management BIOS identification data table, preventing direct access to information from other virtual machines, thus enhancing system security. VPI also provides a layer of abstraction, preventing malware in the virtual machine from directly attacking the underlying physical hardware's system management BIOS, reducing security risks.
[0133] In some examples, the trust check is performed according to the system management basic input and output system identification data table, and the processing module 12 is further configured to:
[0134] If all items in the system management basic input and output system identification data table fully comply with the preset trust rules, the virtual machine is determined to be a trusted device environment;
[0135] If any item in the system management basic input and output system identification data table does not comply with the preset trust rule, the virtual machine is determined to be an untrusted device environment.
[0136] Among them, the preset trust rules refer to whether the manufacturer is in the trusted whitelist, whether the serial number meets the preset format requirements and is unique, and whether the product name matches the type of virtual machine supported.
[0137] For example, after verification, if the manufacturer is in the trusted whitelist, the serial number meets the preset format requirements and is unique, and the product name does not match the type of virtual machine that can be supported, the virtual machine is determined to be an untrusted device environment.
[0138] By verifying the system management basic input and output system identification data table, the authenticity and legality of the hardware can be guaranteed.
[0139] In some examples, the processing module 12 is also used to: if the manufacturer in the system management basic input and output system identification data table is in the trusted whitelist, the serial number meets the preset format requirements and is unique, and the product name matches the type of virtual machine supported for operation, then it is determined that each item in the system management basic input and output system identification data table fully complies with the preset trust rules; wherein the trusted whitelist represents a list of manufacturers allowed to run in the virtual machine environment.
[0140] In actual applications, for example, in a verification success scenario, the system management basic input and output system identification data table stored in the memory area of the system management basic input and output system identification data table is as follows:
[0141] manufacturer string: set to "TrustedVM"
[0142] Serial number string: Set to a unique identifier (such as "SN123456789")
[0143] product name string: Set to the virtual machine type that supports games (such as "GamingVM")
[0144] The system management basic input and output system identification data table obtained by reading is:
[0145] Manufacturer : TrustedVM
[0146] SerialNumber: SN123456789
[0147] ProductName: GamingVM
[0148] After verification, the verification results are:
[0149] Manufacturer Match: "TrustedVM" is in the whitelist.
[0150] The serial number must be valid: unique and conform to the preset format requirements.
[0151] Product name matches: "GamingVM" belongs to the supported virtual machine types.
[0152] In the case of verification failure, the system management basic input and output system identification data table stored in the memory area of the system management basic input and output system identification data table is modified as follows:
[0153] Manufacturer: QEMUVM
[0154] SerialNumber: SN000000000
[0155] ProductName : VM
[0156] After verification, the verification result is:
[0157] Manufacturer mismatch: TrustedVM is not whitelisted.
[0158] Invalid serial number: does not meet the preset format requirements.
[0159] Product name does not match: does not contain "TestVM".
[0160] Manufacturer verification ensures that the virtual machine operating environment has not been tampered with, verifies the uniqueness of the serial number to prevent virtual machine cloning from bypassing verification, and verifies the product name to prevent unsupported virtual machine types from running.
[0161] In some examples, the processing module 12 is further configured to: verify the integrity and consistency of the system management basic input and output system identification data table if the system management basic input and output system identification data table fully complies with the preset trust rules;
[0162] If the integrity and consistency verification of the system management basic input and output system identification data table passes, the virtual machine is determined to be a trusted device environment;
[0163] If the integrity and consistency verification of the system management basic input and output system identification data table fails, the virtual machine is determined to be an untrusted device environment.
[0164] Among them, verification of the consistency and integrity of the system management basic input and output system identification data table refers to verifying the field integrity in the system management basic input and output system identification data table and the consistency of the system management basic input and output system identification data; by verifying the consistency and integrity of the system management basic input and output system identification data table, hardware information errors can be avoided and data damage or loss can be prevented.
[0165] In some examples, the processing module 12 is further configured to: run the application if the virtual machine is a trusted device environment;
[0166] If the virtual machine is an untrusted device environment, the application is refused to run and the virtual machine is stopped.
[0167] In an untrusted virtual machine environment, data integrity may be compromised. For example, programs within the virtual machine could be tampered with, causing data to be incorrectly modified or deleted. Stopping the virtual machine ensures that data is protected in its current state, preventing further data corruption.
[0168] In actual application, the device manager is started; the device manager is called to create a virtual machine; preparations before starting the virtual machine include: dividing the running memory of the virtual machine, dividing the memory area of the system management basic input and output system identification data table, creating a virtual peripheral interconnection and initializing it, building an advanced configuration and power management interface table, generating a system management basic input and output system identification data table and storing it in the memory area; calling the open virtual firmware to initialize the virtual machine, reading the advanced configuration and power management interface table to obtain the virtual machine startup information and running the virtual machine; reading the system management basic input and output system identification data table for verification; if the system management basic input and output system identification data table fully complies with the preset trust rules, then verifying the consistency and integrity, if the consistency and integrity verification passes, the virtual machine is a trusted device environment; if the consistency and integrity verification fails, the virtual machine is an untrusted device environment; if any item in the system management basic input and output system identification data table does not comply with the preset trust rules, the virtual machine is an untrusted device environment; the verification is completed, and the application is run or refused to run according to the verification result.
[0169] This embodiment provides a device for checking the security trust of a virtual environment, which can execute the method provided in the above method embodiment. Its implementation principle and technical effects are similar, and are not described in detail in this embodiment.
[0170] Figure 8 This is a schematic diagram of the structure of the electronic device provided in this application. Figure 7As shown, the electronic device 80 provided in this embodiment includes: at least one processor 801 and a memory 802. Optionally, the device 80 also includes a communication component 803. The processor 801, the memory 802 and the communication component 803 are connected via a bus 804.
[0171] During the specific implementation process, at least one processor 801 executes the computer-executable instructions stored in the memory 802, so that the at least one processor 801 performs the above method.
[0172] The specific implementation process of the processor 801 can be found in the above method embodiment. Its implementation principle and technical effects are similar and will not be repeated here in this embodiment.
[0173] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASICs), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the present invention may be directly executed by a hardware processor or by a combination of hardware and software modules within the processor.
[0174] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage.
[0175] A bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. Buses can be categorized as address buses, data buses, and control buses. For ease of illustration, the buses in the drawings of this application are not limited to just one bus or just one type of bus.
[0176] The present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.
[0177] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the above method is implemented.
[0178] The readable storage medium may be implemented by any type of volatile or non-volatile memory device, or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium may be any available medium that can be accessed by a general-purpose or special-purpose computer.
[0179] The division of units is merely a logical functional division; actual implementations may employ alternative divisions, such as combining or integrating multiple units or components into another system, or omitting or disabling certain features. Furthermore, any direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between devices or units, either through an interface, electrical, mechanical, or other means.
[0180] Units described as separate components may or may not be physically separate, and components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0181] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0182] Those skilled in the art will appreciate that all or part of the steps in the above-described method embodiments can be implemented using hardware associated with program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0183] Finally, it should be noted that those skilled in the art will readily identify other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses, or adaptations of the present invention that follow the general principles of the present invention and include common knowledge or customary techniques in the art not disclosed herein. The present invention is not limited to the precise structure described above and illustrated in the accompanying drawings, and various modifications and variations may be made without departing from the scope thereof. The scope of the present invention is limited solely by the appended claims.
Claims
1. A method for checking virtual environment security trust, characterized in that: include: Create a virtual machine; Running the virtual machine and reading a system management basic input and output system identification data table; wherein the system management basic input and output system identification data table is pre-generated according to a check protocol corresponding to an application currently performing a trust check; The system management basic input and output system identification data table is sent to an application program, so that the application program performs a trust check according to the system management basic input and output system identification data table.
2. The method according to claim 1, characterized in that Before running the virtual machine and reading the system management basic input and output system identification data table, the method further includes: Get the check protocol corresponding to the application currently performing the trust check; According to the check protocol, check information required for the trust check is obtained, and based on the information, a system management basic input and output system identification data table of the virtual machine is generated, and the system management basic input and output system identification data table is stored in a memory area of the system management basic input and output system identification data table; wherein the system management basic input and output system identification data table includes but is not limited to the following fields: manufacturer, serial number, and product name.
3. The method according to claim 1, characterized in that The method further comprises: Create the virtual machine's running memory; Dividing the running memory of the virtual machine to obtain a memory area of a system management basic input and output system identification data table; The reading system management basic input and output system identification data table specifically includes: The system management basic input and output system identification data table is read from the memory area of the system management basic input and output system identification data table.
4. The method according to claim 3, characterized in that The step of reading the system management basic input / output system identification data table from the memory area of the system management basic input / output system identification data table specifically includes: The virtual peripheral interconnection of the virtual machine is called, and the system management basic input and output system identification data table is obtained by accessing the memory area of the system management basic input and output system identification data table.
5. The method according to claim 1, wherein The trust verification according to the system management basic input and output system identification data table specifically includes: If all items in the system management basic input and output system identification data table fully comply with the preset trust rules, then the virtual machine is determined to be a trusted device environment; If any item in the system management basic input and output system identification data table does not comply with the preset trust rule, the virtual machine is determined to be an untrusted device environment.
6. The method according to claim 5, characterized in that The method further comprises: If the manufacturer in the system management basic input and output system identification data table is on the trusted whitelist, the serial number meets the preset format requirements and is unique, and the product name matches the type of virtual machine supported, then it is determined that each item in the system management basic input and output system identification data table fully complies with the preset trust rules; wherein the trusted whitelist represents a list of manufacturers allowed to run in the virtual machine environment.
7. The method according to claim 6, characterized in that The method further comprises: If the system management basic input and output system identification data table fully complies with the preset trust rules, verifying the integrity and consistency of the system management basic input and output system identification data table; If the integrity and consistency verification of the system management basic input and output system identification data table passes, determining that the virtual machine is a trusted device environment; If the integrity and consistency verification of the system management basic input and output system identification data table fails, the virtual machine is determined to be an untrusted device environment.
8. The method according to any one of claims 1 to 7, characterized in that Also includes: If the virtual machine is a trusted device environment, running the application; If the virtual machine is an untrusted device environment, the application is refused to run and the virtual machine is stopped.
9. A device for checking virtual environment security trust, characterized in that: include: An acquisition module is configured to create a virtual machine; run the virtual machine and read a system management basic input / output system identification data table; wherein the system management basic input / output system identification data table is pre-generated based on a check protocol corresponding to an application currently performing a trust check; The processing module is used to send the system management basic input and output system identification data table to the application program, so that the application program performs a trust check according to the system management basic input and output system identification data table.
10. An electronic device, characterized in that: include: Memory, processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor performs the method according to any one of claims 1 to 8.
11. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 8 when executed by a processor.
12. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 8 when executed by a processor.