动态流敏感浮动标记系统
On Dynamic Flow-Sensitive Floating-Label Systems
摘要:
用于信息流控制(IFC)的流敏感分析允许数据结构具有可变的安全标签,即,标签可以在计算过程中改变。这个特性通常用于提高IFC监视器的权限,通过拒绝更少的程序运行,并减少显式标签注释的负担。然而,添加流动敏感的构建体(例如,引用或文件)到动态IFC系统是微妙的,并且还可能引入高带宽隐蔽信道。在这项工作中,我们扩展LIO-一个基于语言的浮动标签系统-与流敏感的引用。安全操作引用的标签的关键在于不仅要考虑存储在引用中的数据上的标签,即,参考标签,以及参考标签本身上的标签。考虑到这一点,我们提供了一个升级原语,可以用来以安全的方式更改引用的标签。我们还提供了一种自动升级机制,以消除确定何时应该升级引用的负担。这种方法自然地扩展到并发设置,这是以前没有考虑过的动态流敏感系统。对于我们的顺序和并发结石,我们证明不干扰嵌入到原来的流量敏感系统,流量不敏感LIO演算-一个令人惊讶的结果本身。
英文摘要:
Flow-sensitive analysis for information-flow control (IFC) allows data structures to have mutable security labels, i.e., labels that can change over the course of the computation. This feature is often used to boost the permissiveness of the IFC monitor, by rejecting fewer runs of programs, and to reduce the burden of explicit label annotations. However, adding flow-sensitive constructs (e.g., references or files) to a dynamic IFC system is subtle and may also introduce high-bandwidth covert channels. In this work, we extend LIO---a language-based floating-label system---with flow-sensitive references. The key insight to safely manipulating the label of a reference is to not only consider the label on the data stored in the reference, i.e., the reference label, but also the label on the reference label itself. Taking this into consideration, we provide an upgrade primitive that can be used to change the label of a reference in a safe manner. We additionally provide a mechanism for automatic upgrades to eliminate the burden of determining when a reference should be upgraded. This approach naturally extends to a concurrent setting, which has not been previously considered by dynamic flow-sensitive systems. For both our sequential and concurrent calculi we prove non-interference by embedding the flow-sensitive system into the original, flow-insensitive LIO calculus---a surprising result on its own.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。