English

Sockeye: a language for analyzing hardware documentation

Cryptography and Security 2026-04-21 v2 Operating Systems Programming Languages

Abstract

The ever increasing complexity of hardware platforms poses a challenge to systems programmers. Correctly programming a multitude of components, providing functionality and security, is difficult: semantics of individual units are described in prose, underspecified, and prone to inaccuracies. Rigorous statements about platform security are often impossible. We introduce a domain-specific language to describe hardware semantics, assumptions about software behavior, and desired security properties. We then create machine-readable specifications for a diverse set of eight platforms from their reference manuals, and formally prove their (in-)security. In addition to security proofs about memory confidentiality and integrity, we discover a handful of documentation errors. Finally, our analysis also revealed a vulnerability on a real-world server chip, which was confirmed by the vendor to apply to a wide family of deployed network appliances. Our tooling offers system integrators a way of formally describing security properties for whole platforms, and the means to find counterexamples, or proving them correct.

Keywords

Cite

@article{arxiv.2510.27485,
  title  = {Sockeye: a language for analyzing hardware documentation},
  author = {Ben Fiedler and Samuel Gruetter and Timothy Roscoe},
  journal= {arXiv preprint arXiv:2510.27485},
  year   = {2026}
}
R2 v1 2026-07-01T07:15:39.100Z