Dynamic Interrupt Stack Protection Unit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems lack effective protection mechanisms for interrupt stacks, making them vulnerable to security and safety issues such as stack buffer overflow attacks and unintended manipulations, which can compromise system integrity.

Innovation Solution

An interrupt stack protection unit is implemented, comprising a processor and address registers that dynamically protect the interrupt stack by creating a hardware-protected region, preventing unauthorized access and ensuring that each interrupt service routine can only access its allocated memory space, using a mechanism that adjusts the protected region as nested interrupts occur.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If no protection mechanism is implemented for interrupt stacks, then device complexity is reduced and ease of operation is improved, but security and safety reliability deteriorate significantly

Engineering Contradiction:
Improveinterrupt stack protectionVSAvoidprotection mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A dedicated protection unit is introduced as an intermediary component between the interrupt stack and access requests. This protection unit monitors and controls all access operations to the interrupt stack, preventing unauthorized or unsafe access without requiring complex software validation logic throughout the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The protection mechanism segments the interrupt stack into protected regions that can be individually managed. Each interrupt service routine operates within its own designated memory space, and the protection unit enforces these boundaries, allowing fine-grained control over stack access while maintaining system-wide security.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If static memory protection mechanisms like MPU are used, then access restrictions are provided, but adaptability to dynamic interrupt stack boundaries is lost

Engineering Contradiction:
Improvedynamic boundary adaptationVSAvoidprotection effectiveness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The protection unit implements dynamic boundary tracking that automatically adjusts protected regions based on the current state of the interrupt stack. As interrupt service routines allocate and deallocate stack space, the protection unit实时更新 the boundaries of protected regions, ensuring that access restrictions remain effective regardless of stack depth changes.

Inventive Principle:
Principle #15Dynamics

3Reliability

If software-based protection schemes like canary codes are implemented, then limited stack protection is achieved, but device complexity increases and productivity decreases due to overhead

Engineering Contradiction:
Improvestack protectionVSAvoidsystem performance overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces software-based protection mechanisms with a hardware-level protection unit. This substitution eliminates the need for software insertion of canary codes and related validation logic, removing the associated performance overhead while maintaining or enhancing protection effectiveness through dedicated hardware enforcement.

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

4Reliability

If comprehensive protection mechanisms are implemented, then security and safety are improved, but ease of operation and manufacturing complexity worsen

Engineering Contradiction:
Improvesystem integrityVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The protection unit is designed as a universal component that handles multiple protection functions within a single integrated device. It simultaneously provides boundary enforcement, access control, and nested interrupt management, eliminating the need for separate protection mechanisms for different scenarios and simplifying the overall system architecture.

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

Data Source

PatentUS9734326B2Dynamic interrupt stack protection
Publication Date: 2017.08.15 NXP USA INC
  • US9734326B2 patent drawing
  • US9734326B2 patent drawing
  • US9734326B2 patent drawing

AI summary

A protection unit of an interrupt stack accessible by a CPU controlled by one software program, for storing and removing stack frame(s), the stack protection unit being coupleable to the stack and the CPU, comprising:a processor coupled to a first and a second address register;wherein, when a first stack frame is stored onto the stack and the execution of the software program is suspended by the CPU, responsive to one or more occurring hardware IRQs;the processing unit is adapted to set one access rule based on the first and second address registers, preventing:the occurring ISR to be serviced, from accessing a hardware-protected region of the stack, comprising at least the first stack frame and at least one stack frame associated with one or more suspended IRQs.A processor, a method and a computer program are also claimed.