A semantic approach to secure information flow

被引:80
作者
Joshi, R [1 ]
Leino, KRM
机构
[1] Univ Texas, Dept Comp Sci, Austin, TX 78712 USA
[2] Compaq Syst Res Ctr, Palo Alto, CA 94301 USA
关键词
D O I
10.1016/S0167-6423(99)00024-6
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A classic problem in security is that of checking that a program has secure information flow. informally, this problem is described as follows: Given a program with variables partitioned into mio disjoint sets of "high-security" and "low-security" variables, check whether observations of the low-security variables reveal any information about the initial values of the high-security variables. Although the problem has been studied for serveral decades, most previous approaches have been syntactic in nature, often using type systems and compiler data flow analysis techniques to analyze program texts. This paper presents a considerably different approach to check secure information flow, based on a semantic characterization. A semantic approach has several desirable features. Firstly, it gives a more precise characterization of security than that provided by most previous approaches. Secondly, it applies to any programming constructs whose semantics are definable; for instance, the introduction of nondeterminism and exceptions poses no additional problems. Thirdly, it can be used for reasoning about indirect leaking of information through variations in program behavior (e.g., whether or not the program terminates). Finally, it can be extended to the case where the high- and low-security variables are defined abstractly, as functions of actual program variables. The paper illustrates the use of the characterization with several examples and discusses how it can be applied in practice. (C) 2000 Elsevier Science B.V. All rights reserved.
引用
收藏
页码:113 / 138
页数:26
相关论文
共 20 条
[1]  
Andrews G. R., 1980, ACM Transactions on Programming Languages and Systems, V2, P56, DOI 10.1145/357084.357088
[2]  
Banatre J.-P., 1994, LECT NOTES COMPUTER, V875, P55
[3]  
Bell D.E, 1973, M74244 MITR CORP
[4]   LATTICE MODEL OF SECURE INFORMATION-FLOW [J].
DENNING, DE .
COMMUNICATIONS OF THE ACM, 1976, 19 (05) :236-243
[5]   CERTIFICATION OF PROGRAMS FOR SECURE INFORMATION-FLOW [J].
DENNING, DE ;
DENNING, PJ .
COMMUNICATIONS OF THE ACM, 1977, 20 (07) :504-513
[6]  
Dijkstra E. W, 1976, A Discipline of Programming
[7]  
Dijkstra E. W., 1990, TEXTS MONOGRAPHS COM
[8]  
DIJKSTRA RM, 1994, CSR9408 U GRON
[9]  
Gasser Morrie., 1988, Building a Secure Computer System
[10]   PREDICATIVE PROGRAMMING .1. [J].
HEHNER, ECR .
COMMUNICATIONS OF THE ACM, 1984, 27 (02) :134-143