1 Venus: Verification for Untrusted Cloud Storage Christian Cachin Idit Keidar, Asaf Cidon, Yan Michalevsky, Dani Shaket IBM Research Zurch Technion, Israel.

Slides:



Advertisements
Similar presentations
SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010.
Advertisements

11-May-15CSE 542: Operating Systems1 File system trace papers The Zebra striped network file system. Hartman, J. H. and Ousterhout, J. K. SOSP '93. (ACM.
Developers: Alexey Rastvortsev, Ilya Kolchinsky Supervisors: Roy Friedman, Alex Kogan.
1 Attested Append-Only Memory: Making Adversaries Stick to their Word Byung-Gon Chun (ICSI) October 15, 2007 Joint work with Petros Maniatis (Intel Research,
SPORC Group Collaboration using Untrusted Cloud Resources 1SPORC: Group Collaboration using Untrusted Cloud Resources — OSDI 10/5/10 Ariel J. Feldman,
Database Replication techniques: a Three Parameter Classification Authors : Database Replication techniques: a Three Parameter Classification Authors :
CS 582 / CMPE 481 Distributed Systems
“Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System ” Distributed Systems Κωνσταντακοπούλου Τζένη.
1 Availability Study of Dynamic Voting Algorithms Kyle Ingols and Idit Keidar MIT Lab for Computer Science.
FAUST: Fail-Aware Untrusted Storage Christian Cachin IBM Zurich Idit Keidar Technion Alex Shraer, Technion, Israel Joint work with:
1 Dynamic Atomic Storage Without Consensus Alex Shraer (Technion) Joint work with: Marcos K. Aguilera (MSR), Idit Keidar (Technion), Dahlia Malkhi (MSR.
1 Principles of Reliable Distributed Systems Lecture 5: Failure Models, Fault-Tolerant Broadcasts and State-Machine Replication Spring 2005 Dr. Idit Keidar.
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
Computer Science 162 Section 1 CS162 Teaching Staff.
USER LEVEL INTERPROCESS COMMUNICATION FOR SHARED MEMORY MULTIPROCESSORS Presented by Elakkiya Pandian CS 533 OPERATING SYSTEMS – SPRING 2011 Brian N. Bershad.
Tentative Updates in MINO Steven Czerwinski Jeff Pang Anthony Joseph John Kubiatowicz ROC Winter Retreat January 13, 2002.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
The Architecture of Transaction Processing Systems
Concurrency Control & Caching Consistency Issues and Survey Dingshan He November 18, 2002.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
Byzantine fault tolerance
Long-term Archive Service Requirements draft-ietf-ltans-reqs-00.txt.
CLOUD COMPUTING.  It is a collection of integrated and networked hardware, software and Internet infrastructure (called a platform).  One can use.
Presented by: Alvaro Llanos E.  Motivation and Overview  Frangipani Architecture overview  Similar DFS  PETAL: Distributed virtual disks ◦ Overview.
SPORC: Group Collaboration using Untrusted Cloud Resources OSDI 2010 Presented by Yu Chen.
Cong Wang1, Qian Wang1, Kui Ren1 and Wenjing Lou2
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
WORKFLOW IN MOBILE ENVIRONMENT. WHAT IS WORKFLOW ?  WORKFLOW IS A COLLECTION OF TASKS ORGANIZED TO ACCOMPLISH SOME BUSINESS PROCESS.  EXAMPLE: Patient.
Project Presentation Students: Yan Michalevsky Asaf Cidon Supervisors: Alexander Shraer Assoc. Prof. Idit Keidar.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
SPREAD TOOLKIT High performance messaging middleware Presented by Sayantam Dey Vipin Mehta.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Practical Byzantine Fault Tolerance
Group Communication Group oriented activities are steadily increasing. There are many types of groups:  Open and Closed groups  Peer-to-peer and hierarchical.
From Viewstamped Replication to BFT Barbara Liskov MIT CSAIL November 2007.
Byzantine fault tolerance
IM NTU Distributed Information Systems 2004 Replication Management -- 1 Replication Management Yih-Kuen Tsay Dept. of Information Management National Taiwan.
Robustness in the Salus scalable block store Yang Wang, Manos Kapritsos, Zuocheng Ren, Prince Mahajan, Jeevitha Kirubanandam, Lorenzo Alvisi, and Mike.
{ Cloud computing. Exciting and relatively new technologies allow computing to be a part of our everyday lives. Cloud computing allows users to save their.
CS425 / CSE424 / ECE428 — Distributed Systems — Fall 2011 Some material derived from slides by Prashant Shenoy (Umass) & courses.washington.edu/css434/students/Coda.ppt.
Efficient Fork-Linearizable Access to Untrusted Shared Memory Presented by: Alex Shraer (Technion) IBM Zurich Research Laboratory Christian Cachin IBM.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
Storage Systems CSE 598d, Spring 2007 Rethink the Sync April 3, 2007 Mark Johnson.
Chapter 4 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University Building Dependable Distributed Systems.
SOSP 2007 © 2007 Andreas Haeberlen, MPI-SWS 1 Practical accountability for distributed systems Andreas Haeberlen MPI-SWS / Rice University Petr Kuznetsov.
Systems Research Barbara Liskov October Replication Goal: provide reliability and availability by storing information at several nodes.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
EEC 688/788 Secure and Dependable Computing Lecture 9 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Highly Available Services and Transactions with Replicated Data Jason Lenthe.
Robustness in the Salus scalable block store Yang Wang, Manos Kapritsos, Zuocheng Ren, Prince Mahajan, Jeevitha Kirubanandam, Lorenzo Alvisi, and Mike.
Explicit Acknowledgments A separate ebXML Message is sent in response to a normal message.
Robustness in the Salus scalable block store Yang Wang, Manos Kapritsos, Zuocheng Ren, Prince Mahajan, Jeevitha Kirubanandam, Lorenzo Alvisi, and Mike.
Database Laboratory Regular Seminar TaeHoon Kim Article.
ZOOKEEPER. CONTENTS ZooKeeper Overview ZooKeeper Basics ZooKeeper Architecture Getting Started with ZooKeeper.
April 6, 2016ASPLOS 2016Atlanta, Georgia. Yaron Weinsberg IBM Research Idit Keidar Technion Hagar Porat Technion Eran Harpaz Technion Noam Shalev Technion.
BChain: High-Throughput BFT Protocols
Intrusion Tolerant Architectures
CSE 486/586 Distributed Systems Consistency --- 2
CSE 486/586 Distributed Systems Consistency --- 1
CHAPTER 3 Architectures for Distributed Systems
Unit 27: Network Operating Systems
CSE 486/586 Distributed Systems Consistency --- 1
EEC 688/788 Secure and Dependable Computing
From Viewstamped Replication to BFT
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
CSE 486/586 Distributed Systems Consistency --- 2
CSE 486/586 Distributed Systems Consistency --- 1
Presentation transcript:

1 Venus: Verification for Untrusted Cloud Storage Christian Cachin Idit Keidar, Asaf Cidon, Yan Michalevsky, Dani Shaket IBM Research Zurch Technion, Israel 1 Alex Shraer

The benefits of cloud computing The cloud enables clients to: –Obtain resources on demand –Pay only for what they actually use –Benefit from economies of scale Cloud storage –Outsource the storage –Replace or combine with in-house storage Cloud provider Clients 2

But can we trust the cloud? Software bugs, hardware malfunction, network partition, misconfiguration, hacker attack, provider outsources to save money,.... More in [Cachin, Keidar, Shraer, SIGACT News 09] Amazon S3, 2008, silent data corruption: “We’ve isolated this issue to a single load balancer … under load, it was corrupting single bytes in the byte stream...” “Early on the West-coast morning of Friday, January 31 st (2009), Ma.gnolia experienced every web service’s worst nightmare: data corruption and loss. For Ma.gnolia, this means that the service is offline and members’ bookmarks are unavailable, both through the website itself and the API. As I evaluate recovery options, I can’t provide a certain timeline or prognosis as to to when or to what degree Ma.gnolia or your bookmarks will return; only that this process will take days, not hours.” 3

Our Goal Guarantee integrity and consistency to users of remote storage even when the storage is faulty and detect failures 4

Consistency Semantics guaranteed when accessing shared data Some applications require strong consistency –Credit/medical records, meta-data for a distributed file system –Updates should be immediately visible to readers enforce a credit limit, change patient’s treatment, revoke user access For others, weaker semantics might be good enough –Collaborative document editing wiki, Google docs, MS Sharepoint, version control Clear semantics are necessary for programmers/users 5

Impossible to guarantee atomicity (linearizability) – Unless clients communicate directly before ending each operation… Also impossible: sequential-consistency [Cachin, Shelat, Shraer, PODC 07] What can be guaranteed ?? Can we guarantee strong consistency? XX write (X, 7) read (X) X = ┴ 7 ┴┴ ACK

“Fork” linearizability Faulty server may present different views to clients  “Fork” their views of the history  Each branch looks linearizable Views are forked ever after (no "Joins")  can be detected using client-to-client messages Different flavors and implementations – [Mazières & Shasha PODC 02] [Li et al., OSDI04] [Li & Mazières, NSDI 2007] [Oprea & Reiter, DISC 2006] [Cachin, Shelat, Shraer, PODC 07] read(X) →  write(X, 7) start (X=  ) read(X) → 7 read(X) →  7

Usual flow of “forking” algorithms read(X) →  write(X, 7) C1 C1C1 C2C2 read(X) → 7 C 2 is forked from C 1 A Join – not allowed with fork linearizability My context is: start (I am the first operation) My context is: start (I am the first operation) Something is wrong! REPLY: operation context (op1, op2, … were scheduled before you) [For read operation also: value, signed context of corresponding write] COMMIT op (signed context) SUBMIT read/write operation Client Server “Joins”, and how to prevent them

Problems with “forking” 1.Blocking We proved: all previously defined “forking” conditions hamper system availability when the storage is correct 2.Too complicated –Too different from conventional consistency / memory models 3.Remote storage must execute the “forking” protocol –Can’t use with commodity cloud storage 9

Venus Design Principles 1.Defenses should not affect normal case –Never block clients when the storage is correct 2.Simple, meaningful semantics –Eventual consistency –Fail awareness – clients learn of every consistency/integrity violation post-attack method checks if server behaved correctly (application specific) doesn’t require trusted hardware / synchrony 3.Deploy on standard cloud storage 10

Eventual Consistency First used in Bayou (SOSP 95) –Today in commercial systems, e.g., Amazon’s Dynamo (SOSP 07) Client operations complete optimistically Client notified when its operation is known to be consistent –But may invoke other operations without waiting for these notifications Resembles Futures, Promises, etc. –Future : result of an asynchronous computation –Concept exists since late 70s –java.util.concurrent.Future in Java, Parallel Extensions library for C#, Sub::Future in Perl, pythonfutures for Python, etc. 11

Commodity Storage Service Verifier core set Venus Architecture client-side library May be hosted and distributed May crash, or temporarily disconnect May disconnect, but majority don’t crash Using e.g., When joining or suspecting failure Verifier

Venus Semantics When storage is correct, operations are wait-free An operation is Yellow when it completes –Guarantee: integrity and weak (causal) consistency It later becomes Green  Implies that all preceding ops of this client are also Green –Guarantee: all clients observe Green operations in the same order (two conflicting operations cannot both become Green) Every Yellow operation eventually becomes Green, or failure is detected 13

Venus Basics Clients read/write data directly from storage Separately store meta-data on verifier –Optimistically parallelized with storing the data –Meta-data: pointer to storage, hash, and context info Operation becomes yellow when it completes –If integrity/causality violated, operation doesn’t complete, failure notification is issued Operation becomes green when enough context info is collected –Periodically retrieve context info from verifier –If no new info for long enough, contact a core client directly Did core set clients observe my op as I did ? 14

Venus Implementation & Evaluation Amazon S3 used as the storage service Location of verifier: –same LAN as Technion –over WAN connection, on a public MIT Clients join with id = address –Clients (rarely) send automated s to each other (SMTP & IMAP) –Supports offline clients, clients behind firewalls, etc. GnuPG was used for authentication Tested using micro-benchmarks & simulated attacks 15

Venus Compared to “raw” S3 16

Conclusions Venus offers simple yellow/green semantics –Augments storage read/write interface with green&failure notifications –Eventual consistency + Fail-Awareness Provides consistency & integrity, even when storage is faulty No additional trusted components Normal flow unaffected: client ops complete independently Works with unmodified cloud storage, evaluated with S3 17

Questions? 18