论文标题

从细粒到粗粒的动态信息流控制和背部,关于动态信息流的教程

From Fine- to Coarse-Grained Dynamic Information Flow Control and Back, a Tutorial on Dynamic Information Flow

论文作者

Vassena, Marco, Russo, Alejandro, Garg, Deepak, Rajani, Vineet, Stefan, Deian

论文摘要

本教程提供了完整且均匀的说明,介绍了精细和粗粒的动态信息流控制(IFC)安全性的最新进展。自70年代以来,编程语言和操作系统社区已经提出了不同的IFC方法。 IFC操作系统以粗粒的方式跟踪信息,以过程的粒度流动。相反,基于语言的IFC方法是细粒度的:它们以程序变量的粒度跟踪信息流。几十年来,研究人员认为,与细粒度的IFC(粗粒颗粒的IFC系统)的允许性较低,因此固有的允许性固有的精确率较低,因为它们跟踪信息较少 - 因此粒度似乎是IFC系统的基本特征。我们表明,跟踪系统的粒度不能从根本上限制如何精确或允许的IFC系统。为此,我们将两种主要是标准语言机械化,一种具有细粒度的IFC系统,另一种具有粗粒度的动态IFC系统,并证明了从每种语言到另一种语言的语义传播翻译。此外,我们通过我们经过验证的翻译从另一种语言中得出了每种语言不干预的标准安全属性。这些翻译对IFC方法的可用性具有重要意义。粗到细粒度的方向可用于消除细粒度系统对开发人员施加的标签注释负担,而细粒度至粗粒的翻译表明,粗粒系统(易于设计和实现)可以像精确的粒度系统那样跟踪信息,并可以像细粒度的系统一样跟踪信息,并为在现有的粗粒系统上自动翻新遗产应用程序提供算法。

This tutorial provides a complete and homogeneous account of the latest advances in fine- and coarse-grained dynamic information-flow control (IFC) security. Since the 70s, the programming language and the operating system communities have proposed different IFC approaches. IFC operating systems track information flows in a coarse-grained fashion, at the granularity of a process. In contrast, traditional language-based approaches to IFC are fine-grained: they track information flows at the granularity of program variables. For decades, researchers believed coarse-grained IFC to be strictly less permissive than fine-grained IFC -- coarse-grained IFC systems seem inherently less precise because they track less information -- and so granularity appeared to be a fundamental feature of IFC systems. We show that the granularity of the tracking system does not fundamentally restrict how precise or permissive dynamic IFC systems can be. To this end, we mechanize two mostly standard languages, one with a fine-grained dynamic IFC system and the other with a coarse-grained dynamic IFC system, and prove a semantics-preserving translation from each language to the other. In addition, we derive the standard security property of non-interference of each language from that of the other via our verified translation. These translations stand to have important implications on the usability of IFC approaches. The coarse- to fine-grained direction can be used to remove the label annotation burden that fine-grained systems impose on developers, while the fine- to coarse-grained translation shows that coarse-grained systems -- which are easier to design and implement -- can track information as precisely as fine-grained systems and provides an algorithm for automatically retrofitting legacy applications to run on existing coarse-grained systems.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源