Malware Detection via Processor Trace and GPU Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing malware detection techniques face high performance and resource overhead due to indiscriminate scanning of large memory spaces, and fail to prioritize memory pages effectively, leading to inefficiencies in identifying and blocking malicious code, especially in packed malware applications.

Innovation Solution

The approach utilizes processor trace information to prioritize memory pages for scanning, detects invalid indirect branch instructions, and employs GPU acceleration and single table data structures for efficient pattern matching, reducing overhead and improving detection speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If indiscriminate scanning of large memory spaces is performed, then malware detection coverage is improved, but performance overhead and resource consumption increase

Engineering Contradiction:
Improvemalware detection coverageVSAvoidperformance overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the memory scanning task by dividing memory into pages and prioritizing them based on processor trace information. Instead of scanning all memory pages uniformly, the system identifies and scans only the most suspicious pages first, breaking down the large-scale scanning problem into manageable prioritized units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by focusing scanning resources on specific memory pages that exhibit suspicious characteristics (invalid indirect branches) rather than applying uniform scanning across all memory. The scanning intensity and resource allocation vary locally based on the suspiciousness of each memory page.

Inventive Principle:
Principle #3Local quality

2Reliability

If memory scanning is performed without prioritization, then detection thoroughness is maintained, but scan intervals increase and detection speed decreases

Engineering Contradiction:
Improvedetection thoroughnessVSAvoidscan intervals
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary analysis of memory pages using processor trace information to identify invalid indirect branches before conducting full malware pattern scanning. This preliminary action filters out suspicious pages that need immediate scanning, allowing the system to maintain thoroughness while reducing overall scan intervals by focusing on high-risk areas first.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses processor trace information as feedback to dynamically prioritize memory pages for scanning. The trace information about indirect branches provides real-time feedback on which memory pages are suspicious, allowing the scanning system to adapt its priorities and reduce scan intervals for high-risk pages while maintaining overall detection thoroughness.

Inventive Principle:
Principle #23Feedback

3Productivity

If GPU acceleration is implemented, then pattern matching speed is improved, but device complexity increases

Engineering Contradiction:
Improvepattern matching speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces GPU as an intermediary computing resource to handle the computationally intensive pattern matching task. The CPU prepares and prioritizes memory pages for scanning, then offloads the actual pattern matching to the GPU, which processes multiple patterns in parallel. This intermediary approach accelerates pattern matching while distributing system complexity across different components.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11698964B2Malware detection in memory
Publication Date: 2023.07.11 INTEL CORP
  • US11698964B2 patent drawing
  • US11698964B2 patent drawing
  • US11698964B2 patent drawing

AI summary

A system for detecting malware includes a processor to collect processor trace information corresponding to an application being executed by the processor (202). The processor can also detect an invalid indirect branch instruction from the processor trace information (204) and detect at least one malware instruction being executed by the application in response to analyzing modified memory values corresponding to the invalid indirect branch (206). Additionally, the processor can block the application from accessing or modifying memory (208).