PUF-Based Control Flow Encryption for Processor Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing defense methods against control flow attacks, such as code injection attacks, often result in significant performance loss and are ineffective in preventing alterations to program control flow, posing a substantial security threat to computer systems.

Innovation Solution

An apparatus and method utilizing a Physical Unclonable Function (PUF) module to generate unique keys for encrypting and decrypting target execution data, including function call return addresses and indirect jump destination addresses, within a processor's control flow, ensuring secure execution by preventing unauthorized alterations to program control flow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing defense methods are used to prevent control flow attacks, then security protection is provided, but performance loss increases significantly

Engineering Contradiction:
Improvesecurity protectionVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by encrypting control flow data (return addresses and indirect jump targets) before they are executed. The encryption is performed in advance during function call instructions, and the decrypted data is stored in the stack for later execution. This preliminary encryption protects control flow data from attacks while maintaining performance because the decryption only occurs when needed during normal execution, not continuously during attack detection.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If existing defense methods are used to prevent control flow attacks, then some security protection is provided, but the defense effectiveness is insufficient against determined attackers

Engineering Contradiction:
Improvedefense effectivenessVSAvoiddefense mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by selectively encrypting only critical control flow data (function call return addresses and indirect jump destination addresses) rather than encrypting all program data. This targeted approach provides strong defense effectiveness for the most vulnerable control flow paths while keeping the defense mechanism relatively simple and focused on specific high-risk areas.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent introduces an intermediary encryption/decryption mechanism between the control flow data and the execution unit. The encryption module encrypts control flow data using keys from the PUF module, and the decryption module decrypts it when needed for execution. This intermediary layer provides strong security against determined attackers while maintaining a manageable system architecture through dedicated hardware modules.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If control flow data is encrypted to prevent attacks, then security is improved, but access and execution speed may be reduced

Engineering Contradiction:
Improvecontrol flow securityVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The encryption is performed in advance during function call instructions, and the decrypted data is stored in the stack for later execution. This preliminary action ensures that when the control flow data is needed during execution, it is already prepared and decrypted, minimizing the impact on execution speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The decryption module automatically decrypts the control flow data when it is fetched from the stack for execution. This self-service mechanism ensures that the execution unit always receives decrypted data without manual intervention, maintaining execution speed while ensuring security.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12197594B2Apparatus and method for defending against control flow attack, and processor
Publication Date: 2025.01.14 BEIJING ESWIN COMPUTING TECH CO LTD
  • US12197594B2 patent drawing
  • US12197594B2 patent drawing
  • US12197594B2 patent drawing

AI summary

An apparatus for defending against control flow attack, including: a key acquisition module, configured to acquire response data, which is output by a physical unclonable function PUF module to an input stimulus, and store the response data in a register as key data to be used; an encryption module, configured to encrypt target execution data in a program control flow based on the key data in the process of the processor executing the program control flow, the target execution data including at least one of a target instruction at an indirect jump destination address and a function call return address; a decryption module, configured to decrypt the encrypted target execution data when the processor is to execute the target execution data; and an execution module, configured to continue to execute the program control flow based on the decrypted target execution data.