privacy at the communication layercarmelatroncoso.com/cs-721/cs-721-tor-troncoso.pdf ·...

67
Privacy at the communication layer CS-721 Carmela Troncoso http://carmelatroncoso.com/ Tor: The Second-Generation Onion Router Roger Dingledine, Nick Mathewson, 2004

Upload: others

Post on 23-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Privacy at the communication layer

CS-721

Carmela Troncoso http://carmelatroncoso.com/

Tor: The Second-Generation Onion Router Roger Dingledine, Nick Mathewson, 2004

Page 2: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Alice Bob

Tor directory servers

Directory tor Relays

Page 3: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Alice Bob

Tor directory servers

Directory tor Relays

10 directory servers

Page 4: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Alice Bob

Tor directory servers

Directory tor Relays

10 directory servers

Page 5: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Tor directory servers

Directory tor Relays

10 directory servers

Every hour:

- DAs compile a list of all known relays & flags & stuff- DAs submits this “status-vote” to all the other authorities (DAs collect missing)- DAs cobine parameters, sign and send to the other DA’s

- There should be a majority agreeing on the data -> consensus

- Consensus published by each DA

Page 6: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Tor directory servers

Directory tor Relays

10 directory servers

Every hour:

- DAs compile a list of all known relays & flags & stuff- DAs submits this “status-vote” to all the other authorities (DAs collect missing)- DAs cobine parameters, sign and send to the other DA’s

- There should be a majority agreeing on the data -> consensus

- Consensus published by each DA

https://metrics.torproject.org/collector.html

Page 7: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Alice Bob

Tor directory servers

Directory tor Relays

Page 8: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Bob

The Tor Network

But can Block Tor!

Directory tor Relays

Alice

Anonymous???

Page 9: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Bob

The Tor Network

But can Block Tor!

Directory tor ALLRelays

Alice

Page 10: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Bob

The Tor Network

But can Block Tor!

Directory tor ALLRelays

Alice

Choice is local!

Page 11: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Bob

The Tor Network

But can Block Tor!

Directory tor ALLRelays

Alice

Choice is local!

Private information retrieval!

Page 12: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Bob

The Tor Network

But can Block Tor!

Directory tor ALLRelays

Alice

Choice is local!

Private information retrieval!(scalability could be a problem)

Page 13: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Bob

The Tor Network

But can Block Tor!

Directory tor Relays

Alice

“Lack of deniability”

Page 14: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Bob

The Tor Network

But can Block Tor!

Directory tor Relays

Alice

Page 15: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Bob

The Tor Network

But can Block Tor!

Directory tor Relays

Alice

Page 16: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Censorship circumvention - Bridges

Bob

IPs not publicly available

Alice

Page 17: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Censorship circumvention – finding Bridges

Bob

web email

Bridge IP

Alice

Page 18: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Censorship circumvention – finding Bridges

Bob

web email

Bridge IP

default

Alice

Page 19: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Censorship circumvention – finding Bridges

Bob

web email

Bridge IP

default

Privatebridges

Alice

Page 20: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Alice Bob

IPs not publicly available

Censorship circumvention – finding Bridges

Page 21: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Alice Bob

IPs not publicly available

Censorship circumvention – finding Bridges

Can we find or enumerate?

Page 22: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Bob

IPs not publicly available

Censorship circumvention – finding Bridges

Can we find or enumerate?

Alice

Page 23: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Bob

IPs not publicly available

Censorship circumvention – finding Bridges

Can we find or enumerate?

Alice

Page 24: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Bob

IPs not publicly available

Censorship circumvention – finding Bridges

Can we find or enumerate?

Alice

Directory tor ALLRelays

?

Page 25: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Bob

IPs not publicly available

Censorship circumvention – finding Bridges

Can we find or enumerate?

Alice

Directory tor ALLRelays

?Onion router

Bridge

Page 26: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

We exploit...

1. Vanilla Tor Certificates− Vanilla Tor uses TLS handshake− Easy to spot certificates− It won’t be fixed

Two issues known to Tor project since October 2010

Page 27: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

We exploit...

1. Vanilla Tor Certificates− Vanilla Tor uses TLS handshake− Easy to spot certificates− It won’t be fixed

2. Open OR Port− Bridges have open OR Port with Vanilla Tor− Even if they do not offer Vanilla Tor− Difficult to fix

Two issues known to Tor project since October 2010

Page 28: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

We exploit...

1. Vanilla Tor Certificates− Vanilla Tor uses TLS handshake− Easy to spot certificates− It won’t be fixed

2. Open OR Port− Bridges have open OR Port with Vanilla Tor− Even if they do not offer Vanilla Tor− Difficult to fix

Two issues known to Tor project since October 2010

Why don’t we scan all IPs with TLS to find

bridges?

Page 29: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

We exploit...

1. Vanilla Tor Certificates− Vanilla Tor uses TLS handshake− Easy to spot certificates− It won’t be fixed

2. Open OR Port− Bridges have open OR Port with Vanilla Tor− Even if they do not offer Vanilla Tor− Difficult to fix

Two issues known to Tor project since October 2010

Why don’t we scan all IPs with TLS to find

bridges?

Page 30: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

We exploit...

1. Vanilla Tor Certificates− Vanilla Tor uses TLS handshake− Easy to spot certificates− It won’t be fixed

2. Open OR Port− Bridges have open OR Port with Vanilla Tor− Even if they do not offer Vanilla Tor− Difficult to fix

