Attested Append-only Memory: Making Adversaries Stick to their Word Distributed Storage Systems CS 6464 2-19-09 presented by: Hussam Abu-Libdeh.

Slides:



Advertisements
Similar presentations
NETWORK ALGORITHMS Presenter- Kurchi Subhra Hazra.
Advertisements

CS 5204 – Operating Systems1 Paxos Student Presentation by Jeremy Trimble.
Failure Detection The ping-ack failure detector in a synchronous system satisfies – A: completeness – B: accuracy – C: neither – D: both.
Replication Management. Motivations for Replication Performance enhancement Increased availability Fault tolerance.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
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,
Computer Science Lecture 18, page 1 CS677: Distributed OS Last Class: Fault Tolerance Basic concepts and failure models Failure masking using redundancy.
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
CS 582 / CMPE 481 Distributed Systems Fault Tolerance.
CS 582 / CMPE 481 Distributed Systems
CMPT 431 Dr. Alexandra Fedorova Lecture XII: Replication.
Computer Science Lecture 17, page 1 CS677: Distributed OS Last Class: Fault Tolerance Basic concepts and failure models Failure masking using redundancy.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 15 Wenbing Zhao Department of Electrical and Computer Engineering.
2/23/2009CS50901 Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial Fred B. Schneider Presenter: Aly Farahat.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 15 Wenbing Zhao Department of Electrical and Computer Engineering.
Practical Byzantine Fault Tolerance (The Byzantine Generals Problem)
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 18: Replication Control All slides © IG.
EEC 688 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Byzantine fault tolerance
State Machines CS 614 Thursday, Feb 21, 2002 Bill McCloskey.
Byzantine Fault Tolerance CS 425: Distributed Systems Fall Material drived from slides by I. Gupta and N.Vaidya.
Fault Tolerance via the State Machine Replication Approach Favian Contreras.
Chapter 19 Recovery and Fault Tolerance Copyright © 2008.
EEC 688/788 Secure and Dependable Computing Lecture 14 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
HQ Replication: Efficient Quorum Agreement for Reliable Distributed Systems James Cowling 1, Daniel Myers 1, Barbara Liskov 1 Rodrigo Rodrigues 2, Liuba.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Replication with View Synchronous Group Communication Steve Ko Computer Sciences and Engineering.
Practical Byzantine Fault Tolerance
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
From Viewstamped Replication to BFT Barbara Liskov MIT CSAIL November 2007.
1 ZYZZYVA: SPECULATIVE BYZANTINE FAULT TOLERANCE R.Kotla, L. Alvisi, M. Dahlin, A. Clement and E. Wong U. T. Austin Best Paper Award at SOSP 2007.
Byzantine fault tolerance
Practical Byzantine Fault Tolerance and Proactive Recovery
IM NTU Distributed Information Systems 2004 Replication Management -- 1 Replication Management Yih-Kuen Tsay Dept. of Information Management National Taiwan.
Commit Algorithms Hamid Al-Hamadi CS 5204 November 17, 2009.
Byzantine Fault Tolerance CS 425: Distributed Systems Fall 2012 Lecture 26 November 29, 2012 Presented By: Imranul Hoque 1.
Fault Tolerant Services
EEC 688/788 Secure and Dependable Computing Lecture 15 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department
The CoBFIT Toolkit PODC-2007, Portland, Oregon, USA August 14, 2007 HariGovind Ramasamy IBM Zurich Research Laboratory Mouna Seri and William H. Sanders.
Byzantine Fault Tolerance
Hwajung Lee.  Improves reliability  Improves availability ( What good is a reliable system if it is not available?)  Replication must be transparent.
Systems Research Barbara Liskov October Replication Goal: provide reliability and availability by storing information at several nodes.
Replication Improves reliability Improves availability ( What good is a reliable system if it is not available?) Replication must be transparent and create.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
Fault Tolerance
Fault Tolerance Chapter 7. Goal An important goal in distributed systems design is to construct the system in such a way that it can automatically recover.
Fail-Stop Processors UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau One paper: Byzantine.
Replication Chapter Katherine Dawicki. Motivations Performance enhancement Increased availability Fault Tolerance.
View Change Protocols and Reconfiguration
Byzantine Fault Tolerance
Providing Secure Storage on the Internet
Implementing Consistency -- Paxos
Replication Improves reliability Improves availability
EEC 688/788 Secure and Dependable Computing
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
Lecture 21: Replication Control
Fault-Tolerant State Machine Replication
Distributed Systems CS
View Change Protocols and Reconfiguration
EEC 688/788 Secure and Dependable Computing
Lecture 21: Replication Control
Implementing Consistency -- Paxos
Presentation transcript:

Attested Append-only Memory: Making Adversaries Stick to their Word Distributed Storage Systems CS presented by: Hussam Abu-Libdeh

Motivation You want to build a service Easy on a single machine What about failure and reliability?  Replicate service on multiple machines Replicated services must appear as single server Linearizability  Completed client requests appear to have been processed in a single, totally ordered, serial schedule consistent with the order they were submitted

Motivation Machines can fail or be hijacked Byzantine failure  Can not distinguish if node is non-faulty, faulty, or malicious Faulty servers can lie Equivocation  Different lies to different people Previously in cs6464, SUNDR & fork consistency

Today Can we use small trusted components to combat equivocation ?

Agenda Equivocation “attacks” The A2M A2M-PBFT-E A2M-PBFT-EA A2M-Storage A2M-PBFT-EAXYZ-FOO-RANDOM-CHARS Ok maybe not Discussion

Equivocation Servers respond incorrectly and differently to different clients Can be detected if clients were trusted Could happen in two places Servers equivocating to clients Servers equivocating to other servers Both bad

Equivocating to Clients

Equivocating to Servers

A2M Attested Append-only Memory A trust abstraction Essentially: A chunk of memory You can access it You trust its content  You have a reason to trust it  Backed up by a TPM, or placed in a trusted VM or VMM or on a separate trusted machine..etc

A2M Interface Supports basic operations append(q,x)  Add value to the tail of the list lookup(q,n,z)  Look up value at position n end(q,z)  Look up last entry in list truncate(q,n)  Remove all entries below n advance(q,n,d,x)  Skip a few positions (n-current position) in the list

PBFT Practical Byzantine Fault-Tolerance Client sends request, later a reply is accepted if received from more than 1/3 of the servers Internally works in 3 phases Primary multicasts pre-prepare to all replicas If a server receives pre-prepares from > 2/3 of the servers, it multicasts a prepare message If a server receives prepares from > 2/3 of the servers, it multicasts a commit message

PBFT

Two steps of PBFT Agreement  pre-prepare, prepare, and commit messages Execution  communication between replicas and client Other parts of PBFT Checkpointing, changing views..etc Not central to our discussion today

A2M-PBFT-E PBFT with trusted Execution step (A2M) Replicas can equivocate to each other Equivocation to clients will be detected Clients accept reply quorums if all agree in A2M entry for the reply sequence number Requires > 2/3 replicas be non-faulty (like PBFT) If 1/3 < # faulty < 2/3  Clients won't commit faulty sequence #s because at least one replica will have correct A2M entry

A2M-PBFT-E

A2M-PBFT-EA PBFT w/ trusted Execution & Agreement steps Equivocation to clients will be detected Equivocation to servers will be detected At each step, replicas attest msgs with A2M Just need a majority (>1/2) of replicas to agree Thus can tolerate <1/2 of faulty servers

A2M-PBFT-EA

A2M-Storage Server maintains two A2M logs One for operation digest (like SUNDR) (log s) One for latest write sequence number (log h) Client use timestamps with read/write Timestamp = (req_seq, att_seq_h, att_seq_s)  i.e. Client operations attest if current sequence # is latest Clients store their last timestamp Read/Write operations use timestamp If latest, proceed; otherwise, refresh

Evaluation Emulated A2M in a C++ module Ran agreement protocol w/ 4 replicas & 1 client Microbenchmark requests/replies of various size Macrobenchmark NFS front-end with PBFT backend Compile a relatively small package Results not surprising

Evaluation - Microbenchmarks

Evaluation - Macrobenchmarks

Evaluation – Varying delay time

Thank You