Theory and Design of Low-latency Anonymity Systems (Lecture 3) Paul - - PowerPoint PPT Presentation

theory and design of low latency anonymity systems
SMART_READER_LITE
LIVE PREVIEW

Theory and Design of Low-latency Anonymity Systems (Lecture 3) Paul - - PowerPoint PPT Presentation

Theory and Design of Low-latency Anonymity Systems (Lecture 3) Paul Syverson U.S. Naval Research Laboratory syverson@itd.nrl.navy.mil http://www.syverson.org 1 Reminders Paul, dont trail off in volume when speaking. Attendees, if Paul


slide-1
SLIDE 1

1

Theory and Design of Low-latency Anonymity Systems (Lecture 3) Paul Syverson

U.S. Naval Research Laboratory syverson@itd.nrl.navy.mil

http://www.syverson.org

slide-2
SLIDE 2

2

Reminders

Paul, don’t trail off in volume when speaking. Attendees, if Paul trails off and you want to hear what he says, speak up. On question someone asked after end of Lecture 2 about JavaScript in long-path congestion attacks

  • Yes, blocking all JavaScript will block attacks used to

generate data in paper.

  • But blocking all JavaScript blocks much of the web,
  • Most anonymity tools sanitize but don’t block outright.
  • Other bases available for attack: HTTP header refresh, or

HTML with embedded tiny images.

slide-3
SLIDE 3

3

Course Outline

Lecture 1:

  • Usage examples, basic notions of anonymity, types
  • f anonymous comms systems
  • Crowds: Probabilistic anonymity, predecessor attacks

Lecture 2:

  • Onion routing basics: simple demo of using Tor,

network discovery, circuit construction, crypto, node types and exit policies

  • Economics, incentives, usability, network effects
slide-4
SLIDE 4

4

Course Outline

Lecture 3:

  • Formalization and analysis, possibilistic and

probabilistic definitions of anonymity

  • Hidden services: responder anonymity, predecessor

attacks revisited, guard nodes

Lecture 4:

  • Link attacks
  • Trust
slide-5
SLIDE 5

5

Formal analysis of onion routing

Possibilistic characterization using IO automata Probabilistic analysis abstracting IO automata characterization to a black box

slide-6
SLIDE 6

6

Anonymous Communication

Mix Networks Dining cryptographers Onion routing Crowds

Deployed Analyzed 4

slide-7
SLIDE 7

7

Possibilistic Analysis Overview

Formally model onion routing using input/output automata Characterize the situations that provide anonymity

6

slide-8
SLIDE 8

8

Possibilistic Analysis Overview

Formally model onion routing using input/output automata

Simplified onion-routing protocol Non-cryptographic analysis

Characterize the situations that provide anonymity

6

slide-9
SLIDE 9

9

Possibilistic Analysis Overview

Formally model onion routing using input/output automata

Simplified onion-routing protocol Non-cryptographic analysis

Characterize the situations that provide anonymity

Send a message, receive a message, communicate with a destination Possibilistic anonymity

6

slide-10
SLIDE 10

10

Main Theorem

u 1 2 3 4 5 d

Main theorem: Adversary can only determine the parts of a circuit it controls or is next to.

u 1 2

8

slide-11
SLIDE 11

11

Anonymous Communication

Sender anonymity: Adversary can’t determine the sender of a given message Receiver anonymity: Adversary can’t determine the receiver of a given message Unlinkability: Adversary can’t determine who talks to whom

9

slide-12
SLIDE 12

12

Model

Constructed with I/O automata

Models asynchrony Relies on abstract properties of cryptosystem

Simplified onion-routing protocol

No key distribution No circuit teardowns No separate destinations No streams No stream cipher Each user constructs a circuit to one destination Circuit identifiers

11

slide-13
SLIDE 13

13

Input/Ouput Automata

States Actions

Input, ouput, internal Actions transition between states

Every state has enabled actions Input actions are always enabled Alternating state/action sequence is an execution In fair executions actions enabled infinitely often occur infinitely often In cryptographic executions no encrypted control messages are sent before they are received unless the sender possesses the key

16

slide-14
SLIDE 14

14

I/O Automata Model

Automata

User Server Fully-connected network of FIFO Channels Adversary replaces some servers with arbitrary automata

Notation

