REVIEW 3 major objections 4 minor 66 references
A Verified Architecture for Proofs of Execution on Remote Devices under Full Software Compromise
T0 review · 3 major / 4 minor · reviewed 2026-08-14 · deepseek-v4-flash
Pith's one-line read VAPE is a formally verified architecture that lets a remote verifier obtain an unforgeable proof that a low-end device executed a specified program atomically and that its reported output came from that execution, even if all device…
desk verdict VAPE is the first credible low-cost PoX architecture, but the proof as written doesn't bind OR contents to execution, and LTL 9 has a self-contradictory typo. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The load-bearing object is the EXEC flag and the hardware module that computes it from seven monitored signals: PC, memory read/write enables and addresses, DMA enable and address, and the interrupt signal. The flag is read-only to software and is included as part of the attested metadata region. Ten LTL invariants, numbered 3 through 12 in Definition 6, capture the required behavior: immutable code during and after execution, atomic entry at the first instruction and exit only at the last instruction, no interrupts during execution, protection of the output and metadata regions, sane region bounds, reset clearing EXEC, and the rule that the only way EXEC returns to 1 is a fresh start at the first instruction. An automated model checker verifies each Verilog sub-module against these invariants; a theorem-prover proof shows their conjunction implies the formal correctness definition; and a cryptographic reduction shows that underlying RA security plus EXEC correctness implies PoX security. The mechanism's work is to make the attestation MAC a witness to execution state rather than merely to memory contents.
What would settle it
On the FPGA implementation, load a program into the execution region and, while the CPU is inside that region, have DMA write to an instruction word in the region; if the resulting attestation still verifies with EXEC=1, the DMA invariant is not enforced. A second check is to trigger an interrupt in the middle of execution, return to a different instruction inside the execution region, and see whether any accepted proof can be produced; a valid proof would contradict the atomicity invariant.
Extended reading notes
Core claim
The discovery is that secure Proofs of Execution can be built for low-end MCUs by enforcing a small set of temporal invariants in hardware and binding them to an existing verified remote-attestation MAC. VAPE's hardware watches the program counter, memory read/write enables and addresses, DMA enable and address, and interrupt signal, and maintains a software-unwritable EXEC flag. EXEC starts at 0, becomes 1 only when the PC enters the execution region at its first instruction under no violation, and drops to 0 on any write to the code region or metadata, any interrupt or reset during execution, any out-of-range PC transition, or any DMA access or activity during execution. The attested memory includes the execution region, the output region, and the metadata region holding the challenge and region bounds, so the HMAC-based proof is valid only if EXEC is 1 at attestation time. The paper proves that the LTL invariants plus the machine model imply this EXEC correctness, and that this correctness, composed with the security of the underlying verified remote-attestation module, implies the formal PoX security definition.
Load-bearing premise
The CPU architecture strictly adheres to and correctly implements its specification, so the monitored PC, memory-access, DMA, and interrupt signals always truthfully reflect the operations the silicon actually performs and no relevant operation goes unmodeled.
Editorial extensions
If this is right
- A verifier can trust both that the requested code ran and that the returned output is authentic, with no Trusted Platform Module, trusted hypervisor, or control-flow enumeration required.
- Verification of a proof costs no more than verifying a standard remote-attestation response for the same code, because the proof is the attested MAC over the code, output, and metadata.
- Proofs are bound to the challenge window, so old recordings of valid executions cannot be replayed as fresh responses.
- Authenticated sensing and actuation follow directly: sensor readings or actuation writes placed in the output region are covered by the same unforgeable MAC, so malware cannot report fabricated values or ignore commands without detection.
- The architecture adds no instructions and no ISA changes, so existing MSP430 and ATMega-class software can be made PoX-capable with modest linker and entry-exit transformation, at roughly 2% additional registers and 12% additional LUTs.
Reading between the lines
- Interrupt-driven and real-time code could be supported by extending the invariants to require that all interrupt handlers be immutable and included in the attested region; the paper sketches this as a relaxation but does not verify it.
- The same EXEC-flag-plus-attestation pattern could be combined with control-flow measurements to certify not only that a program ran but which path it took; that would add hardware cost the paper avoids.
- The guarantees are only as strong as the signal-interface fidelity: a concrete chip that latches, filters, or suppresses the monitored signals could break the proof despite a pristine LTL model, so testing the synthesized design under fault injection would be a natural next step.
- Because the security reduction bottoms out in the underlying remote-attestation module's MAC security, replacing the cryptographic core with a different MAC would require re-verifying the RA composition, not just VAPE's hardware invariants.
Signed reviews
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper introduces VAPE, a hardware/software architecture that augments the formally verified VRASED remote-attestation design to provide remote proofs of execution (PoX) on low-end MCUs under full software compromise. The authors formalize a PoX security game, specify a set of LTL invariants for the VAPE hardware, model-check the Verilog implementation with NuSMV, compose the LTL invariants into an end-to-end correctness condition via a SPOT proof, and reduce VAPE security to VRASED security in Appendix B. They also report an FPGA implementation on MSP430 with modest hardware overhead and a proof-of-concept fire-sensor application. The paper claims to be the first verified PoX architecture for low-end embedded devices.
Significance. If the security claim holds, this is a valuable contribution: it extends formally verified remote attestation to proof-of-execution with authenticated outputs, an important primitive for trustworthy sensing and actuation in low-end CPS/IoT devices. The strengths of the paper include the public RTL implementation, the use of model checking and a theorem prover for the hardware invariants, the explicit composition with a previously verified RA architecture, and the concrete evaluation on real hardware. The overhead figures (2% registers, 12% LUTs) are compelling. However, the formal guarantee as stated has a gap concerning the provenance of OR contents, and at least one printed LTL formula is inconsistent with its stated purpose. These issues affect the central security theorem and must be resolved before the claims can be accepted.
major comments (3)
- [§5.2/§6.3/Appendix B] The formal correctness condition and the enforced LTL properties do not require OR to be written during ER execution. Definition 5 condition 4 and LTL 7 constrain OR modifications only after the state S0 in which PC=ERmin; neither prohibits pre-loading OR contents before execution starts. An adversary with full software control can therefore pre-load OAdv into OR while EXEC=0, then execute any S that never stores to OR (for example, a trivial ER consisting of a jump from ERmin to ERmax). All LTL properties 3–12 are satisfied, EXEC becomes 1, the attestation covers OAdv, and XVerify accepts the pair (H,OAdv). But OAdv was not produced by XAtomicExec, whose output for this S is empty, so Definition 2 case (b) is violated. The reduction in Appendix B only rules out modification of OR after execution completes (Cond3) and does not address pre-execution placement. The paper must either add a mechanism and invariant that makes OR contents execution-derived (e.g., hardware zeroization of OR at ERmin, or a requirement that every OR byte is written during execution), or weaken the security definition; with the current properties the PoX guarantee does not follow.
- [Definition 6, LTL 9] LTL 9 is printed as G{ERmin≤CRmax ∨ ERmax>CRmax → ¬EXEC}. Because the antecedent is a disjunction, any pair of non-overlapping ER and CR regions satisfies at least one disjunct (if ER lies below CR, then ERmin≤CRmax; if ER lies above CR, then ERmax>CRmax), so the formula forces EXEC=0 in every valid configuration. This cannot be the intended 'ER and CR do not overlap' property and, as printed, would make every proof of execution invalid. The authors should correct the formula (likely to a conjunction or a negated overlap condition) and re-run the NuSMV verification and the SPOT proof of Theorem 1.
- [Definition 4 and Appendix B] Definition 4 states that MR, CR, AR, KR, XS, and METADATA are non-overlapping memory regions, but the construction and the reduction in Appendix B instantiate AR as a region containing ER, OR, and METADATA (METADATA⊂AR). If AR is the VRASED attested region, it must overlap METADATA; if AR is instead a separate fixed region, the reduction's use of AR as the attested union is inconsistent with the machine model. This needs to be resolved in the formal notation before the composition theorem can be assessed.
minor comments (4)
- [Abstract/§1] There are several typos, e.g., 'ARV ATMega' should be 'AVR ATmega' and 'commads' should be 'commands'; these should be corrected in a revision.
- [§6.3] The notation X(PC)∈ER is used without definition; the surrounding text should define X(PC) as the value of the program counter in the next cycle for clarity.
- [§6.3/Figure 3] Figure 3 refers to t(CRmax) and Hready, but these quantities are not defined in the caption or the surrounding text; a short explanation would improve readability.
- [§7.2] The caption of Figure 4c states that VAPE's dedicated RAM corresponds to VRASED's exclusive stack, but this is not explained in the text; clarify what is being compared.
Circularity Check
No significant circularity: the security proof is a compositional reduction to VRASED's independently machine-checked RA property, not an input-equivalent derivation.
full rationale
The derivation chain is: (1) formal LTL properties 3-12 imply Definition 5 (Theorem 1); and (2) Definition 5 plus VRASED's RA security implies the PoX security game (Theorem 2). Step (1) is a machine-checked implication over a stated machine model; Definition 5 is not stipulated to be the same formula as LTLs 3-12, and no empirical parameter is fitted. Step (2) is a cryptographic reduction: any PoX adversary is converted into an adversary against VRASED's RA game, and VRASED is a published, formally verified architecture whose assumptions (monitored bus signals, ROM SW-Att, HMAC) do not include PoX; under the stated rules this citation is independent support and does not raise the circularity score. The pre-load-OR concern is a soundness gap in Definition 5, not a circularity: the proof treats OR contents as execution-produced because OR is never modified outside ER execution, but Definition 5 never requires OR to be written during ER execution. This is an unmodeled attack, not an equivalence between output and input by construction.
Assumptions & free parameters
assumptions (6)
- domain assumption CPU architecture strictly adheres to and correctly implements its specification, including PC, memory access, DMA, reset, and interrupt signals (axioms A1-A5)
- domain assumption VRASED is a secure remote attestation architecture per Definition 7
- standard math HMAC is an existentially unforgeable MAC under KDF-derived keys
- domain assumption The machine model in Definition 4 captures all MCU behaviors relevant to memory modification (Wen/Daddr, DMAen/DMAaddr, interrupts)
- domain assumption Memory regions MR, CR, AR, KR, XS, and METADATA are non-overlapping
- standard math Formal verification tools (NuSMV, Verilog2SMV, SPOT) are correct
invented entities (3)
-
VAPE hardware module (HW-Mod extension)
-
EXEC flag
-
METADATA memory region
Cite this review
Pith. "Pith review of A Verified Architecture for Proofs of Execution on Remote Devices under Full Software Compromise." pith.science (2026). https://pith.science/paper/YSN4BRM6
@misc{pith2026190802444,
author = {Pith},
title = {Pith review of: A Verified Architecture for Proofs of Execution on Remote Devices under Full Software Compromise},
year = {2026},
howpublished = {\url{https://pith.science/paper/YSN4BRM6}},
note = {Machine review of arXiv:1908.02444}
}
read the original abstract
Modern society is increasingly surrounded by, and accustomed to, a wide range of Cyber-Physical Systems (CPS), Internet-of-Things (IoT), and smart devices. They often perform safety-critical functions, e.g., personal medical devices, automotive CPS and industrial automation (smart factories). Some devices are small, cheap and specialized sensors and/or actuators. They tend to run simple software and operate under control of a more sophisticated central control unit. The latter is responsible for the decision-making and orchestrating the entire system. If devices are left unprotected, consequences of forged sensor readings or ignored actuation commands can be catastrophic, particularly, in safety-critical settings. This prompts the following three questions: (1) How to trust data produced by a simple remote embedded device? and (2) How to ascertain that this data was produced via execution of expected software? Furthermore, (3) Is it possible to attain (1) and (2) under the assumption that all software on the remote device could be modified or compromised? In this paper we answer these questions by designing, proving security of, and formally verifying, VAPE: Verified Architecture for Proofs of Execution. To the best of our knowledge, this is the first of its kind result for low-end embedded systems. Our work has a range of applications, especially, to authenticated sensing and trustworthy actuation, which are increasingly relevant in the context of safety-critical systems. VAPE architecture is publicly available and our evaluation demonstrates that it incurs low overhead, affordable even for lowest-end embedded devices, e.g., those based on MSP430 or ARV ATMega processors.
Figures
Figures from the paper (4 more)
Reference graph
Works this paper leans on
-
[1]
C-flat: Control-flow attestation for embedded systems software
Tigist Abera et al. C-flat: Control-flow attestation for embedded systems software. In CCS ’16, 2016
work page 2016
-
[2]
Anonymous Authors. V APE source code. https: //www.dropbox.com/sh/9id1ntfrnjy40tc/ AADONZgUdibXlONxSMdlm6npa, 2018
work page 2018
-
[3]
The security impact of a new cryptographic library
Daniel J Bernstein, Tanja Lange, and Peter Schwabe. The security impact of a new cryptographic library. In In- ternational Conference on Cryptology and Information Security in Latin America, 2012
work page 2012
-
[4]
Implementing TLS with verified cryptographic security
Karthikeyan Bhargavan, Cédric Fournet, Markulf Kohlweiss, Alfredo Pironti, and Pierre-Yves Strub. Implementing TLS with verified cryptographic security. In SP, 2013
work page 2013
-
[5]
Vale: Verifying high- performance cryptographic assembly code
Barry Bond, Chris Hawblitzel, Manos Kapritsos, K Rus- tan M Leino, Jacob R Lorch, Bryan Parno, Ashay Rane, Srinath Setty, and Laure Thompson. Vale: Verifying high- performance cryptographic assembly code. In USENIX, 2017
work page 2017
-
[6]
Remote attestation for low-end embedded de- vices: the prover’s perspective
Ferdinand Brasser, Ahmad-Reza Sadeghi, and Gene Tsudik. Remote attestation for low-end embedded de- vices: the prover’s perspective. InDAC, 2016
work page 2016
-
[7]
F. Brasser et al. Tytan: Tiny trust anchor for tiny devices. In DAC, 2015
work page 2015
-
[8]
Xavier Carpent, Karim Eldefrawy, Norrathep Rat- tanavipanon, and Gene Tsudik. Temporal consistency of integrity-ensuring computations and applications to embedded systems security. In ASIACCS, 2018
work page 2018
Show all 66 references
-
[9]
Temporal consistency of integrity-ensuring computations and applications to embedded systems security
Xavier Carpent, Karim Eldefrawy, Norrathep Rat- tanavipanon, and Gene Tsudik. Temporal consistency of integrity-ensuring computations and applications to embedded systems security. In Proceedings of the 2018 on Asia Conference on Computer and Communications Security, pages 313...
2018
-
[10]
ERASMUS: Efficient remote attestation via self-measurement for unattended settings
Xavier Carpent, Norrathep Rattanavipanon, and Gene Tsudik. ERASMUS: Efficient remote attestation via self-measurement for unattended settings. In Design, Automation and Test in Europe (DATE), 2018
2018
-
[11]
Remote attestation of iot devices via SMARM: Shuffled measurements against roving malware
Xavier Carpent, Norrathep Rattanavipanon, and Gene Tsudik. Remote attestation of iot devices via SMARM: Shuffled measurements against roving malware. In IEEE International Symposium on Hardware Oriented Security and Trust (HOST), 2018
2018
-
[12]
Iot- fuzzer: Discovering memory corruptions in iot through app-based fuzzing
Jiongyi Chen, Wenrui Diao, Qingchuan Zhao, Chaoshun Zuo, Zhiqiang Lin, XiaoFeng Wang, Wing Cheong Lau, Menghan Sun, Ronghai Yang, and Kehuan Zhang. Iot- fuzzer: Discovering memory corruptions in iot through app-based fuzzing. In NDSS, 2018
2018
-
[13]
NuSMV 2: An opensource tool for symbolic model checking
Alessandro Cimatti, Edmund Clarke, Enrico Giunchiglia, Fausto Giunchiglia, Marco Pistore, Marco Roveri, Roberto Sebastiani, and Armando Tacchella. NuSMV 2: An opensource tool for symbolic model checking. In In- ternational Conference on Computer Aided Verification, pages 359–36...
2002
-
[14]
Nusmv 2: An opensource tool for symbolic model checking
Alessandro Cimatti, Edmund Clarke, Enrico Giunchiglia, Fausto Giunchiglia, Marco Pistore, Marco Roveri, Roberto Sebastiani, and Armando Tacchella. Nusmv 2: An opensource tool for symbolic model checking. In In- ternational Conference on Computer Aided Verification, pages 359–36...
2002
-
[15]
Sanc- tum: Minimal hardware extensions for strong software isolation
Victor Costan, Ilia Lebedev, and Srinivas Devadas. Sanc- tum: Minimal hardware extensions for strong software isolation. In 25th{USENIX} Security Symposium ({USENIX} Security 16), 2016
2016
-
[16]
A large-scale analysis of the security of embedded firmwares
Andrei Costin, Jonas Zaddach, Aurélien Francillon, and Davide Balzarotti. A large-scale analysis of the security of embedded firmwares. In 23rd{USENIX} Security Sym- posium ({USENIX} Security 14), pages 95–110, 2014
2014
-
[17]
Vrased: A verified hardware/software co-design for re- mote attestation
Ivan De Oliveira Nunes, Karim Eldefrawy, Norrathep Rattanavipanon, Michael Steiner, and Gene Tsudik. Vrased: A verified hardware/software co-design for re- mote attestation. USENIX Security’19 (To appear). Pre-print available at: https://arxiv.org/abs/ 1811.00175, 2019
2019 arXiv
-
[18]
Litehax: lightweight hardware- assisted attestation of program execution
Ghada Dessouky, Tigist Abera, Ahmad Ibrahim, and Ahmad-Reza Sadeghi. Litehax: lightweight hardware- assisted attestation of program execution. In 2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pages 1–8. IEEE, 2018
2018
-
[19]
Lo-fat: Low-overhead control 14 flow attestation in hardware
Ghada Dessouky, Shaza Zeitouni, Thomas Nyman, An- drew Paverd, Lucas Davi, Patrick Koeberl, N Asokan, and Ahmad-Reza Sadeghi. Lo-fat: Low-overhead control 14 flow attestation in hardware. In Proceedings of the 54th Annual Design Automation Conference 2017 , page 24. ACM, 2017
2017
-
[20]
Spot 2.0—a framework for ltl and ω-automata manipulation
Alexandre Duret-Lutz, Alexandre Lewkowicz, Amaury Fauchille, Thibaud Michaud, Etienne Renault, and Lau- rent Xu. Spot 2.0—a framework for ltl and ω-automata manipulation. In International Symposium on Automated Technology for Verification and Analysis, pages 122–129. Springer, 2016
2016
-
[21]
HYDRA: hybrid design for remote attestation (using a formally verified microkernel)
Karim Eldefrawy, Norrathep Rattanavipanon, and Gene Tsudik. HYDRA: hybrid design for remote attestation (using a formally verified microkernel). In Wisec. ACM, 2017
2017
-
[22]
SMART: Secure and minimal architecture for (establishing dynamic) root of trust
Karim Eldefrawy, Gene Tsudik, Aurélien Francillon, and Daniele Perito. SMART: Secure and minimal architecture for (establishing dynamic) root of trust. InNDSS. Internet Society, 2012
2012
-
[23]
SMART: Secure and minimal architecture for (establishing a dynamic) root of trust
Karim Eldefrawy et al. SMART: Secure and minimal architecture for (establishing a dynamic) root of trust. In NDSS, 2012
2012
-
[24]
A minimalist approach to re- mote attestation
Aurélien Francillon et al. A minimalist approach to re- mote attestation. In DATE, 2014
2014
-
[25]
openMSP430, 2009
Olivier Girard. openMSP430, 2009
2009
-
[26]
Ironclad apps: End-to-end security via automated full- system verification
Chris Hawblitzel, Jon Howell, Jacob R Lorch, Arjun Narayan, Bryan Parno, Danfeng Zhang, and Brian Zill. Ironclad apps: End-to-end security via automated full- system verification. In OSDI, volume 14, pages 165–181, 2014
2014
-
[27]
SeED: secure non-interactive attestation for embedded devices
Ahmad Ibrahim, Ahmad-Reza Sadeghi, and Shaza Zeitouni. SeED: secure non-interactive attestation for embedded devices. In ACM Conference on Security and Privacy in Wireless and Mobile Networks (WiSec), 2017
2017
-
[28]
Intel Software Guard Extensions (Intel SGX)
Intel. Intel Software Guard Extensions (Intel SGX)
-
[29]
Verilog2SMV: A tool for word-level verification
Ahmed Irfan, Alessandro Cimatti, Alberto Griggio, Marco Roveri, and Roberto Sebastiani. Verilog2SMV: A tool for word-level verification. In Design, Automation & Test in Europe Conference & Exhibition (DATE), 2016, pages 1156–1159. IEEE, 2016
2016
-
[30]
Establishing the genuinity of remote computer systems
Rick Kennell et al. Establishing the genuinity of remote computer systems. In USENIX, 2003
2003
-
[31]
seL4: Formal verification of an OS kernel
Gerwin Klein, Kevin Elphinstone, Gernot Heiser, June Andronick, David Cock, Philip Derrin, Dhammika Elka- duwe, Kai Engelhardt, Rafal Kolanski, Michael Norrish, Thomas Sewell, Harvey Tuch, and Simon Winwood. seL4: Formal verification of an OS kernel. In Proceed- ings of the ACM...
2009
-
[32]
TrustLite: A security architec- ture for tiny embedded devices
Patrick Koeberl, Steffen Schulz, Ahmad-Reza Sadeghi, and Vijay Varadharajan. TrustLite: A security architec- ture for tiny embedded devices. In EuroSys. ACM, 2014
2014
-
[33]
Koeberl et al
P. Koeberl et al. TrustLite: A security architecture for tiny embedded devices. In EuroSys, 2014
2014
-
[34]
Kovah et al
X. Kovah et al. New results for timing-based attestation. In IEEE S&P ’12, 2012
2012
-
[35]
Formal verification of a realistic compiler
Xavier Leroy. Formal verification of a realistic compiler. Communications of the ACM, 52(7):107–115, 2009
2009
-
[36]
McCune, and Adrian Perrig
Yanlin Li, Jonathan M. McCune, and Adrian Perrig. Viper: Verifying the integrity of peripherals’ firmware. In CCS. ACM, 2011
2011
-
[37]
Sancus 2.0: A low-cost security architecture for iot devices
Job Noorman, Jo Van Bulck, Jan Tobias Mühlberg, Frank Piessens, Pieter Maene, Bart Preneel, Ingrid Ver- bauwhede, Johannes Götzfried, Tilo Müller, and Felix Freiling. Sancus 2.0: A low-cost security architecture for iot devices. ACM Trans. Priv. Secur., 20(3):7:1–7:33, July 2017
2017
-
[38]
Towards systematic design of collective remote attestation protocols
Ivan De Oliveira Nunes, Ghada Dessouky, Ahmad Ibrahim, Norrathep Rattanavipanon, Ahmad-Reza Sadeghi, and Gene Tsudik. Towards systematic design of collective remote attestation protocols. In ICDCS, 2019
2019
-
[39]
Secure code update for embedded devices via proofs of secure erasure
Daniele Perito and Gene Tsudik. Secure code update for embedded devices via proofs of secure erasure. In ESORICS, 2010
2010
-
[40]
Petroni et al
Jr. Petroni et al. Copilot — A coprocessor-based kernel runtime integrity monitor. In USENIX, 2004
2004
-
[41]
Tamper resistance mechanisms for secure embedded systems
Srivaths Ravi, Anand Raghunathan, and Srimat Chakrad- har. Tamper resistance mechanisms for secure embedded systems. In VLSI Design, 2004. Proceedings. 17th Inter- national Conference on, pages 605–611. IEEE, 2004
2004
-
[42]
Scuba: Secure code update by attestation in sensor networks
Arvind Seshadri, Mark Luk, Adrian Perrig, Leendert van Doorn, and Pradeep Khosla. Scuba: Secure code update by attestation in sensor networks. In ACM workshop on Wireless security, 2006
2006
-
[43]
Seshadri et al
A. Seshadri et al. SW ATT: Software-based attestation for embedded devices. In IEEE S&P ’04, 2004
2004
-
[44]
Seshadri et al
A. Seshadri et al. Pioneer: Verifying code integrity and enforcing untampered code execution on legacy systems. In ACM SOSP, 2005
2005
-
[45]
Trusted platform module (tpm), 2017
Trusted Computing Group. Trusted platform module (tpm), 2017. 15
2017
-
[46]
Trusted Computing Group (TCG). Website. http://www.trustedcomputinggroup.org, 2015
2015
-
[47]
Atrium: Runtime attestation resilient under memory attacks
Shaza Zeitouni, Ghada Dessouky, Orlando Arias, Dean Sullivan, Ahmad Ibrahim, Yier Jin, and Ahmad-Reza Sadeghi. Atrium: Runtime attestation resilient under memory attacks. In Proceedings of the 36th International Conference on Computer-Aided Design, pages 384–391. IEEE Press, 2017
2017
-
[48]
Hacl*: A verified modern cryptographic library
Jean-Karim Zinzindohoué, Karthikeyan Bhargavan, Jonathan Protzenko, and Benjamin Beurdouche. Hacl*: A verified modern cryptographic library. In Proceed- ings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, pages 1789–1806. ACM, 2017. APPENDIX A Sub-Mo...
2017
-
[49]
EXEC is 0 whenever an FSM transitions to NotExec state
-
[50]
EXEC remains 0 until a transition leaving NotExec state is triggered
-
[51]
EXEC is 1 in all other states
-
[52]
Figure 6 represents a verified model enforcing LTLs 4-6, corresponding to the high-level property EP2- Ephemeral Atomicity
Sub-modules composition: Since all PoX properties must simultaneously hold, the value of EXEC produced by VAPE is the conjunction (logical AND) of all sub- modules’ individualEXEC flags. Figure 6 represents a verified model enforcing LTLs 4-6, corresponding to the high-level pro...
-
[53]
The system reached state S0 in which the software stored in ER started executing from its first instruction ( PC = ERmin)
-
[54]
In the interval between S0 and S1 PC remained executing instructions within ER, there were no interrupts, no resets, and DMA remained inactive
The system eventually reached a state S1 when ER fin- ished executing (PC = ERmax). In the interval between S0 and S1 PC remained executing instructions within ER, there were no interrupts, no resets, and DMA remained inactive
-
[55]
In the interval between S0 and S2 the memory regions of METADATA and ER were not modified
The system eventually reached a state S2 when XProve started executing (PC = CRmin). In the interval between S0 and S2 the memory regions of METADATA and ER were not modified
-
[56]
The first two properties to be noted are LTL 12 and LTL 11
In the interval between S0 and S2 the OR memory region was only modified by ER’s software execution (PC∈ ER∨¬ Modify_Mem(OR)). The first two properties to be noted are LTL 12 and LTL 11. LTL 12 establishes the default state of EXEC is 0. LTL 11 enforces that the only possible wa...
-
[57]
So far we have argued that to have a token H that reflects EXEC = 1 the code contained in ER must have executed suc- cessfully
On the other hand, it is impossible to execute instructions of XProve (PC∈ CR) without leaving ER, because LTL 9 guarantees that ER and CR do not overlap, or EXEC = 0. So far we have argued that to have a token H that reflects EXEC = 1 the code contained in ER must have execute...
-
[58]
Setup: Adv is given oracle access to SW-Att calls
-
[59]
Challenge: A random challenge C hal← ${0,1}l is gener- ated and given to Adv
-
[60]
Response: Adv responds with a pair (M, σ), where σ is ei- ther forged by Adv, or is the result of calling SW-Att at some arbitrary time t
-
[61]
7.2 RA Security Definition: An RA scheme is considered secure if for all PPT adversaries Adv, there exists a negligible function negl such that: Pr[Adv, RA-game]≤ negl (l) Proof
Adv wins if and only if M ⁄= AR(t) and σ = HMAC(KDF (K ,C hal),M). 7.2 RA Security Definition: An RA scheme is considered secure if for all PPT adversaries Adv, there exists a negligible function negl such that: Pr[Adv, RA-game]≤ negl (l) Proof. Assume that AdvPoX is an adversa...
-
[62]
Let X(t) denote the content in memory region X at time t
METADATA⊂ AR; Doing so ensures that all sensitive memory regions used by VAPE are included among the inputs to VRASED’s attestation. Let X(t) denote the content in memory region X at time t. AdvRA can then be constructed using AdvPoX as follows:
-
[63]
AdvRA receives C hal from the challenger in step (2) of RA security game of Definition 7
-
[64]
It then calls AdvPoX in Case1.1
At arbitrary timet, AdvRA has 3 options to writeAR(t) = ARAdv and call AdvPoX: (a) Modify ER(t)⁄= S or OR(t)⁄= O or METADATA (t)⁄= METADATA V rf. It then calls AdvPoX in Case1.1. (b) Modify ER to be different from the range chosen by V rf. Therefore, METADATA (t)⁄= METADATA V ...
-
[65]
By construc- tion M⁄= ARAdv = AR(t), as required by Definition 7
AdvRA replies to the challenger with the pair (M,HAdv), where M corresponds to the values of S, O and METADATA V rf, matching HAdv and OAdv generated by AdvPoX. By construc- tion M⁄= ARAdv = AR(t), as required by Definition 7
-
[66]
exec.entry
Challenger will accept (M,HAdv) with the same non-negligible probability that AdvPoX has of producing ( HAdv,OAdv) such that XVerify(HAdv,OAdv,S ,C hal,·) = 1. C Executable Limitations We now discuss the limitations of our approach on the exe- cutable types. Shared libraries. ...
Reviewed August 14, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.