HLIO: Mixing Static and Dynamic Typing for Information-Flow Control in Haskell

被引:0
|
作者
Buiras, Pablo [1 ]
Vytiniotis, Dimitrios [2 ]
Russo, Alejandro [1 ,3 ]
机构
[1] Chalmers Univ Technol, Gothenburg, Sweden
[2] Microsoft Res, Cambridge, England
[3] Stanford Univ, Stanford, CA 94305 USA
关键词
Information-flow control; hybrid typing; gradual typing; dynamic typing; data kinds; constraint kinds; singleton types;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Information-Flow Control (IFC) is a well-established approach for allowing untrusted code to manipulate sensitive data without disclosing it. IFC is typically enforced via type systems and static analyses or via dynamic execution monitors. The LIO Haskell library, originating in operating systems research, implements a purely dynamic monitor of the sensitivity level of a computation, particularly suitable when data sensitivity levels are only known at runtime. In this paper, we show how to give programmers the flexibility of deferring IFC checks to runtime (as in LIO), while also providing static guarantees-and the absence of runtime checks-for parts of their programs that can be statically verified (unlike LIO). We present the design and implementation of our approach, HLIO (Hybrid LIO), as an embedding in Haskell that uses a novel technique for deferring IFC checks based on singleton types and constraint polymorphism. We formalize HLIO, prove non-interference, and show how interesting IFC examples can be programmed. Although our motivation is IFC, our technique for deferring constraints goes well beyond and offers a methodology for programmer-controlled hybrid type checking in Haskell.
引用
收藏
页码:289 / 301
页数:13
相关论文
共 50 条
  • [1] 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
  • [2] A verified static information-flow control library
    Vassena, Marco
    Russo, Alejandro
    Buiras, Pablo
    Waye, Lucas
    [J]. JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2018, 95 : 148 - 180
  • [3] Flexible Dynamic Information Flow Control in Haskell
    Stefan, Deian
    Russo, Alejandro
    Mitchell, John C.
    Mazieres, David
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (12) : 95 - 106
  • [4] Flexible Dynamic Information Flow Control in Haskell
    Stefan, Deian
    Russo, Alejandro
    Mitchell, John C.
    Mazieres, David
    [J]. HASKELL 11: PROCEEDINGS OF THE 2011 ACM SIGPLAN HASKELL SYMPOSIUM, 2011, : 95 - 106
  • [5] Static analysis for efficient hybrid information-flow control
    Moore, Scott
    Chong, Stephen
    [J]. 2011 IEEE 24TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF), 2011, : 146 - 160
  • [6] 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
  • [7] A Haskell-Embedded DSL for Secure Information-Flow
    Manzino, Cecilia
    de Latorre, Gonzalo
    [J]. FORMAL METHODS: FOUNDATIONS AND APPLICATIONS, SBMF 2023, 2024, 14414 : 20 - 35
  • [8] A Library for Light-Weight Information-Flow Security in Haskell
    Russo, Alejandro
    Claessen, Koen
    Hughes, John
    [J]. HASKELL'08: PROCEEDINGS OF THE ACM SIGPLAN 2008 HASKELL SYMPOSIUM, 2008, : 13 - 24
  • [9] A Library for Light-Weight Information-Flow Security in Haskell
    Russo, Alejandro
    Claessen, Koen
    Hughes, John
    [J]. ACM SIGPLAN NOTICES, 2009, 44 (02) : 13 - 24
  • [10] 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