U is the set of users R is the set of routers N = U ∪ R is the set of all agents A ⊆ N is the adversary K is the keyspace l is the (fixed) circuit length k(u,c,i) denotes the ith key used by user u on circuit c 17

slide-15
SLIDE 15

15

User automaton

slide-16
SLIDE 16

16

Server automaton

slide-17
SLIDE 17

17

Anonymity

Definition (configuration): A configuration is a function U→Rl mapping each user to his circuit.

20

slide-18
SLIDE 18

18

Anonymity

Definition (indistinguishability): Executions α and β are indistinguishable to adversary A when his actions in β are the same as in α after possibly applying the following: ξ: A permutation on the keys not held by A. π: A permutation on the messages encrypted by a key not held by A. Definition (configuration): A configuration is a function U→Rl mapping each user to his circuit.

20

slide-19
SLIDE 19

19

Anonymity

Definition (anonymity): User u performs action α anonymously in configuration C with respect to adversary A if, for every execution of C in which u performs α, there exists an execution that is indistinguishable to A in which u does not perform α.

21

slide-20
SLIDE 20

20

Anonymity

Definition (unlinkability): User u is unlinkable to d in configuration C with respect to adversary A if, for every fair, cryptographic execution of C in which u talks to d, there exists a fair, cryptographic execution that is indistinguishable to A in which u does not talk to d. Definition (anonymity): User u performs action α anonymously in configuration C with respect to adversary A if, for every execution of C in which u performs α, there exists an execution that is indistinguishable to A in which u does not perform α.

21

slide-21
SLIDE 21

21

Theorem: Let C and D be configurations for which there exists a permutation ρ: U→U such that Ci (u) = Di(ρ(u)) if Ci(u) or Di(ρ(u)) is compromised or is adjacent to a compromised router. Then for every fair, cryptographic execution α of C there exists an indistinguishable, fair, cryptographic execution β of D. The converse also holds.

22

slide-22
SLIDE 22

22

C

u v 1 2 3 4 5

22

Theorem: Let C and D be configurations for which there exists a permutation ρ: U→U such that Ci(u) = Di(ρ(u)) if Ci(u) or Di(ρ(u)) is compromised

  • r is adjacent to a compromised router. Then for

every fair, cryptographic execution α of C there exists an indistinguishable, fair, cryptographic execution β of D. The converse also holds.

slide-23
SLIDE 23

23

u v 1 2 3 4 5 3 2

C D

22

Theorem: Let C and D be configurations for which there exists a permutation ρ: U→U such that Ci(u) = Di(ρ(u)) if Ci(u) or Di(ρ(u)) is compromised

  • r is adjacent to a compromised router. Then for

every fair, cryptographic execution α of C there exists an indistinguishable, fair, cryptographic execution β of D. The converse also holds.

slide-24
SLIDE 24

24

u v 1 2 3 4 5 3 2

C D

v u 2 2 5 4

22

Theorem: Let C and D be configurations for which there exists a permutation ρ: U→U such that Ci(u) = Di(ρ(u)) if Ci(u) or Di(ρ(u)) is compromised

  • r is adjacent to a compromised router. Then for

every fair, cryptographic execution α of C there exists an indistinguishable, fair, cryptographic execution β of D. The converse also holds.

slide-25
SLIDE 25

25

u v 1 2 3 4 5

C D

u v 1 2 3 4 5

22

Theorem: Let C and D be configurations for which there exists a permutation ρ: U→U such that Ci(u) = Di(ρ(u)) if Ci(u) or Di(ρ(u)) is compromised

  • r is adjacent to a compromised router. Then for

every fair, cryptographic execution α of C there exists an indistinguishable, fair, cryptographic execution β of D. The converse also holds.

slide-26
SLIDE 26

26

Unlinkability

Corollary: A user is unlinkable to its destination when:

slide-27
SLIDE 27

27

Unlinkability

2 3 u 4? 5?

The last router is unknown.

Corollary: A user is unlinkable to its destination when:

slide-28
SLIDE 28

28

OR

Unlinkability

2 3 u 4? 5?

The last router is unknown.

1 2 4

The user is unknown and another unknown user has an unknown destination.

5 2? 5? 4?

Corollary: A user is unlinkable to its destination when:

slide-29
SLIDE 29

29

OR OR

1 2 4

The user is unknown and another unknown user has a different destination.

5 1 2

Unlinkability

2 3 u 4? 5?

The last router is unknown.

