Hash-Based Page Integrity Validation in Distributed Memory Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-node computer systems, existing technologies lack effective methods to validate program execution and detect changes in shared memory pages, which can lead to security vulnerabilities and inconsistencies during program execution.
Innovation Solution
A method and system that involve calculating and comparing hash values for pages of a program stored in remote memory, allowing the first computer system to verify the integrity of pages by checking if they have changed, and stopping program execution if changes are detected, ensuring page validity and security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hash validation is performed for every page access from remote memory, then page integrity and security are improved, but system performance and execution speed deteriorate due to repeated hash calculations and comparisons
Solution Approach 1:
The patent calculates and stores hash values for all pages of the program before execution begins. This preliminary action allows the system to have validation data ready in advance, eliminating the need for repeated hash calculations during page access and reducing the performance overhead during actual execution.
Solution Approach 2:
The patent creates a local copy of the program pages in the first computer system's memory alongside a copy in the second computer system. By working with local copies and comparing their hash values, the system avoids repeatedly accessing remote memory and performing validation checks on every access, thereby improving execution speed while maintaining integrity verification.
2Reliability
If the entire program is loaded into local memory before execution, then page validity can be ensured, but memory usage and system resource consumption increase
Solution Approach 1:
The patent divides the program into individual pages and loads only the necessary pages into local memory as needed during execution, rather than loading the entire program at once. This segmentation approach allows the system to maintain validation capability for the whole program while minimizing local memory consumption by loading pages on-demand.
Solution Approach 2:
The patent performs validation on a partial basis - validating pages individually as they are accessed rather than validating the entire program upfront. This partial validation approach reduces the memory burden while still ensuring program validity through hash comparison of only the necessary pages at each access point.
3Adaptability or versatility
If remote memory pages are accessed frequently during execution, then program functionality is maintained, but the risk of detecting unauthorized modifications increases system complexity
Solution Approach 1:
The patent introduces hash values as an intermediary mechanism for validation. Instead of directly comparing entire pages or implementing complex validation protocols, the system uses hash values as a simplified intermediary that represents page integrity. This intermediary approach maintains program functionality while reducing validation system complexity through efficient hash-based comparison.
Data Source
AI summary
A method for validating program execution. The method involves identifying a program from a second computer system, obtaining, by a first computer system, a first copy of a page for a file of the program from a second computer system, calculating a hash value for the first copy, storing the first copy in a local memory of the first computer system, storing the hash value for the first copy, and executing the program on the first computer system, where the first copy is removed from the local memory during execution of the program. The method further involves obtaining a second copy of the page from the second computer system, calculating a hash for the second copy, determining whether the hash value for the first copy is equal to the hash value for the second copy, and performing an appropriate action in response to the determination.


