SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2405.10994 · 2024

"What do you want from theory alone?" Experimenting with Tight Auditing of Differentially Private Synthetic Data Generation

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 9 functions out of this paper's own repositories and ran 6 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
spalabucr/synth-audit canonical 6 of 9
FunctionStatusWhere it lives
eps_l_GDP Ran spalabucr/synth-audit/utils/audit.py
pointer only (licence: NONE) · get_code("3c80cce4d9282c20")
get_queries Ran spalabucr/synth-audit/attacks/querybased.py
pointer only (licence: NONE) · get_code("64cc3bc3f657abd5")
get_vuln_batch Ran spalabucr/synth-audit/attacks/utils.py
pointer only (licence: NONE) · get_code("132021ad2bc65c51")
get_vuln_single Ran spalabucr/synth-audit/attacks/utils.py
pointer only (licence: NONE) · get_code("f6ba57f4636aabdb")
onehot_encode Ran spalabucr/synth-audit/attacks/utils.py
pointer only (licence: NONE) · get_code("e6c6e690307bd59d")
preprocess_dataset Ran spalabucr/synth-audit/attacks/querybased.py
pointer only (licence: NONE) · get_code("0746485cba167aed")
dcr_mia Not yet run spalabucr/synth-audit/attacks/dcr.py
pointer only (licence: NONE) · get_code("558f2d64e143b0bd")
extract_dcr Not yet run spalabucr/synth-audit/attacks/dcr.py
pointer only (licence: NONE) · get_code("2384824e5a4cbd94")
init_qbs Not yet run spalabucr/synth-audit/attacks/querybased.py
pointer only (licence: NONE) · get_code("b206f51d7c532254")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Differentially private synthetic data generation (DP-SDG) algorithms are used to release datasets that are structurally and statistically similar to sensitive data while providing formal bounds on the information they leak. However, bugs in algorithms and implementations may cause the actual information leakage to be higher. This prompts the need to verify whether the theoretical guarantees of state-of-the-art DP-SDG implementations also hold in practice. We do so via a rigorous auditing process: we compute the information leakage via an adversary playing a distinguishing game and running membership inference attacks (MIAs). If the leakage observed empirically is higher than the theoretical bounds, we identify a DP violation; if it is non-negligibly lower, the audit is loose. We audit six DP-SDG implementations using different datasets and threat models and find that black-box MIAs commonly used against DP-SDGs are severely limited in power, yielding remarkably loose empirical privacy estimates. We then consider MIAs in stronger threat models, i.e., passive and active white-box, using both existing and newly proposed attacks. Overall, we find that, currently, we do not only need white-box MIAs but also worst-case datasets to tightly estimate the privacy leakage from DP-SDGs. Finally, we show that our automated auditing procedure finds both known DP violations (in 4 out of the 6 implementations) as well as a new one in the DPWGAN implementation that was successfully submitted to the NIST DP Synthetic Data Challenge. The source code needed to reproduce our experiments is available from https://github.com/spalabucr/synth-audit.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2405.10994")
get_code_for_paper("2405.10994")
have("2405.10994")

Connect an agent — have() is free.