skip to main content
research-article
Best Paper

GhostRider: A Hardware-Software System for Memory Trace Oblivious Computation

Authors Info & Claims
Published:14 March 2015Publication History
Skip Abstract Section

Abstract

This paper presents a new, co-designed compiler and architecture called GhostRider for supporting privacy preserving computation in the cloud. GhostRider ensures all programs satisfy a property called memory-trace obliviousness (MTO): Even an adversary that observes memory, bus traffic, and access times while the program executes can learn nothing about the program's sensitive inputs and outputs. One way to achieve MTO is to employ Oblivious RAM (ORAM), allocating all code and data in a single ORAM bank, and to also disable caches or fix the rate of memory traffic. This baseline approach can be inefficient, and so GhostRider's compiler uses a program analysis to do better, allocating data to non-oblivious, encrypted RAM (ERAM) and employing a scratchpad when doing so will not compromise MTO. The compiler can also allocate to multiple ORAM banks, which sometimes significantly reduces access times.We have formalized our approach and proved it enjoys MTO. Our FPGA-based hardware prototype and simulation results show that GhostRider significantly outperforms the baseline strategy.

References

  1. Trusted Platform Module (TPM) Summary. http://www.trustedcomputinggroup.org/resources/trusted_platform_module_tpm_summary.Google ScholarGoogle Scholar
  2. J. Agat. Transforming out Timing Leaks. In POPL, pages 40--53, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. Barthe and T. Rezk. Non-interference for a JVM-like language. In TLDI '05, pages 103--112, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Barthe, T. Rezk, A. Russo, and A. Sabelfeld. Security of multithreaded programs by compilation. ACM Trans. Inf. Syst. Secur., 13(3):21:1--21:32, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. G. Barthe, T. Rezk, and M. Warnier. Preventing Timing Leaks Through Transactional Branching Instructions. Electron. Notes Theor. Comput. Sci., 153(2):33--55, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. F. Bavera and E. Bonelli. Type-based information flow analysis for bytecode languages with variable object field policies. In SAC, pages 347--351, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Blanton, A. Steele, and M. Aliasgar. Data-Oblivious Graph Algorithms for Secure Computation and Outsourcing. In ASIACCS, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. E. Bonelli, A. Compagnoni, and R. Medel. Information flow analysis for a typed assembly language with polymorphic stacks. In CASSIS, pages 37--56, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Chow, P. Golle, M. Jakobsson, E. Shi, J. Staddon, R. Masuoka, and J. Molina. Controlling data in the cloud: outsourcing computation without outsourcing control. In ACM Cloud Computing Security Workshop (CCSW), pages 85--90, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. C. Computer. The convey HC2 architectural overview. http://www.conveycomputer.com/files/4113/5394/7097/Convey_HC-2_Architectual_Overview.pdf.Google ScholarGoogle Scholar
  11. H. Consortium. Hybrid memory cube. http://hybridmemorycube.org/.Google ScholarGoogle Scholar
  12. B. Coppens, I. Verbauwhede, K. D. Bosschere, and B. D. Sutter. Practical Mitigations for Timing-Based Side-Channel Attacks on Modern x86 Processors. In IEEE S & P, pages 45--60, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Z. Deng and G. Smith. Lenient array operations for practical secure information flow. In CSF, pages 115--124, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Eppstein, M. T. Goodrich, and R. Tamassia. Privacy-preserving data-oblivious geometric algorithms for geographic data. In GIS, pages 13--22, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. C. W. Fletcher, M. v. Dijk, and S. Devadas. A secure processor architecture for encrypted computation on untrusted programs. In STC, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. C. W. Fletcher, L. Ren, A. Kwon, M. van Dijk, E. Stefanov, and S. Devadas. RAW Path ORAM: A low-latency, low-area hardware ORAM controller with integrity verification. IACR Cryptology ePrint Archive, page 431, 2014.Google ScholarGoogle Scholar
  17. C. W. Fletcher, L. Ren, X. Yu, M. van Dijk, O. Khan, and S. Devadas. Suppressing the Oblivious RAM timing channel while making information leakage and program efficiency trade-offs. In HPCA, pages 213--224, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  18. M. Garey and D. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. T. Gilmont, J. didier Legat, and J. jacques Quisquater. Enhancing security in the memory management unit. In EUROMICRO, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  20. O. Goldreich. Towards a theory of software protection and simulation by oblivious RAMs. In STOC, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. O. Goldreich and R. Ostrovsky. Software protection and simulation on oblivious RAMs. J. ACM, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. T. Goodrich and M. Mitzenmacher. Privacy-Preserving Access of Outsourced Data via Oblivious RAM Simulation. In ICALP, pages 576--587, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. T. Goodrich, M. Mitzenmacher, O. Ohrimenko, and R. Tamassia. Privacy-preserving group data access via stateless oblivious RAM simulation. In SODA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. T. Goodrich, O. Ohrimenko, and R. Tamassia. Data-oblivious graph drawing model and algorithms. CoRR, abs/1209.0756, 2012.Google ScholarGoogle Scholar
  25. T. C. Group. Trusted computing group. http://www.trustedcomputinggroup.org/.Google ScholarGoogle Scholar
  26. J. A. Halderman, S. D. Schoen, N. Heninger, W. Clarkson, W. Paul, J. A. Calandrino, A. J. Feldman, J. Appelbaum, and E. W. Felten. Lest we remember: cold-boot attacks on encryption keys. Commun. ACM, 52(5):91--98, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. D. Hedin and D. Sands. Timing aware information flow security for a javacard-like bytecode. Electron. Notes Theor. Comput. Sci., 141(1):163--182, Dec. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. N. Kobayashi and K. Shirane. Type-based information flow analysis for low-level languages. In APLAS, 2002.Google ScholarGoogle Scholar
  29. P. C. Kocher, J. Jaffe, B. Jun, and P. Rohatgi. Introduction to differential power analysis. J. Cryptographic Engineering, 1(1):5--27, 2011.Google ScholarGoogle ScholarCross RefCross Ref
  30. E. Kushilevitz, S. Lu, and R. Ostrovsky. On the (In)security of Hash-based Oblivious RAM and a New Balancing Scheme. In SODA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. D. Lie, J. Mitchell, C. A. Thekkath, and M. Horowitz. Specifying and Verifying Hardware for Tamper-Resistant Software. In IEEE S & P, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. C. Liu, A. Harris, M. Maas, M. Hicks, M. Tiwari, and E. Shi. GhostRider: A hardware-software system for memory trace oblivious computation. Technical Report CS-TR-5041, University of Maryland, Department of Computer Science, Jan. 2015.Google ScholarGoogle Scholar
  33. C. Liu, M. Hicks, and E. Shi. Memory Trace Oblivious Program Execution. In CSF, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. J. R. Lorch, B. Parno, J. W. Mickens, M. Raykova, and J. Schiffman. Shroud: ensuring private access to large-scale data in the data center. In FAST, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. M. Maas, E. Love, E. Stefanov, M. Tiwari, E. Shi, K. Asanovic, J. Kubiatowicz, and D. Song. Phantom: Practical Oblivious Computation in a Secure Processor. In CCS, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. R. Medel, A. Compagnoni, and E. Bonelli. A typed assembly language for non-interference. In ICTCS, pages 360--374, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. G. Morrisett, D. Walker, K. Crary, and N. Glew. From system F to typed assembly language. ACM Trans. Program. Lang. Syst., 21(3):527--568, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. A. Pnueli, M. Siegel, and E. Singerman. Translation Validation. In TACAS, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. F. Pottier and V. Simonet. Information flow inference for ML. ACM Trans. Program. Lang. Syst., 25(1):117--158, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. L. Ren, X. Yu, C. W. Fletcher, M. Van Dijk, and S. Devadas. Design space exploration and optimization of path oblivious ram in secure processors. In ISCA, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. riscv.org. Launching the Open-Source Rocket Chip Generator, Oct. 2014. https://blog.riscv.org/2014/10/launching-the-open-source-rocket-chip-generator/.Google ScholarGoogle Scholar
  42. B. Rogers, S. Chhabra, Y. Solihin, and M. Prvulovic. Using Address Independent Seed Encryption and Bonsai Merkle Trees to Make Secure Processors OS- and Performance- Friendly. In MICRO, pages 183--196, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. A. Sabelfeld and A. C. Myers. Language-based information-flow security. IEEE Journal on Selected Areas in Communications, 21(1):5--19, Jan. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. E. Shi, T.-H. H. Chan, E. Stefanov, and M. Li. Oblivious RAM with O((logN)3) worst-case cost. In ASIACRYPT, pages 197--214, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. S. Skorobogatov. Low temperature data remanence in static RAM. Technical Report UCAM-CL-TR-536, University of Cambridge, Computer Laboratory, June 2002.Google ScholarGoogle Scholar
  46. E. Stefanov, M. van Dijk, E. Shi, T.-H. H. Chan, C. Fletcher, L. Ren, X. Yu, and S. Devadas. Path ORAM: an Extremely Simple Oblivious RAM Protocol. IACR Cryptology ePrint Archive, 2013. http://eprint.iacr.org/2013/280. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. G. E. Suh, D. Clarke, B. Gassend, M. van Dijk, and S. Devadas. AEGIS: architecture for tamper-evident and tamper-resistant processing. In ICS, pages 160--171, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. D. L. C. Thekkath, M. Mitchell, P. Lincoln, D. Boneh, J. Mitchell, and M. Horowitz. Architectural support for copy and tamper resistant software. SIGOPS Oper. Syst. Rev., 34(5):168--177, Nov. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. A. Vasudevan, J. McCune, J. Newsome, A. Perrig, and L. van Doorn. CARMA: A Hardware Tamper-Resistant Isolated Execution Environment on Commodity x86 Platforms. In ASIACCS, May 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. H. Vo, Y. Lee, A. Waterman, and K. Asanovic. A Case for OS-Friendly Hardware Accelerators. In WIVOSCA, 2013.Google ScholarGoogle Scholar
  51. A. Waterman, Y. Lee, D. A. Patterson, and K. Asanovic. The RISC-V Instruction Set Manual, Volume I: Base User- Level ISA. Technical Report UCB/EECS-2011-62, EECS Department, University of California, Berkeley, May 2011.Google ScholarGoogle Scholar
  52. L. Whitney. Microsoft Urges Laws to Boost Trust in the Cloud. http://news.cnet.com/8301-1009_3-10437844-83.html.Google ScholarGoogle Scholar
  53. P. Williams and R. Sion. Single round access privacy on outsourced storage. In CCS, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. P. Williams, R. Sion, and B. Carbunar. Building castles out of mud: practical access pattern privacy and correctness on untrusted storage. In CCS, pages 139--148, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. S. A. Zdancewic. Programming Languages for Information Security. PhD thesis, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. X. Zhuang, T. Zhang, and S. Pande. Hide: an infrastructure for efficiently protecting information leakage on the address bus. SIGARCH Comput. Archit. News, 32(5):72--84, Oct. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. GhostRider: A Hardware-Software System for Memory Trace Oblivious Computation

          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 SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 50, Issue 4
            ASPLOS '15
            April 2015
            676 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/2775054
            • Editor:
            • Andy Gill
            Issue’s Table of Contents
            • cover image ACM Conferences
              ASPLOS '15: Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems
              March 2015
              720 pages
              ISBN:9781450328357
              DOI:10.1145/2694344

            Copyright © 2015 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 14 March 2015

            Check for updates

            Qualifiers

            • research-article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!