Top Banner
Reliable Client Accounting for P2P-Infrastructure Hybrids Paarijaat Aditya , Ming-Chen Zhao , Yin Lin * , Andreas Haeberlen , Peter Druschel , Bruce Maggs *◊ , Bill Wishon Max Planck Institute for Software Systems (MPI-SWS) University of Pennsylvania * Duke University Akamai Technologies NSDI 2012, San Jose, April 25, 2012
23

Reliable Client Accounting for P2P-Infrastructure Hybrids

Feb 25, 2016

Download

Documents

fallon

Reliable Client Accounting for P2P-Infrastructure Hybrids. Paarijaat Aditya † , Ming-Chen Zhao ‡ , Yin Lin * , Andreas Haeberlen ‡ , Peter Druschel † , Bruce Maggs *◊ , Bill Wishon ◊ † Max Planck Institute for Software Systems (MPI-SWS ) ‡ University of Pennsylvania - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Reliable Client Accounting for  P2P-Infrastructure Hybrids

Reliable Client Accounting for P2P-Infrastructure Hybrids

Paarijaat Aditya†, Ming-Chen Zhao‡, Yin Lin*,Andreas Haeberlen‡ , Peter Druschel†, Bruce Maggs*◊, Bill Wishon◊

†Max Planck Institute for Software Systems (MPI-SWS)‡ University of Pennsylvania

*Duke University◊ Akamai Technologies

NSDI 2012, San Jose, April 25, 2012

Page 2: Reliable Client Accounting for  P2P-Infrastructure Hybrids

2

Trends in Content Distribution Networks• Centralized CDN

• Clients download from CDN servers, customers pay CDN provider

• New trend: hybrid or peer assisted distribution• Clients download from peers and CDN servers• Scalability of P2P + reliability & manageability of a centralized system• E.g. Akamai NetSession, Velocix P2P Assisted delivery, …

CDN Servers(Infrastructure)

Clients

Customers – Content providers

Paarijaat Aditya, MPI-SWS

Page 3: Reliable Client Accounting for  P2P-Infrastructure Hybrids

3

Hybrid Systems - Challenges

• Untrusted clients + Infrastructure can’t observe P2P communication

• What could go wrong? In principle clients may• Mishandle content: modify, inject or censor content

• Affect service quality: delay or abort transfers

• Misreport P2P transfers

Paarijaat Aditya, MPI-SWS

Page 4: Reliable Client Accounting for  P2P-Infrastructure Hybrids

4

What Do CDNs Currently Do

• Infrastructure provides signed metadata• Clients can verify content integrity

• Infrastructure as fallback• Maintain service quality in case of failed transfers

Paarijaat Aditya, MPI-SWS

Page 5: Reliable Client Accounting for  P2P-Infrastructure Hybrids

5

What Could Still Go Wrong?

• Inherent problem: infrastructure can’t observe P2P communication

• Clients could still misreport• CDN may end up reporting downloads that did not happen

• Clients could still affect service quality I downloaded1 TB from A & B!

?!

A

B

File X was downloaded1 billion times!

Carried out on Akamai NetSession!

CDN Servers(Infrastructure)

Clients

Customers – Content providers

Paarijaat Aditya, MPI-SWS

I uploaded0.1 TB to C

C

I did not upload anything

CDNs need a mechanism to reliably account for client activity!

Page 6: Reliable Client Accounting for  P2P-Infrastructure Hybrids

Periodic progress reports

while downloading

Akamai NetSession• Peer assisted CDN operated by Akamai

• Used for distributing large files – software installers and videos• Client software is bundled with customer specific installer

Request file

List of clients &signed metadata

Download from clients & edge

servers

Verify with metadata

Controller

Edge serversClients running NetSession software

Akamai

Download completion

6

Accounting logs for customers

Paarijaat Aditya, MPI-SWS

A

B

C

Expect to hear from C

Page 7: Reliable Client Accounting for  P2P-Infrastructure Hybrids

7

Inflation Attack on NetSession

• Have an unmodified NetSession client report fake downloads

• Performed with Akamai’s permission• Targeted a dummy customer

Day in December 2010

Data downloaded

(GB/hr)

