首页> 外文期刊>Journal of Logic and Algebraic Programming >A verified static information-flow control library
【24h】

A verified static information-flow control library

机译:经过验证的静态信息流控制库

获取原文
获取原文并翻译 | 示例

摘要

The programming language Haskell plays a unique, privileged role in information-flow control (IFC) research: it is able to enforce information security via libraries. Many state-of-the-art IFC libraries (e.g., LIO and HLIO) support a variety of advanced features like mutable data structures, exceptions, and concurrency, whose subtle interaction makes verification of security guarantees challenging. In this work, we focus on MAC, a statically-enforced IFC library for Haskell. In MAC, like other IFC libraries, computations have a well-established algebraic structure for computations (i.e., monads) responsible to manipulate labeled values values coming from an abstract data type which associates a sensitivity label to a piece of information. In this work, we enrich labeled values with a functor structure and provide an applicative functor operator which encourages a more functional programming style and simplifies code. Furthermore, we present a full-fledged, mechanically-verified model of MAC. Specifically, we show progress-insensitive noninterference for our sequential calculus and pinpoint sufficient requirements on the scheduler to prove progress-sensitive noninterference for our concurrent calculus. For that, we study the security guarantees of MAC using term erasure, a proof technique that ensures that the same public output should be produced if secrets are erased before or after program execution. As another contribution, we extend term erasure with two-steps erasure, a flexible novel technique that greatly simplifies the noninterference proof and helps to prove many advanced features of MAC. (C) 2017 Elsevier Inc. All rights reserved.
机译:Haskell编程语言在信息流控制(IFC)研究中扮演着独特的特权角色:它能够通过库来加强信息安全。许多最先进的IFC库(例如LIO和HLIO)都支持各种高级功能,例如可变数据结构,异常和并发,它们的细微交互使对安全性保证的验证具有挑战性。在这项工作中,我们专注于MAC,这是Haskell的静态增强的IFC库。在MAC中,像其他IFC库一样,计算具有一种完善的代数结构,用于计算(即monads)负责处理来自将敏感度标签与一条信息相关联的抽象数据类型的标记值。在这项工作中,我们使用函子结构丰富了标记的值,并提供了可应用的函子运算符,该运算符鼓励使用更具功能性的编程风格并简化代码。此外,我们提出了一种成熟的,经过机械验证的MAC模型。具体来说,我们为顺序演算显示了对进度不敏感的非干扰,并在调度程序上指出了足够的要求以证明对我们的并发演算的对进度敏感的非干扰。为此,我们使用术语擦除来研究MAC的安全保证,这是一种证明技术,如果在执行程序之前或之后删除机密,则可以确保产生相同的公共输出。作为另一贡献,我们将术语擦除扩展为两步擦除,这是一种灵活的新颖技术,可大大简化无干扰证明并有助于证明MAC的许多高级功能。 (C)2017 Elsevier Inc.保留所有权利。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号