Trust No One: Thwarting "heartbleed" Attacks Using Privacy-Preserving Computation

A security bug in the OpenSSL library, codenamed Heartbleed, allowed attackers to read the contents of the corresponding server's memory, effectively revealing passwords, master keys, and users' session cookies. As long as the server memory contents are in the clear, it is a matter of time until the next bug/attack hands information over to attackers. In this paper, we investigate the applicability of privacy-preserving general-purpose computation, that would potentially render any information leaked indecipherable to attackers. Privacy is ensured by the use of homomorphically-encrypted memory contents. To this end, we explore the boundaries of general-purpose computation constrained for user data privacy. Specifically, we explore the minimum amount of information required for general purpose computation, which typically requires control flow and branches, and to what extent such information can be kept private from threats that have theoretically unlimited resources, including access to the internals of a target system.

[1]  Astro Teller,et al.  Turing completeness in the language of genetic programming with indexed memory , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[2]  Corrado Böhm,et al.  Flow diagrams, turing machines and languages with only two formation rules , 1966, CACM.

[3]  Yehuda Lindell,et al.  Introduction to Modern Cryptography , 2004 .

[4]  Ra Ul Rojas,et al.  Conditional Branching Is Not Necessary for Universal Computation in Von Neumann Computers , 1996 .

[5]  Srinivas Devadas,et al.  A secure processor architecture for encrypted computation on untrusted programs , 2012, STC '12.

[6]  Manoj Prabhakaran,et al.  Homomorphic Encryption with CCA Security , 2008, ICALP.

[7]  Phillip A. Laplante,et al.  Computer Architecture: A Minimalist Perspective , 2003 .

[8]  Christof Paar,et al.  Stealthy dopant-level hardware Trojans: extended version , 2013, Journal of Cryptographic Engineering.

[9]  Carlos V. Rozas,et al.  Innovative instructions and software model for isolated execution , 2013, HASP '13.

[10]  Ronald L. Rivest,et al.  ON DATA BANKS AND PRIVACY HOMOMORPHISMS , 1978 .

[11]  Peter J. Nürnberg,et al.  A Grand Unified Theory for Structural Computing , 2003, Metainformatics.

[12]  Kate Cummings,et al.  Introduction to the Theory , 2015 .

[13]  Nektarios Georgios Tsoutsos,et al.  Fabrication Attacks: Zero-Overhead Malicious Modifications Enabling Modern Microprocessor Privilege Escalation , 2014, IEEE Transactions on Emerging Topics in Computing.

[14]  Michael Sipser,et al.  Introduction to the Theory of Computation , 1996, SIGA.

[15]  Nektarios Georgios Tsoutsos,et al.  Investigating the Application of One Instruction Set Computing for Encrypted Data Computation , 2013, SPACE.

[16]  Craig Gentry,et al.  Fully homomorphic encryption using ideal lattices , 2009, STOC '09.

[17]  Daniele Micciancio,et al.  A first glimpse of cryptography's Holy Grail , 2010, CACM.

[18]  Nektarios Georgios Tsoutsos,et al.  HEROIC: Homomorphically EncRypted One Instruction Computer , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[19]  Phillip A. Laplante,et al.  Instruction Set Completeness , 2003 .