paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Carapace: Static–Dynamic Information Flow Control in Rust

Carapace:Rust 中的静态–动态信息流控制
OOPSLA 9(OOPSLA1)2025匹配度 3/10 · 该论文属于程序语言与安全领域的静态/动态信息流控制工作,与用户在 PL 侧的兴趣(静态分析、理论+工程结合、工业落地)有方法论层面的重叠,但其研究对象是 Rust 程序的保密性与完整性,不涉及机器学习系统、Agentic 程序、LLM 增强分析、浮点程序分析或贝叶斯程序分析等用户画像中的核心问题。引用 2 inbox
Vincent Beardsley, Chris Xiong, Ada Lamba, Michael D. Bond
crossref: 2026-09-10

AI 速览

一句话:首次实现面向现成 Rust 及其未修改编译器的混合静态–动态信息流控制,支持保密性与完整性。

细粒度信息流控制(IFC)可在语言层面保证保密性与完整性,但已有支持不实用:全程序静态分析易误报,修改语言与编译器又妨碍采用。Cocoon 能在不修改 Rust 语言与编译器的情况下提供细粒度 IFC,却仅支持静态保密标签且案例有限。本文提出 Carapace,沿用 Cocoon 的核心思路,同时支持静态与动态 IFC,并覆盖保密性与完整性。作者以三个真实应用和完整安全策略开展案例研究。评估显示,应用只需少量修改即可迁移,且多数情况下运行时开销可忽略。Carapace 是首个与现成 Rust 及未修改编译器配合的混合静态–动态 IFC 方案。

问题
细粒度 IFC 的现有支持要么依赖全程序静态分析而产生误报,要么需修改语言与编译器而阻碍采用;Cocoon 还局限于静态保密标签和有限案例。
方法
Carapace 沿用 Cocoon 的核心思路,在现成 Rust 及其未修改编译器上实现混合静态–动态 IFC,同时支持保密性与完整性。
评估
通过三个真实应用和完整安全策略进行案例研究;评估可迁移所需修改量与运行时开销,显示少量修改且多数情况下开销可忽略。
原文摘要(Abstract)

Fine-grained information flow control (IFC) ensures confidentiality and integrity at the programming language level by ensuring that high-secrecy values do not affect low-secrecy values and that low-integrity values do not affect high-integrity values. However, prior support for fine-grained IFC is impractical: It either analyzes programs using whole-program static analysis, detecting false IFC violations; or it extends the language and compiler, thwarting adoption. Recent work called Cocoon demonstrates how to provide fine-grained IFC for Rust programs without modifying the language or compiler, but it is limited to static secrecy labels, and its case studies are limited. This paper introduces an approach called Carapace that employs Cocoon’s core approach and supports both static and dynamic IFC and supports both secrecy and integrity. We demonstrate Carapace using three case studies involving real applications and comprehensive security policies. An evaluation shows that applications can be retrofitted to use Carapace with relatively few changes, while incurring negligible run-time overhead in most cases. Carapace advances the state of the art by being the first hybrid static—dynamic IFC that works with an off-the-shelf language—Rust—and its unmodified compiler.

链接与引用

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

BibTeX
@article{paperbot3211,
  title = {Carapace: Static–Dynamic Information Flow Control in Rust},
  author = {Vincent Beardsley and Chris Xiong and Ada Lamba and Michael D. Bond},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA1},
  year = {2025},
  doi = {10.1145/3720427}
}