[tor-reports] [GSoC 2014] wfpadtools: first report
Marc.JuarezMiro at esat.kuleuven.be
Sat Jun 7 16:20:33 UTC 2014
It's time for the first GSoC report. Recall that the goal of this
project is to implement basic primitives for link padding as a PT
towards the development of future Website Fingerprinting
countermeasures. I forked the obfsproxy repo and uploaded it to
Bitbucket: https://bitbucket.org/mjuarezm/obfsproxy-wfpadtools. As you
can see the PT has been dubbed "wfpadtools".
* Basic padding module: it uses "probdist" and "fifobuffer" modules from
ScrambleSuit to buffer data and flush them according to a given time
probability distribution. Instead of having a separate module I'm
integrating it in the transport class itself
* Framing layer to distinguish between padding messages and Tor data:
Data is encapsulated in messages that have a flag in the header
indicating whether is a padding message or not. If so, the message is
discarded when parsed at the other end.
* Simpler version of BuFLO implemented as a new PT by extending
* State-machine of protocol: now we have three basic states:
ST_CONNECTED, ST_WAIT and ST_PADDING.
- Use twisted instead of threading module for the implementation of the
- Figure out how to negotiate the probability distributions in the
handshake in a general way.
- I still need to implement the packet padding. Instead of fixing length
to MTU as ScrambleSuit does, wfpadtools would sample the size of the
packet from a probability distribution. For that I think I would also
need to be able to chop packets.
- Implement a traffic window to detect start and end of communications.
- Protocol's handshake.
- Flow control.
- Ad-hoc padding operations.
- Fingerprintability tests.
This last week I was a bit busy but I'll try to catch up these upcoming
Have a nice weekend everyone!
More information about the tor-reports