pytorch / opacus

Training PyTorch models with differential privacy
https://opacus.ai
Apache License 2.0
1.67k stars 332 forks source link

Floating-point Vulnerability Protection #538

Closed gonzalo-munillag closed 1 year ago

gonzalo-munillag commented 1 year ago

🚀 Feature

Floating-point Vulnerability Protection.

Motivation

Prevent exploiting vulnerabilities that could lead to privacy leakage.

There is no documentation that states the use of floating-point vulnerability protection as in https://scholar.google.com/citations?view_op=view_citation&hl=en&user=hg3A9TgAAAAJ&citation_for_view=hg3A9TgAAAAJ:dhFuZR0502QC and https://research.ibm.com/publications/secure-random-sampling-in-differential-privacy

Pitch

Additional code should be added to cover such vulnerability.

Alternatives

Sample from discrete distributions.

Additional context

Other libraries like IBM's diffpriblib accounts for this, and they also enable ML.

ashkan-software commented 1 year ago

Hi @gonzalo-munillag

Thank you for your question and interest in Opacus.

If I am not mistaken, this vulnerability is fixed and documented in here which uses the fix in here.

I am going to close this task for now, but if you feel like your issue wasn't handled, feel free to comment here and reopen!