84
Anonymity With Tor The Onion Router Nathan S. Evans 1 Christian Grothoff 1 1 Technische Universit¨ at M¨ unchen July, 8 2009

Anonymity With Tor - Technische Universität München · PDF fileAnonymity With Tor What is Tor? Tor is a P2P network of Chaum inspired low-latency mixes which are used to provide

  • Upload
    lamkien

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

Anonymity With TorThe Onion Router

Nathan S. Evans1 Christian Grothoff1

1Technische Universitat Munchen

July, 8 2009

Anonymity With Tor

Overview

What is Tor?

Motivation

Background Material

How Tor Works

Hidden Services

Attacks

Specific Attack

Summary

Introduction to Tor

Anonymity With Tor

What is Tor?

Tor is a P2P network of Chaum inspired low-latency mixeswhich are used to provide anonymous communication betweenparties on the Internet.

Introduction to Tor

Anonymity With Tor

What is Tor?

Sender anonymity for low latency applications

Common usage: Web browsing

Sender anonymityWeb server cannot identify client

Advanced usage:

Hidden services (send/receive anonymity)FilesharingIRCAny application that communicates using TCP

⇒ Tor provides users with a service that effectively hides theiridentity on the Internet.

Introduction to Tor

Anonymity With Tor

Motivation

Internet packets travel from A to B transparently

A knows B, and B knows A (by IP address)

Routers, etc. can determine that A and B are communicating

This may reveal unintended information (e.g. person X’sbank)

Encryption

For example, TLS (HTTPS)Provides Data anonymityDoes not hide routing information

Introduction to Tor

Anonymity With Tor

Motivation - Routing Example

10.0.0.1www.google.com

Introduction to Tor

Anonymity With Tor

Motivation

Who needs anonymous communication?

Political dissidentsEmployeesWhistleblowersMilitary, police, governmentsTerrorists, criminalsYou, me, everybody!

There are times when people wish to communicate (or browsenaughty web sites) without fear of reprisal, ridicule orpunishment.

Introduction to Tor

Anonymity With Tor

Background - Mixes

A mix server takes requests from sources and sends them todestinations

Hides the sender from the receiver

Provides Sender Anonymity

Mix Server

Web Server 1

Web Server 2

Web Server 3

Introduction to Tor

Anonymity With Tor

Background - Mixes

May delay or batch messages

Usually used in series to provide better anonymity (why??)

“Mix cascade”

Mix Server 1

Web Server 1

Web Server 2

Web Server 3

Mix Server 2 Mix Server 3

Introduction to Tor

Anonymity With Tor

Background - Proxies

Similar to single mix server

Single serverHandles requests from clientsReturns results to clients

Anonymizing proxy ≈ mix server

Difference to mix server

Proxies generally used for different purposesCaching responses for web pagesCorporate or educational blockingLogging access

Introduction to Tor

Anonymity With Tor

Background - Onion Routing

Multiple mix servers

Subset of mix servers chosen by initiator

Chosen mix servers create “circuit”

Initiator contacts first server S1, sets up symmetric key KS1

Then asks first server to connect to second server S2; throughthis connection sets up symmetric key with second server KS2

...Repeat with server Si until circuit of desired length nconstructed

Introduction to Tor

Anonymity With Tor

Background - Onion Routing Example

Assume n = 2, the initiator takes a message m to be sentalong the circuit

The initiator encrypts the message thusly, KS1(KS2(m)) andsends it to S1

S1 decrypts the message with KS1 and sends the result to S2

S2 decrypts the message revealing m

S2 then performs whatever action is required on m

Introduction to Tor

Anonymity With Tor

Background - Onion Routing Example

Client sets up symmetric key KS1 with server S1

S1

S2

Client

Exchange

KS1

Introduction to Tor

Anonymity With Tor

Background - Onion Routing Example

Via S1 Client sets up symmetric key KS2 with server S2

S1

S2

Client

Exchange

KS2

Introduction to Tor

Anonymity With Tor

Background - Onion Routing Example

Client encrypts m as KS1(KS2(m)) and sends to S1

S1

S2

Client

(KS2

KS1

(m))

Introduction to Tor

Anonymity With Tor

Background - Onion Routing Example

S1 decrypts, sends on to S2, S2 decrypts, revealing m

S1

S2

Client

(KS2

KS1

(m))KS

2(m)

Introduction to Tor

Anonymity With Tor

Tor - How it Works

Low latency P2P Network of mix servers

Designed for interactive traffic (https, ssh, etc.)

”Directory Servers“ store list of participating servers

Contact information, public keys, statisticsDirectory servers are replicated for security

Clients choose servers randomly with bias towards highBW/uptime

Clients build long lived Onion routes ”circuits“ using theseservers

Circuits are bi-directional

Circuits are hard coded at length three

Introduction to Tor

Anonymity With Tor

Tor - How it Works - Example

Example of Tor client circuit

Client

Server

Tor Node 1 Tor Node 2 Tor Node 3

Tor Node 4 Tor Node 5 Tor Node 6

Tor Node 7 Tor Node 8 Tor Node 9

Introduction to Tor

Anonymity With Tor

Tor - How it Works - Servers

Servers connected in ”full mesh“

All servers exchange symmetric keysAllows fast sending between servers, regardless of whichcircuitsAllows combining of multiple messages with same next-hop

New servers publish information to directory servers

Once online for a certain period, they are added to the ”live“list

They are then available for use by clients

Introduction to Tor

Anonymity With Tor

Tor - How it Works - Servers

Servers are classified into three categories for usability,security and operator preference

Entry nodes (aka guards) - chosen for first hop in circuit

Generally long lived ”good“ nodesSmall set chosen by client which are used for client lifetime(security)

Middle nodes - chosen for second hop in circuit, leastrestricted set

Exit nodes - last hop in circuit

Visible to outside destinationSupport filtering of outgoing trafficMost vulerable position of nodes

Introduction to Tor

Anonymity With Tor

Hidden Services in Tor

Hidden services allow Tor servers to receive incomingconnections anonymously

Can provide access to services available only via Tor

Web, IRC, etc.For example, host a website without your ISP knowing

Uses a ”Rendezvous point“ to connect two Tor circuits

Uses ”Introduction points“, which allow outside peers tocontact hidden server (while keeping it hidden)

Publishes Intro. point addresses to ”Lookup server“

Client gets Introduction point address from lookup server,sends random rendezvous point to hidden server

Data travels a total of 7 hops (once established)

Introduction to Tor

Anonymity With Tor

Hidden Services Example 1

Introduction to Tor

Anonymity With Tor

Hidden Services Example 2

Introduction to Tor

Anonymity With Tor

Hidden Services Example 3

Introduction to Tor

Anonymity With Tor

Hidden Services Example 4

Introduction to Tor

Anonymity With Tor

Hidden Services Example 5

Introduction to Tor

Anonymity With Tor

Hidden Services Example 6

Introduction to Tor

Anonymity With Tor

Types of Attacks on Tor

Exit Relay Snooping

Intersection Attack

DoS

Website fingerprinting

Traffic Analysis

Introduction to Tor

Anonymity With Tor

Why attack Tor?

Tor is the most popular and widely used free software P2Pnetwork used to achieve anonymity on the Internet:

Tor has a large user baseThe project is well supportedGenerally assumed to give users strong anonymity

Our results:

All the Tor nodes involved in a circuit can be discovered, reducingTor users level of anonymity and revealing a problem with Tor’s

protocol

Introduction to Tor

Anonymity With Tor

Tor General Information

Tor stands for “The onion router”

Encrypts data multiple times and is decrypted as it travelsthrough the network a layer at a time: like peeling an onion

Tor is a P2P network of mixes

Routes data through network along a “circuit”

Data is encrypted as it passes through nodes (until the lasthop)

Introduction to Tor

Anonymity With Tor

Routing

Data is forwarded through the network

Each node knows only the previous hop and the next hop

Only the originator knows all the hops

Number of hops is hard coded (currently set to three)

Key security goal: No node in the path can discover the full path

Introduction to Tor

Anonymity With Tor

Routing Example

Client

Server

Tor Node 1 Tor Node 2 Tor Node 3

Tor Node 4 Tor Node 5 Tor Node 6

Tor Node 7 Tor Node 8 Tor Node 9

Introduction to Tor

Anonymity With Tor

Previous work

Murdoch and Danezis wrote “Low Cost Traffic Analysis ofTor”

Goal is to discover all the Tor routers involved in a givencircuit

Based on being able to tell the added load of one normal Torconnection

Send a certain sequence down a tunnel, monitor each Torrouter to see if it is involved

