skip to main content
10.1145/1858996.1859085acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Dynamic and transparent analysis of commodity production systems

Published:20 September 2010Publication History

ABSTRACT

We propose a framework that provides a programming interface to perform complex dynamic system-level analyses of deployed production systems. By leveraging hardware support for virtualization available nowadays on all commodity machines, our framework is completely transparent to the system under analysis and it guarantees isolation of the analysis tools running on top of it. Thus, the internals of the kernel of the running system needs not to be modified and the whole platform runs unaware of the framework. Moreover, errors in the analysis tools do not affect the running system and the framework. This is accomplished by installing a minimalistic virtual machine monitor and migrating the system, as it runs, into a virtual machine. In order to demonstrate the potentials of our framework we developed an interactive kernel debugger, named HyperDbg. HyperDbg can be used to debug any critical kernel component, and even to single step the execution of exception and interrupt handlers.

References

  1. }}AMD, Inc. AMD virtualization. http://www.amd.com/us/products/technologies/virtualization/Pages/virtualization.aspx.Google ScholarGoogle Scholar
  2. }}B. Cantrill, M. W. Shapiro, and A. H. Leventhal. Dynamic Instrumentation of Production Systems. In Proceedings of USENIX Annual Technical Conference, pages 15--28, June 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. }}J. Chow, T. Garfinkel, and P. Chen. Decoupling Dynamic Program Analysis from Execution in Virtual Environments. In Proceedings of USENIX Annual Technical Conference, pages 1--14, June 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. }}Y. Coady, G. Kiczales, M. Feeley, and G. Smolyn. Using AspectC to improve the modularity of path-specific customization in operating system code. In Proceedings of the 8th European Software Engineering Conference, pages 88--98, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. }}Y. Coady, G. Kiczales, M. J. Feeley, N. C. Hutchinson, and J. S. Ong. Structuring Operating System Aspects. Communications of the ACM, 44(10):79--82, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. }}A. Dinaburg, P. Royal, M. Sharif, and W. Lee. Ether: Malware Analysis via Hardware Virtualization Extensions. In Proceedings of the 15th ACM Conference on Computer and Communications Security, pages 51--62. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. }}G. W. Dunlap, S. T. King, S. Cinar, M. A. Basrai, and P. M. Chen. ReVirt: Enabling Intrusion Analysis Through Virtual-Machine Logging and Replay. In OSDI '02: 5th Symposium on Operating Systems Design and Implementations, December 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. }}M. Engel and B. Freisleben. TOSKANA: A toolkit for operating system kernel aspects. Transactions on Aspect-Oriented Software Development II, 4242:182--226, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. }}T. Garfinkel and M. Rosenblum. A Virtual Machine Introspection Based Architecture for Intrusion Detection. In Proceedings of the Symposium on Network and Distributed Systems Security, San Diego, CA, Feb. 2003.Google ScholarGoogle Scholar
  10. }}S. T. King, G. W. Dunlap, and P. M. Chen. Debugging operating systems with time-traveling virtual machines. In Proceedings of USENIX Annual Technical Conference, pages 71--84, April 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. }}Linux Trace Toolkit. http://lttng.org/.Google ScholarGoogle Scholar
  12. }}D. Mahrenholz, O. Spinczyk, A. Gal, and W. Schröder-Preikschat. An Aspect-Oriented Implementation of Interrupt Synchronization in the PURE Operating System Family. In Proceedings of the 5th ECOOP Workshop on Object Orientation and Operating Systems, pages 49--54, June 2002.Google ScholarGoogle Scholar
  13. }}D. Mahrenholz, O. Spinczyk, and W. Schröder-Preikschat. Program Instrumentation for Debugging and Monitoring with AspectC++. In Symposium on Object-Oriented Real-Time Distributed Computing, pages 249--256, April 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. }}Microsoft Corporation. Debugging Tools for Windows. http://www.microsoft.com/whdc/devtools/debugging/default.mspx.Google ScholarGoogle Scholar
  15. }}G. Neiger, A. Santoni, F. Leung, D. Rodgers, and R. Uhlig. Intel Virtualization Technology: Hardware Support for Efficient Processor Virtualization. Intel Technology Journal, 10(3):167--177, August 2006.Google ScholarGoogle ScholarCross RefCross Ref
  16. }}G. Pothier and E. Tanter. Back to the future: Omniscient debugging. IEEE Software, 26:78--85, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. }}Rasta ring 0 debugger. http://rr0d.droids-corp.org/.Google ScholarGoogle Scholar
  18. }}SoftICE. http://en.wikipedia.org/wiki/SoftICE.Google ScholarGoogle Scholar
  19. }}Syser Kernel Debugger. http://www.sysersoft.com/.Google ScholarGoogle Scholar
  20. }}A. Tamches. Fine-Grained Dynamic Instrumentation of Commodity Operating System Kernels. PhD thesis, University of Wisconsin-Madison, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. }}A. Vasudevan and R. Yerraballi. Stealth Breakpoints. In 21st Annual Computer Security Applications Conference, pages 381--392, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. }}M. Xu, V. Malyugin, J. Sheldon, G. Venkitachalam, and B. Weissman. ReTrace: Collecting execution trace with virtual machine deterministic replay. In Proceedings of the 3rd Annual Workshop on Modeling, Benchmarking and Simulation, 2007.Google ScholarGoogle Scholar

Index Terms

  1. Dynamic and transparent analysis of commodity production systems

          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
          • Published in

            cover image ACM Conferences
            ASE '10: Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering
            September 2010
            534 pages
            ISBN:9781450301169
            DOI:10.1145/1858996

            Copyright © 2010 ACM

            Permission to make digital or hard copies of all or part 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 components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 20 September 2010

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate82of337submissions,24%

            Upcoming Conference

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader