设为首页 - 加入收藏 伊春站长网 (http://www.0458zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 英特尔 互联网创 技术 企业
当前位置: 首页 > 服务器 > 安全 > 正文

通过预测API窃取机器学习模型

发布时间:2018-05-19 13:34 所属栏目:[安全] 来源:站长网
导读:由于机器学习可能涉及到训练数据的隐私敏感信息、机器学习模型的商业价值及其安全中的应用,所以机器学习模型在一定程度上是可以认为是机密的。但是越来越对机器学习服务提供商将机器学习作为一种服务部署在云上。笔者认为:这样部署机器学习即服务是存在

由于机器学习可能涉及到训练数据的隐私敏感信息、机器学习模型的商业价值及其安全中的应用,所以机器学习模型在一定程度上是可以认为是机密的。但是越来越对机器学习服务提供商将机器学习作为一种服务部署在云上。笔者认为:这样部署机器学习即服务是存在安全隐患的,攻击者利用对模型的API可以窃取模型。

1.问题描述

由于机器学习可能涉及到训练数据的隐私敏感信息、机器学习模型的商业价值及其安全领域中的应用(垃圾邮件过滤、恶意软件检测、流量分析等),所以机器学习模型在一定程度上是可以认为是机密的。但是,机器学习模型不断地被部署,通过公共访问接口访问模型, 例如机器学习即服务( Machine Learning as a service, MLaaS):用户可以在MLaaS 平台利用隐私敏感数据训练机器学习模型,并且将访问接口发布给其他用户使用,同时收取一定的费用。针对机器学习模型机密性和其公共访问的矛盾上,笔者提出了机器学习模型提取攻击:攻击者在没有任何关于该模型的先验知识(训练数据,模型参数,模型类型等)情况下,只利用公共访问接口对该模型的黑盒访问,从而构造出和目标模型相似度非常高的模型。

通过预测API窃取机器学习模型1

通过预测API窃取机器学习模型2

2.攻击模型

当用户在MLaaS平台上训练了自己的机器学习模型,并发布该模型给其他用户使用,并利用其他用户每次对模型的访问收取一定的费用,赚回自己在训练模型和标定数据投入时的成本。如果利用API访问目标模型的是攻击者,该攻击者利用对目标模型的尽量少地访问,试图在本地构造一个与目标模型相近甚至一致的模型。

笔者认为攻击可能出于以下目的窃取目标模型:

1. 想免费使用模型:模型训练者将模型托管在云上,通过提供API的方式来提供对模型的访问,通过对每次调用 API 的方式来收费,恶意的用户将企图偷取这个模型免费使用。这将破坏MLaaS的商业化模式,同时很可能存在这种情况:攻击者窃取模型所花的费用是低于模型训练者标定训练集和训练模型的成本。

2. 破坏训练数据隐私性:模型提取攻击会泄露训练数据的隐私,越来越多的研究工作表明:利用对模型的多次访问可以推断出训练数据信息,因为模型本身就是由训练数据所得到的,分析所提取到的模型,必然可以推断训练数据。具体可以参考这篇文章:Membership Inference Attacks against Machine Learning Models?.

3.绕过安全检测:在越来越多的场景中,机器学习模型用于检测恶意行为,例如垃圾邮件过滤,恶意软件检测,网络异常检测。攻击者在提取到目标模型后,可以根据相关知识,构造相应的对抗样本,以绕过安全检测。参考文章:Evading Classifiers by Morphing in the Dark

通过预测API窃取机器学习模型3

图2?模型提取攻击场景

3.模型提取攻击

笔者首先将引入针对输入返回置信度输出的场景,然后利用二分类让大家明白如何实现解方程攻击,进而讲解多分类场景中的方程求解攻击。由于决策树算法的置信度计算和逻辑回归(LR)、支持向量机(SVM)、神经网络(NN)算法不同,笔者还将讲解如何提取决策树模型。同时还进一步讨论当预测API隐藏置信度,只输出分类标签场景下的模型提取攻击。

3.1方程求解攻击

方程求解攻击针对逻辑回归(LR)、支持向量机(SVM)、神经网络(NN)算法,因为这些算法的模型不同于树形模型,这些模型都是函数映射,输出的置信度是函数的直接输出,模型的输入是函数的输入,该函数由一些列参数组成。也就是说,由置信度和输入数据可以构造方程,求解函数的参数就可以得到与目标相近的模型。

3.1.1二分类

笔者先从一个简单的场景引入,不考虑多项回归。假设受害者用户利用MLaaS的LR算法在其平台上训练了一个人脸识别模型,然后受害者想通过把模型发布给其他用户使用,并赚取一定的利润,然后受害者给很多用户发布其模型访问API,这些用户中有些人想通过对该模型的访问提取该二分类模型。? ??

通过预测API窃取机器学习模型4

于是该攻击者通过API访问模型,其返回是置信度信息。我们都知道模型只是由一系列参数决定。求解参数就可以实现模型提取。?

通过预测API窃取机器学习模型5

在二分类中输出的置信度就是该函数的映射输出f(x),函数的参数是W,b其中W是一个n维向量,b是偏置。这些图象是92*112的灰度图,也就是特征维数为10304维。对sigmod函数求反函数就可以看出这是包含n+1个参数的函数,而且这些函数是线性函数。在特征空间足够大的,且攻击者随机访问的场景下,攻击者只需要随机访问模型n+1次,便可得到n+1个线性的方程组,求解这n+1个参数,便可得到目标模型。

image.png

3.1.2 多分类

假设多分类要完成对c个类别分类,置信度则是输入在每个类别的概率分布,输出的置信度是n维向量。?

通过预测API窃取机器学习模型7

?

则其输出的置信度公式是:

通过预测API窃取机器学习模型5

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章