Load spike

Could have been much worsewith modified client software!

(Obtained from actual accounting logs)

Single client can cause significant accounting inaccuracies!

Paarijaat Aditya, MPI-SWS

Page 8: Reliable Client Accounting for  P2P-Infrastructure Hybrids

8

Outline

• Introduction• Hybrid CDNs: clients can misreport• Need a way to reliably account for client activities

• Reliable Client Accounting (RCA)• Reliably capture client activities• Identify misbehaving/suspicious clients• Handle misbehavior without affecting service quality

• Evaluation

• Related work & Conclusion

Paarijaat Aditya, MPI-SWS

Page 9: Reliable Client Accounting for  P2P-Infrastructure Hybrids

9

Types of Attacks

• Misbehaving client software• Unilateral – deviations from the correct protocol

• Misreport interactions with honest clients• Serve bad content to disrupt quality of service

• Collusion – multiple clients collude to misreport activities• Difficult in practice because infrastructure assigns peers

• Suspicious user behavior• Repeatedly downloading content to drive up demand

• Can be amplified by a Sybil attack

• Not unique to hybrid systems

RCA can detect deterministically

Require statistical checks

Paarijaat Aditya, MPI-SWS

Page 10: Reliable Client Accounting for  P2P-Infrastructure Hybrids

10

Reliable Client Accounting – Overview

CDN Servers(Infrastructure)

• Clients maintain a tamper evident log of their network activity

• Logs periodically uploaded to infrastructure and verified

• Quarantine clients if suspicious

A's log

A

B

B's log

MMMM

Verify client’s actions

Paarijaat Aditya, MPI-SWS

Page 11: Reliable Client Accounting for  P2P-Infrastructure Hybrids

11

Reliably Capturing Client Activity

• Tamper evident logging & log consistency checks [PeerReview, SOSP 2007]

• Log entries form a hash chain

• Signed hash (authenticator) is included with every message sent• Client commits to its entire event history

• Log hash chains + authenticators are sufficient to• Verify whether all clients report a consistent sequence of message exchange

• Clients cannot unilaterally report fake downloads

M

473: RECV(B, W)

472: RECV(B, Y)

471: SEND(B, X)

...

474: SEND(B, M)A B A’s log

Paarijaat Aditya, MPI-SWS

Page 12: Reliable Client Accounting for  P2P-Infrastructure Hybrids

12

Reducing Processing Overhead on the CDN

• Signature verification overhead α number of authenticators

• Previous implementations• Records one authenticator for each message• Overhead: O(number of messages sent or received)

• RCA: cumulative authenticators• Records only two authenticators for each remote client• Overhead:

O(number of communicating client pairs) << O(number of messages)

Paarijaat Aditya, MPI-SWS

Page 13: Reliable Client Accounting for  P2P-Infrastructure Hybrids

13

Verifying Client Activity

• A consistent log might still be implausible• Contact clients not assigned by infrastructure• Serve bad content

• Plausibility checking• Verify whether the log is consistent with a valid execution of software

• NetSession protocol can be modeled as a simple state machine• Manually identified rules a correct client must obey• Verify logs against these rules

=?

Input

Outputif ≠

Paarijaat Aditya, MPI-SWS

Client is provably incorrect

Page 14: Reliable Client Accounting for  P2P-Infrastructure Hybrids

14

Types of Attacks

• Misbehaving client software• Unilateral – deviations from the correct protocol

• Misreport interactions with honest clients• Serve bad content to disrupt quality of service

• Collusion – multiple clients collude to misreport activities• Difficult in practice because infrastructure assigns peers

• Suspicious user behavior• Repeatedly downloading content to drive up demand

• Can be amplified by a Sybil attack

• Not unique to hybrid systems

RCA can detect deterministically

Require statistical checks

Paarijaat Aditya, MPI-SWS

Page 15: Reliable Client Accounting for  P2P-Infrastructure Hybrids

15

Statistical Checks

• Look for anomalous client behavior

• Large amount of prior work• Assume the availability of correct information

• RCA provides a sound basis for anomaly detection

Flag clients who download more than a threshold

Analyze communication patterns to identify colluding clients

