skip to main content
10.1145/1352592.1352625acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

Flicker: an execution infrastructure for tcb minimization

Published:01 April 2008Publication History

ABSTRACT

We present Flicker, an infrastructure for executing security-sensitive code in complete isolation while trusting as few as 250 lines of additional code. Flicker can also provide meaningful, fine-grained attestation of the code executed (as well as its inputs and outputs) to a remote party. Flicker guarantees these properties even if the BIOS, OS and DMA-enabled devices are all malicious. Flicker leverages new commodity processors from AMD and Intel and does not require a new OS or VMM. We demonstrate a full implementation of Flicker on an AMD platform and describe our development environment for simplifying the construction of Flicker-enabled code.

References

  1. Advanced Micro Devices. AMD64 virtualization: Secure virtual machine architecture reference manual. AMD Publication no. 33047 rev. 3.01, May 2005.Google ScholarGoogle Scholar
  2. D. P. Anderson. BOINC: A system for public-resource computing and storage. In Proceedings of the Workshop on Grid Computing, Nov. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. P. Anderson, J. Cobb, E. Korpela, M. Lebofsky, and D. Werthimer. SETIυHome: An experiment in public-resource computing. Communications of the ACM, 45(11):56--61, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. Balfanz. Access Control for Ad-hoc Collaboration. PhD thesis, Princeton University, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the art of virtualization. In Proceedings of SOSP, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Brumley and D. Song. Privtrans: Automatically partitioning programs for privilege separation. In Proceedings of USENIX Security Symposium, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. B. Chen and R. Morris. Certifying program execution with secure procesors. In Proceedings of HotOS, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. T. Garfinkel, B. Pfaff, J. Chow, M. Rosenblum, and D. Boneh. Terra: A virtual machine-based platform for trusted computing. In Proceedings of SOSP, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Grawrock. The Intel Safer Computing Initiative: Building Blocks for Trusted Computing. Intel Press, 2006.Google ScholarGoogle Scholar
  10. S. Halevi and H. Krawczyk. Public-key cryptography and password protocols. ACM Trans. Information and System Security, 2(3), 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. Advanced configuration and power interface specification, Revision 3.0b Oct. 2006.Google ScholarGoogle Scholar
  12. Intel Corporation. LaGrande technology preliminary architecture specification. Intel Publication no. D52212, May 2006.Google ScholarGoogle Scholar
  13. S. Jiang. WebALPS implementation and performance analysis. Master's thesis, Dartmouth College, 2001.Google ScholarGoogle Scholar
  14. S. Jiang, S. Smith, and K. Minami. Securing web servers against insider attack. In Proc. of the Computer Security Applications Conference, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. B. Kaliski and J. Staddon. PKCS #1: RSA cryptography specifications. RFC 2437, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. B. Kauer. OSLO: Improving the security of Trusted Computing. In Proceedings of the USENIX Security Symposium, Aug. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. D. Kilpatrick. Privman: A library for partitioning applications. In USENIX Annual Technical Conference, 2003.Google ScholarGoogle Scholar
  18. J. M. McCune, B. Parno, A. Perrig, M. K. Reiter, and A. Seshadri. Minimal TCB code execution (extended abstract). In Proceedings of the IEEE Symposium on Security and Privacy, May 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. M. McCune, B. Parno, A. Perrig, M. K. Reiter, and A. Seshadri. How low can you go' Recommendations for hardware-supported minimal TCB code execution. In Proceedings of the Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Mar. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. Molnar. The SETIυHome problem. ACM Crossroads, 7.1, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. G. C. Necula and P. Lee. The design and implementation of a certifying compiler. In Proceedings of the ACM PLDI, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. G. C. Necula, S. McPeak, S. Rahul, and W. Weimer. CIL: Intermediate language and tools for analysis and transformation of C programs. In Proceedings of the Conference on Compilier Construction, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Y. K. Okuji, B. Ford, E. S. Boleyn, and K. Ishiguro. The multiboot specification, Version 0.6.95. 2006.Google ScholarGoogle Scholar
  24. N. Provos, M. Friedl, and P. Honeyman. Preventing privilege escalation. In the USENIX Security Symposium, Aug. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. B. Ross, C. Jackson, N. Miyake, D. Boneh, and J. C. Mitchell. Stronger password authentication using browser extensions. In Proceedings of the USENIX Security Symposium, Aug. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. R. Sailer, X. Zhang, T. Jaeger, and L. van Doorn. Design and implementation of a TCG-based integrity measurement architecture. In Proceedings of the USENIX Security Symposium, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. A. Seshadri, M. Luk, E. Shi, A. Perrig, L. VanDoorn, and P. Khosla. Pioneer: Verifying integrity and guaranteeing execution of code on legacy platforms. In Proceedings of SOSP, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. E. Shi, A. Perrig, and L. van Doorn. BIND: A time-of-use attestation service for secure distributed systems. In Proceedings of IEEE Symposium on Security and Privacy, May 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. L. Singaravelu, C. Pu, H. Haertig, and C. Helmuth. Reducing TCB complexity for security-sensitive applications: Three case studies. In Proceedings of ACM EuroSys, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. S. W. Smith and S. Weingart. Building a high-performance, programmable secure coprocessor. Computer Networks, 31(8), Apr. 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. R. Ta-Min, L. Litty, and D. Lie. Splitting interfaces: Making trust between applications and operating systems configurable. In Proceedings of OSDI, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Trusted Computing Group. PC client specific TPM interface specification (TIS). Version 1.2, Revision 1.00. http://www.trustedcomputinggroup.org, July 2005.Google ScholarGoogle Scholar
  33. Trusted Computing Group. Trusted platform module main specification, Part 1: Design principles, Part 2: TPM structures, Part 3: Commands, July 2007. Version 1.2, Revision 103.Google ScholarGoogle Scholar
  34. B. S. Yee. Using Secure Coprocessors. PhD thesis, Carnegie Mellon University, 1994.Google ScholarGoogle Scholar
  35. S. Zdancewic, L. Zheng, N. Nystrom, and A. Myers. Secure program partitioning. ACM Trans. on Computer Systems, 20(3), Aug. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Flicker: an execution infrastructure for tcb minimization

      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
        Eurosys '08: Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008
        April 2008
        346 pages
        ISBN:9781605580135
        DOI:10.1145/1352592
        • cover image ACM SIGOPS Operating Systems Review
          ACM SIGOPS Operating Systems Review  Volume 42, Issue 4
          EuroSys '08
          May 2008
          321 pages
          ISSN:0163-5980
          DOI:10.1145/1357010
          Issue’s Table of Contents

        Copyright © 2008 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: 1 April 2008

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate241of1,308submissions,18%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader