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 条
  • [1] A Verified Information-Flow Architecture
    de Amorim, Arthur Azevedo
    Collins, Nathan
    DeHon, Andre
    Demange, Delphine
    Hritcu, Catalin
    Pichardie, David
    Pierce, Benjamin C.
    Pollack, Randy
    Tolmach, Andrew
    [J]. ACM SIGPLAN NOTICES, 2014, 49 (01) : 165 - 178
  • [2] A verified information-flow architecture
    de Amorim, Arthur Azevedo
    Collins, Nathan
    DeHon, Andre
    Demange, Delphine
    Hritcu, Catalin
    Pichardie, David
    Pierce, Benjamin C.
    Pollack, Randy
    Tolmach, Andrew
    [J]. JOURNAL OF COMPUTER SECURITY, 2016, 24 (06) : 689 - 734
  • [3] Static analysis for efficient hybrid information-flow control
    Moore, Scott
    Chong, Stephen
    [J]. 2011 IEEE 24TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF), 2011, : 146 - 160
  • [4] HLIO: Mixing Static and Dynamic Typing for Information-Flow Control in Haskell
    Buiras, Pablo
    Vytiniotis, Dimitrios
    Russo, Alejandro
    [J]. PROCEEDINGS OF THE 20TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING (ICFP'15), 2015, : 289 - 301
  • [5] HLIO: Mixing Static and Dynamic Typing for Information-Flow Control in Haskell
    Buiras, Pablo
    Vytiniotis, Dimitrios
    Russo, Alejandro
    [J]. ACM SIGPLAN NOTICES, 2015, 50 (09) : 289 - 301
  • [6] On Formalizing Information-Flow Control Libraries
    Vassena, Marco
    Russo, Alejandro
    [J]. PROCEEDINGS OF THE 2016 ACM WORKSHOP ON PROGRAMMING LANGUAGES AND ANALYSIS FOR SECURITY (PLAS'16), 2016, : 15 - 28
  • [7] DESIGN OF INFORMATION-FLOW FOR PRODUCTION CONTROL
    BENDEICH, E
    LANG, F
    [J]. WERKSTATTSTECHNIK ZEITSCHRIFT FUR INDUSTRIELLE FERTIGUNG, 1974, 64 (11): : 682 - 686
  • [8] Information-Flow Control with Fading Labels
    Bedford, Andrew
    [J]. 2017 15TH ANNUAL CONFERENCE ON PRIVACY, SECURITY AND TRUST (PST), 2017, : 388 - 390
  • [9] From Dynamic to Static and Back: Riding the Roller Coaster of Information-Flow Control Research
    Sabelfeld, Andrei
    Russo, Alejandro
    [J]. PERSPECTIVES OF SYSTEMS INFORMATICS, 2010, 5947 : 352 - 365
  • [10] INFORMATION-FLOW
    不详
    [J]. NATION, 1981, 233 (04) : 101 - 102