Title :
Eliminating covert flows with minimum typings
Author :
Volpano, Dennis ; Smith, Geoffrey
Author_Institution :
Dept. of Comput. Sci., Naval Postgraduate Sch., Monterey, CA, USA
Abstract :
A type system is given that eliminates two kinds of covert flows in an imperative programming language. The first kind arises from nontermination and the other from partial operations that can raise exceptions. The key idea is to limit the source of nontermination in the language to constructs with minimum typings, and to evaluate partial operations within expressions of try commands which also have minimum typings. A mutual progress theorem is proved that basically states that no two executions of a well-typed program can be distinguished on the basis of nontermination versus abnormal termination due to a partial operation. The proof uses a new style of programming language semantics which we call a natural transition semantics
Keywords :
exception handling; high level languages; partial evaluation (compilers); program verification; security of data; type theory; abnormal termination; covert flow elimination; exceptions; imperative programming language; indistinguishable well-typed program executions; minimum typings; mutual progress theorem; natural transition semantics; nontermination; partial operations; programming language semantics; secure information flow; try commands; type system; Arithmetic; Computer languages; Computer science; Information security; Java; Sockets; Yarn;
Conference_Titel :
Computer Security Foundations Workshop, 1997. Proceedings., 10th
Conference_Location :
Rockport, MA
Print_ISBN :
0-8186-7990-5
DOI :
10.1109/CSFW.1997.596807