Hardware Breakpoint Instruction Tracing for Malware Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing instruction-level runtime behavioral analysis techniques for detecting malware, such as ROP attacks, incur significant performance overhead due to binary translation and code injection methods, which can introduce complexity and potential security vulnerabilities.

Innovation Solution

Implementing a lightweight runtime binary analysis technique that forms code regions with multiple exit points for behavioral analysis, using hardware breakpoints and instruction tracing to monitor execution without code injection, and leveraging a region cache for optimized security checkpoint placement and reduced overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If binary translation or instrumentation techniques are used for instruction level runtime behavioral analysis, then detection accuracy against evasive malware attacks is improved, but performance overhead increases significantly

Engineering Contradiction:
Improvedetection accuracyVSAvoidperformance overhead
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts and removes the binary translation and code injection components from the monitoring system. Instead of instrumenting the target binary, the system uses hardware breakpoints and instruction tracing to collect execution data, thereby eliminating the performance overhead associated with binary translation while maintaining detection accuracy through hardware-based behavioral analysis

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the software-based binary translation and instrumentation mechanism with a hardware-based monitoring approach using processor breakpoints and instruction tracing facilities. This substitution eliminates the need to modify or translate the target binary, removing the associated performance penalties while preserving the ability to detect malicious execution patterns

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

2Reliability

If binary translation with code injection is used, then runtime security checks are enabled, but potential attack surfaces are introduced and security isolation is compromised

Engineering Contradiction:
Improveruntime security checksVSAvoidattack surface
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent removes the code injection component entirely from the system architecture. Instead of injecting monitoring code into the target process, the system uses hardware breakpoints and instruction tracing to collect execution information, thereby eliminating the attack surface associated with code injection while maintaining runtime security check capabilities through hardware-based monitoring

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces hardware breakpoints and instruction tracing facilities as intermediaries between the monitoring system and the target application. This intermediary approach allows the system to observe application execution without modifying the application code or injecting monitoring code, thereby maintaining security isolation and eliminating the attack surface created by code injection

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If binary translation is used for security monitoring, then instruction level execution monitoring is enabled, but device complexity and implementation complexity increase

Engineering Contradiction:
Improveexecution monitoring capabilityVSAvoidbinary translation complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent replaces the complex software-based binary translation system with simpler hardware-based mechanisms (breakpoints and instruction tracing). This substitution eliminates the need for just-in-time compilation, translation cache management, and complex code regeneration logic, thereby reducing implementation complexity while preserving execution monitoring capabilities

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

Solution Approach 2:

The patent leverages the processor's own hardware facilities (breakpoint units and instruction tracing mechanisms) to perform the monitoring function. By using the processor's built-in capabilities rather than external software translation layers, the system eliminates the complexity of binary translation implementation while maintaining the ability to monitor instruction-level execution

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10565379B2System, apparatus and method for instruction level behavioral analysis without binary instrumentation
Publication Date: 2020.02.18 INTEL CORP
  • US10565379B2 patent drawing
  • US10565379B2 patent drawing
  • US10565379B2 patent drawing

AI summary

In one embodiment, an apparatus includes an execution monitor to monitor an application in execution, identify a code region, generate region information for the code region, and analyze the code region to identify potential malicious behavior, and if the potential malicious behavior is identified, to alert a security agent, and otherwise to enable the code region to execute, where the execution monitor is isolated from the application. Other embodiments are described and claimed.