Malware Detection via Thread Return Address Inspection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing malware detection methods, particularly signature-based detection, are ineffective against zero-day attacks and sophisticated malware that injects code into system processes, as they require prior knowledge of the malware specifics and cannot detect suspicious code running within system processes without detailed code analysis.

Innovation Solution

A method that identifies suspicious code injected into system processes by inspecting threads for potential return addresses within suspicious memory areas, using APIs like Module32First, Module32Next, and VirtualQueryEx to differentiate between legitimate and suspicious memory areas, and determining if the instruction preceding the return address is a function call to flag the code as suspicious.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If signature-based detection methods are used to detect malware, then detection accuracy for known malware is improved, but effectiveness against zero-day attacks and sophisticated injected code deteriorates

Engineering Contradiction:
Improvedetection accuracyVSAvoideffectiveness against zero-day attacks
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent segments the detection process into two independent modules: a signature-based detection module for known malware and a heuristic analysis module for suspicious behavior detection. This segmentation allows each module to specialize in its strength while working together to provide comprehensive protection, resolving the contradiction between detection accuracy for known malware and adaptability to zero-day attacks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges signature-based detection with heuristic analysis into a unified detection system. The heuristic module analyzes code behavior, memory access patterns, and execution flow to detect suspicious activities, while the signature module provides precise identification of known threats. This combination maintains high detection accuracy for known malware while adding adaptability to detect unknown and zero-day threats through behavioral analysis.

Inventive Principle:
Principle #5Merging (Combining)

2Measurement precision

If code analysis with signatures is used to detect malware, then identification of known malware is improved, but detection of obfuscated code and zero-day attacks deteriorates

Engineering Contradiction:
Improvemalware identification accuracyVSAvoiddetection of obfuscated code
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces heuristic analysis as an intermediary layer between the user and the malware. Instead of directly comparing code against signatures (which fails against obfuscation), the heuristic module first analyzes behavioral patterns, memory access characteristics, and execution flow to identify suspicious code. This intermediary approach enables detection of obfuscated and zero-day malware by focusing on behavior rather than static code characteristics.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If heuristic methods are used to detect suspicious behavior, then protection against zero-day attacks is improved, but false positive rate increases

Engineering Contradiction:
Improveprotection against zero-day attacksVSAvoidfalse positive rate
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where detection results from both signature-based and heuristic modules are cross-validated. When heuristic analysis flags suspicious code, the system checks against the signature database to confirm or refute the finding. This feedback loop reduces false positives by requiring corroboration from multiple detection approaches while maintaining high adaptability to zero-day threats through the heuristic component.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9910983B2Malware detection
Publication Date: 2018.03.06 RPX CORP
  • US9910983B2 patent drawing
  • US9910983B2 patent drawing
  • US9910983B2 patent drawing

AI summary

A method of detecting suspicious code that has been injected into a process. The method includes identifying suspicious executable memory areas assigned to the process and, for each thread in the process, inspecting a stack associated with the thread to identify a potential return address; determining whether or not the potential return address is located within a suspicious memory area; and, if the potential return address is located within a suspicious memory area, determining whether or not the instruction at the address preceding the potential return address is a function call and, if yes, determining that the potential return address is a true return address and identifying the thread and associated code as suspicious.