Buffer Overflow Protection Logic for Stack Memory Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile electronic devices remain vulnerable to stack buffer overflow attacks, despite additional security protections in processing hardware, as existing solutions do not effectively detect and neutralize these common software security threats.

Innovation Solution

A system and method that includes buffer overflow protection logic coupled to processor busses to detect and prevent stack buffer overflow attacks by monitoring memory access requests and executing security violation responses, such as aborting memory access requests and triggering security response sequences, to neutralize potential threats.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware-based security firewalls and monitoring components are added to mobile devices, then security protection against attacks is improved, but vulnerability to stack buffer overflow attacks remains

Engineering Contradiction:
Improvesecurity protectionVSAvoidvulnerability to buffer overflow attacks
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The security system is segmented into multiple layers: hardware firewalls for general protection, and a specialized buffer overflow protection component that specifically monitors stack memory access patterns. This segmentation allows each component to focus on its specific threat without being overwhelmed by all security concerns

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A buffer overflow protection component acts as an intermediary between the processor core and the stack memory. It intercepts and analyzes memory access requests before they reach the stack, detecting malicious patterns and blocking them before execution can occur

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If buffer overflow protection logic is added to detect and prevent stack buffer overflow attacks, then security against software attacks is improved, but device complexity increases

Engineering Contradiction:
Improvesecurity against software attacksVSAvoidprocessing system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The buffer overflow protection component is merged with the existing memory management unit and address translation mechanisms. It leverages existing hardware structures like the instruction bus and memory management unit rather than creating entirely new monitoring infrastructure

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The protection logic uses the existing address translation and memory management hardware to perform its detection function. It self-services by utilizing already-present infrastructure (bus interfaces, address registers, memory management unit) rather than requiring completely separate monitoring hardware

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7669243B2Method and system for detection and neutralization of buffer overflow attacks
Publication Date: 2010.02.23 TEXAS INSTRUMENTS INC
  • US7669243B2 patent drawing
  • US7669243B2 patent drawing
  • US7669243B2 patent drawing

AI summary

A method for detecting a stack buffer overflow attack is provided that includes receiving a memory access request from a processor core of a system, and determining that the memory access request indicates a stack buffer overflow attack. The method may further include preventing completion of the memory access request and/or executing a security violation response. A system is also provided that includes a processor core coupled to a plurality of busses and an execution stack in a random access memory coupled to the plurality of busses. The system further includes a buffer overflow protection (BOP) logic coupled to the plurality of busses to receive memory access requests from the plurality of busses. The BOP logic is operable to detect a buffer overflow attack comprising a memory access request addressing the execution stack initiated by a program executing on the processor core.