Compiler-Inserted Encrypted Pointers for Secure Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems face challenges in securely managing memory access across multiple processes, particularly in preventing malicious code from accessing unauthorized memory regions, which can compromise security and lead to unauthorized memory access.
Innovation Solution
The implementation of a compiler that inserts encryption and decryption instructions into computer programs to authenticate and authorize memory access operations, using encrypted pointers and capabilities to control access to shared memory regions, ensuring that only authorized processes can access specific memory locations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple processes share memory regions to improve system efficiency and resource utilization, then productivity increases, but security vulnerabilities increase allowing malicious code to access unauthorized memory
Solution Approach 1:
The patent introduces encrypted pointers as an intermediary mechanism between processes and shared memory regions. These encrypted pointers act as secure mediators that allow authorized access to shared memory while preventing unauthorized access, thus resolving the contradiction between maintaining shared memory efficiency and preventing security vulnerabilities.
Solution Approach 2:
The patent transforms regular memory pointers into encrypted pointers by applying cryptographic transformations. This parameter change in the pointer structure enables the system to maintain shared memory access functionality while adding security constraints that prevent malicious code from accessing unauthorized memory regions.
2Reliability
If encryption and decryption instructions are inserted into computer programs to authenticate memory access, then security improves, but device complexity increases
Solution Approach 1:
The patent implements self-service mechanisms where the encryption and decryption operations are automatically performed by the system itself through specialized instructions. The encrypted pointers self-validate through decryption operations, eliminating the need for external security verification systems and reducing overall system complexity despite adding cryptographic functionality.
3Object-affected harmful factors
If encrypted pointers are used to restrict memory access to authorized processes only, then security against malicious code improves, but ease of operation decreases due to additional authentication overhead
Solution Approach 1:
The patent replaces traditional mechanical memory access operations with cryptographic operations. Instead of direct pointer dereferencing, the system uses encryption and decryption instructions that automatically verify authorization. This substitution maintains security while streamlining the access process through hardware-supported cryptographic instructions.
Data Source
AI summary
Apparatuses for computing are disclosed herein. In embodiments, an apparatus may include one or more processors, a memory, and a compiler to be operated by the one or more processors to compile a computer program. The compiler may include one or more analyzers to parse and analyze source code of the computer program that generates pointers or de-references pointers. The compiler may also include a code generator coupled to the one or more analyzers to generate executable instructions for the source code of the computer program including insertion of additional encryption or decryption executable instructions into the computer program, based at least in part on a result of the analysis, to authenticate memory access operations of the source code.