1 2 4

The user is unknown and another unknown user has an unknown destination.

5 2? 5? 4?

Corollary: A user is unlinkable to its destination when:

slide-30
SLIDE 30

30

Probabilistic anonymity

Possibilistic result is nice, but we would like to quantify the anonymity provided by a system And we want to use a black box model, like this

25

slide-31
SLIDE 31

Probabilistic Analysis of Onion Routing in a Black-box Model

slide-32
SLIDE 32

In this portion we will

  • 1. Use a black-box abstraction to create a

probabilistic model of onion routing

  • 2. Analyze unlinkability
  • a. Provide worst-case bounds
  • b. Examine a typical case
slide-33
SLIDE 33

Anonymous Communication

  • Sender anonymity: Adversary can’t

determine the sender of a given message

  • Receiver anonymity: Adversary can’t

determine the receiver of a given message

  • Unlinkability: Adversary can’t determine

who talks to whom

slide-34
SLIDE 34

Anonymous Communication

  • Sender anonymity: Adversary can’t

determine the sender of a given message

  • Receiver anonymity: Adversary can’t

determine the receiver of a given message

  • Unlinkability: Adversary can’t determine

who talks to whom

slide-35
SLIDE 35

Adversary positions on circuits

u 1 2 3 4 5 d 1. 2. 3. 4. v w e f

slide-36
SLIDE 36

Adversary positions on circuits

u 1 2 3 4 5 d

  • 1. First router compromised

2. 3. 4. v w e f

slide-37
SLIDE 37

Adversary positions on circuits

u 1 2 3 4 5 d

  • 1. First router compromised
  • 2. Last router compromised

3. 4. v w e f

slide-38
SLIDE 38

Adversary positions on circuits

u 1 2 3 4 5 d

  • 1. First router compromised
  • 2. Last router compromised
  • 3. First and last compromised

4. v w e f

slide-39
SLIDE 39

Adversary positions on circuits

u 1 2 3 4 5 d

  • 1. First router compromised
  • 2. Last router compromised
  • 3. First and last compromised
  • 4. Neither first nor last compromised

v w e f

slide-40
SLIDE 40

Black-box Abstraction

u d v w e f

slide-41
SLIDE 41

Black-box Abstraction

u d v w e f

  • 1. Users choose a destination
slide-42
SLIDE 42

Black-box Abstraction

u d v w e f

  • 1. Users choose a destination
  • 2. Some inputs are observed
slide-43
SLIDE 43

Black-box Abstraction

u d v w e f

  • 1. Users choose a destination
  • 2. Some inputs are observed
  • 3. Some outputs are observed
slide-44
SLIDE 44

Black-box Anonymity

u d v w e f

  • The adversary can link observed inputs and
  • utputs of the same user.
slide-45
SLIDE 45

Black-box Anonymity

u d v w e f

  • The adversary can link observed inputs and
  • utputs of the same user.
  • Any configuration consistent with these
  • bservations is indistinguishable to the

adversary.

slide-46
SLIDE 46

Black-box Anonymity

u d v w e f

  • The adversary can link observed inputs and
  • utputs of the same user.
  • Any configuration consistent with these
  • bservations is indistinguishable to the

adversary.

slide-47
SLIDE 47

Black-box Anonymity

u d v w e f

  • The adversary can link observed inputs and
  • utputs of the same user.
  • Any configuration consistent with these
  • bservations is indistinguishable to the

adversary.

slide-48
SLIDE 48

Probabilistic Black-box

u d v w e f

slide-49
SLIDE 49

Probabilistic Black-box

u d v w e f

  • Each user v selects a destination from

distribution pv

pu

slide-50
SLIDE 50

Probabilistic Black-box

u d v w e f

  • Each user v selects a destination from

distribution pv

  • Inputs and outputs are observed

independently with probability b

pu

slide-51
SLIDE 51

Probabilistic Anonymity

u d v w e f u d v w e f u d v w e f u d v w e f

Indistinguishable configurations

slide-52
SLIDE 52

Probabilistic Anonymity

u d v w e f u d v w e f u d v w e f u d v w e f

Conditional distribution: Pr[u→d] = 1

Indistinguishable configurations

slide-53
SLIDE 53

Black Box Model

Let U be the set of users. Let Δ be the set of destinations. Configuration C

  • User destinations CD : U→Δ
  • Observed inputs CI : U→{0,1}
  • Observed outputs CO : U→{0,1}

