A verified static information-flow control library

被引:14
|
作者
Vassena, Marco [1 ]
Russo, Alejandro [1 ]
Buiras, Pablo [2 ]
Waye, Lucas [2 ]
机构
[1] Chalmers Univ Technol, Gothenburg, Sweden
[2] Harvard Univ, Cambridge, MA 02138 USA
关键词
Information Flow Control; Non Interference; Functional Programming; Haskell; Agda;
D O I
10.1016/j.jlamp.2017.12.003
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:148 / 180
页数:33
相关论文
共 50 条
  • [21] Information-flow control on ARM and POWER multicore processors
    Graeme Smith
    Nicholas Coughlin
    Toby Murray
    [J]. Formal Methods in System Design, 2021, 58 : 251 - 293
  • [22] Information-flow control on ARM and POWER multicore processors
    Smith, Graeme
    Coughlin, Nicholas
    Murray, Toby
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 2021, 58 (1-2) : 251 - 293
  • [23] USING PROGRAM DEPENDENCE GRAPHS FOR INFORMATION-FLOW CONTROL
    HSIEH, CS
    UNGER, EA
    MATATOLEDO, RA
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 1992, 17 (03) : 227 - 232
  • [24] Information-Flow Control for Database-backed Applications
    Guarnieri, Marco
    Balliu, Musard
    Schoepe, Daniel
    Basin, David
    Sabelfeld, Andrei
    [J]. 2019 4TH IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P), 2019, : 79 - 94
  • [25] Analyzing Protocol Security Through Information-Flow Control
    Kumar, N. V. Narendra
    Shyamasundar, R. K.
    [J]. DISTRIBUTED COMPUTING AND INTERNET TECHNOLOGY, (ICDCIT 2017), 2017, 10109 : 159 - 171
  • [26] Practical information-flow control in web-based information systems
    Li, P
    Zdancewic, S
    [J]. 18th IEEE Computer Security Foundations Workshop, Proceedings, 2005, : 2 - 15
  • [27] Information-flow interfaces
    Bartocci, Ezio
    Ferrere, Thomas
    Henzinger, Thomas A.
    Nickovic, Dejan
    Oliveira da Costa, Ana
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 2024,
  • [28] PATIENT INFORMATION-FLOW
    BLEKELI, RD
    [J]. INFORMATION PRIVACY, 1980, 2 (01): : 37 - 41
  • [29] INFORMATION-FLOW IN VLSI DESIGN
    RATHMELL, JG
    [J]. INTEGRATION-THE VLSI JOURNAL, 1986, 4 (02) : 185 - 191
  • [30] INFORMATION-FLOW TO GENETICS JOURNALS
    BALOG, C
    [J]. SCIENTOMETRICS, 1986, 9 (1-2) : 51 - 57