论文标题
静态信息流控制变得更简单
Static Information Flow Control Made Simpler
论文作者
论文摘要
静态信息流量控制(IFC)系统提供了限制程序中数据流的能力,从而使脆弱的功能或机密数据与无抵押数据或程序逻辑静态隔离。尽管IFC作为确保机密性和完整性的一种机制(计算机安全所依赖的基本属性),但现有的IFC系统几乎没有使用,要求用户对安全标签的效率以及这些晶格中的保密性和完整性的双重概念进行推理。我们提出了一个系统,该系统与以前有关信息流控制的工作显着分歧,选择直接推理了程序员已经使用的数据。这样一来,我们自然而无缝地将机密性和完整性的圆环分开概念组合为一个统一的框架,从而进一步简化了推理。我们通过两个有关TLS私人密钥管理的案例研究来激励和展示我们的工作:一个用于火箭,一个流行的Rust Web框架,另一个用于Conduit,这是用Rust编写的矩阵消息服务的服务器实现。
Static information flow control (IFC) systems provide the ability to restrict data flows within a program, enabling vulnerable functionality or confidential data to be statically isolated from unsecured data or program logic. Despite the wide applicability of IFC as a mechanism for guaranteeing confidentiality and integrity -- the fundamental properties on which computer security relies -- existing IFC systems have seen little use, requiring users to reason about complicated mechanisms such as lattices of security labels and dual notions of confidentiality and integrity within these lattices. We propose a system that diverges significantly from previous work on information flow control, opting to reason directly about the data that programmers already work with. In doing so, we naturally and seamlessly combine the clasically separate notions of confidentiality and integrity into one unified framework, further simplifying reasoning. We motivate and showcase our work through two case studies on TLS private key management: one for Rocket, a popular Rust web framework, and another for Conduit, a server implementation for the Matrix messaging service written in Rust.