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 条
  • [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] Realizing Software Vault on Android Through Information-Flow Control
    Shyamasundar, R. K.
    Kumar, N. V. Narendra
    Teltumde, Priyanka
    [J]. 2017 IEEE SYMPOSIUM ON COMPUTERS AND COMMUNICATIONS (ISCC), 2017, : 1007 - 1014
  • [28] ENTROPY, INFORMATION-FLOW AND VARIANCE IN REGULATORY CONTROL-SYSTEMS
    JONES, WE
    SMITH, W
    [J]. INTERNATIONAL JOURNAL OF CONTROL, 1976, 24 (02) : 239 - 246
  • [29] LOCAL AREA NETWORKS EXPAND THE HORIZONS OF CONTROL AND INFORMATION-FLOW
    LADUZINSKY, AJ
    [J]. CONTROL ENGINEERING, 1983, 30 (07) : 53 - 56
  • [30] Flexible Manipulation of Labeled Values for Information-Flow Control Libraries
    Vassena, Marco
    Buiras, Pablo
    Waye, Lucas
    Russo, Alejandro
    [J]. COMPUTER SECURITY - ESORICS 2016, PT I, 2016, 9878 : 538 - 557