All Projects → eth-sri → dp-sniper

eth-sri / dp-sniper

Licence: MIT license
A machine-learning-based tool for discovering differential privacy violations in black-box algorithms.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to dp-sniper

diffpriv
Easy differential privacy in R
Stars: ✭ 59 (+268.75%)
Mutual labels:  differential-privacy
srijan-gsoc-2020
Healthcare-Researcher-Connector Package: Federated Learning tool for bridging the gap between Healthcare providers and researchers
Stars: ✭ 17 (+6.25%)
Mutual labels:  differential-privacy
LPGNN
Locally Private Graph Neural Networks (ACM CCS 2021)
Stars: ✭ 30 (+87.5%)
Mutual labels:  differential-privacy
differential-privacy-bayesian-optimization
This repo contains the underlying code for all the experiments from the paper: "Automatic Discovery of Privacy-Utility Pareto Fronts"
Stars: ✭ 22 (+37.5%)
Mutual labels:  differential-privacy
awesome-secure-computation
Awesome list for cryptographic secure computation paper. This repo includes *Lattice*, *DifferentialPrivacy*, *MPC* and also a comprehensive summary for top conferences.
Stars: ✭ 125 (+681.25%)
Mutual labels:  differential-privacy
federated pca
Federated Principal Component Analysis Revisited!
Stars: ✭ 30 (+87.5%)
Mutual labels:  differential-privacy
federated
Bachelor's Thesis in Computer Science: Privacy-Preserving Federated Learning Applied to Decentralized Data
Stars: ✭ 25 (+56.25%)
Mutual labels:  differential-privacy
opendp
The core library of differential privacy algorithms powering the OpenDP Project.
Stars: ✭ 192 (+1100%)
Mutual labels:  differential-privacy
PATE
Pytorch implementation of paper Semi-supervised Knowledge Transfer for Deep Learning from Private Training Data (https://arxiv.org/abs/1610.05755)
Stars: ✭ 37 (+131.25%)
Mutual labels:  differential-privacy
Differential Privacy
Google's differential privacy libraries.
Stars: ✭ 2,394 (+14862.5%)
Mutual labels:  differential-privacy
Interpret
Fit interpretable models. Explain blackbox machine learning.
Stars: ✭ 4,352 (+27100%)
Mutual labels:  differential-privacy
differential-privacy
Naive implementation of basic Differential-Privacy framework and algorithms
Stars: ✭ 34 (+112.5%)
Mutual labels:  differential-privacy
GreyNSights
Privacy-Preserving Data Analysis using Pandas
Stars: ✭ 18 (+12.5%)
Mutual labels:  differential-privacy
Awesome-Federated-Machine-Learning
Everything about federated learning, including research papers, books, codes, tutorials, videos and beyond
Stars: ✭ 190 (+1087.5%)
Mutual labels:  differential-privacy
private-data-generation
A toolbox for differentially private data generation
Stars: ✭ 80 (+400%)
Mutual labels:  differential-privacy
PFL-Non-IID
The origin of the Non-IID phenomenon is the personalization of users, who generate the Non-IID data. With Non-IID (Not Independent and Identically Distributed) issues existing in the federated learning setting, a myriad of approaches has been proposed to crack this hard nut. In contrast, the personalized federated learning may take the advantage…
Stars: ✭ 58 (+262.5%)
Mutual labels:  differential-privacy
smartnoise-sdk
Tools and service for differentially private processing of tabular and relational data
Stars: ✭ 144 (+800%)
Mutual labels:  differential-privacy

DP-Sniper

A machine-learning-based tool for discovering differential privacy violations in black-box algorithms.

Install

We recommend installing DP-Sniper using conda.

After installing conda, you can install DP-Sniper by running its installation script install.sh:

bash ./install.sh

You can ignore the warning ResourceWarning: unclosed running multiprocessing pool.

Note: The above steps are sufficient to use the main package dpsniper. If you would like to run the experiments from the SP 2021 research paper, you have to follow additional installation steps as described in eval_sp2021/README.md).

Basic Usage

The following command tests the differential privacy of the Laplace mechanism, explained in detail in file dpsniper/example.py:

conda activate dp-sniper
python dpsniper/example.py # may take a while due to an extensive final confirmation

This commands stores temporary outputs and log files to the folder example_outputs of the current working directory.

Testing Your Own Mechanism

DP-Sniper is a black-box approach. To run DP-Sniper or DD-Search on your own mechanism, you only have to implement the method m of the abstract class Mechanism defined in dpsniper/mechanisms/abstract.py and modify the code snippet in dpsniper/example.py. See dpsniper/mechanisms for example implementations of popular mechanisms.

Publication

This is an implementation of the approach presented in the following research paper:

B. Bichsel, S. Steffen, I. Bogunovic and M. Vechev. 2021. DP-Sniper: Black-Box Discovery of Differential Privacy Violations using Classifiers. In IEEE Symposium on Security and Privacy (SP 2021).

The main algorithms DD-Search and DP-Sniper from the paper can be found in dpsniper/search/ddsearch.py and dpsniper/attack/dpsniper.py, respectively.

Citing this Work

You are encouraged to cite the above publication using the following BibTeX entry if you use DP-Sniper for academic research.

@inproceedings{bichsel2021dpsniper,
    author={Bichsel, Benjamin and Steffen, Samuel and Bogunovic, Ilija and Vechev, Martin},
    title = {DP-Sniper: Black-Box Discovery of Differential Privacy Violations using Classifiers},
    booktitle = {2021 IEEE Symposium on Security and Privacy (SP)},
    year = {2021},
    pages = {391-409},
    doi = {10.1109/SP40001.2021.00081},
    url = {https://doi.org/10.1109/SP40001.2021.00081},
    publisher = {IEEE Computer Society},
    address = {Los Alamitos, CA, USA},
    month = {may}
}

Evaluation

You can find instructions on how to reproduce the evaluation results of our paper in the folder eval_sp2021.

License

MIT License, see LICENSE.

This repository includes third-party code from statdp, marked as MIT License, Copyright (c) 2018-2019 Yuxin Wang.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].