Hi all,

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 WFPadTransport class.

* State-machine of protocol: now we have three basic states: ST_CONNECTED, ST_WAIT and ST_PADDING.

TODOs:
- Use twisted instead of threading module for the implementation of the timer. - 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 days.

Have a nice weekend everyone!

_______________________________________________
tor-reports mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-reports

Reply via email to