Skip to main content

An utility to protect user privacy

Project description

Fawkes

:warning: Check out our MacOS/Windows Software on our official webpage.

Fawkes is a privacy protection system developed by researchers at SANDLab, University of Chicago. For more information about the project, please refer to our project webpage. Contact us at fawkes-team@googlegroups.com.

We published an academic paper to summarize our work "Fawkes: Protecting Personal Privacy against Unauthorized Deep Learning Models" at USENIX Security 2020.

Copyright

This code is intended only for personal privacy protection or academic research.

Usage

$ fawkes

Options:

  • -m, --mode : the tradeoff between privacy and perturbation size. Select from low, mid, high. The higher the mode is, the more perturbation will add to the image and provide stronger protection.
  • -d, --directory : the directory with images to run protection.
  • -g, --gpu : the GPU id when using GPU for optimization.
  • --batch-size : number of images to run optimization together. Change to >1 only if you have extremely powerful compute power.
  • --format : format of the output image (png or jpg).

Example

fawkes -d ./imgs --mode min

Tips

  • The perturbation generation takes ~60 seconds per image on a CPU machine, and it would be much faster on a GPU machine. Use batch-size=1 on CPU and batch-size>1 on GPUs.
  • Run on GPU. The current Fawkes package and binary does not support GPU. To use GPU, you need to clone this repo, install the required packages in setup.py, and replace tensorflow with tensorflow-gpu. Then you can run Fawkes by python3 fawkes/protection.py [args].

How do I know my images are secure?

We are actively working on this. Python scripts that can test the protection effectiveness will be ready shortly.

Quick Installation

Install from PyPI:

pip install fawkes

If you don't have root privilege, please try to install on user namespace: pip install --user fawkes.

Academic Research Usage

For academic researchers, whether seeking to improve fawkes or to explore potential vunerability, please refer to the following guide to test Fawkes.

To protect a class in a dataset, first move the label's image to a seperate location and run Fawkes. Please use --debug option and set batch-size to a reasonable number (i.e 16, 32). If the images are already cropped and aligned, then also use the no-align option.

Citation

@inproceedings{shan2020fawkes,
  title={Fawkes: Protecting Personal Privacy against Unauthorized Deep Learning Models},
  author={Shan, Shawn and Wenger, Emily and Zhang, Jiayun and Li, Huiying and Zheng, Haitao and Zhao, Ben Y},
  booktitle={Proc. of {USENIX} Security},
  year={2020}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fawkes-1.0.2.tar.gz (20.2 kB view details)

Uploaded Source

Built Distribution

fawkes-1.0.2-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file fawkes-1.0.2.tar.gz.

File metadata

  • Download URL: fawkes-1.0.2.tar.gz
  • Upload date:
  • Size: 20.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.6.7

File hashes

Hashes for fawkes-1.0.2.tar.gz
Algorithm Hash digest
SHA256 26c889b48a8404b2d0e1af70e2bd3374d3a7ff17219330972436a8c382cb4333
MD5 b5c9a8b520188a6ea3e9c55149fd6e35
BLAKE2b-256 e3841392ff796fe089c96b2e791ac070469ebe44965879448c7942926c417e8c

See more details on using hashes here.

File details

Details for the file fawkes-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: fawkes-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.6.7

File hashes

Hashes for fawkes-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 062e54095108008e5640a2b4852c85e309b231a89e9f74560fd74d92bbf8aa78
MD5 45565b54bd10f37f3fc205eb8a830002
BLAKE2b-256 6fed407968c26681b57352a9736b87225a655ea118cc24fab80473fbb8bb487a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page