DocumentCode
2493171
Title
Declarative, Temporal, and Practical Programming with Capabilities
Author
Harris, W.R. ; Jha, Somesh ; Reps, Tom ; Anderson, Jon ; Watson, R.N.M.
Author_Institution
Univ. of Wisconsin-Madison, Madison, WI, USA
fYear
2013
fDate
19-22 May 2013
Firstpage
18
Lastpage
32
Abstract
New operating systems, such as the Capsicum capability system, allow a programmer to write an application that satisfies strong security properties by invoking security-specific system calls at a few key points in the program. However, rewriting an application to invoke such system calls correctly is an error-prone process: even the Capsicum developers have reported difficulties in rewriting programs to correctly invoke system calls. This paper describes capweave, a tool that takes as input (i) an LLVM program, and (ii) a declarative policy of the possibly-changing capabilities that a program must hold during its execution, and rewrites the program to use Capsicum system calls to enforce the policy. Our experiments demonstrate that capweave can be applied to rewrite security-critical UNIX utilities to satisfy practical security policies. capweave itself works quickly, and the runtime overhead incurred in the programs that capweave produces is generally low for practical workloads.
Keywords
Unix; program compilers; program verification; rewriting systems; security of data; software tools; Capsicum capability system; Capsicum developers; Capsicum system calls; LLVM program; capweave; declarative policy; declarative programming; error-prone process; operating systems; practical programming; program rewriting; runtime overhead; security policy; security-critical UNIX utilities; security-specific system calls; temporal programming; Instruments; Operating systems; Security; Semantics; Servers; Uniform resource locators; Weaving; capabilities; safety games;
fLanguage
English
Publisher
ieee
Conference_Titel
Security and Privacy (SP), 2013 IEEE Symposium on
Conference_Location
Berkeley, CA
ISSN
1081-6011
Print_ISBN
978-1-4673-6166-8
Electronic_ISBN
1081-6011
Type
conf
DOI
10.1109/SP.2013.11
Filename
6547099
Link To Document