|
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
|
James C. Corbett , Matthew B. Dwyer , John Hatcliff , Shawn Laubach , Corina S. Păsăreanu , Robby , Hongjun Zheng, Bandera: extracting finite-state models from Java source code, Proceedings of the 22nd international conference on Software engineering, p.439-448, June 04-11, 2000, Limerick, Ireland
[doi> 10.1145/337180.337234]
|
| |
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
|
Thomas A. Henzinger , Ranjit Jhala , Rupak Majumdar , George C. Necula , Grégoire Sutre , Westley Weimer, Temporal-Safety Proofs for Systems Code, Proceedings of the 14th International Conference on Computer Aided Verification, p.526-538, July 27-31, 2002
|
| |
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
|
David Lie , Andy Chou , Dawson Engler , David L. Dill, A simple method for extracting models for protocol code, Proceedings of the 28th annual international symposium on Computer architecture, p.192-203, June 30-July 04, 2001, Göteborg, Sweden
|
| |
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
|
Steve Zdancewic , Lantian Zheng , Nathaniel Nystrom , Andrew C. Myers, Untrusted hosts and confidentiality: secure program partitioning, Proceedings of the eighteenth ACM symposium on Operating systems principles, October 21-24, 2001, Banff, Alberta, Canada
|
CITED BY 19
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jinpeng Huai , Hailong Sun , Chunming Hu , Yanmin Zhu , Yunhao Liu , Jianxin Li, ROST: Remote and hot service deployment with trustworthiness in CROWN Grid, Future Generation Computer Systems, v.23 n.6, p.825-835, July, 2007
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Richard P. Spillane , Charles P. Wright , Gopalan Sivathanu , Erez Zadok, Rapid file system development using ptrace, Proceedings of the 2007 workshop on Experimental computer science, p.22-es, June 13-14, 2007, San Diego, California
|
|
|
A. Prasad Sistla , V. N. Venkatakrishnan , Michelle Zhou , Hilary Branske, CMV: automatic verification of complete mediation for java virtual machines, Proceedings of the 2008 ACM symposium on Information, computer and communications security, March 18-20, 2008, Tokyo, Japan
|
|
|
|
|
|
|
|
|
|
|
|
Byung-Gon Chun , Petros Maniatis , Scott Shenker , John Kubiatowicz, Tiered fault tolerance for long-term integrity, Proccedings of the 7th conference on File and stroage technologies, p.267-282, February 24-27, 2009, San Francisco, California
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.4
OPERATING SYSTEMS
D.4.6
Security and Protection
Subjects:
Invasive software (e.g., viruses, worms, Trojan horses)
Additional Classification:
K.
Computing Milieux
K.6
MANAGEMENT OF COMPUTING AND INFORMATION SYSTEMS
K.6.5
Security and Protection (D.4.6, K.4.2)
Subjects:
Unauthorized access (e.g., hacking, phreaking)
General Terms:
Security,
Verification
Keywords:
mobile code security,
policy enforcement,
sand-boxing,
security policies
|