This is the repository for the NGI Zero PET project "Padding Machines by Tor". The goal of the project was to create one or more padding machines for Tor's new circuit padding framework. The padding machines should defend against Website Fingerprinting (WF) attacks.
This project made several contributions with the help of additional funding from the Swedish Internet Foundation for a related project.
Notable results:
-
A minimal simulator for padding machines in Tor's circuit padding framework, see #31788.
-
Simple collection tools for collecting traces for the circpad simulator.
-
The goodenough dataset tailored to the circpad simulator and for creating "good enough" machines.
-
An evaluation tool for running the Deep Fingerprinting (DF) attack against a dataset, producing a number of relevant metrics. Based on a port of DF to PyTorch.
-
An example machine designed, implemented, evaluated, and documented.
-
Evolved machines using genetic programming. The best machine is a more effective defense against DF than WTF-PAD.
-
The final padding machines for Tor consisting of a cleaned-up version of the best evolved machine and a tailored machine that is an even better defense.
-
Tools for evolving machines using genetic programming.
-
Highlights of the project were shared as part of the November 2020 Tor DEMO Day.
The work in the project is documented in a pre-print paper on arxiv. Results from the pre-print will be incorporated into a later submission to an academic conference together with new unpublished results (other project).
This project is made possible thanks to a generous grant from the NGI Zero PET project, that in turn is made possible with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology. Co-financing (for administrative costs and equipment) is provided by Computer Science at Karlstad University. The Swedish Internet Foundation also funded part of the work by enabling me to spend extra time on the simulator (synergies with another project) and tweaking the Interspace machine.