Prover–Verifier Remote Attestation for Randomized Memory Layouts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing remote attestation systems struggle to verify the integrity of software after memory layout randomization, as the verifier device cannot determine the correct memory layout without prior knowledge, and existing solutions either mismatch measurement values or fail to verify integrity during execution.
Innovation Solution
A prover device determines and corrects reference positions in software based on placement information, transmitting this information to a verifier device, which then generates a measurement instruction for hash value calculation, allowing the verifier to verify the integrity of the software even after memory layout randomization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If address space layout randomization (ASLR) is introduced to mitigate vulnerability, then security is improved, but the integrity of software cannot be verified unless the remote side knows in advance what memory layout is adopted
Solution Approach 1:
The system performs preliminary actions by establishing a trusted relationship between prover and verifier devices before runtime. The verifier device stores expected hash values of software in advance, and the prover device transmits placement information and calculated hash values before execution. This allows the system to prepare verification mechanisms in advance without compromising ASLR's security benefits.
Solution Approach 2:
The patent introduces placement information as an intermediary element that bridges the verifier device and the software in memory. This placement information includes metadata about the software's location and characteristics, allowing the verifier to accurately measure the software's hash value without needing to know the actual memory layout in advance, thus resolving the contradiction between ASLR security and verification accuracy.
2Reliability
If memory layout randomization is applied, then vulnerability mitigation is improved, but existing remote attestation mechanisms fail to verify software integrity during execution
Solution Approach 1:
The system implements feedback mechanisms where the prover device transmits placement information and calculated hash values to the verifier device during execution. The verifier device uses this feedback to compare actual software hash values against expected values, enabling continuous verification of integrity while maintaining randomization benefits.
Solution Approach 2:
The patent changes the verification approach by focusing on parameter-independent verification. Instead of relying on fixed memory addresses or layouts, the system uses hash values and placement information that remain valid regardless of memory randomization. This allows integrity verification to work correctly even when memory layout changes dynamically.
Data Source
AI summary
A prover device that places software in a memory and executes the software determines placement information indicating a position in the memory at which the software is placed; corrects a reference position included in the software based on the placement information; places the software, in which the reference position has been corrected, at a position in the memory based on the placement information and executes the software; transmits the placement information to a verifier device; receives a measurement instruction from the verifier device; reads the software placed in the memory and calculates a hash value, based on the measurement instruction; and transmits the hash value to the verifier device.


