No Sugar but All the Taste! Memory Encryption Without Architectural Support

  • Panagiotis Papadopoulos
  • Giorgos Vasiliadis
  • Giorgos Christou
  • Evangelos Markatos
  • Sotiris Ioannidis
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10493)

Abstract

The protection of in situ data, typically require solutions that involve different kinds of encryption schemes. Even though the majority of these solutions prioritize the protection of cold data stored on secondary devices, it has been shown that sensitive information like passwords, secrets, and private data can be easily exfiltrated from main memory as well, by adversaries with physical access. As such, the protection of hot data that reside on main memory is equally important.

In this paper, we aim to investigate whether it is possible to achieve memory encryption without any architectural support at a reasonable performance cost. In particular, we propose the first of its kind software-based memory encryption approach, which ensures that sensitive data will remain encrypted in main memory at all times. Our approach is based on commodity off-the-shelf hardware, and is totally transparent to legacy applications. To accommodate different applications needs, we have built two versions of main memory encryption: Full and Selective Memory Encryption. Additionally, we provide a new memory allocation library that allows programmers to manage granular sensitive memory regions according to the specific requirements of each application. We conduct an extensive quantitative evaluation and characterization of the overheads of our software-based memory encryption, using both micro-benchmarks and real-world application workloads. Our results show that the performance overheads due to memory encryption are tolerable in real-world network scenarios, below 17% for HTTP and 27% for HTTPS.

Notes

Acknowledgements

The research leading to these results has received funding from the European Unions Horizon 2020 Research and Innovation Programme, under Grant Agreement no. 700378 and project H2020 ICT-32-2014 “SHARCS” under Grant Agreement No. 644571.