Two issues known to Tor project since October 2010

Why don’t we scan all IPs with TLS to find

bridges?

Page 31: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

We use three datasets

Scan 6 ports with TLSRaw + indexed data available

Scan 200+ ports with multiple protocols19 ports scanned with TLSIndexed data available

Page 32: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

We use three datasets

Scan 6 ports with TLSRaw + indexed data available

Scan 200+ ports with multiple protocols19 ports scanned with TLSIndexed data available

Identify candidate bridge IPs (without scanning ourselves!!)

Page 33: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

We use three datasets

Node-level data on public bridges + relaysSome bridge data sanitized

Scan 6 ports with TLSRaw + indexed data available

Scan 200+ ports with multiple protocols19 ports scanned with TLSIndexed data available

Identify candidate bridge IPs (without scanning ourselves!!)

Page 34: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

We use three datasets

Node-level data on public bridges + relaysSome bridge data sanitized

Scan 6 ports with TLSRaw + indexed data available

Scan 200+ ports with multiple protocols19 ports scanned with TLSIndexed data available

Identify candidate bridge IPs (without scanning ourselves!!)

Page 35: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Bridge discovery approach

Page 36: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

1. Finding candidate IP addresses

2.

Bridge discovery approach

Page 37: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

1. Finding candidate IP addresses

2. Filtering relays

3.

Bridge discovery approach

Page 38: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

1. Finding candidate IP addresses

2. Filtering relays

3. Verifying IP addresses

4.

Bridge discovery approach

Page 39: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

1. Finding candidate IP addresses

2. Filtering relays

3. Verifying IP addresses

4. Identifying private proxies− (check descriptor)

5.

Bridge discovery approach

Page 40: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

1. Finding candidate IP addresses

2. Filtering relays

3. Verifying IP addresses

4. Identifying private proxies− (check descriptor)

5. Classifying as public or private bridge− (find sanitized fingerprint)

Bridge discovery approach

Page 41: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Public bridges - population

April 2016:• 5.3K active public bridges• 2.3K bridges with clients

Page 42: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Tor Hidden services

DB

XYZ.onion

Page 43: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Tor Hidden services

DB

IP1

IP2

IP3

XYZ.onion

Page 44: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Tor Hidden services

DB

IP1

IP2

IP3

XYZ.onion

Page 45: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Tor Hidden services

DB

IP1

IP2

IP3

Sig (IP1, IP2, IP3)

XYZ.onion

Page 46: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Tor Hidden services

DB

IP1

IP2

IP3

XYZ.onion

XYZ.onion ?

Page 47: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Tor Hidden services

DB

IP1

IP2

IP3

XYZ.onion

XYZ.onion ?

RV

Page 48: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Tor Hidden services

DB

IP1

IP2

IP3

XYZ.onion

RV

Sig (IP1, IP2, IP3)

Page 49: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Tor Hidden services

DB

IP1

IP2

IP3

XYZ.onion

RV

E (RP)

Page 50: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Tor Hidden services

DB

IP1

IP2

IP3

XYZ.onion

RV

Page 51: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Locating Tor Hidden services

DB

IP1

IP2

IP3

XYZ.onion

RV

Page 52: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Locating Tor Hidden services

DB

IP1

IP2

IP3

XYZ.onion

RV

Page 53: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Locating Tor Hidden services

DB

IP1

IP2

IP3

XYZ.onion

RV

Page 54: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

DHT – distributed hash table

Tor Hidden services

DB

stuff

cookietime

Page 55: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

DHT – distributed hash table

Tor Hidden services

DB

stuff

cookietime

Set up an HSDir and log all hidden service descriptors published to their node. (profile client requests)

Predictable descriptor ID’s & HSDircontrolled => DoS particular HS

Page 56: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

DHT – distributed hash table

Tor Hidden services

DB

stuff

cookietime

Set up an HSDir and log all hidden service descriptors published to their node. (profile client requests)

Predictable descriptor ID’s & HSDircontrolled => DoS particular HS

Page 57: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Honions – detecting malicious HDirs

not advertisedno functionality

Page 58: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Cascade vs. Free routes

Senders

Receivers

Senders

Receivers

Page 59: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Cascade vs. Free routes

Senders

Receivers

Senders

Receivers

No choice for users

Full flexibility

Page 60: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Cascade vs. Free routes

Senders

Receivers

Senders

Receivers

Small set of people / Professionals

Peers, unknown, volunteers

Page 61: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Cascade vs. Free routes

Senders

Receivers

Senders

Receivers

Partitioned anonymity

sets

Page 62: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Cascade vs. Free routes

Senders

Receivers

Senders

Receivers

Partitioned anonymity

sets

and here?

Page 63: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

What is tor?

Senders

Receivers

Senders

Receivers

and here?

Page 64: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

What is tor?

Senders

Receivers

Senders

Receivers

Page 65: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

What is tor?

Senders

Receivers

Stratified

Page 66: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Are there more options?

Source based vs. non-source routing

Next week Crowds: Anonymity for Web Transactions

Page 67: Privacy at the communication layercarmelatroncoso.com/cs-721/CS-721-tor-Troncoso.pdf · 2018-03-18 · Tor directory servers. Directory tor Relays. 10 directory servers. Every hour:

Key takeaways

Anonymity is hardnot only need users… too many variables

Peer-oriented is problematic – cannot check identitiesMalicious nodes can infiltrate (HS, Bridges, full anonymity)

Different Routing options = properties – more next week