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

Overview

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.

[email protected]  $    git clone https://github.com/numbleroot/from-onion-not-found-to-guard-discovery.git
[email protected]  $    cd from-onion-not-found-to-guard-discovery
[email protected]  $    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
[email protected]  $    tar xvf 3_cell-pattern_large-files.tar
[email protected]  $    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   = {{}},
    author  = {},
    journal = {},
    number  = {},
    volume  = {},
    year    = {},
    doi     = {},
    url     = {},
    pages   = {}
}
Owner
Lennart Oldenburg
PhD student, KU Leuven. Privacy-Enhancing Technologies, Distributed Systems, Cryptography, Sustainability & Climate.
Lennart Oldenburg
Tensorflow AffordanceNet and AffContext implementations

AffordanceNet and AffContext This is tensorflow AffordanceNet and AffContext implementations. Both are implemented and tested with tensorflow 2.3. The

Beatriz Pérez 6 Dec 01, 2022
VGGVox models for Speaker Identification and Verification trained on the VoxCeleb (1 & 2) datasets

VGGVox models for speaker identification and verification This directory contains code to import and evaluate the speaker identification and verificat

338 Dec 27, 2022
Pytorch implementation of Value Iteration Networks (NIPS 2016 best paper)

VIN: Value Iteration Networks A quick thank you A few others have released amazing related work which helped inspire and improve my own implementation

Kent Sommer 297 Dec 26, 2022
Pose estimation for iOS and android using TensorFlow 2.0

💃 Mobile 2D Single Person (Or Your Own Object) Pose Estimation for TensorFlow 2.0 This repository is forked from edvardHua/PoseEstimationForMobile wh

tucan9389 165 Nov 16, 2022
A set of tools to pre-calibrate and calibrate (multi-focus) plenoptic cameras (e.g., a Raytrix R12) based on the libpleno.

COMPOTE: Calibration Of Multi-focus PlenOpTic camEra. COMPOTE is a set of tools to pre-calibrate and calibrate (multifocus) plenoptic cameras (e.g., a

ComSEE - Computers that SEE 4 May 10, 2022
A web-based application for quick, scalable, and automated hyperparameter tuning and stacked ensembling in Python.

Xcessiv Xcessiv is a tool to help you create the biggest, craziest, and most excessive stacked ensembles you can think of. Stacked ensembles are simpl

Reiichiro Nakano 1.3k Nov 17, 2022
Feedback is important: response-aware feedback mechanism for background based conversation

RFM The code for the paper: "Feedback is important: response-aware feedback mechanism for background based conversation." Requirements python 3.7 pyto

Jiatao Chen 2 Sep 29, 2022
Implementation of Self-supervised Graph-level Representation Learning with Local and Global Structure (ICML 2021).

Self-supervised Graph-level Representation Learning with Local and Global Structure Introduction This project is an implementation of ``Self-supervise

MilaGraph 50 Dec 09, 2022
WeakVRD-Captioning - Implementation of paper Improving Image Captioning with Better Use of Caption

WeakVRD-Captioning - Implementation of paper Improving Image Captioning with Better Use of Caption

30 Oct 28, 2022
This package is for running the semantic SLAM algorithm using extracted planar surfaces from the received detection

Semantic SLAM This package can perform optimization of pose estimated from VO/VIO methods which tend to drift over time. It uses planar surfaces extra

Hriday Bavle 125 Dec 02, 2022
Release of SPLASH: Dataset for semantic parse correction with natural language feedback in the context of text-to-SQL parsing

SPLASH: Semantic Parsing with Language Assistance from Humans SPLASH is dataset for the task of semantic parse correction with natural language feedba

Microsoft Research - Language and Information Technologies (MSR LIT) 35 Oct 31, 2022
An attempt at the implementation of Glom, Geoffrey Hinton's new idea that integrates neural fields, predictive coding, top-down-bottom-up, and attention (consensus between columns)

GLOM - Pytorch (wip) An attempt at the implementation of Glom, Geoffrey Hinton's new idea that integrates neural fields, predictive coding,

Phil Wang 173 Dec 14, 2022
Learning the Beauty in Songs: Neural Singing Voice Beautifier; ACL 2022 (Main conference); Official code

Learning the Beauty in Songs: Neural Singing Voice Beautifier Jinglin Liu, Chengxi Li, Yi Ren, Zhiying Zhu, Zhou Zhao Zhejiang University ACL 2022 Mai

Jinglin Liu 257 Dec 30, 2022
Prototypical Networks for Few shot Learning in PyTorch

Prototypical Networks for Few shot Learning in PyTorch Simple alternative Implementation of Prototypical Networks for Few Shot Learning (paper, code)

Orobix 835 Jan 08, 2023
PyTorch implementations of Top-N recommendation, collaborative filtering recommenders.

PyTorch implementations of Top-N recommendation, collaborative filtering recommenders.

Yoonki Jeong 129 Dec 22, 2022
Coursera - Quiz & Assignment of Coursera

Coursera Assignments This repository is aimed to help Coursera learners who have difficulties in their learning process. The quiz and programming home

浅梦 828 Jan 04, 2023
JAX + dataclasses

jax_dataclasses jax_dataclasses provides a wrapper around dataclasses.dataclass for use in JAX, which enables automatic support for: Pytree registrati

Brent Yi 35 Dec 21, 2022
codebase for "A Theory of the Inductive Bias and Generalization of Kernel Regression and Wide Neural Networks"

Eigenlearning This repo contains code for replicating the experiments of the paper A Theory of the Inductive Bias and Generalization of Kernel Regress

Jamie Simon 45 Dec 02, 2022
A semismooth Newton method for elliptic PDE-constrained optimization

sNewton4PDEOpt The Python module implements a semismooth Newton method for solving finite-element discretizations of the strongly convex, linear ellip

2 Dec 08, 2022
Translate darknet to tensorflow. Load trained weights, retrain/fine-tune using tensorflow, export constant graph def to mobile devices

Intro Real-time object detection and classification. Paper: version 1, version 2. Read more about YOLO (in darknet) and download weight files here. In

Trieu 6.1k Dec 30, 2022