Their attack worked reasonably well with the 13 Tor routersthey used in 2005 (with 15% false negative rate)

Introduction to Tor

Anonymity With Tor

Problems With Previous Work

Too inaccurate with today’s 1000+ routers

Must identify all the separate routers in the circuit

Attempting to measure small effects, large fluctuations thatoccur in actual current network give false positives

We replicated their experiments, found method to be muchless effective on today’s network

Introduction to Tor

Anonymity With Tor

M and D Results - With Attack

1

0 1000 2000 3000 4000 5000 6000

Late

ncy

varia

nce

(in s

econ

ds)

Sample number

Latency measurement graph xbotA with attack

Control RunAttack Run

Introduction to Tor

Anonymity With Tor

M and D Results - Without Attack

1

2

0 1000 2000 3000 4000 5000 6000

Late

ncy

varia

nce

(in s

econ

ds)

Sample number

Latency measurement graph chaoscomputerclub42 no attack

Control RunAttack Run

Introduction to Tor

Anonymity With Tor

M and D Testing

Used same statistical methods for correlation

Used same source code for attacks

In our tests, highest correlations seen with false positives

Attack may be viable for some Tor nodes

Improved statistical methods may improve false positives

Introduction to Tor

Anonymity With Tor

Our Basis for Deanonymization

Target user is running Tor with privoxy with all the defaultsettings

Three design issues enable users to be deanonymized

1 No artificial delays induced on connections2 Path length is set at a small finite number3 Paths of arbitrary length through the network can be

constructed

Introduction to Tor

Anonymity With Tor

Regular Path Example

Client

Server

Tor Node 1 Tor Node 2

Tor Node 3

Introduction to Tor

Anonymity With Tor

Circular Path Example 1/5

Client

Server

Tor Node 1 Tor Node 2

Tor Node 3

Introduction to Tor

Anonymity With Tor

Circular Path Example 2/5

Client

Server

Tor Node 1 Tor Node 2

Tor Node 3

Introduction to Tor

Anonymity With Tor

Circular Path Example 3/5

Client

Server

Tor Node 1 Tor Node 2

Tor Node 3

Introduction to Tor

Anonymity With Tor

Circular Path Example 4/5

Client

Server

Tor Node 1 Tor Node 2

Tor Node 3

Introduction to Tor

Anonymity With Tor

Circular Path Example 5/5

Client

Server

Tor Node 1 Tor Node 2

Tor Node 3

Introduction to Tor

Anonymity With Tor

Attack Implementation

Exit node “injects” JavaScript “ping” code into HTMLresponseClient browses as usual, while JavaScript continues to “phonehome”Exit node measures variance in latencyWhile continuing to measure, attack strains possible firsthop(s)If no significant variance observed, pick another node fromcandidates and start overOnce sufficient change is observed in repeated measurements,initial node has been found

Introduction to Tor

Anonymity With Tor

Attack Example

Client

Tor Node 3 - Our Exit Node

Server

Tor Node 1 - Unknown Node Malicious Client

Tor Node 2 - Known High BW Tor Node 1

High BW Tor Node 2 Malicious Server

Introduction to Tor

Anonymity With Tor

Queue example 1 (3 circuits)

A

A0

B

B0

B1

B2

B3

B4

B5

C

C1

C0

t = 0Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 2 (3 circuits)

A B

B0

B1

B2

B3

B4

B5

C

C1

C0

t = 0

A0

t = 1Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 3 (3 circuits)

A B

B1

B2

B3

B4

B5

C

C1

C0

t = 0

A0

t = 1

B0

t = 2Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 4 (3 circuits)

A B

B1

B2

B3

B4

B5

C

C0

t = 0

A0

t = 1

B0

t = 2

C1

t = 3Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 5 (3 circuits)

A B

B2

B3

B4

B5

C

C0

t = 0

A0

t = 1

B0

t = 2

C1

t = 3

B1

t = 4Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 6 (3 circuits)

A B

B3

B4

B5

C

C0

t = 0

A0

t = 1

B0

t = 2

C1

t = 3

B1

t = 4

B2

t = 5Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 7 (3 circuits)

A B

B4

B5

C

C0

t = 0

A0

t = 1

B0

t = 2

C1

t = 3

B1

t = 4

B2

t = 5

B3

t = 6Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 8 (3 circuits)

A B

B5

C

C0

t = 0

A0

t = 1

B0

t = 2

C1

t = 3

B1

