paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Robustly Safe Compilation, an Efficient Form of Secure Compilation

鲁棒安全编译(RSC):一种高效的安全编译形式
TOPLAS 43(1)2021匹配度 2/10 · 该论文属于安全编译与形式化验证方向,与用户核心关注的 LLM/Agent 和静态分析/形式化验证交叉、浮点程序分析、贝叶斯程序分析均无直接关联;论文也未涉及 AI 或 LLM 工具。引用 13 inbox
Marco Patrignani, Deepak Garg
crossref: 2026-09-10

AI 速览

一句话:提出鲁棒安全编译(RSC)作为完全抽象编译的替代准则,更易证明且生成代码往往更高效。

安全保持编译器应生成能抵御控制流篡改、数据泄露或内存破坏等目标级攻击的代码。已有工作多证明编译器完全抽象,即反射并保持观察等价;但完全抽象编译虽强,有时会为弥合源语言与目标语言差异而引入与安全无关的昂贵运行时构造。本文提出鲁棒安全编译(RSC)作为替代准则:编译代码在与任意对抗上下文交互时仍保持源程序的相关安全性质。作者给出两种证明RSC的技术,并构造三个依赖不同目标级保护机制的示例鲁棒安全编译器;随后将其中一个转为完全抽象编译器。案例研究表明,证明RSC通常比证明完全抽象更简单,且RSC往往生成更高效的代码。

问题
现有安全保持编译多依赖完全抽象,虽能抵御目标级攻击,但可能引入与安全无关的昂贵运行时构造,导致编译代码效率降低。本文研究能否采用更弱但仍足够的安全准则来保证编译代码的安全性。
方法
提出鲁棒安全编译(RSC):要求编译代码在与任意对抗上下文交互时仍保持源程序的相关安全性质;给出两种证明RSC的技术,并实现三个依赖不同目标级保护机制的示例鲁棒安全编译器,还将其中一个扩展为完全抽象编译器。
评估
通过三个示例鲁棒安全编译器以及将其中一个转为完全抽象编译器的案例研究,论证RSC的证明通常比完全抽象更简单,且生成的代码往往更高效。
原文摘要(Abstract)

Security-preserving compilers generate compiled code that withstands target-level attacks such as alteration of control flow, data leaks, or memory corruption. Many existing security-preserving compilers are proven to be fully abstract, meaning that they reflect and preserve observational equivalence. Fully abstract compilation is strong and useful but, in certain cases, comes at the cost of requiring expensive runtime constructs in compiled code. These constructs may have no relevance for security, but are needed to accommodate differences between the source and target languages that fully abstract compilation necessarily needs. As an alternative to fully abstract compilation, this article explores a different criterion for secure compilation called robustly safe compilation or RSC . Briefly, this criterion means that the compiled code preserves relevant safety properties of the source program against all adversarial contexts interacting with the compiled program. We show that RSC can be proved more easily than fully abstract compilation and also often results in more efficient code. We also present two different proof techniques for establishing that a compiler attains RSC and, to illustrate them, develop three illustrative robustly safe compilers that rely on different target-level protection mechanisms. We then proceed to turn one of our compilers into a fully abstract one and through this example argue that proving RSC can be simpler than proving full abstraction. To better explain and clarify notions, this article uses syntax highlighting in a way that colourblind and black-8-white readers can benefit from Reference [58]. For a better experience, please print or view this article in colour . 1

链接与引用

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

BibTeX
@article{paperbot1223,
  title = {Robustly Safe Compilation, an Efficient Form of Secure Compilation},
  author = {Marco Patrignani and Deepak Garg},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {43},
  number = {1},
  year = {2021},
  doi = {10.1145/3436809}
}