Formally Verified Hardening of C Programs against Hardware Fault Injection

The work

AuthorsBasile Pesin; Sylvain Boulmé; David Monniaux; Marie-Laure Potet
Editors
Typeinproceedings
Year2025
Citekeypesin2025formally

Where it appeared

Published in14th ACM SIGPLAN International Conference on Certified Programs and Proofs (CPP 2025)

Related

Distinct fromjafri2019formal
Distinct frommichelland2026quantifying
Distinct fromtollec2024formal

From bibtex.

Abstract

A fault attack is a malicious manipulation of the hardware (e.g., electromagnetic or laser pulse) that modifies the behavior of the software. Fault attacks typically target sensitive applications such as cryptography services, authentication, boot-loaders or firmware updaters. They can be defended against by adding countermeasures, that is, control flow checks and redundancies, either in the hardware, or in the software running on it. In particular, software countermeasures may be added automatically during compilation. In this paper, we describe a formally verified implementation of this approach in the CompCert verified compiler for the C language. We implemented two existing countermeasures protecting the control flow of the program as program transformations over a middle-end intermediate representation of CompCert, RTL. We proved that these countermeasures are correct, that is, they do not change the observable behavior of the program during an execution without fault injection. We then modeled the effect of a fault on the behavior of the program as an extension of the semantic model of RTL. We used this new model to formally prove the efficacy of the countermeasure: all attacks are either caught, or produce no observable effects. In addition to this formal reasoning, we evaluated the protected program using Lazart, a tool for symbolic fault injection, and measured the effect of optimizations on security and performance.

A copy is held

pdf, 652.2 kB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via bibtex
Added2026-09-17 11:42 UTC
Approved bya person 2026-09-17 14:31 UTC

Cite it as

@inproceedings{pesin2025formally,
  title        = {Formally Verified Hardening of C Programs against Hardware Fault Injection},
  author       = {Basile Pesin and Sylvain Boulmé and David Monniaux and Marie-Laure Potet},
  year         = {2025},
  booktitle    = {14th ACM SIGPLAN International Conference on Certified Programs and Proofs (CPP 2025)},
  doi          = {10.1145/3703595.3705880},
}

This record lives at https://refs.drheap.org/pesin2025formally/ and will keep doing so.