Multi-Core Processor Security Control System for Address Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing security control systems for multi-core processors are inadequate in preventing malware attacks that subvert normal program execution by modifying 'jump' or 'return' addresses, particularly as these attacks exploit vulnerabilities in the data segment, which are not effectively addressed by current memory write protection, code signing, and anti-virus software.

Innovation Solution

A security control system that monitors and validates 'jump', 'interrupt', and 'return' addresses across multiple cores, utilizing a dedicated core to enforce secure execution paths and isolate memory spaces, leveraging existing processor structures and potentially additional hardware or software barriers to prevent unauthorized changes, such as those implemented using ARM's TrustZone to separate execution environments and enable fast communication between secure and normal worlds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory write protection, code signing, and anti-virus software are used, then code segment integrity is improved, but data segment protection deteriorates

Engineering Contradiction:
Improvecode segment integrityVSAvoiddata segment vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent divides protection into separate segments: code segment protection through existing mechanisms (write protection, code signing) and data segment protection through new mechanisms (stack canary values, heap metadata protection, data execution prevention). This segmentation allows each segment to be protected by appropriate specialized mechanisms, resolving the contradiction where code protection methods fail to protect data segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary protection mechanisms between the code and data segments. Specifically, it uses canary values as intermediaries in the stack between return addresses and data, and uses metadata structures as intermediaries in the heap to protect data integrity. These intermediaries detect and prevent unauthorized data modifications before they can subvert program execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If return addresses are stored on the stack with variables, then subroutine execution is simplified, but buffer overflow attacks become possible

Engineering Contradiction:
Improvesubroutine executionVSAvoidbuffer overflow vulnerability
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary protective actions by inserting canary values (sentinel data) between stack variables and return addresses before subroutine execution. This preliminary placement of protective canaries prevents buffer overflow attacks from reaching and modifying return addresses, while maintaining the simplicity of standard stack-based subroutine execution. The canaries are checked before function returns to detect any overflow attempts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The canary value acts as an intermediary element on the stack between the data variables and the return address. This intermediary absorbs or detects buffer overflow attempts, preventing direct access to the return address while maintaining normal subroutine execution flow. The canary serves as a protective barrier that simplifies execution by requiring no special handling during normal operation but providing automatic protection against attacks.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If interrupt service addresses are protected with instructions, then interrupt security is improved, but attack complexity increases

Engineering Contradiction:
Improveinterrupt securityVSAvoidprotection mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges interrupt protection with existing security mechanisms by integrating interrupt service address validation into the overall execution path monitoring system. Instead of creating separate complex protection mechanisms for interrupts, the invention combines interrupt protection with stack canary checks, heap metadata protection, and data execution prevention policies, thereby improving interrupt security while avoiding additional complexity through unified protection architecture.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements universal protection mechanisms that serve multiple functions simultaneously. The same data execution prevention policies and address validation mechanisms protect both subroutine returns and interrupt service addresses, as well as general code execution. This multi-functionality improves interrupt security without requiring dedicated complex protection mechanisms, as the universal policies cover all execution path transitions including interrupts.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10019576B1Security control system for protection of multi-core processors
Publication Date: 2018.07.10 BLUEHALO LABS LLC
  • US10019576B1 patent drawing
  • US10019576B1 patent drawing

AI summary

A security control system is provided that works as an extra layer of defense as a way to prevent an “attack” that is initiated by modifying either the “jump” or the “return” addresses or both. The principal behind the security control system is to “monitor” the addresses to which the processors would jump, interrupt or return, and identify when these addresses are modified in a manner that does not comply with the normal execution of the processor. In order to do that the security control system uses existing structures in multi-core processors and even anticipates the creation of additional structures to expedite and improve such control.