t = 4

B2

t = 5

B3

t = 6

B4

t = 7Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 1 (15 circuits)

A

A0

A1

A2

A3

B

B0

B1

B2

B3

C

C1

C2

C3

C4

D

D0

D1

D2

D3

D4

D5

E

E0

E1

E2

E3

E4

F G

G0

G1

H

H0

H1

I

I0

I1

I2

I3

I4

J

J0

J1

K

K0

L

L0

L1

L2

L3

M

M0

M1

N

N0

N1

N2

N3

N4

N5

N6

O

O0

O1

O2

O3

O4

O5

C0

t = 0Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 2 (15 circuits)

A

A0

A1

A2

A3

B

B0

B1

B2

B3

C

C1

C2

C3

C4

D

D1

D2

D3

D4

D5

E

E0

E1

E2

E3

E4

F G

G0

G1

H

H0

H1

I

I0

I1

I2

I3

I4

J

J0

J1

K

K0

L

L0

L1

L2

L3

M

M0

M1

N

N0

N1

N2

N3

N4

N5

N6

O

O0

O1

O2

O3

O4

O5

C0

t = 0

D0

t = 1Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 3 (15 circuits)

A

A0

A1

A2

A3

B

B0

B1

B2

B3

C

C1

C2

C3

C4

D

D1

D2

D3

D4

D5

E

E1

E2

E3

E4

F G

G0

G1

H

H0

H1

I

I0

I1

I2

I3

I4

J

J0

J1

K

K0

L

L0

L1

L2

L3

M

M0

M1

N

N0

N1

N2

N3

N4

N5

N6

O

O0

O1

O2

O3

O4

O5

C0

t = 0

D0

t = 1

E0

t = 2Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 4 (15 circuits)

A

A0

A1

A2

A3

B

B0

B1

B2

B3

C

C1

C2

C3

C4

D

D1

D2

D3

D4

D5

E

E1

E2

E3

E4

F G

G1

H

H0

H1

I

I0

I1

I2

I3

I4

J

J0

J1

K

K0

L

L0

L1

L2

L3

M

M0

M1

N

N0

N1

N2

N3

N4

N5

N6

O

O0

O1

O2

O3

O4

O5

C0

t = 0

D0

t = 1

E0

t = 2

G0

t = 3Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 5 (15 circuits)

A

A0

A1

A2

A3

B

B0

B1

B2

B3

C

C1

C2

C3

C4

D

D1

D2

D3

D4

D5

E

E1

E2

E3

E4

F G

G1

H

H1

I

I0

I1

I2

I3

I4

J

J0

J1

K

K0

L

L0

L1

L2

L3

M

M0

M1

N

N0

N1

N2

N3

N4

N5

N6

O

O0

O1

O2

O3

O4

O5

C0

t = 0

D0

t = 1

E0

t = 2

G0

t = 3

H0

t = 4Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 6 (15 circuits)

A

A0

A1

A2

A3

B

B0

B1

B2

B3

C

C1

C2

C3

C4

D

D1

D2

D3

D4

D5

E

E1

E2

E3

E4

F G

G1

H

H1

I

I1

I2

I3

I4

J

J0

J1

K

K0

L

L0

L1

L2

L3

M

M0

M1

N

N0

N1

N2

N3

N4

N5

N6

O

O0

O1

O2

O3

O4

O5

C0

t = 0

D0

t = 1

E0

t = 2

G0

t = 3

H0

t = 4

I0

t = 5Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 7 (15 circuits)

A

A0

A1

A2

A3

B

B0

B1

B2

B3

C

C1

C2

C3

C4

D

D1

D2

D3

D4

D5

E

E1

E2

E3

E4

F G

G1

H

H1

I

I1

I2

I3

I4

J

J1

K

K0

L

L0

L1

L2

L3

M

M0

M1

N

N0

N1

N2

N3

N4

N5

N6

O

O0

O1

O2

O3

O4

O5

C0

t = 0

D0

t = 1

E0

t = 2

G0

t = 3

H0

t = 4

I0

t = 5

J0

t = 6Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 8 (15 circuits)

A

A0

A1

A2

A3

B

B0

B1

B2

B3

C

C1

C2

C3

C4

D

D1

D2

D3

D4

D5

E

E1

E2

E3

E4

F G

G1

H

H1

I

I1

I2

I3

I4

J

J1

K L

L0

L1

L2

L3

M

M0

M1