Paarijaat Aditya, MPI-SWS

Page 16: Reliable Client Accounting for  P2P-Infrastructure Hybrids

16

Handling Malicious/Suspicious Clients

• Blacklist clients• False positives – blacklist an innocent client?

• Quarantine clients• Not allowed to upload content• Can still download from the infrastructure

• Quarantining an innocent client is safe• Does not affect service quality of client• Slight increase in resource cost to infrastructure

• Enables aggressive anomaly detectors• Tamper evident logging: provides accurate information• Quarantining: safe way to handle false positives

Paarijaat Aditya, MPI-SWS

Page 17: Reliable Client Accounting for  P2P-Infrastructure Hybrids

17

Outline

• Introduction• Hybrid CDNs: clients can misreport• Need a way to reliably account for client activities

• Reliable Client Accounting (RCA)• Reliably capture client activities• Identify misbehaving/suspicious clients• Handling misbehavior without affect service quality

• Evaluation

• Related work & Conclusion

Paarijaat Aditya, MPI-SWS

Page 18: Reliable Client Accounting for  P2P-Infrastructure Hybrids

18

Evaluation

• Implemented a clone of NetSession client & Infrastructure software

• Experiments performed in a network emulation environment• Driven by actual client activity traces of Akamai NetSession for Dec

2010

• Experiment: • Reproduce clients’ download activity over a month

• 500 randomly selected clients

• 1 edge server and 1 control plane server

Paarijaat Aditya, MPI-SWS

Page 19: Reliable Client Accounting for  P2P-Infrastructure Hybrids

19

Evaluation - Questions

• Client’s Perspective• Network overhead• CPU overhead• Log storage

• CDN’s Perspective• Log processing overhead• Statistical checks• Effectiveness

Paarijaat Aditya, MPI-SWS

Page 20: Reliable Client Accounting for  P2P-Infrastructure Hybrids

20

Client’s Perspective

• Network overhead (in terms of % of actual content downloaded)

• CPU overhead• Maximum additional client CPU usage = 0.5%

• Log Storage (with daily log uploads)• On average: 100 KB/day

NetSession RCA0

0.10.20.30.40.5

0.06 %

0.47 % Avg extra client B/W: 192 KB/day(signatures + log upload)

Paarijaat Aditya, MPI-SWS

Page 21: Reliable Client Accounting for  P2P-Infrastructure Hybrids

21

CDN’s Perspective

Projections for a large deployment:

• 100 million clients, downloading 100 PB content/month

• Log Uploads & Log Processing• 0.05 PB/month of logs uploads (0.05% of transferred content)• 35 machines required to process these logs

• For comparison, NetSession as of Dec 2011• has 25 million clients, downloading 0.85 PB/month• uses about 10 machines for log processing

• Effectiveness• Tried out various attacks. RCA caught them as expected

Paarijaat Aditya, MPI-SWS

Page 22: Reliable Client Accounting for  P2P-Infrastructure Hybrids

22

Related Work

• Misbehavior in P2P systems• Maze [Q. Lian et al., 2007]

Empirically study client misbehavior in p2p file sharing systems

• Dandelion [M. Sirivianos et al., 2007], Antfarm [Peterson et al., 2009]Use cryptographic virtual currency to handle selfish peers

RCA doesn’t aim for fairness and considers more general Byzantine behavior

• Anomaly detection• An intrusion detection model [D. Denning, 1987]

• BotGrep [S. Nagaraja et al., 2010]Detect BotNets by studying client interactions

RCA enables building complex statistical checks

Paarijaat Aditya, MPI-SWS

Page 23: Reliable Client Accounting for  P2P-Infrastructure Hybrids

23

Conclusion

• Fundamental challenge for P2P-Infrastructure hybrids• Infrastructure cannot observe P2P communication

• Demonstrated an inflation attack on the live Akamai NetSession system

• Reliable Client Accounting (RCA)• Reliably capture client activity • Sound basis for anomaly detection• Quarantine: safely handle suspicious clients

• Applied RCA to Akamai NetSession• Comprehensive evaluation using actual client traces• RCA overhead is reasonable

Paarijaat Aditya, MPI-SWS