Skip to content

maybenot-io/maybenot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

324 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maybenot

Maybenot is a framework for traffic analysis defenses that hide patterns in encrypted communication. Its goal is to increase the uncertainty of network attackers, hence its logo 🤔 - the thinking face emoji (U+1F914).

Consider encrypted communication protocols such as TLS, QUIC, WireGuard, or Tor. While the connections are encrypted, patterns in the encrypted communication may still leak information about the communicated plaintext. Maybenot is a framework for running defenses that hide such patterns.

Workspace structure

The Maybenot workspace consists of the following crates:

The big picture

The maybenot framework is integrated with some encrypted protocol, either directly or using something like maybenot-ffi. State machines are run within the framework, triggering cover traffic and delays to hide patterns. Machines can be rapidly evaluated using maybenot-sim. We have implemented a bunch of machines by hand, available in maybenot-machines. Many are based on related work in the academic literature around website fingerprinting. It is also possible to generate (many) machines using maybenot-gen, either used directly as a library, or using a binary CLI like maybenot-cli.

Further details

See the README-files of each respective crate and their docs.rs.

Papers related to Maybenot:

Maybenot is used by Mullvad VPN in DAITA. Their WireGuard Go integration.

Minimum Supported Rust Version

We aim to follow the MSRV of Arti, currently at 1.85.

Contributing

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as MIT or Apache-2.0, without any additional terms or conditions.

Origin

Maybenot is based on the Circuit Padding Framework of Tor by Perry and Kadianakis from 2019, which is a generalization of the WTF-PAD Website Fingerprinting Defense design by Juarez et al. from 2016, which in turn is based on the concept of Adaptive Padding by Shmatikov and Wang from 2006.

Sponsorship

Made possible with support from Mullvad VPN, the Swedish Internet Foundation, and the Knowledge Foundation of Sweden.

About

a framework for traffic analysis defenses

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

159 stars

Watchers

7 watching

Forks

Contributors

Languages