Memory-based DoS and Deanonymization Attacks on Tor DCAPS Seminar October 11 th, 2013 Rob Jansen U.S. Naval Research Laboratory *Joint with Aaron Johnson, Florian Tschorsch, Björn Scheuermann
The Tor Anonymity Network torproject.org
How Tor Works
Tor protocol aware
Tor Flow Control exit entry
Tor Flow Control One TCP Connection Between Each Relay, Multiple Circuits exit entry
Tor Flow Control One TCP Connection Between Each Relay, Multiple Circuits Multiple Application Streams exit entry
Tor Flow Control No end-to-end TCP! exit entry
Tor Flow Control Tor protocol aware exit entry
Tor Flow Control Packaging End Delivery End exit entry
Tor Flow Control Packaging End Delivery End exit entry
Tor Flow Control 1000 Cell Limit SENDME Signal Every 100 Cells exit entry
Outline ● The Sniper Attack – Low-cost memory consumption attack that disables arbitrary Tor relays ● Deanonymizing Hidden Services – Using DoS attacks for deanonymization ● Countermeasures
The Sniper Attack Start Download Request exit entry
The Sniper Attack Reply DATA exit entry
The Sniper Attack Package and Relay DATA DATA exit entry
The Sniper Attack DATA Stop Reading from Connection DATA R exitentry
The Sniper Attack DATA R exit entry Flow Window Closed
The Sniper Attack DATA Periodically Send SENDME SENDME R DATA exit entry
The Sniper Attack DATA Periodically Send SENDME SENDME R DATA exit entry Flow Window Opened
The Sniper Attack DATA R exit entry DATA Out of Memory, Killed by OS
The Sniper Attack DATA R exit entry DATA Use Tor to Hide
Memory Consumed over Time
Mean RAM Consumed, 50 Relays
Mean BW Consumed, 50 Relays
Speed of Sniper Attack DirectAnonymous Relay GroupsSelect %1 GiB8 GiB1 GiB8 GiB Top Guard1.7 Top 5 Guards6.5 Top 20 Guards19 Top Exit3.2 Top 5 Exits13 Top 20 Exits35 Path Selection Probability ≈ Network Capacity
Speed of Sniper Attack DirectAnonymous Relay GroupsSelect %1 GiB8 GiB1 GiB8 GiB Top Guard1.70:010:180:020:14 Top 5 Guards6.50:081:030:121:37 Top 20 Guards190:455:581:078:56 Top Exit3.20:010:080:010:12 Top 5 Exits130:050:370:070:57 Top 20 Exits350:293:500:445:52 Time (hours:minutes) to Consume RAM
Speed of Sniper Attack DirectAnonymous Relay GroupsSelect %1 GiB8 GiB1 GiB8 GiB Top Guard1.70:010:180:020:14 Top 5 Guards6.50:081:030:121:37 Top 20 Guards190:455:581:078:56 Top Exit3.20:010:080:010:12 Top 5 Exits130:050:370:070:57 Top 20 Exits350:293:500:445:52 Time (hours:minutes) to Consume RAM
Speed of Sniper Attack DirectAnonymous Relay GroupsSelect %1 GiB8 GiB1 GiB8 GiB Top Guard1.70:010:180:020:14 Top 5 Guards6.50:081:030:121:37 Top 20 Guards190:455:581:078:56 Top Exit3.20:010:080:010:12 Top 5 Exits130:050:370:070:57 Top 20 Exits350:293:500:445:52 Time (hours:minutes) to Consume RAM
Outline ● The Sniper Attack – Low-cost memory consumption attack that disables arbitrary Tor relays ● Deanonymizing Hidden Services – Using DoS attacks for deanonymization ● Countermeasures
Hidden Services HS User wants to hide service
Hidden Services entry IP HS chooses and publishes introduction point IP HS
Hidden Services entry IP HS Learns about HS on web
entry Hidden Services entry IP HS Builds Circuit to Chosen Rendezvous Point RP RP
entry Hidden Services entry IP HS Notifies HS of RP through IP RP entry RP
entry Hidden Services entry IP HS RP
entry Hidden Services entry IP HS Build New Circuit to RP RP entry RP
entry Hidden Services entry IP HS Communicate! RP entry RP
entry Deanonymizing Hidden Services HS RP
entry Deanonymizing Hidden Services HS RP Also runs a guard relay
entry Deanonymizing Hidden Services entry HS RP Build New Circuit to RP
entry Deanonymizing Hidden Services entry HS RP S&P 2006, S&P 2013
entry Deanonymizing Hidden Services entry HS RP S&P 2013 PADDIN G Send 50 Padding Cells
entry Deanonymizing Hidden Services entry HS RP Identify HS entry if cell count = 52 S&P 2013
entry Deanonymizing Hidden Services entry HS RP Sniper Attack, or any other DoS
entry Deanonymizing Hidden Services HS RP Choose new Entry Guard
entry Deanonymizing Hidden Services HS RP
entry Deanonymizing Hidden Services HS RP S&P 2006, S&P 2013
entry Deanonymizing Hidden Services HS RP Send 50 Padding Cells S&P 2013 PADDIN G
entry Deanonymizing Hidden Services HS RP Identify HS if cell count = 53 S&P 2013
Outline ● The Sniper Attack – Low-cost memory consumption attack that disables arbitrary Tor relays ● Deanonymizing Hidden Services – Using DoS attacks for deanonymization ● Countermeasures
Countermeasures ● Sniper Attack Defenses – Authenticated SENDMEs – Queue Length Limit – Adaptive Circuit Killer ● Deanonymization Defenses – Entry-guard Rate-limiting – Middle Guards
Questions? cs.umn.edu/~jansen think like an adversary
Speed of Deanonymization Guard BW (MiB/s) Guard Probability (%) Average # Rounds Average # Sniped Average Time (h) 1 GiB Average Time (h) 8 GiB GiB/s Relay Can Deanonymize HS in about a day
Circuit Killer Defense
The Sniper Attack exit entry exitentry Single Adversary
The Sniper Attack exit entry exitentry Anonymous Tunnel
The Sniper Attack exit entry exitentry
The Sniper Attack exit entry exitentry DATA
The Sniper Attack exit entry exitentry DATA R
The Sniper Attack exit entry exitentry DATA R Flow Window Closed
The Sniper Attack exit entry exitentry DATA R R
The Sniper Attack exit entry exitentry DATA R R
The Sniper Attack exit entry exitentry DATA R R Killed by OS DATA