GNuggies: A Proposal for Hosting Resilient Stateless Services Using Untrusted Nodes Harshit Agarwal.

Slides:



Advertisements
Similar presentations
Distributed Data Processing
Advertisements

Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
© 2014 Persistent Systems Ltd Enabling DraaS on OpenStack Speakers: Haribabu Kasturi, Amitabh Shukla.
Managing IP addresses for your private clouds 2013 ASEAN CAS Summit Bangkok, Thailand 7 February 2013 George Kuo Member Services Manager.
LOAD BALANCING IN A CENTRALIZED DISTRIBUTED SYSTEM BY ANILA JAGANNATHAM ELENA HARRIS.
High Performance Computing Course Notes Grid Computing.
Network Isolation Using Group Policy and IPSec Paula Kiernan Senior Consultant Ward Solutions.
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
Storing and Accessing Live Mashup Content in the Cloud Krzysztof Ostrowski, Ken Birman Cornell University
FRIENDS: File Retrieval In a dEcentralized Network Distribution System Steven Huang, Kevin Li Computer Science and Engineering University of California,
MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September.
1 CompuP2P: An Architecture for Sharing of Computing Resources In Peer-to-Peer Networks With Selfish Nodes Rohit Gupta and Arun K. Somani
Presented by Sujit Tilak. Evolution of Client/Server Architecture Clients & Server on different computer systems Local Area Network for Server and Client.
Security Framework For Cloud Computing -Sharath Reddy Gajjala.
CLOUD COMPUTING  IT is a service provider which provides information.  IT allows the employees to work remotely  IT is a on demand network access.
Module 12: Designing High Availability in Windows Server ® 2008.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
Creating an EC2 Provisioning Module for VCL Cameron Mann & Everett Toews.
Virtual techdays INDIA │ august 2010 SQL Azure – Tips and Tricks Ramaprasanna Chellamuthu │ Developer Evangelist, Microsoft.
Project Presentation Students: Yan Michalevsky Asaf Cidon Supervisors: Alexander Shraer Assoc. Prof. Idit Keidar.
Terminodes and Sybil: Public-key management in MANET Dave MacCallum (Brendon Stanton) Apr. 9, 2004.
BOSCO Architecture Derek Weitzel University of Nebraska – Lincoln.
Introduction1-1 Data Communications and Computer Networks Chapter 1 CS 3830 Lecture 1 Omar Meqdadi Department of Computer Science and Software Engineering.
 High-Availability Cluster with Linux-HA Matt Varnell Cameron Adkins Jeremy Landes.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
Guard Sets for Onion Routing JOSHUA FREE. Tor Most popular low-latency distributed anonymity network Controversial decisions of guard selection strategies.
A Pattern Language for Firewalls Eduardo B. Fernandez, Maria M. Petrie, Naeem Seliya, Nelly Delessy, and Angela Herzberg.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
Introduction to Active Directory
Complete VM Mobility Across the Datacenter Server Virtualization Hyper-V 2012 Live Migrate VM and Storage to Clusters Live Migrate VM and Storage Between.
1 TCS Confidential. 2 Objective : In this session we will be able to learn:  What is Cloud Computing?  Characteristics  Cloud Flavors  Cloud Deployment.
Netprog: Chat1 Chat Issues and Ideas for Service Design Refs: RFC 1459 (IRC)
Chapter 5. An IP address is simply a series of binary bits (ones and zeros). How many binary bits are used? 32.
Chapter 11 – Cloud Application Development. Contents Motivation. Connecting clients to instances through firewalls. Cloud Computing: Theory and Practice.
SEMINAR ON.  OVERVIEW -  What is Cloud Computing???  Amazon Elastic Cloud Computing (Amazon EC2)  Amazon EC2 Core Concept  How to use Amazon EC2.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Chapter 11 How Does the Internet Work?. How Important is this Chapter to Understanding How to Use a Computer? 7 or 8 on a scale of 1 to 10.
Architecting Enterprise Workloads on AWS Mike Pfeiffer.
Unit 7: DHCP, APIPA and NTP. Static versus dynamic IP addressing Dynamic IP addresses can change each time you connect to the Internet, while static IP.
Virtualization of Infrastructure as a Service (IaaS): Redundancy Mechanism of the Controller Node in OpenStack Cloud Computing Platform BY Shahed murshed.
Md Baitul Al Sadi, Isaac J. Cushman, Lei Chen, Rami J. Haddad
1/26/2018 Hosting Windows Desktops and Applications Using Remote Desktop Services and Azure Windows Server Azure Resource Manager © 2014 Microsoft.
Presented by Edith Ngai MPhil Term 3 Presentation
Bentley Systems, Incorporated
Services DFS, DHCP, and WINS are cluster-aware.
Module 8: Networking Services
David Cameron ATLAS Site Jamboree, 20 Jan 2017
Towards an optimized BlockChain for IoT
Network Services, Cloud Computing, and Virtualization
Meng Cao, Xiangqing Sun, Ziyue Chen May 28th, 2014
2018 Huawei H Real Questions Killtest
Replication Middleware for Cloud Based Storage Service
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT -Sumanth Kandagatla Instructor: Prof. Yanqing Zhang Advanced Operating Systems (CSC 8320)
Optimizing Interactive Analytics Engines for Heterogeneous Clusters
Athith Amarnath, graduate Student Database and Security Research Group
EPAM Cloud Orchestration
Chat Refs: RFC 1459 (IRC).
Kerberos Kerberos is an authentication protocol for trusted hosts on untrusted networks.
Distributed computing deals with hardware
دیواره ی آتش.
COMPUTER NETWORK TECHNOLOGY
Firewalls.
Cloud Computing: Concepts
Chapter 11: Network Address Translation for IPv4
Replica Placement Heuristics of Application-level Multicast
was not invented by Al Gore…
ITIS 6167/8167: Network and Information Security
SCCM in hybrid world Predrag Jelesijević Microsoft 7/6/ :17 AM
Done by:Thikra abdullah
Presentation transcript:

