CPU Branch Instruction Verification Unit for Secure Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for protecting information processors from computer viruses and hacking attacks rely on vaccine programs, which are ineffective until new virus characteristics are identified and incorporated, and fail to address control flow attacks that manipulate branch instructions.

Innovation Solution

A central processing unit (CPU) with a branch instruction verification unit that checks the validity of branch instructions using a lookup table (LUT) or hash functions, preventing execution of malicious instructions without relying on vaccine programs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If vaccine programs are used to detect and protect against computer viruses, then protection against known viruses is achieved, but protection against new viruses and control flow attacks is impossible until updates are applied

Engineering Contradiction:
Improveprotection effectivenessVSAvoidtime to respond to new threats
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-establishes a trusted codebase during a safe state, creating a baseline of valid branch instructions before any potential attacks occur. This preliminary action enables immediate detection of malicious code without requiring time-consuming updates or analysis when new threats emerge.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention proactively prevents control flow attacks by verifying branch instructions against the trusted codebase before execution, rather than reactively responding to detected threats. This preliminary anti-action blocks malicious code execution at the source, eliminating the time lag inherent in traditional vaccine program updates.

Inventive Principle:
Principle #9Preliminary anti-action

2Difficulty of detecting and measuring

If traditional virus detection methods are used, then simple virus detection is possible, but control flow attacks manipulating branch instructions cannot be detected

Engineering Contradiction:
Improvedetection capabilityVSAvoidattack type coverage
Core Design Contradiction:
Difficulty of detecting and measuringVSAdaptability or versatility

Solution Approach 1:

The system segments the codebase into individual branch instruction elements and verifies each one against the trusted codebase. This segmentation approach allows detection of subtle manipulations in branch instructions that traditional holistic virus detection methods miss, while maintaining broad adaptability to various attack types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention replaces the mechanical pattern-matching approach of traditional virus detection with a cryptographic verification system. By substituting hash-based verification for signature-based detection, the system achieves both high detection capability for subtle manipulations and universal adaptability to all control flow attack variants.

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

3Productivity

If the CPU executes all branch instructions without verification, then processing speed is maintained, but malicious code execution cannot be prevented

Engineering Contradiction:
Improveinstruction execution speedVSAvoidmalicious code execution
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The CPU performs self-verification of branch instructions by checking them against the trusted codebase stored in memory. This self-service mechanism enables the processor to autonomously detect and block malicious code without external intervention, maintaining high execution speed while preventing harmful code execution.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The trusted codebase stored in memory serves as an intermediary between the branch instruction and the execution unit. This intermediary layer verifies the legitimacy of each branch instruction before it reaches the execution unit, blocking malicious code while allowing legitimate instructions to pass through with minimal delay.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8006078B2Central processing unit having branch instruction verification unit for secure program execution
Publication Date: 2011.08.23 SAMSUNG ELECTRONICS CO LTD
  • US8006078B2 patent drawing
  • US8006078B2 patent drawing
  • US8006078B2 patent drawing

AI summary

Provided are a central processing unit (CPU) and method for executing a branch instruction of a CPU, which can protect user's data by preventing an error due to a computer virus and a hacker is provided. The CPU includes: a branch instruction verification unit which verifies whether a branch instruction is valid; and a branch instruction execution unit which executes the branch instruction when the branch instruction is valid. The method includes: verifying whether the branch instruction is valid; and not executing the branch instruction when the branch instruction is invalid.