ML-Leak

dawn_r1sing Lv3

ML-Leaks

classification问题

背景

  • MLaaS

    • 用户上传数据,服务商返回模型输出 → 调用API(黑盒 => 训练集未知)
  • 过去的成员推理攻击

    • 流程

      • 攻击者使用合成数据训练多个shadow models,模仿target model的行为
      • 使用shadow model的 输出+member标签 训练分类器 attack model(每个特征类一个attack model)
      • 根据target model输出的预测结果选择attack model,然后将feature vector输入给attack model,判断是否是member
    • 条件:严格

      • 构建多个shadow models模拟target model(因为target model是黑盒,训练集未知)

      • 架构相同:使用同一MLaaS构建shadow model

      • 攻击评估:与训练集相同分布的数据集

        合成数据,只能用于二维特征数据集

  • 本文的成员推理攻击

    • 条件放宽 → 3种敌手状态

    • 提出两条防御机制

    • 数据集:

      • 8个

        purchase没有预测类 → K-mean人工定义类

membership inference attack

  • model(本地)

    • image:CNN = 两个卷积 + 两个pooling层 + FC
    • shadow model:和target model一致
    • attack model:一层隐藏层 + softmax
  • 评价指标:

    • 精确率

      • attack model预测为member的样本中,有多少是真正的member
    • 召回率

      • 所有真实member中,有多少被attack model正确识别

敌手1

  • 条件

    • 一个shadow model

    • 数据集的分布与训练集相同

  • relax

    • model structure
    • model num
  • 流程

    • shadow model training
      • 使用data set中的training data训练唯一的shadow model - S
    • attack model training
      • 获取data set 的S的输出(后验概率),每一个vector选取最大的2/3个概率值作为feature vector,人工标上member标签
      • 使用feature+label训练唯一的attack model - A
    • membership inference
  • attack性能影响因素

    • 不同的数据集表现出不同的攻击性能

      • 对于不同的数据集,model的过拟合程度不同
      • model的过拟合程度越大,越容易被攻击
        • 过拟合的量化:
          • target model对于training data和testing data的预测准确率的不同
          • training 过程中的epochs
    • 分类的类别数

      • 越多越容易被攻击
    • feature vector的长度

      • 影响不大,3最佳
    • shadow model数

      • 影响不大
    • target 和 shadow 使用MLaaS

      无法保证structure相同

      • 超参数:略有影响 → 攻击的灵活性

      • algorithm

        target model 和 shadow model 不同

        • 不好
        • combining attack
          • 选择所有可能的分类algorithm做多个subshadow model
          • 将对于某一个data point所有subshadow model生成的feature vector堆叠(应该只是数据量增加??)
          • 有的基本没有影响,有的会变差,总的来说可以放宽这个assumption

敌手2:数据独立

  • 条件
    • 一个shadow model
  • relax
    • data set的分布
    • model structure(由于data set不同,此时两个model的structure自然就不同了
    • model num
data transferring attack
  • 此时shadow model并不会模仿target model的行为。只是捕捉数据的member状态

  • 流程

    • (大差不差
    • 训练shadow model
      • 使用其他数据集
  • 结果

    • 和敌手1差不多
    • 甚至更好
    • target 和 shadow的数据集domain不同,攻击仍然有效
  • 优势

    • 不需要合成数据 → 效率高、成本低、不易察觉

    • 高性能

    • 跨数据集域

  • 原理

    • 有的数据集的member与non-member决策边缘差不多,因此可以实现跨数据domain
    • 有的就混杂在一起,同一target model使用两种数据集 攻击性能就相差比较大 (fig.7+8

敌手3:

  • 条件

    • 不需要知道model structure
    • 不需要知道data distribution
    • 不需要shadow model
  • 原理

    • 非监督式,只依靠target data的后验(输出的概率向量)
    • 使用 最大值、熵、标准差
    • 阈值选择方案
    • member最高的后验比non-member高很多
    • random的最高后验分布接近non-member,因此比random的t最高后验还高就说明比non-member高,也就说明很有可能是member
  • 流程

    • 拿到target data的后验,取highest值

    • 阈值选取

      • 看需求:重视精确度,选高一点;重视召回率,选低一点

      • 生成一组random data,我们将其看做non-member

        • 图像:随机图像,像素值从均匀分布中选取
        • 二元特征数据集:随机生成特征值01 vector
        • 边界特征不明显(从互联网上搜集random data)
      • 获取random point的最大后验

      • 前t百分位数可作为阈值

    • 和阈值比较

      • data更大,则target data为member
      • 反之亦然
  • 评估

    • 不设定阈值

      • 评估标准:AUC(ROC曲线下的面积)
        • 体现了多个阈值下,真阳性率(召回率)和假阴性率之间的关系
        • 不需要确定阈值
    • 设定阈值

      • 每个数据集生成大量random data
      • 尝试不同t作为阈值,计算精确率和召回率
    • 增加多个数据因素(同一样本的后验中)

      • 最大后验
      • 标准差
  • 结果

    • 通过member、non-member、random最大后验的分布,有的数据集的random和non-member分布很接近,有的不,对这些数据集该攻击效果并不好
    • 没有统一的 t 可以适用于所有的data set

三者对比

  • 敌手2最佳(模型相关)

defense

两种方法适用于所有ML model减轻overfitting

  • 攻击成功的原因之一

    • model会对training data产生过拟合现象

      对真实类别返回相当高的概率

  • 使用

    • 神经网络 - model stacking
    • 其他 - dropout足以

dropout

deep learning,只能用于神经网络

  • 流程:减少过拟合

    • 在输入层和隐藏层删除固定比例0.5的神经元
  • 好处:

    • model性能基本不变,甚至增强
  • 结果

    • 敌手12:抵抗攻击的效果显著(有个例news
    • 敌手3:部分数据集效果不明显,对dropout有抵抗性,甚至攻击性能变强了
    • dropout model的过拟合水平减少量 越大,攻击性能越差(fig16
    • 改变删除比例
      • 比例越大,攻击性能越差
      • 0.5时model性能下降最少

model stacking

  • 原理

    • model不同部分使用不同的data set训练 → 减少过拟合
    • 集成学习ensemble learning
    • 层次化
  • 流程

    • 将多个model分层组织
      • 两个model将training data作为输入进行训练,一个model将他们的output(后验概率)连接合并为输入进行训练
      • 使用不相交的data set训练这3个model:使得同一个data只用于一个model的训练
  • 结果

    • 敌手1:攻击性能显著变差,比dropout更有效
    • 敌手3:部分数据集效果不明显,甚至攻击性能变强了
    • 对model性能影响比dropout大
  • Title: ML-Leak
  • Author: dawn_r1sing
  • Created at : 2025-09-05 11:06:35
  • Updated at : 2025-09-05 11:07:00
  • Link: https://dawnrisingdong.github.io/2025/09/05/ML-Leak/
  • License: This work is licensed under CC BY-NC-SA 4.0.