N

N0

N1

N2

N3

N4

N5

N6

O

O0

O1

O2

O3

O4

O5

C0

t = 0

D0

t = 1

E0

t = 2

G0

t = 3

H0

t = 4

I0

t = 5

J0

t = 6

K0

t = 7Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 9 (15 circuits)

A

A0

A1

A2

A3

B

B0

B1

B2

B3

C

C1

C2

C3

C4

D

D1

D2

D3

D4

D5

E

E1

E2

E3

E4

F G

G1

H

H1

I

I1

I2

I3

I4

J

J1

K L

L1

L2

L3

M

M0

M1

N

N0

N1

N2

N3

N4

N5

N6

O

O0

O1

O2

O3

O4

O5

C0

t = 0

D0

t = 1

E0

t = 2

G0

t = 3

H0

t = 4

I0

t = 5

J0

t = 6

K0

t = 7

L0

t = 8Output Queue

Introduction to Tor

Anonymity With Tor

Queue example 10 (15 circuits)

A

A0

A1

A2

A3

B

B0

B1

B2

B3

C

C1

C2

C3

C4

D

D1

D2

D3

D4

D5

E

E1

E2

E3

E4

F G

G1

H

H1

I

I1

I2

I3

I4

J

J1

K L

L1

L2

L3

M

M1

N

N0

N1

N2

N3

N4

N5

N6

O

O0

O1

O2

O3

O4

O5

C0

t = 0

D0

t = 1

E0

t = 2

G0

t = 3

H0

t = 4

I0

t = 5

J0

t = 6

K0

t = 7

L0

t = 8

M0

t = 9Output Queue

Introduction to Tor

Anonymity With Tor

Attack Example

Client

Tor Node 3 - Our Exit Node

Server

Tor Node 1 - Unknown Node Malicious Client

Tor Node 2 - Known High BW Tor Node 1

High BW Tor Node 2 Malicious Server

Introduction to Tor

Anonymity With Tor

Attack Implementation

Modified exit node

Modified malicious client node

Lightweight malicious web server running on GNUlibmicrohttpd

Client side JavaScript for latency measurements

Instrumentation client to receive data

Introduction to Tor

Anonymity With Tor

Gathered Data Example (1/8)

1

2

3

4

5

6

7

0 200 400 600 800 1000 1200

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

160

Late

ncy

varia

nce

(in s

econ

ds)

Byt

es e

xpen

ded

by a

ttack

er (

in k

B)

Sample number

Latency measurement graph freedomsurfers

Control RunAttack Run

Downloaded Data

Introduction to Tor

Anonymity With Tor

Gathered Data Example (2/8)

1

5

10

15

20

25

3031

0 200 400 600 800 1000 1200

10

20

30

40

50

Late

ncy

varia

nce

(in s

econ

ds)

Byt

es e

xpen

ded

by a

ttack

er (

in k

B)

Sample number

Latency measurement graph bloxortsipt41

Control RunAttack Run

Downloaded Data

Introduction to Tor

Anonymity With Tor

Gathered Data Example (3/8)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

0 200 400 600 800 1000 1200

10

20

30

40

Late

ncy

varia

nce

(in s

econ

ds)

Byt

es e

xpen

ded

by a

ttack

er (

in k

B)

Sample number

Latency measurement graph carini

Control RunAttack Run

Downloaded Data

Introduction to Tor

Anonymity With Tor

Gathered Data Example (4/8)

1

2

3

4

5

6

7

8

9

10

11

12

13

0 200 400 600 800 1000 1200

10

20

30

40

Late

ncy

varia

nce

(in s

econ

ds)

Byt

es e

xpen

ded

by a

ttack

er (

in k

B)

Sample number

Latency measurement graph carini

Control RunAttack Run

Downloaded Data

Introduction to Tor

Anonymity With Tor

Gathered Data Example (5/8)

0

100

200

300

400

500

600

1 2 3 4 5 6 7

Num

ber o

f mea

sure

men

ts in

rang

e

Range of measurements (in seconds)

Histogram of latency measurements for freedomsurfers

Control RunAttack Run

Control Run Regression LineAttack Run Regression Line

Introduction to Tor

Anonymity With Tor

Gathered Data Example (6/8)

0

100

200

300

400

500

600

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Num

ber o

f mea

sure

men

ts in

rang

e

Range of measurements (in seconds)

