Hardware Buffer Overflow Protection Circuit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software and hardware techniques to prevent and detect stack overflows are costly, require extensive testing and re-compilation, and can be bypassed by hackers, leading to security breaches and unintended program behavior.

Innovation Solution

A processor with a hardware-based buffer overflow protection circuit that includes a read/write detect block and a write protect manage block, using a write protection indicator bit for each memory location in the stack to prevent overwriting of return addresses, generating a fault if an attempt is made to overwrite a protected return address.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional software techniques are used to prevent stack overflows, then security protection is improved, but development complexity and runtime overhead increase

Engineering Contradiction:
Improvestack overflow protectionVSAvoidsoftware implementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces software-based stack overflow detection mechanisms with a hardware circuit implementation. The hardware circuit includes a read/write detect block that monitors stack operations and a write protect manage block that controls write access to protected memory locations, eliminating the need for complex software techniques while providing reliable protection against stack overflows

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

Solution Approach 2:

The hardware circuit automatically detects stack overflow conditions and manages write protection without requiring external software intervention. The read/write detect block continuously monitors stack operations and the write protect manage block autonomously controls access to protected return addresses, making the system self-sufficient in its protection function

Inventive Principle:
Principle #25Self-service

2Reliability

If exhaustive testing and re-compilation are performed to ensure security, then reliability is improved, but development time and productivity decrease

Engineering Contradiction:
Improvesecurity against stack overflowsVSAvoiddevelopment efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The hardware circuit is pre-configured with write protection indicators and detection logic during manufacturing, so that stack overflow protection is automatically enabled without requiring developers to perform exhaustive testing or re-compilation. The protection mechanism is built-in from the outset, eliminating time-consuming development steps

Inventive Principle:
Principle #10Preliminary action

3Reliability

If hardware support is added for buffer overflow detection, then security is improved, but device complexity increases

Engineering Contradiction:
Improvebuffer overflow protectionVSAvoidhardware circuit complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The hardware circuit is divided into distinct functional blocks: a read/write detect block for monitoring stack operations, a write protect manage block for controlling write access, and a fault generation block for detecting overflow conditions. This segmentation allows each component to perform its specific function efficiently while keeping the overall circuit design modular and manageable

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3765958B1Processor with hardware supported memory buffer overflow detection
Publication Date: 2024.01.24 TEXAS INSTRUMENTS INC
  • EP3765958B1 patent drawingFigure 1
  • EP3765958B1 patent drawingFigure 2
  • EP3765958B1 patent drawingFigure 3

AI summary

A processor (10) has fault generating circuitry (18Bow), which is responsive to detecting a processor (10) write to a stack location (24STK) that is write protected, such as for storing a return address at the stack location (24STK).