ACM Home Page
Please provide us with feedback. Feedback
Model-carrying code: a practical approach for safe execution of untrusted applications
Full text PdfPdf (301 KB)
Source ACM Symposium on Operating Systems Principles archive
Proceedings of the nineteenth ACM symposium on Operating systems principles table of contents
Bolton Landing, NY, USA
SESSION: Safely executing untrusted code table of contents
Pages: 15 - 28  
Year of Publication: 2003
ISBN:1-58113-757-5
Also published in ...
Authors
R. Sekar  Stony Brook University, Stony Brook, NY
V.N. Venkatakrishnan  Stony Brook University, Stony Brook, NY
Samik Basu  Stony Brook University, Stony Brook, NY
Sandeep Bhatkar  Stony Brook University, Stony Brook, NY
Daniel C. DuVarney  Stony Brook University, Stony Brook, NY
Sponsors
SIGOPS: ACM Special Interest Group on Operating Systems
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 22,   Downloads (12 Months): 107,   Citation Count: 19
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/945445.945448
What is a DOI?

ABSTRACT

This paper presents a new approach called model-carrying code (MCC) for safe execution of untrusted code. At the heart of MCC is the idea that untrusted code comes equipped with a concise high-level model of its security-relevant behavior. This model helps bridge the gap between high-level security policies and low-level binary code, thereby enabling analyses which would otherwise be impractical. For instance, users can use a fully automated verification procedure to determine if the code satisfies their security policies. Alternatively, an automated procedure can sift through a catalog of acceptable policies to identify one that is compatible with the model. Once a suitable policy is selected, MCC guarantees that the policy will not be violated by the code. Unlike previous approaches, the MCC framework enables code producers and consumers to collaborate in order to achieve safety. Moreover, it provides support for policy selection as well as enforcement. Finally, MCC makes no assumptions regarding the inherent risks associated with untrusted code. It simply provides the tools that enable a consumer to make informed decisions about the risk that he/she is willing to tolerate so as to benefit from the functionality offered by an untrusted application.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Anurag Acharya and Mandar Raje. Mapbox: Using parameterized behavior classes to confine applications. In USENIX Security Symposium, 2000.
2
 
3
 
4
T. Bowen, D. Chee, M. Segal, R. Sekar, T. Shanbhag, and P. Uppuluri. Building survivable systems: An integrated approach based on intrusion detection and damage containment. In DARPA Information Survivability Conference (DISCEX), 2000.
 
5
Guillaume Brat, Klaus Havelund, SeungJoon Park, and William Visser. Java pathfinder: Second generation of a Java model checker. Post-CAV 2000 Workshop on Advances in Verification, 2000.
6
7
8
9
 
10
 
11
Dawson Engler, Benjamin Chelf, Andy Chou, and Seth Hallem. Checking system rules using system-specific, programmer-written compiler extensions. In USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2000.
12
 
13
 
14
David Evans and Andrew Tywman. Flexible policy directed code safety. In IEEE Symposium on Security and Privacy, 1999.
 
15
 
16
 
17
Timothy Fraser, Lee Badger, and Mark Feldman. Hardening COTS software with generic software wrappers. In IEEE Symposium on Security and Privacy, 1999.
 
18
Ian Goldberg, David Wagner, Randi Thomas, and Eric A. Brewer. A secure environment for untrusted helper applications: confining the wily hacker. In USENIX Security Symposium, 1996.
 
19
L Gong, M Mueller, H Prafullchandra, and R Schemers. Going beyond the sandbox: An overview of the new security architecture in the Java development kit 1.2. In USENIX Symposium on Internet Technologies and Systems, 1997.
 
20
 
21
 
22
Http-analyze application. Available from http://www.http-analyze.org/.
23
 
24
David Larochelle and David Evans. Statically detecting likely buffer overflow vulnerabilities. In USENIX Security Symposium, 2001.
 
25
Wenke Lee and Sal Stolfo. Data mining approaches for intrusion detection. In USENIX Security Symposium, 1997.
26
 
27
28
29
30
31
 
32
 
33
R Sekar and Prem Uppuluri. Synthesizing fast intrusion prevention/detection systems from high-level specifications. In USENIX Security Symposium, 1999.
 
34
Umesh Shankar, Kunal Talwar, Jeffrey S. Foster, and David Wagner. Detecting format-string vulnerabilities with type qualifiers. In USENIX Security Symposium, 2001.
 
35
36
 
37
 
38
39
 
40
Andreas Wespi, Hervé Debar, Marc Dacier, and Mehdi Nassehi. Fixed- vs. variable-length patterns for detecting suspicious process behavior. Journal of Computer Security (JCS), 8(2/3), 2000.
 
41
XSB. The XSB logic programming system v2.3, 2001. Available from http://www.cs.sunysb.edu/~sbprolog.
42

CITED BY  19

Collaborative Colleagues:
R. Sekar: colleagues
V.N. Venkatakrishnan: colleagues
Samik Basu: colleagues
Sandeep Bhatkar: colleagues
Daniel C. DuVarney: colleagues