Let X be a random configuration such that: Pr[X=C] = ∏u pu

CD(u) ⋅

bCI(u) (1-b)1-CI(u) ⋅ bCO(u) (1-b)1-CO(u)

slide-54
SLIDE 54

Probabilistic Anonymity

The metric Y for the unlinkability of u and d in C is:

Y(C) = Pr[XD(u)=d | X≈C]

slide-55
SLIDE 55

Note: There are several other candidates for a probabilistic anonymity metric, e.g. entropy

Probabilistic Anonymity

The metric Y for the unlinkability of u and d in C is:

Y(C) = Pr[XD(u)=d | X≈C]

slide-56
SLIDE 56

Probabilistic Anonymity

The metric Y for the unlinkability of u and d in C is:

Y(C) = Pr[XD(u)=d | X≈C]

Exact Bayesian inference

  • Adversary after long-term intersection attack
  • Worst-case adversary
slide-57
SLIDE 57

Probabilistic Anonymity

The metric Y for the unlinkability of u and d in C is:

Y(C) = Pr[XD(u)=d | X≈C]

Exact Bayesian inference

  • Adversary after long-term intersection attack
  • Worst-case adversary

Unlinkability given that u visits d:

E[Y | XD(u)=d]

slide-58
SLIDE 58

Worst-case Anonymity

slide-59
SLIDE 59

Worst-case Anonymity

Theorem 1: The maximum of E[Y | XD(u)=d] over (pv)v≠u

  • ccurs when
  • 1. pv

δ=1 for all v≠u OR

  • 2. pv

d=1 for all v≠u

Let pu

1 ≥ pu 2 ≥ pu d-1 ≥ pu d+1 ≥ … ≥ pu δ

slide-60
SLIDE 60

Worst-case Estimates

Let n be the number of users.

slide-61
SLIDE 61

Worst-case Estimates

Theorem 2: When pv

δ=1 for all v≠u:

E[Y | XD(u)=d] = b + b(1-b)pu

d +

(1-b)2 pu

d [(1-b)/(1-(1- pu

δ)b)) + O(√logn/n)]

Let n be the number of users.

slide-62
SLIDE 62

Worst-case Estimates

Theorem 2: When pv

δ=1 for all v≠u:

E[Y | XD(u)=d] = b + b(1-b)pu

d +

(1-b)2 pu

d [(1-b)/(1-(1- pu

δ)b)) + O(√logn/n)]

≈ b + (1-b) pu

d

Let n be the number of users.

slide-63
SLIDE 63

Worst-case Estimates

Theorem 2: When pv

δ=1 for all v≠u:

E[Y | XD(u)=d] = b + b(1-b)pu

d +

(1-b)2 pu

d [(1-b)/(1-(1- pu

δ)b)) + O(√logn/n)]

≈ b + (1-b) pu

d E[Y | XD(u)=d] ≥ b2 + (1-b2) pu d

Let n be the number of users.

slide-64
SLIDE 64

Worst-case Estimates

Theorem 2: When pv

δ=1 for all v≠u:

E[Y | XD(u)=d] = b + b(1-b)pu

d +

(1-b)2 pu

d [(1-b)/(1-(1- pu

δ)b)) + O(√logn/n)]

≈ b + (1-b) pu

d E[Y | XD(u)=d] ≥ b2 + (1-b2) pu d

Let n be the number of users.

Increased chance of total compromise from b2 to b.

slide-65
SLIDE 65

Worst-case Estimates

Theorem 2: When pv

δ=1 for all v≠u:

E[Y | XD(u)=d] = b + b(1-b)pu

d +

(1-b)2 pu

d [(1-b)/(1-(1- pu

δ)b)) + O(√logn/n)]

Theorem 3: When pv

d=1 for all v≠u:

E[Y | XD(u)=d] = b2 + b(1-b)pu

d +

(1-b) pu

d/(1-(1- pu

d)b) + O(√logn/n)]

Let n be the number of users.

slide-66
SLIDE 66

Typical Case

Let each user select from the Zipfian distribution: pdi = 1/(µis) (Has been shown web destinations follow Zipf distribution.)

Theorem 4:

E[Y | XD(u)=d] = b2 + (1 − b2)pu

d+ O(1/n)

slide-67
SLIDE 67

