Truth Serum:向机器学习模型投毒以泄露其秘密
Truth Serum: Poisoning Machine Learning Models to Reveal Their Secrets
作者提出投毒隐私攻击:向训练集注入少量投毒样本,使成员推断、属性推断和金丝雀提取的泄漏提升1到2个数量级。
攻击者能向训练集一次性注入任意投毒数据 D_adv(targeted 攻击最少 N_adv=1,untargeted 最多达 |D|),之后仅能对训练好的模型进行查询;知道数据分布 D 和目标取值空间 U;不要求投毒隐蔽;不能参与训练过程。
- 训练数据投毒与隐私推断此前被分开研究。作者问:能向训练集写入数据的攻击者,能否借此读取其他参与方的私有训练样本,从而放大成员推断、属性推断和数据提取的泄漏。
- 提出隐私推断投毒博弈,核心策略是把目标样本变成离群点:图像和表格任务用标签翻转投毒,语言模型用前缀/后缀投毒,再配合影子模型校准损失。
- CIFAR-10 上 8 个投毒(0.03%)使成员推断 [email protected]%FPR 从 7% 升至 59%;Adult 属性推断 TPR 从 1% 升至 30%;WikiText-2 提取 6 位 canary 的中位猜测从 9,018 降到 230。
- 作者称攻击未针对投毒防御做规避设计,修改目标样本的投毒策略未找到更优方案;实验限于 CIFAR-10/100、Adult、WikiText-2 等数据集和小型 GPT-2,差分隐私可阻止攻击但未实测。
- 被测模型
- Wide-ResNetthree-layer feedforward neural networkGPT-2
- 基准
- CIFAR-10CIFAR-100AdultWikiText-2Texas100Fashion MNIST
- 指标
- TPR at low FPRexposure (bits)median guessestest accuracy
Tramèr 等人提出名为 Truth Serum 的一类攻击,攻击者向训练集注入少量投毒样本,就能放大针对其他用户数据的成员推断、属性推断和数据提取。实验显示,在 CIFAR-10 上注入 8 个误标样本(占 0.03%)后,成员推断在 0.1% 假阳性率下的真阳性率从 7% 升到 59%;在 50% 真阳性率下,假阳性率从 24% 降到 0.05%。在 WikiText 上注入 64 句投毒样本,可把 6 位 canary 的中位猜测次数从 9018 降到 230。若攻击者控制约 50% 训练数据,无目标投毒可使对其他用户全部数据点的成员推断错误率降低 8 倍。作者认为,这使多方计算协议中的密码学隐私保证在各方可任意选择训练数据时受到质疑。
推荐理由论文显示少量投毒样本就能把成员推断等隐私攻击的效果提高一到两个数量级,用多方数据训练模型的团队可据此重新评估数据完整性风险。
深度解读
这篇论文试图解决什么问题?
作者提出一类新攻击:投毒训练数据以放大对他人训练样本的隐私推断泄漏。
核心问题:能向训练集注入数据的攻击者,能否借此放大对其他参与方私有训练样本的隐私推断(成员推断、属性推断、数据提取)。
- 问题场景与重要性:作者指出,密码学中"没有完整性就没有隐私"的原则同样适用于机器学习;大型模型训练数据难以清洗,去中心化场景(联邦学习、安全多方计算)中无法检查各方数据。
- 现有工作的两条独立线索:数据投毒攻击针对训练完整性(降低性能或植入后门),隐私攻击(成员推断、属性推断、数据提取)针对训练数据隐私;作者称此前没有工作研究以投毒破坏其他用户隐私这一威胁模型。
- 核心观察:最易受隐私攻击的是离群点(outlier),因为它们对模型影响大;攻击者不能修改目标样本,但可以通过投毒把目标样本"变成"离群点,从而放大其成员/非成员两种世界下模型行为的差异。
- 论文贡献:提出 targeted 投毒攻击(<0.1% 数据)使三类隐私攻击提升 1 到 2 个数量级;untargeted 攻击(控制多达 50% 数据)使所有其他用户数据的成员推断错误率降低 8×;并给出 kNN 和线性 SVM 上可证明达到 100% 成员推断准确率的攻击(附录 D)。
- 威胁模型:
- 目标:放大对训练集 D 中其他方样本的隐私泄漏,赢得隐私推断博弈(猜出目标 z)。
- 知识:知道数据分布 D、目标取值空间 U 和训练算法 T。
- 能力:一次性向训练集注入 N_adv 个任意投毒点(targeted 最少 N_adv=1,untargeted 最多 N_adv=|D|),之后只能查询训练好的模型;不能参与训练过程。
- 受害系统:在被投毒数据集上训练的模型,包括 MPC 等多方联合训练场景。
有哪些相关研究?
相关工作分四组:隐私攻击、完整性投毒、更强威胁模型的隐私破坏、以及防御与审计。
训练数据隐私攻击
- Shokri et al. [62] 提出成员推断;Fredrikson et al. [21, 22]、Yeom et al. [75] 研究属性推断;Carlini et al. [13, 14] 研究从语言模型提取训练数据。作者称这三类是文献中最常考虑的训练数据隐私攻击,本文以它们为攻击对象。
- Carlini et al. [11] 提出基于每样本似然比的成员推断(用影子模型校准),本文的 MI 攻击直接扩展该方法;Mehnaz et al. [45] 的属性推断攻击是本文第 5 节的基线。
训练完整性攻击(投毒)
- 无差别(可用性)攻击 [7, 15, 20, 31, 51]、targeted 攻击 [23, 61, 64]、后门攻击 [4, 6, 67] 及供应链后门 [26, 39, 40]。作者指出这些投毒攻击都不以破坏隐私为目标。
投毒破坏隐私的更强威胁模型
- 控制部分训练代码的攻击者可将模型用作侧信道窃取训练数据 [3, 63];联邦学习中恶意服务器可选择便于重建样本的架构 [9, 19];去中心化协议参与方可发送动态恶意更新放大隐私攻击 [28, 46, 53, 71]。作者称本文与这些工作的区别在于只假设攻击者能一次性添加少量任意数据,之后不参与训练。
- Chase et al. [43] 考虑与本文类似的威胁模型,但目标更弱:推断训练集的全局属性(如类别分布);本文针对单个样本的隐私泄漏。
防御与隐私审计
- 投毒防御通过检测和移除分布外样本实现鲁棒训练 [15, 16, 27, 31, 66];隐私防御包括启发式降低记忆 [34, 52] 和差分隐私训练 [1, 17],作者称差分隐私可证明保护任意(含被投毒)数据集。
- Jagielski et al. [32]、Nasr et al. [54] 用投毒度量差分隐私算法的隐私保证;作者指出这与本文根本不同:他们度量投毒样本自身的泄漏,本文表明投毒会伤害其他良性样本。
定位:作者称本文引入"主动推断攻击"这一新攻击类别,把完整性与隐私两条独立线索连接起来,且只依赖最弱的数据注入假设。
论文如何解决这个问题?
把目标样本投毒成离群点以放大其影响,再用校准的隐私攻击读出泄漏。
整体思路:攻击者通过投毒改变训练集,使"目标样本在训练集中"与"不在"两种世界的模型行为差异最大化——即把目标变成离群点,再对训练好的模型运行(校准的)隐私推断攻击。论文将这一思路实例化为成员推断、属性推断和 canary 提取三类攻击。
隐私推断博弈与威胁模型形式化
- Game 3.1(标准隐私博弈):挑战者采样数据集 D 和目标 z,在 D∪{z} 上训练模型,攻击者查询模型后输出猜测 ẑ,猜中则胜。成员推断对应 U={x,⊥},属性推断对应目标样本的各属性版本,数据提取对应秘密的所有可能取值。
- Game 3.2(本文的投毒版):攻击者在训练前向挑战者提交大小为 N_adv 的投毒集 D_adv,模型在 D∪D_adv∪{z} 上训练。攻击者知道 D、U、T,投毒不要求隐蔽。
- 成功度量:成员/属性推断用低 FPR(如 0.1%)下的 TPR;canary 提取允许多次猜测,用 exposure(比特)度量:exposure(z;Ẑ) = log2|U| − log2 rank(z;Ẑ),即正确秘密在攻击者排序中的位置换算成的信息位数。
核心原则与可证明的 warm-up
- 关键区分:目标不是让模型记住目标样本(简单复制目标会在两个世界中都记住,无助于区分),而是让目标样本的存在对模型行为产生最大影响。
- kNN 攻击(附录 D,Algorithm 1):投毒 k 个点:k−1 个目标 x 的副本(半数标对、半数标错)加一个距 x 为 δ 的错标近邻,使目标成为分类 x 的决胜票;模型正确分类 x 当且仅当目标是成员,作者证明这达到 100% 成员推断准确率,且存在不投毒时推断不优于随机的"unused"点。
- SVM 攻击(附录 D):对位于凸包上的"protruding"点,在其附近插入异类投毒点可迫使它成为支持向量;作者证明(Theorem D.2)此时可通过到决策边界的距离以 100% 准确率推断成员。
深度网络上的 targeted 攻击设计
- 标签翻转(成员推断,第 4 节):对目标 (x,y),插入 r 个错标副本 (x,y′),r∈{1,2,4,8,16},y′ 随机选取且各副本一致。模型学会把 x 关联到 y′,正确标注的目标因而成为离群点。
- 属性推断(第 5 节):对未知属性的两个版本 x0、x1 各插入 r/2 个错标副本,使模型对两个版本损失都大,真实版本的存在会在其中一个损失上留下可检测的影响;攻击用影子模型拟合损失差的高斯分布做似然比检验。
- canary 提取(第 6 节):两种策略——prefix poisoning(攻击者选择 canary 前的上下文,用分布外前缀如代码、随机 token 提高暴露)和 suffix poisoning(前缀固定时,把前缀加任意后缀重复插入训练集,"错标"前缀后的 token)。
- 校准:用 N 个影子模型拟合成员/非成员(或各属性版本)的损失分布;canary 提取用校准置信度,即目标模型对"前缀+猜测"的对数概率减去 N 个影子模型的均值(论文公式 (3))。
untargeted 攻击与防御初探
- untargeted 标签翻转(第 4.4 节):攻击者从同一分布采样与受害方等量的数据,全部错标为同一随机类别,使所有异类样本变成离群点;面向两方各持 50% 数据的 MPC 式联合训练场景。
- 损失裁剪(第 4.3.7 节):作为简单防御,把每个样本的交叉熵损失裁剪到上界 C(实验取 C=1 和 C=10⁻³),限制离群点影响;作者称其计算上比梯度裁剪的差分隐私更高效。
论文做了哪些实验?
在 CIFAR-10/100、Adult、WikiText-2 上验证三类攻击,投毒使泄漏提升 1–2 个数量级。
实验设置
- 被测模型:CIFAR-10/100 上用 Wide-ResNet(100 epoch,平均测试准确率 91%/67%);Adult 上用三层前馈网络(84% 测试准确率);WikiText-2 上训练小型 GPT-2;理论部分用 kNN 和线性 SVM。
- 数据集:CIFAR-10/CIFAR-100(各 50,000 样本)、Adult(48,842 用户)、WikiText-2(约 300 万 token);附录另有 Texas100(SVM)和 Fashion MNIST(SVM 白盒)。
- 基线:成员推断用 Carlini et al. [11] 的影子模型攻击和 Yeom et al. [75] 的全局阈值攻击;属性推断用 Mehnaz et al. [45] 及 imputation 基线;canary 提取用 Carlini et al. [13]。
- 指标与协议:成员/属性推断报 [email protected]% FPR 及固定 TPR=50% 时的 FPR;canary 提取报 exposure(比特)和中位猜测次数。
- 样本量与重复:CIFAR 每次实验随机选 250 个目标点,训练 N=128 个模型做 128 折留一交叉验证;Adult 选 500 个目标点、10 个目标模型加 128 个影子模型;canary 实验注入 45 个 canary、训练 45 个目标模型(共 2,025 个前缀-秘密组合)。
主结果
表格较宽,可左右滑动
攻击 设置 无投毒 有投毒 出处 成员推断 [email protected]%FPR CIFAR-10,r=8(0.03%) 7% 59% Figure 2 成员推断 [email protected]%FPR CIFAR-100,r=16 22% 69% 正文 4.2 成员推断 FPR@TPR=50% CIFAR-10 24% 0.05%(480×) 正文 4.2 成员推断 FPR@TPR=50% CIFAR-100 2.5% 0.025%(100×) 正文 4.2 属性推断 [email protected]%FPR Adult 性别,r=16 1% 30% Figure 10 canary 中位猜测次数 WikiText-2,prefix+suffix 9,018 230(39×) 正文 6.3 - 作者称标签翻转投毒"非常有效",单个投毒(r=1)就使 CIFAR-10 的 TPR 提升 1.75×。
- 同时跑 250 个 targeted 攻击时总投毒达 4,000 个点,但模型测试准确率仅从 92% 降到 88%,非目标点的 MI 成功率不变;作者称 50 个目标点重复实验结果类似。
- 属性推断上,作者指出无投毒时 [45] 的攻击差于 imputation 基线,r≥4 个投毒后攻击才首次超过该基线。
机理分析:投毒把 inlier 变成 outlier
- 测了什么:Figure 3 画 5 个 CIFAR-10 样本成员/非成员的损失分布随投毒数变化;Figure 4 对原本最难/最易推断的各 5% 样本重跑攻击(r=4)。
- 结果:投毒使置信度左移且两类分布更易分开;对原本最难推断的 5% 样本,[email protected]%FPR 从 0.1% 升至 43%(430×);对原本最易推断的样本(基线已达 73% TPR)提升很小。
- 作者解读:攻击把数据集的平均情形隐私拉低到离群点的最坏情形隐私,即使 inlier 用户也可能被推断成员身份。
影子模型与标签选择的消融
- 影子模型不再必要:有投毒时,Yeom et al. [75] 的全局阈值攻击在 CIFAR-10 上接近用 128 个影子模型的 [11];FPR=0.1% 时无校准攻击无投毒 TPR 为 0.1%(随机水平),16 个投毒后达 43%(Figure 5)。
- 错标选择:CIFAR-10/100 上"random"(同一随机错标)略优于"best"(最可能错类)和"worst"(最不可能错类);"random-multi"(各副本不同错标)在低 FPR 下差于无投毒基线(Figure 6、16)。作者称关键是错标一致。
- 修改目标样本:附录 A.2 尝试加噪、数据增强、unadversarial 样本等修改 x 的投毒(r=8),均差于直接错标原样本;作者称未能找到更优策略,留作开放问题。
防御、部分知识与 untargeted 攻击
- 损失裁剪:C=1 时 targeted 攻击在低 FPR 下受抑制(r>1 反而有害),但 C=10⁻³ 时投毒仍使攻击成功率提升 3×,且测试准确率从 91% 降到 87%(Figure 7、8)。
- 部分知识:攻击者只知目标的近邻图像(CLIP 特征最近邻)时,基线与 r=4 投毒攻击的 TPR 下降均不到 1.6×(Figure 19)。
- untargeted:攻击者控制 50% 数据并全部错标为同一类,CIFAR-10 上全体受害点的 [email protected]%FPR 从 9% 升至 16%,TPR=50% 时 FPR 从 24% 降到 3%(8×);最难推断的 5% 点 TPR 从 0.1% 升至 3.7%(37×);C=1 的裁剪对 untargeted 攻击无效(Figure 9、25)。
其他消融与分析
- canary 校准:2 个影子模型使 exposure 从 3.1 升至 7.1 比特(猜测量降 16×),100 次内恢复比例从 0.1% 升至 10%(Figure 11)。
- 前缀分布:代码、随机 token、最坏损失前缀使 canary exposure 更高,外语和最好损失前缀无效(Figure 12)。
- suffix poisoning:补零后缀 64 次插入(0.3% 数据)使 exposure 从 7.4 升至 9.2 比特;prefix+suffix 组合达 11.4 比特,100 次内恢复比例从 10% 升至 42%(Figure 13)。
- 已知前缀 token 数 ≥8 时投毒才提升 exposure(Figure 14)。
- 无影子模型时投毒使 exposure 从 3.1 升至 7.3 比特,与影子模型的收益(7.4 比特)相当,两者结合达 11.4 比特(正文 6.4)。
- SVM 白盒:200 个投毒使线性/多项式 SVM 的支持向量从 121/176 增至 512/642(4.2×/3.7×,5 次试验,附录 D)。
有什么可以进一步探索的点?
作者列出防御鲁棒性、更强投毒策略等开放方向;实验限于若干数据集与小型模型。
作者指出的局限与后续方向
- 攻击未以规避具体投毒防御为目标;作者称攻击能否对损失裁剪及更复杂的数据清洗机制保持鲁棒,是未来工作的问题(第 2.3 节)。
- 修改目标样本本身的投毒策略未能改进攻击,作者留作开放问题:设计改变目标样本的更强隐私投毒策略(第 4.3.5 节)。
- 带更多约束(如 clean-label 投毒)的攻击留作未来工作(第 3.1.1 节)。
- 作者希望未来工作进一步阐明机器学习中数据投毒与隐私泄漏的相互作用(第 7 节)。
- 作者指出平均情形 canary 审计可能低估小规模投毒下的最坏情形泄漏,最坏情形审计方法可能更准确地度量多数用户的隐私(第 7 节)。
实验覆盖范围
- 被测模型为 Wide-ResNet(CIFAR-10/100)、三层前馈网络(Adult)、小型 GPT-2(WikiText-2),理论验证用 kNN 和线性 SVM,共 5 类。
- 数据集为 CIFAR-10、CIFAR-100、Adult、WikiText-2,附录另有 Texas100 和 Fashion MNIST(SVM 实验)。
- 防御评测仅包括损失裁剪(C=1 与 C=10⁻³);差分隐私只作讨论未实测,作者称其可证明阻止攻击。
- 成员推断实验每个设置训练 128 个模型做 128 折交叉验证;Adult 用 10 个目标模型加 128 个影子模型;canary 实验为 45×45=2,025 个组合。
- 论文未报告攻击的运行耗时或计算成本;untargeted 攻击仅在攻击者占 50% 数据的设置下评估。
总结一下论文的主要内容
投毒训练数据可把他人样本变成离群点,使三类隐私推断泄漏提升 1–2 个数量级。
一篇 CCS 2022 攻击论文,提出"主动推断攻击":攻击者向训练集注入少量投毒数据,放大对其他参与方训练样本的隐私泄漏,把数据完整性与数据隐私两条此前独立的研究线连接起来。
- 问题:能"写"训练集的攻击者能否借此"读"他人私有样本。威胁模型只需一次性注入任意投毒点(最少 1 个),之后仅查询模型,不参与训练。
- 方法:核心是把目标样本变成离群点——图像/表格任务插入目标的一致错标副本,语言模型用分布外前缀或重复后缀投毒;配合影子模型校准损失。kNN 与线性 SVM 上作者证明可达 100% 成员推断准确率。
- 成员推断:CIFAR-10 上 8 个投毒(0.03% 训练集)使 [email protected]%FPR 从 7% 升至 59%;固定 TPR=50% 时 FPR 从 24% 降到 0.05%(480×)。
- 属性推断:Adult 数据集推断性别,16 个投毒使 [email protected]%FPR 从 1% 升至 30%,而无投毒基线甚至差于纯数据相关的 imputation。
- canary 提取:WikiText-2 上小型 GPT-2,prefix+suffix 组合投毒使 6 位 canary 的中位猜测次数从 9,018 降到 230(39×)。
- 结论与启示:作者称攻击把平均情形隐私拉向最坏情形,使原本安全的 inlier 也可被推断;投毒还免去了影子模型的开销。作者认为这动摇了 MPC 联合训练中"理想功能"隐私保证的相关性——诚实执行协议的恶意方仅靠选择输入即可放大泄漏;差分隐私可阻止此类攻击,简单的损失裁剪只能部分缓解且损害准确率。