VM Network Request Emulation for Malware Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtual machine environments, malicious software applications can corrupt emulated resources without being detected, as existing technologies lack effective methods to emulate expected network communications, hindering analysis and containment.

Innovation Solution

Implementing a system that detects network requests within a virtual machine environment, determines expected responses based on the request or protocol, and provides those responses to the application, allowing for emulation of server-side interactions and extended observation of malicious behavior.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a virtual machine environment isolates software applications from hardware resources, then security and containment are improved, but the ability to detect and analyze malicious network communications deteriorates

Engineering Contradiction:
Improvesecurity containmentVSAvoiddetection of malicious network communications
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces an intermediary component that sits between the virtual machine's network interface and the external network. This intermediary captures network requests from the malware, determines expected responses based on protocol knowledge, and injects these responses back into the virtual machine. This allows the system to maintain isolation while simultaneously monitoring and analyzing all network communications, resolving the contradiction between security containment and detection capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-configuring the intermediary with knowledge of expected network protocol responses before malware execution. When a network request is detected, the intermediary has already prepared appropriate responses based on protocol specifications, enabling immediate analysis of malware behavior without waiting for external server interactions. This preliminary preparation enhances both security monitoring and analysis efficiency

Inventive Principle:
Principle #10Preliminary action

2Productivity

If network requests from software applications are blocked or monitored, then security analysis is improved, but the execution and behavior of the software application deteriorates

Engineering Contradiction:
Improvesecurity analysis capabilityVSAvoidsoftware application execution
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a copying mechanism where the intermediary creates copies of network requests for analysis while allowing the original requests to proceed to external servers. Similarly, expected response copies are generated and injected into the virtual machine while genuine server responses continue to flow normally. This copying approach enables comprehensive security analysis without disrupting the normal execution and behavior of software applications

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system applies partial action by selectively intercepting only those network requests that require analysis, while allowing other requests to pass through unchanged. The intermediary injects expected responses selectively based on protocol matching, providing just enough intervention to enable security analysis while maintaining normal application execution for non-critical communications. This partial intervention balances security monitoring needs with application functionality

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9904781B2Emulating expected network communications to applications in a virtual machine environment
Publication Date: 2018.02.27 IBOSS INC
  • US9904781B2 patent drawing
  • US9904781B2 patent drawing
  • US9904781B2 patent drawing

AI summary

One example method includes executing a software application within the virtual machine environment; during execution of the software application, detecting a network request sent from the software application within the virtual machine environment, the network request formatted according to a particular network protocol; in response to detecting the network request: determining an expected response to the network request based on at least one of information included in the network request or the particular network protocol; and providing the expected response to the software application within the virtual machine environment.