References

  1. 1.
    Abramson, D., Jackson, J., Muthrasanallur, S., Neiger, G., Regnier, G., Sankaran, R., Schoinas, I., Uhlig, R., Vembu, B., Wiegert, J.: Intel virtualization technology for directed i/o. Intel Technol. J. 10(3)Google Scholar
  2. 2.
    Advanced Micro Devices Inc. AMD I/O Virtualization Technology (IOMMU). http://support.amd.com/TechDocs/48882_IOMMU.pdf
  3. 3.
    Baumann, A., Peinado, M., Hunt, G.: Shielding applications from an untrusted cloud with haven. TCS 33(3) (2015)Google Scholar
  4. 4.
    Berkowits, S.: Pin - a dynamic binary instrumentation tool (2012). https://software.intel.com/en-us/articles/pin-a-dynamic-binary-instrumentation-tool
  5. 5.
    Blass, E.-O., Robertson, W.: TRESOR-HUNT: attacking CPU-bound encryption. In: Proceedings of the 28th Annual Computer Security Applications Conference, ACSAC 2012 (2012)Google Scholar
  6. 6.
    Boileau, A.: Hit by a bus: Physical access attacks with firewire. Presentation, RuxconGoogle Scholar
  7. 7.
    Champagne, D., Lee, R.B.: Scalable architectural support for trusted software. In: HPCA - 16 2010 The Sixteenth International Symposium on High-Performance Computer Architecture, HPCA 2010 (2010)Google Scholar
  8. 8.
    Chan, E.M., Carlyle, J.C., David, F.M., Farivar, R., Campbell, R.H.: Bootjacker: compromising computers using forced restarts. In: Proceedings of the 15th ACM Conference on Computer and Communications Security, CCS 2008 (2008)Google Scholar
  9. 9.
    Colp, P., Zhang, J., Gleeson, J., Suneja, S., de Lara, E., Raj, H., Saroiu, S., Wolman, A.: Protecting data on smartphones and tablets from memory attacks. In: Proceedings of the Twentieth International Conference on ASPLOS 2015 (2015)Google Scholar
  10. 10.
    Dilley, J.A.: Web server workload characterization. Hewlett-Packard Laboratories, Technical Publications DepartmentGoogle Scholar
  11. 11.
    Gruhn, M., Müller, T.: On the practicability of cold boot attacks. In: Proceedings of the 2013 International Conference on ARES 2013 (2013)Google Scholar
  12. 12.
    Halderman, J.A., Schoen, S.D., Heninger, N., Clarkson, W., Paul, W., Calandrino, J.A., Feldman, A.J., Appelbaum, J., Felten, E.W.: Lest we remember: cold-boot attacks on encryption keys. Commun. ACM 52(5) (2009)Google Scholar
  13. 13.
    Henson, M., Taylor, S.: Memory encryption: a survey of existing techniques. ACM Comput. Surv. 46(4)Google Scholar
  14. 14.
    Intel Corporation. Software guard extensions programming reference. https://software.intel.com/sites/default/files/managed/48/88/329298-002.pdf
  15. 15.
    Koromilas, L., Vasiliadis, G., Manousakis, I., Ioannidis, S.: Efficient software packet processing on heterogeneous and asymmetric hardware architectures. In: Proceedings of the Tenth ACM/IEEE Symposium on Architectures for Networking and Communications Systems, ANCS 2014 (2014)Google Scholar
  16. 16.
    Markuze, A., Morrison, A., Tsafrir, D.: True IOMMU protection from DMA attacks: when copy is faster than zero copy. In: Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2016 (2016)Google Scholar
  17. 17.
    McGregor, P., Hollebeek, T., Volynkin, A., White, M.: Braving the cold: new methods for preventing cold boot attacks on encryption keys. In: Black Hat Security Conference (2008)Google Scholar
  18. 18.
    Morris, R., Thompson, K.: Password security: a case history. Commun. ACMGoogle Scholar
  19. 19.
    Müller, T., Dewald, A., Freiling, F.C.: AESSE: a cold-boot resistant implementation of AES. In: Proceedings of the Third European Workshop on System Security, EUROSEC 2010 (2010)Google Scholar
  20. 20.
    Müller, T., Freiling, F.C., Dewald, A.: Tresor runs encryption securely outside ram. In: Proceedings of the 20th USENIX Conference on Security, SEC 2011. USENIX Association (2011)Google Scholar
  21. 21.
    Nagarajan, V., Gupta, R., Krishnaswamy, A.: Compiler-assisted memory encryption for embedded processors. In: Bosschere, K., Kaeli, D., Stenström, P., Whalley, D., Ungerer, T. (eds.) HiPEAC 2007. LNCS, vol. 4367, pp. 7–22. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-69338-3_2CrossRefGoogle Scholar
  22. 22.
    Ou, G.: Cryogenically frozen ram bypasses all disk encryption methods. http://www.zdnet.com/article/cryogenically-frozen-ram-bypasses-all-disk-encryption-methods/
  23. 23.
    Phidgets, Inc. 1122_0 \(-\) 30 Amp Current Sensor AC/DC. http://www.phidgets.com/products.php?category=8&product_id=1122_0
  24. 24.
    Piegdon, D.R.: Hacking in physically addressable memory: a proof of concept. http://eh2008.koeln.ccc.de/fahrplan/attachments/1067_SEAT1394-svn-r432-paper.pdf
  25. 25.
    PrivateCore. Trustworthy computing for OpenStack with vCage. http://privatecore.com/vcage/
  26. 26.
    Simmons, P.: Security through amnesia: a software-based solution to the cold boot attack on disk encryption. In: Proceedings of the 27th Annual Computer Security Applications Conference, ACSAC 2011 (2011)Google Scholar
  27. 27.
    Skorobogatov, S.: Low temperature data remanence in static ram (2002)Google Scholar
  28. 28.
    Stewin, P., Bystrov, I.: Understanding DMA malware. In: Flegel, U., Markatos, E., Robertson, W. (eds.) DIMVA 2012. LNCS, vol. 7591, pp. 21–41. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-37300-8_2CrossRefGoogle Scholar
  29. 29.
    Wetzels, J.: Hidden in snow, revealed in thaw: cold boot attacks revisited. CoRR, abs/1408.0725Google Scholar
  30. 30.
    Zhang, N., Sun, K., Lou, W., Hou, Y.T.: Case: cache-assisted secure execution on arm processors. In: 2016 IEEE Symposium on Security and Privacy (SP), S&P 2016 (2016)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Panagiotis Papadopoulos
    • 1
  • Giorgos Vasiliadis
    • 1
  • Giorgos Christou
    • 1
  • Evangelos Markatos
    • 1
  • Sotiris Ioannidis
    • 1
  1. 1.FORTH-ICSHeraklionGreece

Personalised recommendations