paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Verified secure compilation for mixed-sensitivity concurrent programs

混合敏感度并发程序的验证式安全编译
JFP vol.312021匹配度 2/10 · 该论文属于程序验证与安全编译,使用 Isabelle/HOL 证明编译器保持非干涉性,虽与形式化验证领域有一定重叠,但不涉及 LLM/Agent、静态分析、浮点程序分析或贝叶斯程序分析,与用户画像中核心的 AI↔PL 交叉方向无直接关联。引用 1 inbox
ROBERT SISON, TOBY MURRAY
crossref: 2026-09-10

AI 速览

一句话:在 Isabelle/HOL 中验证编译器对混合敏感度并发程序保持非干涉性,并完成到 RISC 风格汇编的安全编译。

软件安全性验证若仅停留在源代码,会忽略编译器行为;而多线程程序常在不同时刻复用共享内存存储不同敏感级数据,形成混合敏感度并发程序,编译器必须在对并发的影响下保持这种值依赖的协调。本文在 Isabelle/HOL 中形式化验证编译器保持非干涉性(最严格的机密性)。作者提出保持并发值依赖非干涉性的精化概念,并给出分解原则,将语义保持与安全保持分离;随后将其用于一个使用互斥锁的混合敏感度并发程序单遍编译器,从通用命令式语言编译到通用 RISC 风格汇编语言。最后在一个非平凡的真实用例程序上执行该编译器,自动将源级非干涉性保持到汇编级模型。所有结果均在 Isabelle/HOL 中机器验证。

问题
仅证明源代码不泄露敏感数据无法覆盖编译器行为,且多线程程序可能复用共享内存存储不同敏感级数据,因此需要验证编译器是否在并发下保持值依赖的机密性。
方法
在 Isabelle/HOL 中定义保持并发值依赖非干涉性的精化关系,并提出分解原则分离语义保持与安全保持;将这些精化用于一个从通用命令式语言到 RISC 风格汇编、支持互斥锁的单遍编译器。
评估
在 Isabelle/HOL 中机器化验证上述结果,并在一个建模真实用例的非平凡混合敏感度并发程序上运行编译器,自动保持源级非干涉性至汇编级模型。
原文摘要(Abstract)

Abstract Proving only over source code that programs do not leak sensitive data leaves a gap between reasoning and reality that can only be filled by accounting for the behaviour of the compiler. Furthermore, software does not always have the luxury of limiting itself to single-threaded computation with resources statically dedicated to each user to ensure the confidentiality of their data. This results in mixed-sensitivity concurrent programs , which might reuse memory shared between their threads to hold data of different sensitivity levels at different times; for such programs, a compiler must preserve the value-dependent coordination of such mixed-sensitivity reuse despite the impact of concurrency . Here we demonstrate, using Isabelle/HOL, that it is feasible to verify that a compiler preserves noninterference , the strictest kind of confidentiality property, for mixed-sensitivity concurrent programs. First, we present notions of refinement that preserve a concurrent value-dependent notion of noninterference that we have designed to support such programs. As proving noninterference-preserving refinement can be considerably more complex than the standard refinements typically used to verify semantics-preserving compilation, our notions include a decomposition principle that separates the semantics preservation from security preservation concerns. Second, we demonstrate that these refinement notions are applicable to verified secure compilation, by exercising them on a single-pass compiler for mixed-sensitivity concurrent programs that synchronise using mutex locks, from a generic imperative language to a generic RISC-style assembly language. Finally, we execute our compiler on a non-trivial mixed-sensitivity concurrent program modelling a real-world use case, thus preserving its source-level noninterference properties down to an assembly-level model automatically. All results are formalised and proved in the Isabelle/HOL interactive proof assistant. Our work paves the way for more fully featured compilers to offer verified secure compilation support to developers of multithreaded software that must handle data of multiple sensitivity levels.

链接与引用

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

BibTeX
@article{paperbot1239,
  title = {Verified secure compilation for mixed-sensitivity concurrent programs},
  author = {ROBERT SISON and TOBY MURRAY},
  journal = {Journal of Functional Programming},
  volume = {31},
  year = {2021},
  doi = {10.1017/s0956796821000162}
}