an an isp scale deployme ment of ta tapdance
play

An An ISP-Scale Deployme ment of Ta TapDance Presented by Nikita - PowerPoint PPT Presentation

An An ISP-Scale Deployme ment of Ta TapDance Presented by Nikita Borisov (@nikitab) https://refraction.network/ Internet Filtering Applies at many layers DNS manipulation BGP manipulation DPI / content inspection Packet


  1. An An ISP-Scale Deployme ment of Ta TapDance Presented by Nikita Borisov (@nikitab) https://refraction.network/

  2. Internet Filtering • Applies at many layers • DNS manipulation • BGP manipulation • DPI / content inspection • Packet filtering: IP/port

  3. Cat-and-mouse game • Censors identify and block proxies • Circumventors deploy and distribute new proxies • Advantage if proxies are: • Harder to find • Faster to deploy • Harder to block • Easier to distribute

  4. TapDance : End-to-Middle Anticensorship without Flow Blocking Friendly ISP Client Reachable server NotBlocked.com TapDance Proxy 8

  5. TapDance Protocol Overview TapDance Proxy Client Censor Reachable Server (TLS Handshake) K K 9

  6. Incomplete HTTP request example GET / HTTP/1.1\r\n Host: www.site.com\r\n X-Ignore: u]DhsYGxVxEvuZEhESta…\r\n Encrypt \x1e\x91\xb2\xce\x94\x8a\x6b\x3c\x78\x8c\x6f\x03 \x5e\xef\x97\x34\xf1\x2e\xc6\xe6\x7f\x10\xc8\x46 \xf9\x25\x6a\x0c\xff\x6d\x38 … \x70\xd7\x2c\x63 … 10

  7. Incomplete HTTP request example \x1e\x91\xb2\xce\x94\x8a\x6b\x3c\x78\x8c\x6f\x03 \x5e\xef\x97\x34\xf1\x2e\xc6\xe6\x7f\x10\xc8\x46 \xf9\x25\x6a\x0c\xff\x6d\x38 … \x70\xd7\x2c\x63 … TapDance Station station Decrypt private key Shared Secret: ; Client random: … 11

  8. Client ¡ Decoy ¡ Server ¡ TLS ¡ 1 ¡ Handshake ¡ K ¡ K ¡ Enc K (incomplete ¡HTTP ¡request): ¡ ¡ 2 ¡ “\x95\x1f\x6b\x27\xe2 ¡… ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡\xc8\x3f\x22 ¡…” ¡ Tag ¡ TapDance ¡Sta2on ¡ Sta<on ¡extracts ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡, ¡recovers ¡ K ¡ ¡ 3 ¡ Tag ¡ 4 ¡ ACK ¡[seq=Y, ¡ack=X] ¡ ¡Server ¡ sends ¡ACK ¡ Sta<on ¡sends ¡confirma<on ¡ 5 ¡ and ¡waits ¡ Enc K (“Sta<on ¡here”), ¡[seq=Y, ¡ack=X, ¡len=M] ¡ ACK ¡[seq=X, ¡ack=Y+M] ¡ 6 ¡ Enc K (“GET ¡hSp://blocked.com/ ¡…”), ¡[seq=X, ¡ack=Y+M] ¡ Sta<on ¡sends ¡blocked.com ¡ 7 ¡ Enc K (“HTTP/1.1 ¡200 ¡OK ¡ ¡… ¡ ¡<html> ¡ ¡….”) ¡ EncryptedAlert, ¡FIN+ACK ¡[seq=X’, ¡ack=Y’, ¡len=N] ¡ Connec<on ¡ teardown ¡ 8 ¡ EncryptedAlert, ¡FIN+ACK ¡[seq=Y’, ¡ack=X’+N+1, ¡len=N] ¡ ¡ ACK ¡[seq=X’+N, ¡ack=Y’+N] ¡ Sta<on ¡sends ¡TCP ¡RST ¡ 9 ¡ RST ¡[seq=X, ¡ack=Y] ¡

  9. TapDance Trial Deployment • Worked with two mid-size ISPs: 10 (or 40)-Gbps Management Mirror interface TapDance 1U server w/ station 4x10Gbps Intel X710 NIC

  10. 10 Gbps 40 Gbps 40 Gbps

  11. University of Colorado Network Science network Upstream Campus network 10 Gbps Management Mirror interface Bro Cluster TapDance station

  12. Reachable site discovery AS 237 AS 104 <List of trusted TLS sites> Timeout TCP window <List of sites that meet timeout/window thresholds> TapDance Client ~900 reachable sites <List of TapDance-compatible reachable sites>

  13. TapDance client • 100% in Go • Partnered with Psiphon – Integrated TapDance in Psiphon’s Android app – Deployed to ~70K users in censored countries via remote update

  14. Total traffic 60 Gbps 50 40 30 20 10

  15. User traffic 800 Mbps 700 600 500 400 300 200 100

  16. Detectability • A TapDance connection looks different from regular web browsing – DNS request – Connection scheduling – TLS negotiation (ClientHello, SNI) – HTTP request sizes

  17. Detectability • A TapDance connection looks different from regular web browsing – DNS request • DoH/DoT – Connection scheduling • QUIC / ORIGIN Frame – TLS negotiation (ClientHello, SNI) • Encrypted SNI – HTTP request/response sizes • HTTP/2 PUSH

  18. Detectability • A TapDance connection looks different from regular web browsing – DNS request • DoH/DoT Privacy from network observers – Connection scheduling makes censorship harder! • QUIC / ORIGIN Frame – TLS negotiation (ClientHello, SNI) • Encrypted SNI – HTTP request/response sizes • HTTP/2 PUSH

  19. Looking for new ISP partners! An ISP-Scale Deployment of TapDance https://refraction.network/ 23

Recommend


More recommend