Declarative, Temporal, and Practical Programming with Capabilities

dc.contributor.authorWatson, Robert N. M.
dc.contributor.authorAnderson, Jonathan
dc.contributor.authorReps, Thomas
dc.contributor.authorJha, Somesh
dc.contributor.authorHarris, William R.
dc.date.accessioned2013-02-28T20:57:19Z
dc.date.available2013-02-28T20:57:19Z
dc.date.issued2013-02-26
dc.description.abstractNew 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) declarative specifications 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 policies. Our experiments demonstrate that capweave can be applied to rewrite security-critical UNIX utilities to satisfy practical security properties. capweave itself works quickly, and the amount of runtime overhead incurred in the programs that capweave produces is generally low for practical workloads.en
dc.identifier.citationTR1785en
dc.identifier.urihttp://digital.library.wisc.edu/1793/64927
dc.subjectsafety gamesen
dc.subjectcapabilitiesen
dc.titleDeclarative, Temporal, and Practical Programming with Capabilitiesen
dc.typeTechnical Reporten

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Harris tech report.pdf
Size:
402.58 KB
Format:
Adobe Portable Document Format
Description:
Technical Report - Harris

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
2.03 KB
Format:
Item-specific license agreed upon to submission
Description: