论文标题

安全信息流键入光泽

Secure Information Flow Typing in LUSTRE

论文作者

Prasad, Sanjiva, Yerraguntla, R. Madhukar, Sharma, Subodh

论文摘要

同步反应性数据流是一个范式,为嵌入式和网络物理系统(包括物联网系统的局部同步组件)提供了高级抽象编程模型。由于低级编程,定义不明确的接口以及对数据的安全性分类,这种系统的安全性受到严重损害。通过将基于Denning式晶格的安全信息流框架纳入同步的反应数据流语言,我们提供了一个框架,其中可以指定和派生针对此类系统的正确安全和构造实现。特别是,我们建议使用安全类型系统的光泽编程框架扩展。我们类型系统的新颖性在于对安全类型变量的约束的象征性公式,尤其是节点调用的处理,这使我们能够相对于任何安全类别的晶格来推论安全流。主要定理是我们类型系统的合理性相对于光泽的共感性操作语义,我们通过证明良好的程序表现出不干预来证明这一点。我们首先证明了一个名为“归一化光泽”(NLUSTERE)的良好的子语言的非干预结果,而不是解决完整的语言,而我们的类型系统要简单得多。然后,我们证明Bourke等人的语义具有从光泽到NLUSTRE的“归一化”转换也是安全性的。通过归一化转换对安全类型的保存是类似于“降低主题”的属性,但在编译器转换级别上。良好的安全性光泽程序的主要结果是不干预,这是从减少到我们早期通过语义上的NLUSTER(Bourke等人)和类型保存结果而对NLUSTRE不干预的结果。

Synchronous reactive data flow is a paradigm that provides a high-level abstract programming model for embedded and cyber-physical systems, including the locally synchronous components of IoT systems. Security in such systems is severely compromised due to low-level programming, ill-defined interfaces and inattention to security classification of data. By incorporating a Denning-style lattice-based secure information flow framework into a synchronous reactive data flow language, we provide a framework in which correct-and-secure-by-construction implementations for such systems may be specified and derived. In particular, we propose an extension of the Lustre programming framework with a security type system. The novelty of our type system lies in a symbolic formulation of constraints over security type variables, in particular the treatment of node calls, which allows us to reason about secure flow with respect to any security class lattice. The main theorem is the soundness of our type system with respect to the co-inductive operational semantics of Lustre, which we prove by showing that well-typed programs exhibit non-interference. Rather than tackle the full language, we first prove the non-interference result for a well-behaved sub-language called "Normalised Lustre" (NLustre), for which our type system is far simpler. We then show that Bourke et al.'s semantics-preserving "normalisation" transformations from Lustre to NLustre are security-preserving as well. This preservation of security types by the normalisation transformations is a property akin to "subject reduction" but at the level of compiler transformations. The main result that well-security-typed Lustre programs are non-interfering follows from a reduction to our earlier result of non-interference for NLustre via the semantics-preservation (of Bourke et al.) and type preservation results.

扫码加入交流群

加入微信交流群

微信交流群二维码

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