Skip to content

numbleroot/from-onion-not-found-to-guard-discovery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

From "Onion Not Found" to Guard Discovery (PETS'22)

This repository holds the code and data for our PETS'22 paper titled 'From "Onion Not Found" to Guard Discovery'. Each subfolder contains instructions to reproduce results, figures, and tables per the respective section in the paper. Please see the README.md files in each subfolder for more information.

Güneş Acar contributed heavily to the creation of this artifact.

Attack overview

Obtaining this Repository and Setting up the Environment

Warning: After taking below download steps, this repository is more than 16 GB in total size. There is also an accompanying data set hosted at the OSF that is about 64.5 GB.

user@host  $    git clone https://github.com/numbleroot/from-onion-not-found-to-guard-discovery.git
user@host  $    cd from-onion-not-found-to-guard-discovery
user@host  $    curl --location "https://files.de-1.osf.io/v1/resources/mbn95/providers/osfstorage/617bf5ad91ed6e00f3891f66?action=download&version=1&direct" --output 3_cell-pattern_large-files.tar
user@host  $    tar xvf 3_cell-pattern_large-files.tar
user@host  $    rm 3_cell-pattern_large-files.tar

The reproducibility steps described in this repository require superuser privileges (root) and a number of installed packages. Installation and setup of those will depend on your system. In case you are running a recent Ubuntu, we recommend to run the following steps so that the commands we list in the READMEs across this repository complete successfully:

  1. Update your package list: sudo apt update
  2. Install Python 3 (programming language): sudo apt install python3,
  3. Install Pip (Python package manager): sudo apt install python3-pip,
  4. Install Go (programming language): sudo apt install golang,
  5. Install Docker (virtualization software to run containers): please follow the steps listed on their documentation page,
  6. Install Jupyter Lab and Python libraries numpy, pandas, seaborn, and matplotlib: pip install jupyterlab numpy pandas seaborn matplotlib,
  7. Download Tor Browser from their download page and extract it to a location dedicated for usage with this repository.

Note: Please mind that due to /proc/cpuinfo and /proc/meminfo not being available, the attack script 4_attack-tuning/launch_attack.py will not work on MacOS (unless alternative ways to obtain the desired values are used in their places).

Primary Data Sets

Instructions for Reproduction

Browse the READMEs linked below for instructions for how to reproduce the results of each section:

Reference

You can use the following BibTeX to cite our paper:

@article{OldenburgAcarDiaz_GuardDiscovery,
    title   = {{From "Onion Not Found" to Guard Discovery}},
    author  = {Lennart Oldenburg and Gunes Acar and Claudia Diaz},
    journal = {Proceedings on Privacy Enhancing Technologies},
    number  = {1},
    volume  = {2022},
    year    = {2022},
    doi     = {doi:10.2478/popets-2022-0026},
    url     = {https://doi.org/10.2478/popets-2022-0026},
    pages   = {522--543}
}

About

This repository holds code and data for our PETS'22 article 'From "Onion Not Found" to Guard Discovery'.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published