GNuggies: A Proposal for Hosting Resilient Stateless Services Using Untrusted Nodes Harshit Agarwal

Infrastructure as a Service (IaaS) Cloud provider dynamically manages the allocation of machine resources. AWS Lambda, Google Cloud Functions, Azure Functions. Cheaper, Easier, Better.

Dealing with increasing censorship Net neutrality repealed. AWS refuses to host WikiLeaks. Authoritarian regimes with limited freedom of speech and information. Other applications with social benefits not allowed on popular hosting platforms (like PirateBay).

GNuggies: IaaS Using Volunteer Machines Machines volunteered by people. Untrusted machines. Architecture design to increase security and resilience. No liability to volunteers, services tough to take down through legal or any other means. Incentives for contributing. Compatibility with existing protocols.

Related Work BOINC, SETI@Home IPFS BitTorrent Vectordash

Attack Model Malicious individuals Malicious institutions Malicious responses Reading private data Malicious institutions

Attack Model: Malicious Institutions Adding a large number of malicious machines to GNuggies. Directives for ISPs. DDos attacks.

Architecture: Preliminaries Stateless and deterministic services. Malicious machines once detected, will be removed from GNuggies immediately. All machines uniquely identifiable and identity cannot be spoofed.

Architecture and Design

Architecture and Design: Client

Architecture and Design: Volunteers Machines that are added to the GNuggies network by the public. Maintains connection to other volunteer machines and core GNuggies services. PCs, laptops, etc.

Architecture and Design: Services Stateless and deterministic. Hosted in Docker containers, Docker image to be replicated on volunteer machines. Infrastructure details abstracted from service creator.

Architecture and Design: Service Clusters Clusters to host a service. Leader election and load balancing. 3 service cluster replicas per service, for response verification. Membership keeper keeps clusters balanced.

Architecture and Design: Node Clusters

Trust∝Age

Architecture and Design: Node Clusters Nodes split into 3 clusters, by age. Oldest 1/3rd nodes in trusted cluster. Each node cluster holds one service cluster replica per service. Nodes unaware of their age and cluster.

Architecture and Design: Membership Manager

Architecture and Design: Membership Manager Acts as an introducer. Keeps track of age and task assignment. Allocates tasks and services to volunteers. In charge of Fairness in task allocation.

Architecture and Design: Task Allocation Need fairness in allocation of services to volunteers. Using Max-Min Fairness. Services that receive more requests, will get more resources. Allocations re-computed every 24 hours, nodes change services often.

Architecture and Design: DNS

Architecture and Design: DNS For every service, IP of host constantly changing. Need central Name Service to track services and hosts, which all services could point ISPs to.

Architecture and Design: Proxy

Architecture and Design: Verification

Architecture and Design: Verification 3 responses per request, look for consensus. Inform Membership Keeper and remove nodes detected as malicious.

Architecture: Bringing it Together Proxy Client GNuggies DNS Trusted Node Probation Node 1 Probation Node 2 r2 r1 r3 Proxy r1, r2 &r3 r1 Verification Service Client Verified Correct response

Verification Look for consensus among the three responses. In case of no consensus, use oldest machine’s response. Any machine flagged as malicious is removed from GNuggies immediately. Verification run for every single incoming request.

Formal Analysis

Terminology Trustworthy machine: A machine that is known to currently not be malicious. Fully trustworthy machine: A trustworthy machine that we know will not turn malicious at any point in the future. Malicious response: A response sent by a malicious machine, which is not the same as the expected response from the hosted service.

Time Spent by Malicious Machines on GNuggies Assuming all trustworthy machines, any machine that turns malicious, will be detected and removed from the platform immediately. In this scenario, number of malicious machines will always be close to 0. Malicious machines removed from GNuggies right after their first malicious response is detected.

Reliability If the oldest 2/3 machines are fully trustworthy, and there are no changes on the the size of the platform, it is impossible for any service to be disrupted, or for any client to receive a malicious response. Malicious machines will only be in Probation Cluster 2, and will get detected and removed from GNuggies immediately, so no service disruptions will be observed.

Resilience to Malicious Institutions Assuming all n machines on GNuggies are fully trustworthy, an outside agency will have to submit more than n/2 malicious machines as volunteer machines on the platform, in order to disrupt services or to fool the verification service. More than n/2 machines needed to make fewer than the oldest 2/3rd machines fully trustworthy.

Minimum Requirements to Host Services To host m services on GNuggies, at least 6m volunteer machines are needed (assuming they are all trustworthy). At least one leader and one other machine needed, per service cluster. And we have 3 service clusters per service.

Incentives

Goals for Incentives Users should want to contribute compute. Users should not want to behave maliciously.

Payoff∝Age

Payoff per Request Assuming that service creator is charged 1 unit of some currency for every request served. If there are n machines on the platform, age goes from 1 to n, 1 being the oldest. 3 machines service a request, in order of age: n1, n2, and n3

Average Payoff in Each Cluster

Incentives Incentive to join GNuggies. Incentive to stay on GNuggies. Incentive to not turn malicious.

Questions?

Thank you!