Proceedings 10th Computer Security Foundations Workshop
DOI: 10.1109/csfw.1997.596807
|View full text |Cite
|
Sign up to set email alerts
|

Eliminating covert flows with minimum typings

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-type… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
94
0
1

Publication Types

Select...
7
2
1

Relationship

0
10

Authors

Journals

citations
Cited by 98 publications
(96 citation statements)
references
References 6 publications
1
94
0
1
Order By: Relevance
“…We conjecture that our results also hold for terminationsensitive noninterference [51], [42], where the termination behavior should not depend on secret data. The termination behavior is hard to control dynamically-no matter if the mechanism is flow-sensitive or insensitive-and so it is not surprising that a purely dynamic mechanism would have to be extremely conservative.…”
Section: Discussionmentioning
confidence: 79%
“…We conjecture that our results also hold for terminationsensitive noninterference [51], [42], where the termination behavior should not depend on secret data. The termination behavior is hard to control dynamically-no matter if the mechanism is flow-sensitive or insensitive-and so it is not surprising that a purely dynamic mechanism would have to be extremely conservative.…”
Section: Discussionmentioning
confidence: 79%
“…Programs that are well-typed under these type systems satisfy certain security properties. Type systems for enforcing noninterference of programs have been proposed by Volpano and Smith in [16], and subsequently they have been extended to detect also covert timing channels in [17]. The main drawback of this approach is its imprecision, since many secure programs are not typable and so are rejected.…”
Section: Related Workmentioning
confidence: 99%
“…One approach is to use a typing discipline to ensure that all control flow paths have the same number of instructions, by ensuring that conditionals have equal sized branches, and prohibiting the use of secret information in loop guards, i.e., all loop guards are constant or only depend on public, nonsecret values [47,48,51]. If the type system rejects a program because it has "uneven" branches, the program can still be transformed, for example by adding suitable "padding" instructions along shorter branches [2,9,10,28], by using "conditional execution" implemented via bit-masking and ternary choice [39] or by using if-conversion [15].…”
Section: Related Workmentioning
confidence: 99%