/netleak

Empirically testing Metadata Privacy against network adversaries on E2EE messaging protocols

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

NetLeak

NetLeak: Breaking E2EE Metadata Privacy via Network attacks


Paper: In progress...

Source Code: https://github.com/fastapi/fastapi


This project empirically demonstrates how resistant is Metadata Privacy of E2EE systems.

To accomplish this, we use a simple simulation using the Python bindings signal-protocol for the Rust implementation of the Signal Protocol and aim to uncover who is talking to whom, after a series of messages are exchanged.

Motivation

The motivation for this project is to understand how resistant are E2EE systems to Metadata Privacy. We usually assume that network adversaries break Metadata Privacy, but we want to empirically measure how critical these attacks actually.

Setup

  1. Install Python 3.9. You can use pyenv to manage Python versions.

  2. Install poetry

# To install poetry, it's recommended to use pipx. If you don't have pipx, install it first with
sudo apt install pipx

# Install Poetry
pipx install poetry
  1. Install dependencies
poetry install
  1. Run the simulation
poetry run python main.py