|
ABSTRACT
In this article, we present an approach for realizing a safe execution environment (SEE) that enables users to “try out” new software (or configuration changes to existing software) without the fear of damaging the system in any manner. A key property of our SEE is that it faithfully reproduces the behavior of applications, as if they were running natively on the underlying (host) operating system. This is accomplished via one-way isolation: processes running within the SEE are given read-access to the environment provided by the host OS, but their write operations are prevented from escaping outside the SEE. As a result, SEE processes cannot impact the behavior of host OS processes, or the integrity of data on the host OS. SEEs support a wide range of tasks, including: study of malicious code, controlled execution of untrusted software, experimentation with software configuration changes, testing of software patches, and so on. It provides a convenient way for users to inspect system changes made within the SEE. If these changes are not accepted, they can be rolled back at the click of a button. Otherwise, the changes can be committed so as to become visible outside the SEE. We provide consistency criteria that ensure semantic consistency of the committed results. We develop two different implementation approaches, one in user-land and the other in the OS kernel, for realizing a safe-execution environment. Our implementation results show that most software, including fairly complex server and client applications, can run successfully within our SEEs. It introduces low performance overheads, typically below 10 percent.
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
|
|
| |
2
|
Alcatraz. http://www.seclab.cs.sunysb.edu/alcatraz.
|
| |
3
|
Bochs. http://bochs.sourceforge.net.
|
| |
4
|
|
| |
5
|
|
| |
6
|
|
| |
7
|
Chutani, S., Anderson, O. T., Kazar, M. L., Leverett, B. W., Mason, W. A., and Sidebotham, R. N. 1992. The episode file system. In Proceedings of the USENIX Technical Conference (USENIX’92).
|
| |
8
|
Dan, A., Mohindra, A., Ramaswami, R., and Sitaram, D. 1997. Chakravyuha: A sandbox operating system for the controlled execution of alien code. Tech. rep., IBM T.J. Watson Research Center.
|
| |
9
|
Fakebust. Fakebust, a malicious code analyzer. http://www.derkeiler.com/Mailing-Lists/securityfocus/bugtraq/2004-09/0251.html.
|
| |
10
|
Garfinkel, T. 2003. Traps and pitfalls: Practical problems in system call interposition based security tools. In Proceedings of the Annual Network & Distributed Systems Security Conference (NDSS’’03).
|
 |
11
|
|
| |
12
|
Ian Goldberg , David Wagner , Randi Thomas , Eric A. Brewer, A secure environment for untrusted helper applications confining the Wily Hacker, Proceedings of the 6th conference on USENIX Security Symposium, Focusing on Applications of Cryptography, p.1-1, July 22-25, 1996, San Jose, California
|
| |
13
|
Jain, K. and Sekar, R. 2000. User-level infrastructure for system call interposition: A platform for intrusion detection and confinement. In Proceedings of the Annual Network and Distributed System Security (NDSS’00).
|
| |
14
|
|
| |
15
|
Katcher, J. 1997. Postmark: A new file system benchmark. Tech. rep. TR3022, Network Applicance Inc.
|
| |
16
|
Kato, K. and Oyama, Y. 2003. Softwarepot: An encapsulated transferable file system for secure software circulation. In Proceedings of the International Symposium on Software Security (ISSS’03).
|
| |
17
|
Samuel T. King , Peter M. Chen , Yi-Min Wang , Chad Verbowski , Helen J. Wang , Jacob R. Lorch, SubVirt: Implementing malware with virtual machines, Proceedings of the 2006 IEEE Symposium on Security and Privacy, p.314-327, May 21-24, 2006
[doi> 10.1109/SP.2006.38]
|
| |
18
|
|
 |
19
|
|
| |
20
|
|
| |
21
|
|
| |
22
|
Lofs. Loop back file system. Unix man page.
|
| |
23
|
|
| |
24
|
|
| |
25
|
Ormandy, T. An empirical study into the security exposure to hosts of hostile virtualized environments. http://taviso.decsystem.org/virtsec.pdf.
|
 |
26
|
|
| |
27
|
|
| |
28
|
Pendry, J. S., Williams, N., and Zadok, E. Am-utils user manual, 6.1b3 edition, July 2003. http://www.am-utils.org.
|
| |
29
|
Peterson, Z. and Burns, R. 2003. Ext3cow: The design, implementation, and analysis of metadata for a time-shifting file system. Tech. rep. HSSL-2003-03, Hopkins Storage Systems Lab, Department of Computer Science, Johns Hopkins University.
|
| |
30
|
Picturepages. Picturepages software. http://www.canonical.org/picturepages.
|
| |
31
|
Pilania, D. and Chiueh, T. 2003. Design, implementation, and evaluation of an intrusion resilient database system. In Proceedings of the International Conference on Dependable Systems and Networks (DSN’03).
|
| |
32
|
|
| |
33
|
|
| |
34
|
|
| |
35
|
ROC. Recovery-oriented computing. http://roc.cs.berkeley.edu.
|
| |
36
|
Roome, W. D. 1991. 3DFS: A time-oriented file server. In Proceedings of the USENIX Technical Conference (USENIX’91).
|
| |
37
|
|
| |
38
|
|
| |
39
|
Sekar, R., Cai, Y., and Segal, M. 1998. A specification-based approach for building survivable systems. In Proceedings of the National Information Systems Security Conference (NISSC’98).
|
| |
40
|
|
| |
41
|
SoftGrid. http://www.microsoft.com/systemcenter/softgrid/default.mspx.
|
| |
42
|
Soules, C., Goodson, G., Strunk, J., and Ganger, G. 2002. Metadata efficiency in a comprehensive versioning file system. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST’02).
|
| |
43
|
Strace. http://www.liacs.nl/~wichert/strace.
|
| |
44
|
Sun, W., Liang, Z., Sekar, R., and Venkatakrishnan, V. 2005. One-way isolation: An effective approach for realizing safe execution environments. In Proceedings of the ISOC Network and Distributed Systems Symposium (NDSS’05).
|
| |
45
|
SVS. Software virtualization solution. http://www.altiris.com/Products/SoftwareVirtualizationSolution.aspx.
|
| |
46
|
TFS. Translucent file system. SunOS Reference Manual, Sun Microsystems.
|
| |
47
|
Tiilikainen, T. Rename-them-all, linux freeware version. http://linux.iconet.com.br/system/preview/8622.html.
|
| |
48
|
|
| |
49
|
VirtualPC. http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx.
|
| |
50
|
VMWare. http://www.vmware.com.
|
| |
51
|
VMware. VMware Converter. http://www.vmware.com/products/converter.
|
| |
52
|
Webstone. http://www.mindcraft.com/webstone.
|
| |
53
|
Whitaker, A., Shaw, M., and Gribble, S. 2002. Denali: Lightweight virtual machines for distributed and networked applications. In Proceedings of the USENIX Annual Technical Conference (USENIX’02).
|
 |
54
|
Yang Yu , Fanglu Guo , Susanta Nanda , Lap-chung Lam , Tzi-cker Chiueh, A feather-weight virtual machine for windows applications, Proceedings of the 2nd international conference on Virtual execution environments, June 14-16, 2006, Ottawa, Ontario, Canada
[doi> 10.1145/1134760.1134766]
|
| |
55
|
|
| |
56
|
Zhu, N. 2003. Data versioning systems. Tech. rep., Stony Brook University.
|
| |
57
|
Zhu, N. and Chiueh, T. 2003. Design, implementation, and evaluation of repairable file service. In Proceedings of the International Conference on Dependable Systems and Networks (DSN’03).
|
|