Typical Case

Let each user select from the Zipfian distribution: pdi = 1/(µis)

Theorem 4:

E[Y | XD(u)=d] = b2 + (1 − b2)pu

d+ O(1/n)

Theorem proof does not depend on particular distribution as much as that it is the same distribution across users.

slide-68
SLIDE 68

Summary of probabilistic analysis

  • 1. Used a black-box abstraction to create a

probabilistic model of onion routing

  • 2. Analyzed unlinkability
  • a. Provided worst-case bounds
  • b. Examined a typical case
slide-69
SLIDE 69

Potential Future Work

  • 1. Extend analysis to other types of

anonymity and to other systems.

  • 2. Examine how quickly users distribution

are learned.

  • 3. Analyze entry guard choice.
  • If sensitive destinations are rare, maybe better

not using guards?

slide-70
SLIDE 70

70

What is a Hidden Server?

Alice can connect to Bob's server without knowing where it is or possibly who he is

Who needs this?

slide-71
SLIDE 71

71

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-72
SLIDE 72

72

MSN Spaces in China

MSN blocked search results and creation

  • f blog titles with “democracy”, “human

rights”, and “freedom of expression”.

  • Dec. 2005: MSN Spaces yanked the blog
  • f Zhao Jing (Michael Anti) both in China

and globally

Later changed policy to only remove access from China and only after formal legal notice

slide-73
SLIDE 73

73

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

What's being done against censorship?

slide-74
SLIDE 74

74

It's not just about access to information

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-75
SLIDE 75

75

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-76
SLIDE 76

76

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

It's not only about dissidents in faraway lands

slide-77
SLIDE 77

77

EFF Blogging Tips

