ScrambleSuit: A Polymorphic Network Protocol to Circumvent - - PowerPoint PPT Presentation

scramblesuit a polymorphic network protocol to circumvent
SMART_READER_LITE
LIVE PREVIEW

ScrambleSuit: A Polymorphic Network Protocol to Circumvent - - PowerPoint PPT Presentation

ScrambleSuit: A Polymorphic Network Protocol to Circumvent Censorship Philipp Winter 1 , Tobias Pulls 1 , and J urgen Fu 2 1 Karlstad University 2 FH Hagenberg November 4, 2013 Using Tor in China GFW actively probes bridges! . . . and


slide-1
SLIDE 1

ScrambleSuit: A Polymorphic Network Protocol to Circumvent Censorship

Philipp Winter1, Tobias Pulls1, and J¨ urgen Fuß2

1Karlstad University 2FH Hagenberg

November 4, 2013

slide-2
SLIDE 2

Using Tor in China

slide-3
SLIDE 3

GFW actively probes bridges!

slide-4
SLIDE 4

. . . and blocks their IP:port tuple

slide-5
SLIDE 5

Let’s make active probing useless!

slide-6
SLIDE 6

ScrambleSuit in a nutshell

◮ Censorship-resistant polymorphic transport protocol. ◮ Relys on secret which is shared out-of-band. ◮ Disguises Tor’s flow properties. ◮ Maximise throughput while aim for acceptable level of

  • bfuscation!
slide-7
SLIDE 7

The Big Picture

Other obfsproxy modules: obfs2 and obfs3.

slide-8
SLIDE 8

Thwarting active probing

◮ Client must prove knowledge of shared secret in first

message.

◮ . . . otherwise, the server remains silent. ◮ Two mechanisms: Uniform Diffie-Hellman and session

tickets.

◮ Session ticket is always issued after successful authentication. ◮ Bridge does not disguise aliveness!

slide-9
SLIDE 9

Authenticated uniform Diffie-Hellman

Legend:

X: public key Y : public key P: padding M: mark E: epoch k: master key

X || PC || MC || MACkB(X||PC||E) Y || PS || MS || MACkB(Y ||PS||E) Enckt(kt+1 || Tt+1)

handshake complete

Enckt(Tor traffic) Client Server

slide-10
SLIDE 10

Session tickets (similar to TLS)

Legend:

T : ticket P: padding M: mark E: epoch k: master key

Tt || P || M || MACkt(Tt||P||E) Enckt(kt+1 || Tt+1)

handshake complete

Enckt(Tor traffic) Client Server

slide-11
SLIDE 11

How to distribute the 20-byte shared secret?

slide-12
SLIDE 12

What does the shared secret look like?

◮ Base32 for easier distribution in meatspace. ◮ Example:

Bridge scramblesuit 193.10.227.195:9002 password=5TYVADJINHBB67PJSBPSWVR5IO742PVO

slide-13
SLIDE 13

Active probing resistance is not enough!

◮ Tor could still be identified

by its flow properties.

◮ E.g., 586-byte signature

(512-byte cell + TLS + TCP + IP).

◮ Maybe even inter-arrival

times.

◮ Our solution: A unique flow

signature for every server!

500 1000 1500 0.0 0.2 0.4 0.6 0.8 1.0

Server−to−Client Packet Length Distribution

Packet length (bytes) Empirical CDF Tor

slide-14
SLIDE 14

One flow signature for every server

Unique random seed PRNG Frequency distributions

slide-15
SLIDE 15

One flow signature for every server

slide-16
SLIDE 16

One flow signature for every server

slide-17
SLIDE 17

Packet length distribution

500 1000 1500 0.0 0.4 0.8 Packet length (bytes) Empirical CDF ScrambleSuit Tor

(a) Client-to-server.

500 1000 1500 0.0 0.4 0.8 Packet length (bytes) Empirical CDF ScrambleSuit Tor

(b) Server-to-client.

slide-18
SLIDE 18

Inter-arrival time distribution

0.000 0.005 0.010 0.015 0.0 0.4 0.8 Inter arrival times (seconds) Empirical CDF ScrambleSuit Tor

(c) Client-to-server.

0.000 0.005 0.010 0.015 0.0 0.4 0.8 Inter arrival times (seconds) Empirical CDF

(d) Server-to-client.

slide-19
SLIDE 19

It’s not that easy, though

◮ Strong defence against traffic analysis doesn’t come for free! ◮ We ignored “total bytes transferred” and “traffic bursts”

which are expensive to disguise.

◮ (Semi-)Expensive classifiers such as VNG++ are still

problematic!

slide-20
SLIDE 20

How (un)practical is it?

◮ Session tickets inexpensive and 1536-bit UniformDH OK. ◮ Pure Python implementation using PyCrypto reasonably fast. ◮ Packet length obfuscation and protocol header inexpensive. ◮ Inter-arrival obfuscation expensive! ◮ Would work in China, Syria, sometimes Iran.

slide-21
SLIDE 21

Throughput

Based on transferring a 1,000,000-byte file: Tor

ScrambleSuit

ScrambleSuit-nodelay

Goodput 286 KB/s 148 KB/s 321 KB/s Overhead 19.6% 52.1% 45.5%

slide-22
SLIDE 22

Want to give it a try?

◮ Code and data: http://veri.nymity.ch/scramblesuit ◮ Developed ∼2,600-lines prototype in Python. ◮ Will soon be deployed in pluggable transport Tor Browser

Bundle.

slide-23
SLIDE 23

Our first bridge is looking good

slide-24
SLIDE 24

Contact

E-mail: philipp.winter@kau.se Project web site: http://veri.nymity.ch/scramblesuit Thanks to: George Kadianakis Harald Lampesberger Stefan Lindskog Michael Rogers Internetfonden for research grant