PC-Relative Call Tag Checking for Memory Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory integrity and memory corruption issues in edge computing and IoT networks, particularly in complex mobility settings, are not adequately addressed by current techniques, which are prone to attacks and vulnerabilities such as buffer overflows, allowing attackers to redirect program execution and subvert detection.
Innovation Solution
Implement memory tagging technology (MTT) to verify the integrity of procedure calls by embedding a tag (color field) into PC-relative call instructions, ensuring that pointers and function calls are validated against a color table, thereby preventing unauthorized access and maintaining memory integrity across domains or boundaries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory tagging technology is implemented to verify procedure calls, then memory integrity and system security are improved, but device complexity and implementation difficulty increase
Solution Approach 1:
The patent replaces complex hardware-based memory protection mechanisms with a software-based tag checking system. The processor uses existing instruction fields (such as the sign bit or unused bits in address fields) to store tags, eliminating the need for specialized hardware tags while achieving the same memory integrity protection goals.
Solution Approach 2:
The patent makes existing processor components multi-functional by using general-purpose instruction fields for dual purposes: their original addressing function plus storing memory tags. This allows the same hardware structure to serve both traditional memory addressing and security verification without adding dedicated components.
2Measurement precision
If comprehensive memory checking is performed on all procedure calls, then detection precision of memory corruption is improved, but processing speed and productivity decrease
Solution Approach 1:
The patent applies tag checking selectively rather than universally - focusing verification efforts on critical procedure calls and memory regions where corruption is most likely to occur or be most damaging. This partial application of checking maintains high detection precision for critical paths while minimizing overhead on routine operations.
Solution Approach 2:
The patent enables the processor to quickly skip or bypass tag verification for trusted, frequently-called procedures or internal functions where the overhead would be excessive. This allows critical security checks to be performed rapidly or omitted entirely in contexts where they would create unacceptable performance bottlenecks.
Data Source
AI summary
System and techniques for tag checking procedure calls include specifying a value for a color in a program-counter relative (PC-relative) call instruction from a call site to a call target. A pointer is provided to steer the PC-relative call instruction to the call target based on the color. A function call is generated to the call target based on the pointer. Other systems, methods and apparatuses are also described.


