skip to main content
10.1145/3419111.3421273acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

T-Lease: a trusted lease primitive for distributed systems

Published: 12 October 2020 Publication History

Abstract

A lease is an important primitive for building distributed protocols, and it is ubiquitously employed in distributed systems. However, the scope of the classic lease abstraction is restricted to the trusted computing infrastructure. Unfortunately, this important primitive cannot be employed in the untrusted computing infrastructure because the trusted execution environments (TEEs) do not provide a trusted time source. In the untrusted environment, an adversary can easily manipulate the system clock to violate the correctness properties of lease-based systems.
We tackle this problem by introducing trusted lease---a lease that maintains its correctness properties even in the presence of a clock-manipulating attacker. To achieve these properties, we follow a "trust but verify" approach for an untrusted timer, and transform it into a trusted timing primitive by leveraging two hardware-assisted ISA extensions (Intel TSX and SGX) available in commodity CPUs. We provide a design and implementation of trusted lease in a system called T-Lease---the first trusted lease system that achieves high security, performance, and precision. For the application developers, T-Lease exposes an easy-to-use generic APIs that facilitate its usage to build a wide range of distributed protocols.

Supplementary Material

MP4 File (p387-trach-presentation.mp4)

References

[1]
Azure Stack. https://azure.microsoft.com/en-us/overview/azure-stack/, accessed on 10/08/2020.
[2]
Data-in-use protection on IBM Cloud using Intel SGX. https://www.ibm.com/cloud/blog/data-use-protection-ibm-cloud-using-intel-sgx, accessed on 10/08/2020.
[3]
Intel Multi-Buffer Crypto for IPsec Library. https://github.com/intel/intel-ipsec-mb, accessed on 10/08/2020.
[4]
vdso(7) - Linux manual page. https://man7.org/linux/man-pages/man7/vdso.7.html, accessed on 10/08/2020.
[5]
A. Adya, W. J. Bolosky, M. Castro, G. Cermak, R. Chaiken, J. R. Douceur, J. Howell, J. R. Lorch, M. Theimer, and R. P. Wattenhofer. Farsite: Federated, Available, and Reliable Storage for an Incompletely Trusted Environment. In USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2002.
[6]
A. Adya, D. Myers, J. Howell, J. Elson, C. Meek, V. Khemani, S. Fulger, P. Gu, L. Bhuvanagiri, J. Hunter, R. Peon, L. Kai, A. Shraer, A. Merchant, and K. Lev-Ari. Slicer: Auto-Sharding for Datacenter Applications. In USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2016.
[7]
M. K. Aguilera, A. Merchant, M. Shah, A. Veitch, and C. Karamanolis. Sinfonia: A New Paradigm for Building Scalable Distributed Systems. In ACM Symposium on Operating Systems Principles (SOSP), 2007.
[8]
F. Alder, N. Asokan, A. Kurnikov, A. Paverd, and M. Steiner. S-FaaS: Trustworthy and Accountable Function-as-a-Service Using Intel SGX. In ACM SIGSAC Conference on Cloud Computing Security Workshop (CCSW), 2019.
[9]
F. M. Anwar and M. B. Srivastava. Applications and Challenges in Securing Time. In USENIX Workshop on Cyber Security Experimentation and Test, (CSET), 2019.
[10]
S. Arnautov, B. Trach, F. Gregor, T. Knauth, A. Martin, C. Priebe, J. Lind, D. Muthukumaran, D. O'Keeffe, M. L. Stillwell, D. Goltzsche, D. Eyers, R. Kapitza, P. Pietzuch, and C. Fetzer. SCONE: Secure Linux Containers with Intel SGX. In USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2016.
[11]
W. Arthur and D. Challener. A Practical Guide to TPM 2.0: Using the Trusted Platform Module in the New Age of Security. Apress, 2015.
[12]
M. Bailleu, D. Dragoti, P. Bhatotia, and C. Fetzer. Tee-perf: A profiler for trusted execution environments. In 2019 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), 2019.
[13]
M. Bailleu, J. Thalheim, P. Bhatotia, C. Fetzer, M. Honda, and K. Vaswani. SPEICHER: Securing LSM-based Key-Value Stores using Shielded Execution. In USENIX Conference on File and Storage Technologies (FAST), 2019.
[14]
M. Burrows. The Chubby Lock Service for Loosely-coupled Distributed Systems. In USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2006.
[15]
S. Chen, X. Zhang, M. K. Reiter, and Y. Zhang. Detecting Privileged Side-Channel Attacks in Shielded Execution with DéJà Vu. In Asia Conference on Computer and Communications Security (ASIA CCS), 2017.
[16]
Corbett et al. Spanner: Google's Globally-Distributed Database. In USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2012.
[17]
V. Costan and S. Devadas. Intel SGX Explained. IACR Cryptology ePrint Archive, 2016.
[18]
V. Costan and S. Devadas. Intel SGX Explained. Cryptology ePrint Archive, Report 2016/086, 2016.
[19]
DPDK Project. DPDK Getting Started Guide for Linux, 2019.
[20]
A. Dragojevic, D. Narayanan, E. Nightingale, M. Renzelmann, A. Shamis, A. Badam, and M. Castro. No compromises: distributed transactions with consistency, availability, and performance. In ACM Symposium on Operating Systems Principles (SOSP), 2015.
[21]
C. Fetzer and F. Cristian. A Highly Available Local Leader Election Service. IEEE Transactions on Software Engineering, 1999.
[22]
S. Ghemawat, H. Gobioff, and S.-T. Leung. The Google File System. In ACM Symposium on Operating Systems Principles (SOSP), 2003.
[23]
C. Gray and D. Cheriton. Leases: An Efficient Fault-tolerant Mechanism for Distributed File Cache Consistency. In ACM Symposium on Operating Systems Principles (SOSP), 1989.
[24]
H. S. Gunawi, M. Hao, T. Leesatapornwongsa, T. Patana-anake, T. Do, J. Adityatama, K. J. Eliazar, A. Laksono, J. F. Lukman, V. Martin, and A. D. Satria. What Bugs Live in the Cloud? A Study of 3000+ Issues in Cloud Systems. In ACM Symposium on Cloud Computing (SoCC), 2014.
[25]
M. Hamburg, P. Kocher, and M. E. Marson. Analysis of Intel's Ivy Bridge digital random number generator. Technical report, Cryptography Research, Inc., 2012.
[26]
P. Huang, C. Guo, J. R. Lorch, L. Zhou, and Y. Dang. Capturing and Enhancing in Situ System Observability for Failure Detection. In USENIX Conference on Operating Systems Design and Implementation (OSDI), 2018.
[27]
P. Hunt, M. Konar, F. P. Junqueira, and B. Reed. ZooKeeper: Wait-free Coordination for Internet-scale Systems. In USENIX Annual Technical Conference (USENIX ATC), 2010.
[28]
F. Hupfeld, B. Kolbeck, J. Stender, M. Högqvist, T. Cortes, J. Martí, and J. Malo. FaTLease: scalable fault-tolerant lease negotiation with Paxos. Cluster Computing, 2009.
[29]
Intel Corporation. IA-PC HPET (High Precision Event Timers), 2004.
[30]
Intel Corporation. Intel® Software Guard Extensions SDK for Linux OS, 2017.
[31]
Intel Corporation. Intel® Digital Random Number Generator (DRNG) Software Implementation Guide, Revision 2.1, October 2018.
[32]
Intel Corporation. Intel® 64 and IA-32 Architectures Software Developer's Manual, 2018.
[33]
J. J. Kistler and M. Satyanarayanan. Disconnected Operation in the Coda File System. In ACM Symposium on Operating Systems Principles (SOSP), 1991.
[34]
R. Kotla, T. Rodeheffer, I. Roy, P. Stuedi, and B. Wester. Pasture: Secure offline data access using commodity trusted hardware. In USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2012.
[35]
R. Krahn, B. Trach, A. Vahldiek-Oberwagner, T. Knauth, P. Bhatotia, and C. Fetzer. Pesos: Policy enhanced secure object store. In Proceedings of the Thirteenth EuroSys Conference (EuroSys), 2018.
[36]
D. Kuvaiskii, R. Faqeh, P. Bhatotia, P. Felber, and C. Fetzer. HAFT: Hardware-assisted fault tolerance. In Proceedings of the Eleventh European Conference on Computer Systems (EuroSys), 2016.
[37]
D. Kuvaiskii, O. Oleksenko, S. Arnautov, B. Trach, P. Bhatotia, P. Felber, and C. Fetzer. SGXBOUNDS: Memory Safety for Shielded Execution. In European Conference on Computer Systems (EuroSys), 2017.
[38]
L. Lamport. Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Longman Publishing Co., 2002.
[39]
B. W. Lampson. How to Build a Highly Available System Using Consensus. In International Workshop on Distributed Algorithms (WDAG), 1996.
[40]
D. Lee, D. Kohlbrenner, S. Shinde, K. Asanović, and D. Song. Keystone: An Open Framework for Architecting Trusted Execution Environments. In European Conference on Computer Systems (EuroSys), 2020.
[41]
D. Levin, J. R. Douceur, J. R. Lorch, and T. Moscibroda. TrInc: Small Trusted Hardware for Large Distributed Systems. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), 2009.
[42]
H. Liang, M. Li, Q. Zhang, Y. Yu, L. Jiang, and Y. Chen. Aurora: Providing Trusted System Services for Enclaves On an Untrusted System. CoRR, 2018.
[43]
S. Matetic, M. Ahmed, K. Kostiainen, A. Dhar, D. M. Sommer, A. Gervais, A. Juels, and S. Capkun. ROTE: rollback protection for trusted execution. In USENIX Security Symposium, (USENIX Security), 2017.
[44]
D. Mazières. A Toolkit for User-Level File Systems. In USENIX Annual Technical Conference (USENIX ATC), 2001.
[45]
F. McKeen, I. Alexandrovich, A. Berenzon, C. V. Rozas, H. Shafi, V. Shanbhogue, and U. R. Savagaonkar. Innovative Instructions and Software Model for Isolated Execution. In International Workshop on Hardware and Architectural Support for Security and Privacy (HASP), 2013.
[46]
I. Moraru, D. G. Andersen, and M. Kaminsky. Paxos Quorum Leases: Fast Reads Without Sacrificing Writes. In ACM Symposium on Cloud Computing (SoCC), 2014.
[47]
A. Muthitacharoen, B. Chen, and D. Mazières. A Low-bandwidth Network File System. In ACM Symposium on Operating Systems Principles (SOSP), 2001.
[48]
R. Nishtala, H. Fugal, S. Grimm, M. Kwiatkowski, H. Lee, H. C. Li, R. McElroy, M. Paleczny, D. Peek, P. Saab, D. Stafford, T. Tung, and V. Venkataramani. Scaling Memcache at Facebook. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), 2013.
[49]
O. Oleksenko, D. Kuvaiskii, P. Bhatotia, P. Felber, and C. Fetzer. Intel MPX Explained: A Cross-layer Analysis of the Intel MPX System Stack. Proceedings of the ACM on Measurement and Analysis of Computing Systems, 2018.
[50]
O. Oleksenko, B. Trach, R. Krahn, M. Silberstein, and C. Fetzer. Varys: Protecting SGX Enclaves from Practical Side-Channel Attacks. In USENIX Annual Technical Conference (USENIX ATC), 2018.
[51]
B. Parno. Trust Extension as a Mechanism for Secure Code Execution on Commodity Computers. ACM, 2014.
[52]
B. Parno, J. R. Lorch, J. R. Douceur, J. W. Mickens, and J. M. McCune. Memoir: Practical state continuity for protected modules. In IEEE Symposium on Security and Privacy, 2011.
[53]
S. Pinto and N. Santos. Demystifying Arm TrustZone: A Comprehensive Survey. ACM Computer Surveys, 2019.
[54]
R. Poddar, C. Lan, R. A. Popa, and S. Ratnasamy. SafeBricks: Shielding Network Functions in the Cloud. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), 2018.
[55]
D. L. Quoc, F. Gregor, R. Kunkel, S. Arnautov, P. Bhatotia, and C. Fetzer. secureTF: A secure tensorflow framework. In 21st International Middleware Conference (Middleware), 2020.
[56]
N. Santos, K. P. Gummadi, and R. Rodrigues. Towards Trusted Cloud Computing. In USENIX Workshop on Hot Topics in Cloud Computing (HotCloud), 2009.
[57]
M. Schwarz, S. Weiser, D. Gruss, C. Maurice, and S. Mangard. Malware guard extension: Using sgx to conceal cache attacks. Detection of Intrusions and Malware, and Vulnerability Assessment (DIVMA), 2017.
[58]
K. Shvachko, H. Kuang, S. Radia, and R. Chansler. The hadoop distributed file system. In IEEE Symposium on Mass Storage Systems and Technologies (MSST), 2010.
[59]
B. Trach, A. Krohmer, S. Arnautov, F. Gregor, P. Bhatotia, and C. Fetzer. Slick: Secure middleboxes using shielded execution. CoRR, abs/1709.04226, 2017.
[60]
B. Trach, A. Krohmer, F. Gregor, S. Arnautov, P. Bhatotia, and C. Fetzer. ShieldBox: Secure Middleboxes Using Shielded Execution. In Symposium on SDN Research (SOSR), 2018.
[61]
B. Trach, O. Oleksenko, F. Gregor, P. Bhatotia, and C. Fetzer. Clemmys: Towards secure remote execution in faas. In 12th ACM International Conference on Systems and Storage (SYSTOR), 2019.
[62]
C.-C. Tsai, D. E. Porter, and M. Vij. Graphene-SGX: A Practical Library OS for Unmodified Applications on SGX. In USENIX Annual Technical Conference (USENIX ATC), 2017.
[63]
J. Van Bulck, M. Minkin, O. Weisse, D. Genkin, B. Kasikci, F. Piessens, M. Silberstein, T. F. Wenisch, Y. Yarom, and R. Strackx. Foreshadow: Extracting the keys to the Intel SGX kingdom with transient out-of-order execution. In USENIX Security Symposium, 2018.
[64]
O. Weisse, J. Van Bulck, M. Minkin, D. Genkin, B. Kasikci, F. Piessens, M. Silberstein, R. Strackx, T. F. Wenisch, and Y. Yarom. Foreshadow-NG: Breaking the Virtual Memory Abstraction with Transient Out-of-Order Execution. Technical report, 2018.
[65]
D. Y. Yoon, M. Chowdhury, and B. Mozafari. Distributed Lock Management with RDMA: Decentralization Without Starvation. In International Conference on Management of Data (SIGMOD), 2018.
[66]
H. Yu, L. Breslau, and S. Shenker. A Scalable Web Cache Consistency Architecture. In Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), 1999.
[67]
Y. Yu, P. Manolios, and L. Lamport. Model Checking TLA+ Specifications. In Advanced Research Working Conference on Correct Hardware Design and Verification Methods (CHARME), 1999.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SoCC '20: Proceedings of the 11th ACM Symposium on Cloud Computing
October 2020
535 pages
ISBN:9781450381376
DOI:10.1145/3419111
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 October 2020

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

SoCC '20
Sponsor:
SoCC '20: ACM Symposium on Cloud Computing
October 19 - 21, 2020
Virtual Event, USA

Acceptance Rates

SoCC '20 Paper Acceptance Rate 35 of 143 submissions, 24%;
Overall Acceptance Rate 169 of 722 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)60
  • Downloads (Last 6 weeks)2
Reflects downloads up to 24 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media