Function Pointer Protection via Whitelist Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer systems face challenges in protecting function pointers from being abused as an attack vector for control-flow hijacking attacks, as current protection mechanisms often have high overheads, are not compatible with existing processes, or both.

Innovation Solution

The system and method involve supplying a library with a list of safe callback values, protecting these values, invoking callbacks, and validating them against the list to determine a status of safe or unsafe, thereby executing or aborting the callbacks accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing protection mechanisms are applied to function pointers, then security against control-flow hijacking attacks is improved, but system overhead increases and compatibility with existing processes deteriorates

Engineering Contradiction:
Improvesecurity against control-flow hijacking attacksVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by maintaining a pre-established whitelist of safe callback function pointers and validating callbacks against this whitelist before invocation. The validation mechanism checks whether each callback pointer matches an entry in the whitelist, preventing control-flow hijacking attacks by blocking unauthorized callbacks before they can execute. This approach improves security without requiring complex runtime protection mechanisms, thereby avoiding high system overhead and maintaining compatibility with existing processes.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If existing protection mechanisms are applied to function pointers, then security against control-flow hijacking attacks is improved, but compatibility with existing processes deteriorates

Engineering Contradiction:
Improvesecurity against control-flow hijacking attacksVSAvoidcompatibility with existing processes
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary validation mechanism that sits between the callback registration and invocation processes. The whitelist acts as a mediator, allowing the system to enforce security policies without directly modifying existing callback handling code. By validating callbacks against the whitelist through this intermediary layer, the system achieves security improvements while maintaining compatibility with existing processes, as the validation can be integrated into the existing callback infrastructure without requiring fundamental changes to process architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12242598B2Function pointer protection
Publication Date: 2025.03.04 RED HAT LLC
  • US12242598B2 patent drawing
  • US12242598B2 patent drawing
  • US12242598B2 patent drawing

AI summary

A system includes a memory and a processor in communication with the memory. The processor is configured to supply a library with a list of safe callback values, protect the list of safe callback values, invoke a callback, and validate the callback against the list of safe callback values to determine a status of the callback. The status of the callback is one of safe and unsafe. Additionally, the processor is configured to execute the callback responsive to determining the status of the callback is safe. The processor is also configured to abort the callback responsive to determining the status of the callback is unsafe.