VM Audit Engine Temporary Agent Insertion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing complexity and heterogeneity of software assets in modern computing environments, particularly in hardware virtualization configurations, pose challenges for effective software auditing, leading to difficulties in software licensing, security, and the risk of malicious software infiltration.
Innovation Solution
A computer system with a VM audit engine outside guest virtual machines that inserts and removes an audit agent to transmit a list of installed programs to a remote audit server, enabling remote software auditing without requiring permanent installation of auditing software within the virtual machines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If an audit agent is permanently installed within virtual machines to collect software inventory data, then audit data collection is reliable and complete, but the risk of malware infiltration and security vulnerabilities increases
Solution Approach 1:
The patent applies preliminary action by inserting the audit agent temporarily before the audit operation and removing it afterward. The agent is inserted into the virtual machine's memory space, executed to collect software inventory data, and then removed, ensuring no permanent footprint remains. This resolves the contradiction by achieving reliable data collection through temporary presence while eliminating malware exposure risk through immediate removal.
Solution Approach 2:
The patent uses an intermediary approach by introducing a hypervisor layer between the audit system and the virtual machines. The audit agent is inserted through the hypervisor into the VM's memory space without permanent installation. This intermediary mechanism enables reliable audit data collection while preventing security vulnerabilities, as the agent operates temporarily under hypervisor control and is subsequently removed.
2Measurement precision
If auditing software is installed within each virtual machine to perform local audits, then audit precision is high, but device complexity and administrative overhead increase
Solution Approach 1:
The patent extracts the audit agent from being a permanent installed component and transforms it into a temporary in-memory execution entity. Instead of installing auditing software within each virtual machine, the system inserts a lightweight agent into the VM's memory space, executes it to collect precise audit data, and then removes it. This extraction approach maintains high audit precision while dramatically reducing device complexity and administrative overhead.
Solution Approach 2:
The patent uses copying by creating a temporary copy of the audit agent in the virtual machine's memory space rather than installing permanent software. The agent is copied into memory, executed for data collection, and then discarded. This copying mechanism achieves precise local auditing without the complexity of permanent software installation and management across multiple virtual machines.
3Adaptability or versatility
If multiple versions of software applications are used across different hardware platforms and operating systems, then system adaptability is improved, but software licensing and security management become more difficult
Solution Approach 1:
The patent applies universality by designing an audit system that operates across multiple virtual machines with different operating systems and hardware configurations through a common hypervisor interface. The audit agent is inserted uniformly into each VM's memory space regardless of the underlying platform, enabling consistent audit operations across diverse environments. This universal approach maintains platform adaptability while simplifying software management complexity.
Data Source
AI summary
Described systems and methods enable performing software audits remotely and automatically, on a relatively large number of client systems (e.g., a corporate network, a virtual desktop infrastructure system, etc.) An audit engine executes on each client system, in a hardware virtualization configuration wherein the audit engine executes outside an audited virtual machine. When receiving an audit request from an audit server, some embodiments of the audit engine drop an audit agent into the audited virtual machine, and remove the audit agent upon completion of the audit.


