ML-Leaks:不依赖模型与数据的机器学习模型成员推断攻击与防御
ML-Leaks: Model and Data Independent Membership Inference Attacks and Defenses on Machine Learning Models
作者将成员推断攻击的假设逐步放宽到无需影子模型和同分布数据,在 8 个数据集上验证有效,并提出 dropout 与 model stacking 两种防御。
攻击者目标:判断目标数据点是否在目标模型的训练集中。
- MLaaS 场景下,已有成员推断攻击(判断某数据点是否用于训练模型)依赖多个影子模型、已知目标模型结构和同分布数据等强假设,作者认为这低估了风险。
- 逐步放宽假设提出三类攻击者:单个影子模型加单个攻击模型、用不同分布数据训练影子模型的 data transferring attack、以及不做任何训练、仅对目标模型 posterior 取最大值设阈值的攻击;并提出 dropout 与 model stacking 两种防御。
- 在 8 个数据集上,单影子模型攻击与 Shokri et al. 的多影子模型攻击表现接近(CIFAR-100 上 precision/recall 均约 0.95);跨域数据迁移攻击有效;无训练攻击在多个数据集 AUC 超 0.8;两种防御能降低攻击表现且基本保持模型效用。
- 作者指出:无训练攻击的阈值选取方法不适用于 Adult 和 News 数据集,留作未来工作;dropout 只适用于神经网络;model stacking 在多个数据集上对目标模型准确率的影响大于 dropout;防御只在 adversary 1 和 3 上评测。
- 威胁模型
- 攻击者目标:判断目标数据点是否在目标模型的训练集中。知识与能力:对目标模型仅有 black-box 访问(如 MLaaS API),可提交数据点并获得 posterior 概率输出;三类攻击者逐步放宽假设——adversary 1 有同分布数据、1 个影子模型、不知目标结构;adversary 2 无同分布数据;adversary 3 无需任何影子模型与训练。受害系统:MLaaS 训练的分类模型。
- 被测模型
- Convolutional neural network (CNN)Multilayer perceptronLogistic regressionRandom forestsGoogle Cloud Prediction API
- 基准
- MNISTCIFAR-10CIFAR-100LocationPurchase-2/10/20/50/100AdultNews (20 Newsgroups)Face (Labeled Faces in the Wild)
- 指标
- precisionrecallAUCaccuracy
研究者提出 ML-Leaks,放宽成员推断攻击对攻击者的假设,在 8 个数据集上验证攻击可低成本广泛适用。仅用一个影子模型和单个攻击模型,在 CIFAR-100 上即达到 0.95 精度和 0.95 召回,与使用 10 个影子模型、100 个攻击模型的已有方法(0.95 精度、0.94 召回)相当。数据迁移攻击改用 20 Newsgroups 文本数据训练影子模型,攻击 CIFAR-100 图像模型仍有 0.94 精度和 0.93 召回;第三种攻击不训练任何影子模型,仅依据目标模型的最大后验概率并选取阈值完成推断,多个数据集上 AUC 超过 0.8。防御方面,dropout(比例 0.5)把 CIFAR-100 上的攻击精度和召回分别降到 0.61 和 0.60,目标模型准确率仅从 0.22 降到 0.21;模型堆叠在该数据集上使攻击精度和召回下降超过 30%。
推荐理由研究者在 8 个数据集上验证无需了解目标模型结构与训练数据分布也能实施成员推断攻击,并量化了两种防御的削减幅度。
深度解读
这篇论文试图解决什么问题?
放宽成员推断攻击的强假设,证明其低成本广泛适用,并提出两种防御。
核心问题:机器学习模型(尤其是 MLaaS 场景)的成员推断(membership inference)风险在更弱假设下是否依然成立,以及如何防御。
- 场景与重要性:MLaaS 下用户上传数据、服务器返回 black-box API。作者称,若攻击者能判断某人的数据在训练集中(例如某疾病患者数据训练的模型),即可推断其健康状态,隐私后果严重。
- 现有方法的不足:作者指出 Shokri et al. 的首个成员推断攻击依赖两个强假设——需要多个与目标模型同结构的影子模型(shadow model),以及与目标训练数据同分布的数据集;其合成数据方案只能用于二值特征数据集,且生成单个数据点平均需 156 次查询。
- 核心观察:作者认为成员推断可以用更少假设、更低成本完成;影子模型不必模仿目标模型行为,只需捕捉数据点的成员身份特征;过拟合是攻击有效的关键原因。
- 论文贡献:提出三类逐步放宽假设的攻击者(最终达到 model and data independent),在 8 个数据集上评测;并提出 dropout 与 model stacking 两种防御机制。
- 威胁模型:
- 目标:判断目标数据点 xTarget 是否在目标模型 M 的训练集 DTrain 中(二分类)。
- 知识:对目标模型仅有 black-box 访问(如 MLaaS API),提交数据点获得 posterior 概率输出。
- 能力:adversary 1 拥有同分布数据、可训练 1 个影子模型;adversary 2 无同分布数据;adversary 3 不训练任何模型,仅查询目标模型。
- 受害系统:MLaaS 训练的分类模型(CNN、MLP、random forests、logistic regression 等)。
有哪些相关研究?
以 Shokri et al. 的成员推断攻击为直接基础,另涉及其他域成员推断、对 ML 的攻击和隐私保护机器学习。
对机器学习模型的成员推断
- Shokri et al. [38]——提出首个针对 ML 模型的成员推断攻击,用多个影子模型(每类一个攻击模型)模仿目标模型行为,是本文直接对比和简化的对象;本文指出其假设强、合成数据生成平均需 156 次查询且只适用于二值特征数据。
- Yeom et al. [48]——提出与本文 adversary 3 类似的攻击,但作者指出其要求攻击者知道目标数据点的类别标签,在生物医学等场景难以获得。
- Long et al. [25]、Hayes et al. [17]、Long et al. [26]——从不同角度研究成员推断(合并为一条)。
其他数据域的成员推断
- Homer et al. [18]——首个针对基因组数据的成员推断攻击;Backes et al. [2] 将其推广到其他生物医学数据。
- Pyrgelis et al. [35]——对聚合移动轨迹做成员推断,将成员推断形式化为可区分性游戏,并可纳入差分隐私等防御做评估。
针对机器学习的其他攻击
- Fredrikson et al. [13]、[12]——模型反演(model inversion)攻击,利用模型输出推断缺失属性、可重建可识别人脸。
- Tramèr et al. [43]——模型提取(model extraction)攻击,通过 MLaaS API 输出窃取模型参数;作者以此为由不把隐藏 posterior 视为有效防御。
- 对抗样本(adversarial examples)一系列工作 [33][44][8][23][42][34][46]——通过加噪使模型误分类;另有工作用对抗样本保护社交网络用户隐私 [31][22][49]。
隐私保护机器学习
- Mohassel and Zhang [28](SecureML)、Bonawitz et al. [5]——基于多方计算的隐私保护训练与安全聚合协议。
- Bost et al. [6]、Backes et al. [1]——基于同态加密的隐私保护分类与隐私保护随机森林。
基线与基准:攻击基线为 Shokri et al. 的攻击(按其原始配置训练 10 个影子模型、每类一个攻击模型);评测使用 8 个数据集,其中 6 个与 Shokri et al. 相同(MNIST、CIFAR-10、CIFAR-100、Location、Purchase、Adult),新增 News 和 Face。
作者将本文定位为:在 Shokri et al. 基础上大幅放宽攻击假设、扩展到 model and data independent 的攻击者,并给出该更广义攻击类别下的防御。
论文如何解决这个问题?
三类攻击者逐步放宽假设:单影子模型、跨分布数据迁移、无训练阈值攻击;防御用 dropout 与 model stacking。
整体思路:把成员推断形式化为二分类问题 A : xTarget, M, K → {0, 1},即给定目标数据点、目标模型和攻击者外部知识 K,判定该点是否在训练集中;然后逐步削减对影子模型数量、目标模型结构和数据分布的假设,最后用抗过拟合技术做防御。
Adversary 1:单影子模型与结构无关化
- 三阶段流程:影子模型训练(DShadow 对半分,用 DShadow^Train 训练影子模型 S)→ 攻击模型训练(用 S 对 DShadow 全部点预测,取每个点最大的 3 个 posterior(二分类数据集取 2 个)作为特征向量,按是否在 DShadow^Train 中标注 member/non-member,训练攻击模型 A)→ 成员推断(查询目标模型,取 3 个最大 posterior 输入 A)。
- 关键设计:只用 1 个影子模型和 1 个攻击模型(Shokri et al. 用多个影子模型、每类一个攻击模型);作者称因影子模型经 MLaaS 按查询付费建立,这大幅降低成本。
- 结构无关化:影子模型参数量减半或加倍仍有效;进一步提出 combining attack——用多个不同算法的 sub-shadow model(multilayer perceptron、random forests(1,000 棵树)、logistic regression)堆叠特征训练攻击模型,从而无需知道目标模型的分类器类型。
Adversary 2:数据迁移攻击(data transferring attack)
- 设计:影子模型用与目标模型训练数据不同分布的现有数据集训练;影子模型不再模仿目标行为,只用于总结"数据点在训练集中"的成员身份特征。
- 类别数处理:因攻击模型只用最大的 3 个(二分类取 2 个)posterior,作者认为可忽略数据集类别数不同带来的影响。
- 优势(作者称):不需要对目标模型做合成数据生成查询,成本更低、更难被 MLaaS 提供方发现,且适用于任意类型数据。
Adversary 3:无训练阈值攻击
- 设计:不训练任何模型;查询目标模型得到 posterior,取最大值与阈值比较,超过则判为 member。依据是模型对训练过的点更自信。
- 阈值选取:在目标数据点特征空间生成随机点(图像数据集按均匀分布生成像素,二值特征按无偏抛硬币生成),查询目标模型,把随机点最大 posterior 的前 t 百分位作为阈值;作者假设随机点近似非成员。Adult 和 News 因特征边界不明确,该方法不适用,作者留作未来工作。
- 替代统计量:还测试了 standard deviation 和 entropy(−∑pi ∈ Y pi log pi)作为特征。
防御:dropout 与 model stacking
- Dropout:在目标模型输入层和隐藏层均以 dropout ratio(默认 0.5)随机删除边,降低过拟合;仅适用于神经网络(作者注:其他分类器可用 L2-norm 等正则替代)。
- Model stacking:目标模型由 3 个模型组成两层——第一层两个模型(评估中用 multilayer perceptron 或 CNN、random forests)直接接收原始数据,第二层一个模型(logistic regression)以第一层两个模型 posterior 的拼接 Y1||Y2 为输入;三个模型用互不相交的数据子集训练(数据分成 12 份,6 份训练/测试目标模型,6 份给影子模型)。
- 防御评测设定:假设攻击者知道防御技术并按同样防御构建影子模型;因 adversary 1 与 2 方法相同,防御只对 adversary 1 和 3 评测。
论文做了哪些实验?
8 个数据集上三类攻击均有效,单影子模型攻击与原攻击相当;dropout 与 model stacking 可降低攻击表现且基本保持效用。
实验设置
- 被测模型:图像数据集(MNIST、CIFAR-10、CIFAR-100、Face)用 CNN(两个卷积层、两个池化层、一个 128 单元隐藏层);其余数据集用单隐藏层(128 单元)multilayer perceptron;combining attack 与 model stacking 另用 random forests(1,000 棵树)和 logistic regression;MLaaS 评测用 Google Cloud Prediction API(用户无法选择分类器与结构)。
- 数据集:8 个——MNIST、CIFAR-10、CIFAR-100、Location、Purchase(经 K-means 聚类扩展为 2/10/20/50/100 类共 5 个)、Adult、News(20 Newsgroups,20,000 篇文档、20 类)、Face(LFW,取每人超过 40 张图像的 19 人、19 类,非平衡)。
- 数据划分:每个数据集对半分为 DShadow 与 DTarget,再各自对半分;DTarget 一半训练目标模型(成员),另一半作非成员。
- 攻击模型:64 单元隐藏层、softmax 输出的 multilayer perceptron;实现用 Python + Lasagne。
- 基线:Shokri et al. 攻击,按其原始代码配置训练 10 个影子模型、每类一个攻击模型。
- 指标:precision、recall(成员推断二分类);accuracy(目标模型预测性能);adversary 3 另用 AUC。论文未报告重复次数与置信区间。
主结果
Figure 1 给出 adversary 1 与 Shokri et al. 在全部数据集上的 precision 与 recall 对比(柱状图,正文给出代表性数字):
表格较宽,可左右滑动
攻击设置 数据集 Precision Recall 出处 adversary 1(1 影子模型) CIFAR-100 0.95 0.95 正文/Figure 1 Shokri et al.(10 影子模型) CIFAR-100 0.95 0.94 正文/Figure 1 adversary 1 Adult 约 0.5 约 0.5 正文 adversary 1(Google MLaaS) Purchase-100 0.90 0.89 正文 adversary 1(本地) Purchase-100 0.89 0.86 正文 adversary 1(Google MLaaS) Location 0.89 0.86 正文 adversary 1(本地) Location 0.88 0.86 正文 - 作者称 adversary 1 与原攻击表现非常接近,对平衡(CIFAR-10)与非平衡(Face)数据集都有效。
- 作者将数据集间差异归因于过拟合水平:Adult 目标模型训练/测试准确率仅差 2%,攻击约 0.5;CIFAR-100 差 78%,攻击 0.95(Figure 2)。
- Figure 12 对比三类攻击者:作者称前两类在多数数据集上表现非常接近,adversary 3 仅略差(尤其 precision)。
数据迁移攻击(adversary 2)
- 测了什么:影子模型与目标模型用不同数据集训练,Figure 7 给出全部数据集两两组合的 precision/recall 矩阵。
- 结果:用 Face 攻击 CIFAR-100 达 0.95 precision、0.95 recall,与 adversary 1 相同;用 Purchase-10 攻击 News 达 0.93/0.92,高于 adversary 1 的 0.88/0.86;用 News 影子模型攻击 CIFAR-100 达 0.94 precision、0.93 recall(引言)。Google MLaaS 上用 Location 影子模型攻击 Purchase-100 为 0.8/0.78,反之为 0.87/0.82。
- 作者的解读:t-SNE 可视化(Figure 8)中,迁移有效的数据集对(CIFAR-100 与 News)成员/非成员点各自聚成簇且有共同决策边界;迁移无效的组合(MNIST 与 Purchase-10)看不到明显簇。
无训练攻击(adversary 3)
- 测了什么:不设阈值时用 AUC 评估最大 posterior、standard deviation、entropy 三个统计量;再按阈值选取方法(每数据集生成 1,000 个随机点)评测具体推断。
- 结果:最大 posterior 在多个数据集上 AUC 超过 0.8,三个统计量 AUC 几乎相同(Figure 9);t 取 10 时多数数据集(如 CIFAR-100)precision 与 recall 较好(Figure 10);固定阈值(如 50%)无法在所有数据集上都好。
- 例外:在 Purchase-10 等数据集上表现不佳(Figure 11b);Adult、News 因特征边界不明未评测。
防御评测
- Dropout(ratio 0.5):adversary 1 在 Purchase-100 上 precision 从 0.89 降到 0.64、recall 从 0.86 降到 0.63;CIFAR-100 上 precision 与 recall 下降超过 30%(引言给出降到 0.61/0.60);News 数据集上几乎无效。adversary 3 在 CIFAR-100 上 precision 降超 25%、recall 降超 40%,但 MNIST 上 recall 反而上升,作者称 adversary 3 对 dropout 更有抵抗力。
- 效用:CIFAR-100 目标模型 accuracy 仅从 0.22 降到 0.21;超过半数数据集上 dropout 反而提升 accuracy,如 Purchase-50 从 0.72 升至 0.83(Figure 15)。
- Model stacking:所有被测情形下攻击表现下降,CIFAR-10 上 precision 与 recall 降超 30%;News 上降 28%(dropout 在此无效);Location 上 adversary 3 的 precision 降超 20%、recall 降超 30%,MNIST 等例外仍存在;对目标模型 accuracy 的影响在多个数据集(如 Purchase 系列)上大于 dropout。
其他消融与分析
- 影子模型数量 1–10:Purchase-100/50、Adult、Location 上 precision 与 recall 无明显差异(Figure 5)。
- 训练 epoch 数 10–100:攻击表现随 epoch 增加而上升(Location、Purchase-100,Figure 3)。
- 用作特征的 posterior 个数:多数数据集影响不大,3 个总体最好(Figure 4)。
- 影子模型参数量减半:Purchase-100 上 0.86/0.83;加倍:0.82/0.80。
- Combining attack(Table II):目标为 random forests 时 0.94/0.93,低于用同结构影子模型的 1.0/1.0;目标为 MLP 或 logistic regression 时与原攻击相当。
- Dropout ratio:0.75 时攻击降至 0.53/0.53,但过大或过小 ratio 都使目标模型 accuracy 偏低,作者认为 0.5 合适(Figure 17,Purchase-100)。
有什么可以进一步探索的点?
作者指出阈值选取不适用于部分数据集并留作未来工作;防御评测与适用面有明确边界。
作者指出的局限与后续方向
- Adversary 3 的阈值选取方法对 Adult 和 News 不适用(特征边界不明确),作者提出可从互联网收集同类数据作为"随机"点,"We leave this for future work"(Section V-B)。
- Dropout 只适用于神经网络目标模型,是作者提出 model stacking 的直接动机(Section VI-B);作者注记其他分类器可用 L2-norm 等正则替代(Section VI 脚注)。
- Model stacking 在多个数据集(如 Purchase 系列)上对目标模型 accuracy 的影响大于 dropout(Section VI-B)。
- Dropout 对 News 数据集上的攻击几乎无效;model stacking 与 dropout 对 adversary 3 均存在 MNIST 等例外(Section VI-A、VI-B)。
- 因模型提取攻击有效,作者不把隐藏 posterior 视为有效防御机制(Section VII)。
实验覆盖范围
- 被测模型为 CNN、multilayer perceptron、random forests、logistic regression 及 Google Cloud Prediction API 训练的模型;数据集共 8 个(Purchase 扩展为 5 个类别数变体)。
- 防御只对 adversary 1 和 adversary 3 评测,adversary 2 未单独评测(作者说明因 adversary 1 与 2 方法相同);model stacking 未在 Face 数据集上评测(数据不足)。
- 防御评测假设攻击者知道防御技术并按同样防御构建影子模型(Section VI)。
- MLaaS 实测仅覆盖 Google Cloud Prediction API 与 Purchase-100、Location 两个数据集。
- 论文未报告实验重复次数、统计显著性检验或置信区间;成员推断指标为 precision/recall/AUC,未使用其他隐私度量。
总结一下论文的主要内容
成员推断攻击可在无影子模型、无同分布数据的弱假设下成立,dropout 与 model stacking 可缓解。
一篇关于机器学习成员推断(membership inference)攻击与防御的论文(NDSS 2019),研究 MLaaS black-box 场景下判断数据点是否属于训练集的风险。
- 问题:作者称 Shokri et al. 的首个成员推断攻击依赖多个同结构影子模型和同分布数据等强假设,低估了风险。
- 方法:提出三类攻击者——adversary 1 只用 1 个影子模型和 1 个攻击模型(取最大的 3 个 posterior 作特征),并用 combining attack 免去对目标模型算法类型的知识;adversary 2 用不同分布数据训练影子模型(data transferring attack);adversary 3 不做任何训练,对目标模型 posterior 最大值设阈值判定。防御为 dropout 与 model stacking。
- 主要结果:adversary 1 在 CIFAR-100 上 precision/recall 均 0.95,与 10 影子模型的原攻击(0.95/0.94)相当;跨域迁移攻击有效,如用 News 影子模型攻击 CIFAR-100 达 0.94/0.93;adversary 3 在多个数据集上 AUC 超 0.8;Google MLaaS 上 Purchase-100 被攻击达 0.90/0.89。
- 防御效果:dropout(0.5)使 CIFAR-100 上攻击降到 0.61/0.60,目标模型 accuracy 仅从 0.22 降到 0.21,部分数据集 accuracy 反而提升;model stacking 使攻击 precision 与 recall 在 CIFAR-100 上降超 30%,适用于非神经网络模型。
- 作者的结论:成员推断比此前认为的更简单、更普遍适用,风险更严重;过拟合是攻击有效的关键,抗过拟合技术能在保持模型效用的同时缓解该风险。