Autoencoder Malware Detection via Opcode N-grams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing malware detection systems face challenges in identifying and classifying malicious software due to the rapid evolution of malware variants and the inability to detect unknown threats, as they rely on signature-based mechanisms that may not cover all variants, leading to inefficiencies in keeping up with new malware proliferation.

Innovation Solution

The use of an autoencoder to derive features from opcode n-grams within machine code, allowing for the classification of potentially malicious programs by analyzing linear combinations of these features, which are more precise and efficient than traditional high-level abstractions, thereby improving malware detection capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional signature-based malware detection is used, then detection of known malware variants is achieved, but detection of unknown and new malware variants fails

Engineering Contradiction:
Improvemalware detection accuracyVSAvoidability to detect new malware variants
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent transforms malware analysis from high-level abstraction parameters to low-level opcode n-gram parameters. By changing the parameter space from semantic instructions to raw machine code sequences, the system can detect malware based on structural patterns that remain consistent across variants, enabling both reliable detection of known malware and adaptation to new variants through unsupervised feature learning.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces the mechanical signature-matching system with a machine learning-based autoencoder system. Instead of manually created signatures that require continuous updates, the system uses an autoencoder to automatically learn discriminative features from opcode n-grams, substituting the rigid mechanical matching process with an adaptive neural network approach that can generalize to unknown malware.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Ease of manufacture

If signature-based detection mechanisms are used, then implementation is simple, but keeping up with rapidly evolving malware variants becomes difficult

Engineering Contradiction:
Improvedetection system implementationVSAvoidspeed of detecting new malware variants
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements a self-service detection system where the autoencoder automatically learns features from raw opcode n-grams without requiring manual signature creation or updating. The system serves itself by continuously adapting to new malware variants through unsupervised learning, eliminating the need for security researchers to manually track and create signatures for each new variant, thus improving productivity while maintaining ease of implementation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent performs preliminary action by training the autoencoder on a large corpus of malware and benign programs before deployment. This pre-training phase allows the system to learn discriminative features in advance, so that when new malware variants appear, the system can quickly apply these learned features for detection without requiring immediate retraining or signature updates, thereby improving the speed of detecting new variants.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If high-level abstraction analysis is used, then analysis is easier to perform, but detection precision and efficiency are reduced

Engineering Contradiction:
Improveanalysis complexityVSAvoidmalware classification accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent inverts the conventional approach by moving from high-level abstraction analysis to low-level opcode analysis. Instead of analyzing malware at the instruction semantic level, the system analyzes raw opcode n-grams, which provides more granular and precise information. This inversion allows the autoencoder to learn subtle patterns in the machine code that are lost in high-level abstractions, thereby improving measurement precision while the automated feature learning maintains ease of operation.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS10133865B1Systems and methods for detecting malware
Publication Date: 2018.11.20 CA TECH INC
  • US10133865B1 patent drawing
  • US10133865B1 patent drawing
  • US10133865B1 patent drawing

AI summary

The disclosed computer-implemented method for detecting malware may include (1) identifying a plurality of programs represented in machine code, (2) deriving a plurality of opcode n-grams from opcode sequences within the plurality of programs, (3) training an autoencoder by using the plurality of opcode n-grams as input, (4) discovering a set of features within the autoencoder after training the autoencoder, each feature within the set of features comprising a linear combination of opcode n-grams from the plurality of opcode n-grams, and (5) classifying a potentially malicious program as malicious by using the set of features discovered within the autoencoder to analyze the potentially malicious program. Various other methods, systems, and computer-readable media are also disclosed.