Runtime Attestation Tags for IoT Software Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing attestation schemes for IoT devices and sensor networks are inadequate in ensuring the integrity and security of software, particularly against control-flow and data-oriented attacks, which can compromise the entire network and lead to privacy leaks or false data reporting.
Innovation Solution
A runtime attestation scheme that records control flow without requiring a control-flow graph, allowing for the verification of program integrity and correctness of control flow, while also resisting data-oriented attacks. This scheme uses tags to measure control flow, enabling flexible and efficient attestation without program segmentation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional attestation schemes are used to verify software integrity, then basic security is provided, but the system is vulnerable to control-flow and data-oriented attacks
Solution Approach 1:
The patent inserts tags into the program code during the compilation or loading phase before execution. These tags are pre-positioned at specific locations to monitor control flow and data operations, enabling the system to detect attacks before they can compromise software integrity
Solution Approach 2:
The patent introduces tags as intermediary elements between the program code and the attestation mechanism. These tags act as mediators that capture and report control flow and data operations to the verifier, enabling indirect monitoring of program execution without modifying the core logic
2Object-affected harmful factors
If runtime attestation with tag collection is implemented, then protection against control-flow attacks is improved, but system complexity increases
Solution Approach 1:
The patent divides the attestation system into distinct components: tags inserted in the program code, a collection mechanism that gathers tag information during execution, and a verification module that processes the collected data. This segmentation allows each component to be independently optimized and managed
Solution Approach 2:
The program code itself participates in the attestation process by containing embedded tags that automatically collect execution information. The code serves its primary function while simultaneously providing attestation data, eliminating the need for separate monitoring infrastructure
3Object-affected harmful factors
If comprehensive tag collection is performed during program operation, then attack detection capability is enhanced, but processing overhead increases
Solution Approach 1:
The patent collects tag information selectively based on what is necessary for attestation purposes. Rather than monitoring all program operations, it focuses on specific tags at critical locations, performing only the essential measurements needed to detect control-flow and data-oriented attacks
Solution Approach 2:
The patent combines the tag collection process with normal program execution flow. The tags are collected during regular operation without requiring separate measurement phases, merging the attestation function with the program's primary execution tasks to minimize overhead
Data Source
AI summary
Methods and apparatus are disclosed for attesting integrity of a program. A method may comprise: sending to a second device a first request for validating integrity of a program on the second device; receiving a first response from the second device, wherein the first response comprises information regarding one or more tags collected during operation of the program; and attesting integrity of the program based on the first response and an expected response.


