De-Anonymizing Text by Fingerprinting Language Generation
This addresses a security vulnerability in ML systems for developers and users, exposing a novel attack vector for de-anonymizing anonymous texts.
The paper tackles the problem of text de-anonymization by showing that nucleus sampling in language generation leaks user-typed text through unique fingerprints in nucleus size sequences, with the main result being that these sequences can be used to infer text via side channels like cache access times.
Components of machine learning systems are not (yet) perceived as security hotspots. Secure coding practices, such as ensuring that no execution paths depend on confidential inputs, have not yet been adopted by ML developers. We initiate the study of code security of ML systems by investigating how nucleus sampling---a popular approach for generating text, used for applications such as auto-completion---unwittingly leaks texts typed by users. Our main result is that the series of nucleus sizes for many natural English word sequences is a unique fingerprint. We then show how an attacker can infer typed text by measuring these fingerprints via a suitable side channel (e.g., cache access times), explain how this attack could help de-anonymize anonymous texts, and discuss defenses.