Packed Executable Unpacking for Malware Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current anti-virus software is ineffective in detecting and preventing packed malware, as it relies on pattern matching and fails to recognize superficially modified malware, leading to costly and inefficient constant updates for signature recognition.

Innovation Solution

A system comprising a malware evaluator and an unpacking module that intercepts incoming data, identifies packed executables, and unpacks them without execution, using a set of unpacker modules to generate an unpacked executable for evaluation, allowing for determination of malware presence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If anti-virus software uses pattern matching to detect known malware, then it can prevent known malware from reaching the computer, but it fails to detect packed malware that has been superficially modified

Engineering Contradiction:
Improvemalware detection capabilityVSAvoidability to detect modified malware
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system performs preliminary unpacking of packed executables before malware detection. The unpacking module extracts the original code from packed formats (such as UPX, PECompact, AsPack) so that the malware evaluator can analyze the true malware signature rather than the obfuscated packed version, enabling detection of modified malware that would otherwise evade pattern matching.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The unpacking module serves as an intermediary between the packed executable and the malware evaluator. It translates the packed format into the original executable format, allowing the malware evaluator to work with the actual malware code rather than its obfuscated representation, thus bridging the gap between detection capability and adapted malware variants.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If anti-virus software relies on signature patterns for malware detection, then it can efficiently block known malware, but it requires constant updates to recognize new variations

Engineering Contradiction:
Improvemalware blocking efficiencyVSAvoidtime for constant updates
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary unpacking of packed executables before malware detection. The unpacking module extracts the original code from packed formats (such as UPX, PECompact, AsPack) so that the malware evaluator can analyze the true malware signature rather than the obfuscated packed version, enabling detection of modified malware that would otherwise evade pattern matching.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The unpacking module creates a copy of the packed executable's internal structure to extract and reconstruct the original code. This copying process allows the system to work with a representation of the true malware without modifying the original packed file, enabling efficient detection while maintaining the ability to block known malware through signature matching.

Inventive Principle:
Principle #26Copying

3Reliability

If the system unpacks packed executables for evaluation, then it can detect packed malware, but it increases system complexity

Engineering Contradiction:
Improvedetection of packed malwareVSAvoidunpacking module structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system divides the unpacking functionality into separate, specialized modules, each handling a specific packed format (UPX, PECompact, AsPack). This segmentation allows the malware evaluator to maintain a clean architecture while the unpacking modules handle the complexity of format-specific extraction and reconstruction, isolating complexity rather than increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The unpacking module is designed as a universal component that can handle multiple packed formats through a common interface. This multi-functionality allows the system to detect various types of packed malware using a single unified module structure, reducing complexity compared to having separate detection mechanisms for each packed format.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7620990B2System and method for unpacking packed executables for malware evaluation
Publication Date: 2009.11.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7620990B2 patent drawing
  • US7620990B2 patent drawing
  • US7620990B2 patent drawing

AI summary

A system and method for determining whether a packed executable is malware is presented. In operation, a malware evaluator intercepts incoming data directed to a computer. The malware evaluator evaluates the incoming data to determine whether the incoming data is a packed executable. If the incoming data is a packed executable, the malware evaluator passes the packed executable to an unpacking module. The unpacking module includes a set of unpacker modules for unpacking a packed executable of a particular type. The unpacking module selects an unpacker module according to the type of the packed executable, and executes the selected unpacker module. Executing the unpacker module generates an unpacked executable corresponding to the packed executable. The unpacked executable is returned to the malware evaluator where it is evaluated to determine whether the packed executable is malware.