[tor-bugs] #10991 [Obfsproxy]: ScrambleSuit should delay packet morphing till the moment the packet gets sent

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Feb 21 07:52:07 UTC 2014


#10991: ScrambleSuit should delay packet morphing till the moment the packet gets
sent
-------------------------------------------------+-------------------------
 Reporter:  yawning                              |          Owner:  phw
     Type:  enhancement                          |         Status:  new
 Priority:  normal                               |      Milestone:
Component:  Obfsproxy                            |        Version:
 Keywords:  ScrambleSuit, IAT, packet morphing,  |  Actual Points:
  performance                                    |         Points:
Parent ID:                                       |
-------------------------------------------------+-------------------------
 From looking at the ScrambleSuit code in phw's github repository, it looks
 like ScrambleSuit's packet morpher and IAT interact like thus:
  * In the receive callback
    1. Apply packet morphing for the length of the burst
    2. Add the burst's data to the IAT buffer
    3. Schedule a timer if not pending
  * In the timer
    1. Send up to the MTU worth of data from the IAT buffer
    2. Reschedule the timer if data remains

 This probably should be:
  * In the receive callback
    1. Add the received data to the IAT buffer
    2. Schedule a timer if not pending
  * In the timer
    1. Send up to the MTU worth of data from the IAT buffer
    2. If the IAT buffer is empty, send padding
    3. Reschedule the timer if data remains

 The first implementation will send an amount of random padding
 corresponding to the number of times the receive callback was invoked
 during the IAT delay.  The second implementation sends 1 PRD sample worth
 of padding per write.

 It is possible that the bandwidth/obfuscation tradeoff is desirable (the
 current implementation will have a more varied amount of total data
 transferred), but the actual packet sizes on the wire should look equally
 random for either implementation.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/10991>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list