(from Delaware Online April 23, '07)

TIPS FOR BLOGGING ABOUT JOB The Electronic Frontier Foundation, a group that protects the rights of bloggers and

  • ther Internet users, offers some tips for blogging about work:
  • Don't blog using office computers.
  • Use a pseudonym for yourself, and don't identify your employer by name.
  • Don't include details about the company from which a reader can figure out who

you work for.

  • Don't post pictures of yourself on your blog, by which someone can figure out who

you are.

  • Consider using a service like invisiblog.com, which hosts anonymous blogs for

free, or LiveJournal, which restricts access to your blog to those with a password or to people you designate as friends. Source: Electronic Frontier Foundation

slide-78
SLIDE 78

78

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-79
SLIDE 79

79

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-80
SLIDE 80

80

Limits of irrepressible.info and invisiblog.com

invisiblog must be hosted somewhere that is not

  • censored or blocked or abandoned

Same for site of censored information irrepressible.info points at

  • censored websites about Uzbekistan can be

pointed at by irrepressible.info but not from Uzbekistan or seen from Uzbekistan

  • site must be anonymized to keep originators

Out of prison

Employed

slide-81
SLIDE 81

81

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-82
SLIDE 82

82

More Hidden Server Applications

Already extensively discussed

  • Censorship resistant publishers
  • Identity protecting publishing

Low cost DDoS resistance

Multilevel secure chat servers

Automated downgraders of classified docs

Private location tracking

slide-83
SLIDE 83

83

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-84
SLIDE 84

84

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-85
SLIDE 85

85

Hidden Server Goals

Servers accessible from anywhere

Resist attacks from authorized users

Resist Distributed DoS

Resist physical attack

Minimize redundancy, Reduce costs

slide-86
SLIDE 86

86

Location Hidden Servers

Alice can connect to Bob's server without knowing where it is or possibly who he is

Already told you why this is desirable, but...

How is this possible?

slide-87
SLIDE 87

87

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-88
SLIDE 88

88

  • 1. Server Bob creates onion routes to Introduction Points (IP)

(All routes in these pictures are onion routed through Tor) Bob's Server Introduction Points

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file
  • again. If the red x still appears, you
may have to delete the image and then insert it again.

1 1 1

Location Hidden Servers

slide-89
SLIDE 89

89

Alice's Client

  • 1. Server Bob creates onion routes to Introduction Points (IPo)
  • 2. Bob publishes his xyz.onion address and puts Service Descriptor
  • incl. Intro Pt. listed under xyz.onion

Bob's Server Introduction Points Service Lookup Server

XYZ Service

2 1 1 1

Location Hidden Servers

slide-90
SLIDE 90

90

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-91
SLIDE 91

91

Alice's Client 2'. Alice uses xyz.onion to get Service Descriptor (including Intro Pt. address) at Lookup Server Service Lookup Server Bob's Server Introduction Points

XYZ Service

2'

2 1 1 1

Location Hidden Servers

slide-92
SLIDE 92

92

Alice's Client

  • 3. Client Alice creates onion route to Rendezvous Point (RP)

Bob's Server Introduction Points Rendezvous Point Service Lookup Server 3 2'

1 1 1 2

Location Hidden Servers

slide-93
SLIDE 93

93

Alice's Client

  • 3. Client Alice creates onion route to Rendezvous Point (RP)
  • 4. Alice sends RP address and any authorization through IPo to Bob

Bob's Server Introduction Points Rendezvous Point Service Lookup Server 4 2'

1 1 1 2

Location Hidden Servers

3

slide-94
SLIDE 94

94

Alice's Client

  • 5. If Bob chooses to talk to Alice, connects to Rendezvous Point
  • 6. Rendezvous Point mates the circuits from Alice and Bob

Bob's Server Introduction Points Rendezvous Point Service Lookup Server 6 5

2

2' 4

Location Hidden Servers

3

1 1 1

slide-95
SLIDE 95

95

Alice's Client Bob's Server Rendezvous Point Final resulting communication

channel

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and

Location Hidden Servers

slide-96
SLIDE 96

96

Attacking Hidden Servers

In 2006 we showed how to identify a hidden server on the live Tor network in a few minutes to a few hours (depending on configurations) by

  • wning a single hostile node in the network

Note for just the anonymity geeks: This included the first intersection attack of any kind actually conducted on a live network

slide-97
SLIDE 97

97

Attacking Hidden Servers

(Not Simulations)

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-98
SLIDE 98

98

Attacking Hidden Servers

(Actual Attacks on Servers in the Wild)

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-99
SLIDE 99

99

Location Attacks Outline

Attack Overview

  • Phase I: Match the timing signature
  • Phase II: Find node position in circuit

Client/Server Separation

Intersection

Two Node Attack

Countermeasures (some work -- and some don't)

slide-100
SLIDE 100

100

The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

Normal Scenario Closeup

Tor-connection to Hidden Service

The image cannot be display ed. Your compu ter may not have enoug h memor y to
  • pen

Hidden Service Rendezvous Point

The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again.

Client

The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again.
slide-101
SLIDE 101

101

Using a middle-man Tor server also running a Tor Client

Make the Client connect directly to Rendezvous Point

We want to identify the situation shown above

  • Being used as first node by the location hidden

service

Attack Scenario Closeup

The image cannot be display ed. Your compu ter may not have enoug h memor y to
  • pen

Hidden Service Rendezvous Point

The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your computer,
and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

Client Server ① ② ③

slide-102
SLIDE 102

102

Attack Phase I: Timing

Client part can create any traffic pattern when sending data

Response is equally easy to tamper with at server part

Combination makes circuit “easily” identifiable

Attacker can know when it is chosen by HS for circuit to RP

The image cannot be display ed. Your compu ter may not have enoug h memor y to
  • pen

Hidden Service Rendezvous Point

The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your computer,
and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

Client Server

slide-103
SLIDE 103

103

Timing Signature

Client generates data and reads reply from Hidden Server

Server samples data in all active circuits

Watch for patterns from Client Part of Node on Server Part

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-104
SLIDE 104

104

Attack Phase II: Which Position?

Hidden Server Rendezvous Point

The image cannot be displayed. Your computer may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your computer,
and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be display ed. Your comput er may not have enough memor y to
  • pen
the image, The image cannot be displayed. Your computer may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your computer,
and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again. The image cannot be display ed. Your compu ter may not have enoug h memor y to
  • pen
The image cannot be displayed. Your computer may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your computer,
and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again. The image cannot be display ed. Your compu ter may not have enoug h memor y to
  • pen
The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again.

① ② ③

slide-105
SLIDE 105

105

Attack Phase II: Which Position?

Hidden Server Rendezvous Point

The image cannot be displayed. Your computer may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your computer,
and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be display ed. Your comput er may not have enough memor y to
  • pen
the image, The image cannot be displayed. Your computer may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your computer,
and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be display ed. Your compu ter may not have enoug h memor y to
  • pen
The image cannot be displayed. Your computer may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your computer,
and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be display ed. Your compu ter may not have enoug h memor y to
  • pen
The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-106
SLIDE 106

106

Gotcha!

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-107
SLIDE 107

107

Attack Phase II: Which Position?

Hidden Server Rendezvous Point

The image cannot be displayed. Your computer may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your computer,
and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be display ed. Your comput er may not have enough memor y to
  • pen
the image, The image cannot be displayed. Your computer may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your computer,
and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be display ed. Your compu ter may not have enoug h memor y to
  • pen
The image cannot be displayed. Your computer may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your computer,
and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be display ed. Your compu ter may not have enoug h memor y to
  • pen
The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-108
SLIDE 108

108

Client/Server Separation

After confirming participation in circuit by Timing Attack

Hidden Server as Tor Server

  • Listed. Identifiable as “one of the Tor nodes”
  • Hides hidden service traffic in other Tor traffic

Hidden Server as external Client

  • Not a part of the listing in the Directory Server
  • Can be used behind a NAT/firewall with ease

Client is immediately identified if located next to attacker

The image cannot be display ed. Your compu ter may not have enoug h memor y to
  • pen

Hidden Server Rendezvous Point

The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have
been corrupted. Restart your computer, and then
  • pen the file again. If the
red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your computer,
and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

Client Server ① ② ③

slide-109
SLIDE 109

109

Intersection Attack

If identified by Timing Attack as part of a specific circuit:

  • More likely to be contacted by originator than by any other node in circuit
  • One of three positions, 33% chance of either, BUT

in first position all connections are from same IP address

in second and third position the connections are coming from random nodes

  • Meaning more than 1/3 of all connections are coming from the Hidden

Server

The image cannot be display ed. Your compu ter may not have enoug h memor y to
  • pen

Hidden Server Rendezvous Point

The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your computer,
and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

Client Server ① ② ③

slide-110
SLIDE 110

110

Countermeasures

Dummy Traffic

Increased path length

Entry Guard Nodes

  • Random
  • Friend
  • Layered
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-111
SLIDE 111

111

Dummy Traffic

(Padding)

Often suggested

Expensive

Does not resist active attacks in low latency systems

  • Easy to enforce a timing

signature when inside a path

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
slide-112
SLIDE 112

112

Entry Guard Nodes

All first connections from Hidden Service are done through the same set of “guard” nodes

Attacker may be running “old trusted/reliable nodes”!

Will help against (but not eliminate!) the described attacks

How to select nodes and determine size of set?

  • Random vs. Friend, Layered Entry Guards

Entry Guard Nodes

The image cannot be display ed. Your compu ter may not have enoug h memor y to
  • pen

Hidden Server Rendezvous Point

The image cannot be displayed. Your computer may not have enough memory to The image cannot be displayed. Your computer may not have enough memory to The image cannot be displayed. Your computer may not have enough memory to The image cannot be
  • displayed. Your computer
may not have enough memory to open the image,
  • r the image may have been
  • corrupted. Restart your
computer, and then open The ima ge can not

Client

The ima ge can not be The ima ge can not be The ima ge can not be The ima ge can not be The ima ge can not be The ima ge can not The ima ge can not
slide-113
SLIDE 113

113

Entry Guard Nodes and Predecessor Attacks

Such predecessor attacks were already known from prior work (cf. yesterday) What we demonstrated was that these attacks were

  • Significant
  • Fast
  • Cheap (owning a single node in the network)

Since one would lose anonymity so quickly and

  • ften anyway, using guards would mean you

either lose immediately and always or never.

  • Version of the general idea for various anonymous

comms systems of “helper nodes”. (Wright et al. 2003)

slide-114
SLIDE 114

114

Entry Guard Nodes and Predecessor Attacks

Attacks focused on what could be done using a single hostile node With multiple adversay nodes, attacks should apply to general Tor circuits

  • Bauer et al. (WPES’07) showed this to be true in

simulation

We also showed that entry guards themselves easily identifiable by the same techniques Next up: how best to choose guard nodes if you trust some nodes more than others.

slide-115
SLIDE 115

115

What’s next

Lecture 3:

  • Formalization and analysis, possibilistic and

probabilistic definitions of anonymity

  • Hidden services: responder anonymity, predecessor

attacks revisited, guard nodes

Lecture 4:

  • Link attacks
  • Trust

Questions?