paperbot · PL 论文追踪

全部论文 待读 收藏

P2 (Dis)Proving Spectre Security with Speculation-Passing Style

用推测传递风格证明或证伪 Spectre 安全性
OOPSLA 10(OOPSLA1)2026匹配度 3/10 · 该论文是形式化验证/程序分析方向的工作(常量时间与推测常量时间验证),兼具理论(可靠性/完备性证明)与工程实现(EasyCrypt、Binsec/Rel、CTGrind),方法论上契合用户对'理论+工程'和'问题驱动'的偏好;但它既无 LLM/Agent 成分,也不涉及浮点程序分析、贝叶斯程序分析或 ML 系统,与用户画像的核心 PL↔AI 交叉方向基本无重叠。引用 0 inbox
Santiago Arranz-Olmos, Gilles Barthe, Lionel Blatter, Xingyu Xie, Zhiyuan Zhang
crossref: 2026-09-10

AI 速览

一句话:提出 Speculation-Passing Style 程序变换,将推测常量时间验证可靠完备地归约到常量时间验证。

推测常量时间(SCT)工具常由常量时间(CT)工具提升而来,但其精确定义和形式分析不足。本文提出 Speculation-Passing Style(SPS)程序变换,将 SCT 验证归约到 CT 验证:为程序引入表示攻击者可控预测的新输入,并令程序沿预测执行。该变换可靠且完备:程序 SCT 当且仅当其 SPS 变换 CT。作者将 SPS 与三种 CT 验证方法结合——归约到非干扰、断言安全和动态污点分析,并分别在 EasyCrypt、Binsec/Rel、CTGrind 中实现,在 Kocher 的 Spectre-v1 基准上评估,还讨论了扩展到其他 Spectre 变体和泄漏模型。

问题
检测 Spectre 的 SCT 工具通常被视为 CT 工具的提升,但这些提升很少被精确定义,也几乎未经过形式分析。
方法
提出 SPS 程序变换,把攻击者可控预测作为新输入并令程序遵循之,从而将 SCT 验证可靠完备地归约到 CT 验证;再与三类 CT 验证方法及现有工具结合。
评估
在 EasyCrypt、Binsec/Rel 和 CTGrind 上实现三种组合,并在 Kocher 的 Spectre-v1 基准、标准 CT 泄漏模型下评估。
原文摘要(Abstract)

Constant-time (CT) verification tools are commonly used for detecting potential side-channel vulnerabilities in cryptographic libraries. Recently, a new class of tools, called speculative constant-time (SCT) tools, has also been used for detecting potential Spectre vulnerabilities. In many cases, these SCT tools have emerged as liftings of CT tools. However, these liftings are seldom defined precisely and are almost never analyzed formally. The goal of this paper is to address this gap, by developing formal foundations for these liftings, and to demonstrate that these foundations can yield practical benefits. Concretely, we introduce a program transformation, coined Speculation-Passing Style (SPS), for reducing SCT verification to CT verification. Essentially, the transformation instruments the program with a new input that corresponds to attacker-controlled predictions and modifies the program to follow them. This approach is sound and complete, in the sense that a program is SCT if and only if its SPS transform is CT. Thus, we can leverage existing CT verification tools to prove SCT; we illustrate this by combining SPS with three standard methodologies for CT verification, namely reducing it to noninterference, assertion safety, and dynamic taint analysis. We realize these combinations with three existing tools, EasyCrypt, Binsec/Rel , and CTGrind , and we evaluate them on Kocher’s benchmarks for Spectre-v1. Our results focus on Spectre-v1 in the standard CT leakage model; however, we also discuss applications of our method to other variants of Spectre and other leakage models.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot3820,
  title = {(Dis)Proving Spectre Security with Speculation-Passing Style},
  author = {Santiago Arranz-Olmos and Gilles Barthe and Lionel Blatter and Xingyu Xie and Zhiyuan Zhang},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {OOPSLA1},
  year = {2026},
  doi = {10.1145/3798222}
}