Arrows for secure information flow

被引:29
作者
Li, Peng [1 ]
Zdancewic, Steve [1 ]
机构
[1] Univ Penn, Dept Comp & Informat Sci, Philadelphia, PA 19104 USA
关键词
Information flow; Security; Haskell; Arrows; Type systems; Combinators;
D O I
10.1016/j.tcs.2010.01.025
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
This paper presents an embedded security sublanguage for enforcing information-flow policies in the standard Haskell programming language. The sublanguage provides useful information-flow control mechanisms including dynamic security lattices, run-time code privileges and declassification all without modifying the base language. This design avoids the redundant work of producing new languages, lowers the threshold for adopting security-typed languages, and also provides great flexibility and modularity for using security-policy frameworks. The embedded security sublanguage is designed using a standard combinator interface called arrows. Computations constructed in the sublanguage have static and explicit control-flow components, making it possible to implement information-flow control using static-analysis techniques at run time, while providing strong security guarantees. This paper presents a formal proof that our embedded sublanguage provides noninterference, a concrete Haskell implementation and an example application demonstrating the proposed techniques.(1) (c) 2010 Elsevier B.V. All rights reserved.
引用
收藏
页码:1974 / 1994
页数:21
相关论文
共 19 条
[1]  
Abadi Martin., 1999, POPL, P147, DOI [10.1145/292540.292555, DOI 10.1145/292540.292555]
[2]  
[Anonymous], 1999, P 26 ACM SIGPLAN SIG
[3]  
[Anonymous], 2003, P 1 APPSEM 2 WORKSHO
[4]  
Chapman R., 2004, Ada Letters, V24, P39
[5]   Generalising monads to arrows [J].
Hughes, J .
SCIENCE OF COMPUTER PROGRAMMING, 2000, 37 (1-3) :67-111
[6]  
Jones SimonPeyton., 2002, Haskell 98 Language and Libraries
[7]  
LI P, 2006, P 19 IEEE COMP SEC F
[8]  
Liang Sheng, 1995, P 22 ACM SIGPLAN SIG, P333, DOI [DOI 10.1145/199448.199528, 10.1145/199448.199528]
[9]  
Myers A. C., 2001, JIF JAVA INFORMATION
[10]   Protecting privacy using the decentralized label model [J].
Myers, AC ;
Liskov, B .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2000, 9 (04) :410-442