【论文】CloudLeak: Large-Scale Deep Learning Models Stealing Through Adversarial Examples

Mar 17, 2020· · 1 min read

论文标题:CloudLeak:Large-Scale Deep Learning Models Stealing Through Adversarial Examples

会议:Network and Distributed Systems Security (NDSS) Symposium 2020

论文背景和目标

基于云的机器学习服务(Cloud-Based MLaaS)是指将训练好的深度神经网络部署在云上并通过应用程序接口(API)提供分类和预测任务服务。尽管MLaaS被构建成基于云的黑盒服务,攻击者仍然可以通过精心构建的对抗样本来窃取网络参数。

论文中实现了一种使用对抗样本窃取网络参数的方法“FeatureFool”,并且证明其相对于其他攻击模型具有更少的请求次数。论文中通过结合几种比较新颖的算法可以达到非常好的效果。

相关的概念包括:

  • 迁移学习(Transfre Learning):识别并将在一个任务上学到的能力应用于另一个不同的任务。文章中通过结合VGG19和DeepID的迁移学习,在具有较好的性能的同时加快了模型窃取的速度。详见Y. Sun等的Deep Learning Face Represatation from Predictiing 1000 CLasses

  • 对抗攻击(Adversarial Attack):在初始输入上增加一个小的扰动使得模型得到错误的预测结果。包括白盒攻击和黑盒攻击。文章中使用DNN内部特征来生成对抗样本的方法,主要通过恶意的特征构建对抗样本并求解可以减小置信度的网络参数。

  • 模型提取攻击(Model Extraction Attack):通过目标模型的输入和对应的输出标签/置信度来提取参数并得到一个等效的模型。文章使用迁移学习和对抗样本结合的方法提取网络模型。

  • 主动学习(Active Learning):模型选择并推送关键的样本(难以分类)要求用户打上标签,从而提高训练呢和预测效率。文章通过对抗样本的构建,解决了主动学习中边界样本趋于相同的问题,

  • 基于云的机器学习服务平台(Cloud-based MLaaS Platform):指为终端用户提供提供机器学习解决方案的平台,包括模型训练、预测分析等。文章重点介绍了五个MLaaS Platform即Microsoft、Face++、IBM、Google、Clarifai。这些服务通常要求用户提供已标注的数据,由平台训练后提供API用于预测。整个过程是黑盒服务,用户不能接触到训练好模型内部的细节。

相关工作

其他人的成果

一方面通过攻击可以盗取网络内部参数,称为模型提取攻击(Model Extraction Attack)。

例如2016年,F. Tramèr等实现了第一个模型提取攻击方法Stealing Machine Learning Models vis Prediction APIs,通过模型预测结果和输入数据来学习模型内部参数。

其他的工作还有B. Wang等的Stealing Hyperparameters in Machine Learning、A. Dmitrenko等的Dnn Model Extraction Attacks Using Prediction Interfaces、Y. Shi等的How to Steal a Machine Learning Classifier with Deep Learning

另一方面通过攻击可以盗取网络的训练集,称为成员推理攻击(Membership Inference Attack)。

2017年,R. Shokri等实现了一种成员推理攻击方法Membership Inference Attacks against Machine Learning Models,可以判断目标模型的训练集是否包含某一条特定的数据。

其他的工作还有Y. Long等的Understanding Membership Inference on Well-generalized Learning Models

存在一些应对模型提取攻击的防御方案,大多都是在预测请求过程(query process)中加以处理,但是难以同时满足性能和效率的要求。例如M. Juuti等的Prada: Protecting against DNN Model Stealing Attacks

局限性

  • 目前大多数模型攻击方法只能应用于比较简单的小规模机器学习模型中。
  • 目前的攻击方法的请求规模与模型参数成比例。在攻击含有百万量级参数的大型网络时效率低下。

本文解决方案

模型假设

攻击者对网络模型的结构、参数、训练集没有先验的信息。但是可以使用任意输入并得到对应的预测结果。

模型思路

通过使用对抗样本请求模型预测并得到结果,使用输入输出对(input-output pair)训练从候选库中选择出来的替代模型,从而实现对目标模型参数的窃取。实际上,通过使用预测结果可以大量减少标记成本并得到训练替代模型的数据集。基本流程为:1.生成对抗样本得到合成数据集。2.请求目标模型得到输出结果。3.根据模型输出标记对抗样本。4.使用合成数据集训练替代模型。

符号定义

目标网络$f_v(x)$的输入为$x$,输出 $[f_v^1(x),f_v^2(x)...]$,学习目标为在构造的数据集 $T={(x, f_v(x))}$上训练一个替代模型(网络)$f_s(x)$使得两者具由基本相同的功能。攻击者对于目标网络的结构$A$、参数$W$、训练集$D$没有任何先验的信息。

模型实现

数据集生成

基于边界的对抗性主动学习(Margin-based Adversarial AL):从未标记的样本中选择一组“有用的”样本。即从生成的未标记样本中选择预测置信度最低、预测不确定性最大的样本 $$\mathit{Q}_{multiclass}^{LC}:\mathbb{x}_s^* \in arg\min\limits_{x'\in D_u(x)}k(x',y,w)$$ 注意这里得到的样本太多,预测时需要大量的请求次数,因此采用进一步采样得到更小的数据集。

这里的采样方式包括:随机采样(Random Sample,RS)、投影梯度下降(Projected Gradient Descent)、Carlini & Wagner 攻击(Carlini and Wagner Attack,CW)、Feature Adversary(FA)、FeatureFool(FF, 本文提出的算法)。

在使用上述FF算法求解时使用L-BFGS算法进行优化求解并使用平均测量误差(Average Test Error,ATE)方法衡量数据集质量。其优化流程主要为:1.确定原图像和目标图像。2.原图像加扰动后加入特征提取网络。3.选择网络中指定特征层的输出得到显著图。4.比较显著图与目标图像的显著图并加以优化。

替代模型训练

  1. 随机选择一组初始化数据集,并使用上述各种算法得到一组小规模的对抗样本。这些样本可以很容易地使本地的替代模型得到错误的预测结果。
  2. 使用对抗样本请求预测并得到构造数据集。使用几种训练好的模型(AlexNet、VGG19、VGGFace、ResNet50)构建迁移学习框架,使用构造数据集训练并更新上述框架的最后几层全联接的参数。
  3. 重复使用本地模型构建对抗样本并请求预测,使用预测结果构建数据集进行训练的过程。最终得到性能足够逼近目标模型的替代模型。

结果

作者选择了三个平台的四种模型进行了攻击演示。经测试,使用文章设计实现的FF算法在多数目标平台上可以实现比较好的效果。而且与现存的三种模型提取攻击相比,具有更高的准确度和相同准确率下更少的请求次数,从而具有更少的学习成本。

使用现有的PRADA检测机制可以发现,文章实现的算法可以很好的逃避PRADA机制的检测,即相比其他的攻击方式,要想检测到本文实现的攻击需要更多的请求次数。文章推荐的检测方式为通过提取网络每一层的特征数据来区分恶意数据和合法数据的特征分布。

总结分析-局限性

攻击请求方式的改进:文章实现的方法中,通过对正常数据添加扰动构建攻击样本,造成了数据污染,从而降低了替代模型的预测准确率。

多标签任务的扩展:文章实现的方法仅能用于单标签的多分类任务,因此需要在数据生成和替代样本结构选择上更加注意。

其他学习领域的扩展:文章实现的方法仅能用于图像分类任务,因此在处理音频或文字时需要对模型做相应的调整。