Dynamic Interrupt Stack Protection Unit
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
4Reliability
If comprehensive protection mechanisms are implemented, then security and safety are improved, but ease of operation and manufacturing complexity worsen
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.
Data Source
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.