Histogram of latency measurements for bloxortsipt41

Control RunAttack Run

Control Run Regression LineAttack Run Regression Line

Introduction to Tor

Anonymity With Tor

Gathered Data Example (7/8)

0

100

200

300

400

500

600

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Num

ber o

f mea

sure

men

ts in

rang

e

Range of measurements (in seconds)

Histogram of latency measurements for carini

Control RunAttack Run

Control Run Regression LineAttack Run Regression Line

Introduction to Tor

Anonymity With Tor

Gathered Data Example (8/8)

0

100

200

300

400

500

600

1 2 3 4 5 6 7 8 9 10 11 12 13

Num

ber o

f mea

sure

men

ts in

rang

e

Range of measurements (in seconds)

Histogram of latency measurements for carini

Control RunAttack Run

Control Run Regression LineAttack Run Regression Line

Introduction to Tor

Anonymity With Tor

Statistical Analysis

Use modified χ2 test

Compare baseline distribution to attack distribution

High χ2 value indicates distribution changed in the rightdirection

Product of χ2 confidence values over multiple runs

Iterate over suspect routers until single node stands out

Introduction to Tor

Anonymity With Tor

Cumulative Product of χ2 p-values

1-1x10-20

1-1x10-10

.99999

.99.9

0 0 5 10 15 20 25 30

Pro

duct

of C

onfid

ence

Val

ues

Number of Runs

RattensalatSEC

wie6ud6Bhamakor

yavsauk

dontmesswithmecThor

Raccooneponymousraga

BlueStar88awranglerrutgersedu

conf555nickmf62525

miskatonicWeAreAHedge

anon1984n2c64177124055

bondserver3

1-1x10-10

.99999

.99

.9

0 0 2 4 6 8 10 12 14

Pro

duct

of C

onfid

ence

Val

ues

Number of Runs

Privacyhostingc64177124055

DieYouRebelScum1ArikaYumemiya

aukmrkoolltor

TorSchleimmyrnaloy

judasDoodles123

tin0baphomet

kalliodiora

aquatoriusEinlauf

dontmesswithmeaskatasuna

century

Introduction to Tor

Anonymity With Tor

Convergence of χ2 Values

0

50

100

150

200

250

300

30 60 90 120 150 180 210 240 270

Chi

Squ

are

Val

ues

of A

ttack

vs.

Bas

elin

e

Seconds of Measurement for Attack Run

RattensalatDigitalBrainsBlueStar88a

BlueStar88a-2elc1

Introduction to Tor

Anonymity With Tor

What We Actually Achieve

We do identify the entire path through the Tor network (sameresult as Murdoch and Danezis)

We do achieve this on the modern, current Tor network

Attack works on routers with differing bandwidths

This means that if someone were performing this attack froman exit node, Tor becomes as effective as a network ofone-hop proxies

Introduction to Tor

Anonymity With Tor

Why Our Attack is Effective

Since we run the exit router, only a single node needs to befound

Our multiplication of bandwidth technique allows lowbandwidth connections to DoS high bandwidth connections(solves common DoS limitation)

Introduction to Tor

Anonymity With Tor

Fixes

Don’t use a fixed path length (or at least make it longer)

Don’t allow infinite path lengths

Induce delays into connections (probably not going to happen)

Monitor exit nodes for strange behavior (been donesomewhat)

Disable JavaScript in clients

Use end-to-end encryption

Introduction to Tor

Anonymity With Tor

Attack Improvements/Variants

Use meta refresh tags for measurements instead of JavaScript

Parallelize testing (rule out multiple possible first nodes atonce)

Improved latency measures for first hop to further narrowpossible first hops

Introduction to Tor

Anonymity With Tor

Conclusion

Current Tor implementation allows arbitrary length paths

Current Tor implementation uses minimally short paths

Arbitrary path lengths allow latency altering attack

Latency altering attack allows detection of significant changesin latency

Significant changes in latency reveal paths used

Introduction to Tor

Anonymity With Tor

Questions?

Introduction to Tor

Anonymity With Tor

R. Dingledine, N. Mathewson, and P. Syverson.Tor: The second-generation onion router.In Proceedings of the 13th USENIX Security Symposium,August 2004.

N. S. Evans, R. Dingledine, and C. Grothoff.A practical congestion attack on tor using long paths.In 18th USENIX Security Symposium, pages 33–50. USENIX,2009.

Introduction to Tor