Harvesting Verifiable Challenges from Oblivious Online Sources J. Alex Halderman Brent Waters...

Post on 16-Dec-2015

213 views 0 download

Tags:

transcript

Harvesting Verifiable Challenges from Oblivious Online Sources

J. Alex Halderman Brent Waters Princeton University SRI International

Complete audit expensive seek probabilistic guarantee

Who chooses what to audit?

Motivating Example

Peer

Peer

Peer

PeerPeer

Peer

Peer

Peer

Peer

Peer

Sybil Attack

Peer

Peer

Peer

PeerPeer

Peer

Peer

Peer

Peer

Peer

One machine,multiple identities

Defense: Require each peer to expend resources (CPU time).

Verify probabilistically?

Solution

Proof of Work: Client Puzzles

ChallengerSolverChallenge

Verify

Sol., Chal., Cert.

Verifier 1

Solver

Verify

Puzzle Server

Verifier 2

Verify

Sol., Chal., C

ert.Challenge,Certificate

P2P Client Puzzles?

Solve puzzle once for many (unknown) challengersDecentralized: no puzzle server

Our Approach: Harvested Challenges

• Unified tool and framework for producing random challenges from oblivious sources– Decentralized– Noninteractive– Reusable

• Useful for many verification applications

Oblivious Online Sources

Abstraction: Logs of discrete items, appended over timeDifficult to control or predict before published*Past items stable, accessible for some period

RSS Feeds(news stories, blogs posts, …)

Physical Observations(weather, earthquakes,

sunspots, …)

Financial Data(market prices,

volumes, …)

Harvesting Challenges

Puzzle server replaced by oblivious Internet sourcesSolver derives challenges from sources’ fresh contentVerifiers check source content to confirm derivation

Sol., Chal., Cert.

Puzzle Server

Verifier

Verify

Challenge,Certificate

Derivation,Solution

Solver

Slashdot NYTimes Stock Quotes

Using Source Data4:00 Item 14:15 Item 24:30 Item 34:45 Item 45:00 Item 55:15 Item 65:30 Item 75:45 Item 86:00 Item 9

5:00 Item 55:15 Item 65:30 Item 75:45 Item 8 Revised Item 86:00 Item 96:15 Item 106:30 Item 116:45 Item 127:00 Item 13

Challenge := H( )Derivation :=

Mismatch:

Take Deriver’s word?

Challenge := H( )

Robustness vs. Security: Adversary controls some inputs

6 P.M. − Deriver harvests challenge 7 P.M. − Verifier verifies challenge

OS X Leopard Firew

all Flawed

Claim of a Blu-ray BD+ Crack

Ubuntu Killing Your H

ard Drive

a936b29d497

Random Oracle

OS X Leopard Firew

all Flawed

Claim of a Blu-ray BD+ Crack

000000000000000000000000

18e039ca12b

Random Oracle

a936b29d497

OS X Leopard Firew

all Flawed

Claim of a Blu-ray BD+ Crack

000000000000000000000001

6400dd3fc1a

Random Oracle

a936b29d497

18e039ca12bAdversary gets to pick frombounded set

1% sample from set with 10% fraud

Application Policies

Derivers and verifiers share a common policy

Sources: where content will be harvestedConditions: what source content will be acceptable for application purposes– Quantity– Freshness

Policies: acceptable combinations of content from different sources

Source: RSS Feed

source NYTimes (type = RSSFeedurl = “http://nytimes.com/stories.xml”min_entries = 5max_entries = 20max_age = 86400)

Source: Stock Quotes

source TechStocks(type = DailyQuotessymbols = “GOOG,YHOO,MSFT,INTC,IBM”min_entries = 4)

Policies

policy PickOne { NYTimes, CNN, Slashdot }

policy PickTwo { NYTimes, CNN, Slashdot }[2,2]

Complex Policy

policy Nested {{ NYTimes, CNN, Slashdot }[2,2],Recent

} policy Recent {

NYTimes(min_entries=1, max_age=3600)CNN(min_entries=1, max_age=3600)

}[2,2]

Our Implementation: “Combine”

• Python API and command line utility• Open source• Supports RSS feeds, stock prices,

dedicated beacons• Extensible

Combine Usage

$combine –policyfile example.pol –derivation alice.d –derive

derived: Example, a936b29d497…, 1169960994

$combine –policyfile example.pol –derivation alice.d –verify

verified: Example, a936b29d497…, 1169960994(or failure)

Experimental Evaluation

• RSS feeds suitability?Availability?Rate of new posts?Time before posts age out?Frequency old posts are changed?

• Monitored 275 “popular” and “longtail” feeds• Simulated satisfaction of policies

Results: RSS Feed Suitability

A. Fresh within one hour, verifiable 6 hours laterB. Fresh within one hour, verifiable 12 hours laterC. Fresh within one day, verifiable 7 days laterD. Fresh within one day, verifiable 14 days later

7 Days

Satisfaction periods for policy “Short”

Satisfaction periods for policy “Long”

7 RS

S So

urce

s7

RSS

Sour

ces

Conclusion

• Harvested challenges: a general tool to aid in randomly auditing systems– Create and verify challenges noninteractively using

data from oblivious sources• “Combine” library and policy language,

available for use• Future: building applications

Harvesting Verifiable Challenges from Oblivious Online Sources

J. Alex Halderman Brent Waters

www.cs.princeton.edu/~jhalderm/projects/combine/

Harvesting Challenges

Item 1: Source 1, Hash, Time

Derivation

Item 2: Source 1, Hash, TimeItem 3: Source 1, Hash, TimeItem 4: Source 2, Hash, TimeItem 5: Source 2, Hash, Time

Deriver

Item

1

Policy:Freshness?Max quantity?

Source 1Source 2

Verifier

Policy:Freshness?Matches derivation?

Source 1

Challenge := H(Derivation)Uses challenge

Source 2Item 1

Item 1

Item 3

Item 3≠=

Satisfied?Uses challenge