skip to main content
article

ReVirt: enabling intrusion analysis through virtual-machine logging and replay

Published:31 December 2002Publication History
Skip Abstract Section

Abstract

Current system loggers have two problems: they depend on the integrity of the operating system being logged, and they do not save sufficient information to replay and analyze attacks that include any non-deterministic events. ReVirt removes the dependency on the target operating system by moving it into a virtual machine and logging below the virtual machine. This allows ReVirt to replay the system's execution before, during, and after an intruder compromises the system, even if the intruder replaces the target operating system. ReVirt logs enough information to replay a long-term execution of the virtual machine instruction-by-instruction. This enables it to provide arbitrarily detailed observations about what transpired on the system, even in the presence of non-deterministic attacks and executions. ReVirt adds reasonable time and space overhead. Overheads due to virtualization are imperceptible for interactive use and CPU-bound workloads, and 13--58% for kernel-intensive workloads. Logging adds 0--8% overhead, and logging traffic for our workloads can be stored on a single disk for several months.

References

  1. {Anderson80} James P. Anderson. Computer Security Threat Monitoring and Surveillance. Technical report, James P. Anderson Co., April 1980. Contract 79F296400.Google ScholarGoogle Scholar
  2. {Ashcraft02} Ken Ashcraft and Dawson Engler. Using Programmer-Written Compiler Extensions to Catch Security Holes. In Proceedings of the 2002 IEEE Symposium on Security and Privacy, May 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. {Bellino73} J. Bellino and C. Hans. Virtual Machine or Virtual Operating System? In Proceedings of the 1973 ACM Workshop on Virtual Computer Systems, pages 20--29, 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. {Bishop96} Matt Bishop and Michael Dilger. Checking for Race Conditions on File Accesses. USENIX Computing Systems, 9(2): 131--152, 1996.Google ScholarGoogle Scholar
  5. {Bressoud96} Thomas C. Bressoud and Fred B. Schneider. Hypervisor-based fault tolerance. ACM Transactions on Computer Systems, 14(1):80--107, February 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. {Buchacker01} Kerstin Buchacker and Volkmar Sieh. Framework for testing the fault-tolerance of systems including OS and network aspects. In Proceedings of the 2001 IEEE Symposium on High Assurance System Engineering (HASE), pages 95--105, October 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. {CER01a} CERT/CC Security Improvement Modules: Analyze all available information to characterize an intrusion. Technical report, CERT Coordination Center, May 2001.Google ScholarGoogle Scholar
  8. {CER01b} Linux kernel contains race condition via ptrace/procfs/execve. Technical Report Vulnerability Note VU#176888, CERT Coordination Center, March 2001.Google ScholarGoogle Scholar
  9. {CER02} CERT/CC Overview Incident and Vulnerability Trends. Technical report, CERT Coordination Center, April 2002.Google ScholarGoogle Scholar
  10. {Chen01} Peter M. Chen and Brian D. Noble. When virtual is better than real. In Proceedings of the 2001 Workshop on Hot Topics in Operating Systems (HotOS), pages 133--138, May 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. {Dike00} Jeff Dike. A user-mode port of the Linux kernel. In Proceedings of the 2000 Linux Showcase and Conference, October 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. {Elnozahy02} E. N. Elnozahy, Lorenzo Alvisi, Yi-Min Wang, and David B. Johnson. A survey of rollback-recovery protocols in message-passing systems. ACM Computing Surveys, 34(3):375--408, September 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. {Goldberg74} Robert P. Goldberg. Survey of Virtual Machine Research. IEEE Computer, pages 34--45, June 1974.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. {Goldberg96} Ian Goldberg, David Wagner, Randi Thomas, and Eric A. Brewer. A Secure Environment for Untrusted Helper Applications. In Proceedings of the 1996 USENIX Technical Conference, July 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. {Govil00} Kinshuk Govil, Dan Teodosiu, Yongqiang Huang, and Mendel Rosenblum. Cellular disco: resource management using virtual clusters on shared-memory multiprocessors. ACM Transactions on Computer Systems, 18(3):226--262, August 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. {Hon00} Report on the Linux Honeypot Compromise. Technical report, Honeynet Project, November 2000. http://project.honeynet.org/challenge/results/dittrich/evidence.txt.Google ScholarGoogle Scholar
  17. {Int01} The IA-32 Intel Architecture Software Developer's Manual, Volume 3: System Programming Guide. Technical report, Intel Corporation, 2001.Google ScholarGoogle Scholar
  18. {Karger91} Paul A. Karger, Mary Ellen Zurko, DouglisW. Bonin, Andrew H. Mason, and Clifford E. Kahn. A retrospective on the VAX VMM security kernel. IEEE Transactions on Software Engineering, 17(11), November 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. {King02} Samuel T. King. Operating System Extensions to Support Host-Based Virtual Machines. Technical Report CSE-TR-465-02, University of Michigan, September 2002.Google ScholarGoogle Scholar
  20. {LeBlanc87} T. J. LeBlanc and J. M. Mellor-Crummey. Debugging Parallel Programs with Instant Replay. IEEE Transactions on Computers, pages 471--482, April 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. {Meushaw00} Robert Meushaw and Donald Simard. NetTop: Commercial Technology in High Assurance Applications. Tech Trend Notes: Preview of Tomorrow's Information Technologies, 9(4), September 2000.Google ScholarGoogle Scholar
  22. {Netzer94} Robert H. B. Netzer and Mark H. Weaver. Optimal Tracing and Incremental Reexecution for Debugging Long-Running Programs. In Proceedings of the 1994 Conference on Programming Language Design and Implementation (PLDI), June 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. {Plank95} James S. Plank, Micah Beck, and Gerry Kingsley. Libckpt: Transparent Checkpointing under Unix. In Proceedings of the Winter 1995 USENIX Conference, pages 213--224, January 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. {Rosenblum95} Mendel Rosenblum, Stephen A. Herrod, Emmett Witchel, and Anoop Gupta. Complete computer system simulation: the SimOS approach. IEEE Parallel & Distributed Technology: Systems & Applications, 3(4):34--43, January 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. {Russinovich96} Mark Russinovich and Bryce Cogswell. Replay for concurrent non-deterministic shared-memory applications. In Proceedings of the 1996 Conference on Programming Language Design and Implementation (PLDI), pages 258--266, May 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. {Strunk00} John D. Strunk, Garth R. Goodson, Michael L. Scheinholtz, Craig A. N. Soules, and Gregory R. Ganger. Self-securing storage: Protecting data in compromised systems. In Proceedings of the 2000 Symposium on Operating Systems Design and Implementation (OSDI), October 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. {Sugerman01} Jeremy Sugerman, Ganesh Venkitachalam, and Beng-Hong Lim. Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor. In Proceedings of the 2001 USENIX Technical Conference, June 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. ReVirt: enabling intrusion analysis through virtual-machine logging and replay

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM SIGOPS Operating Systems Review
            ACM SIGOPS Operating Systems Review  Volume 36, Issue SI
            OSDI '02: Proceedings of the 5th Symposium on Operating Systems Design and Implementation
            Winter 2002
            398 pages
            ISSN:0163-5980
            DOI:10.1145/844128
            Issue’s Table of Contents

            Copyright © 2002 Copyright is held by the owner/author(s)

            Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 31 December 2002

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader