加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

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

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

其未知参数有c(n+1)(每个类别存在n+1个未知数),当然这个函数是非线性函数,也就是说,通过多次访问构建的方程组是非线性方程组,而且每个方程都是超越方程。关于这种方程组的求解可以利用梯度下降方法实现,构造一个损失函数为凸函数,转化为凸优化问题求解,求解全局最优解也就是该模型的参数。

3.2 决策树提取攻击

决策树的置信度是在给定训练数据集,就已经确定了,每个叶子节点都有其对应的置信度值,笔者在此假设每个叶子节点都有不同的置信度值,也就说可以通过置信度标定不同的叶子节点:利用置信度作为决策树叶子节点的伪标识。同时很多MLaaS提供商做为了提升API访问的可访问性,MLaaS提供商的做法是即使输入的数据使部分特征依然可以得到输出结果。

image.png

图5 决策树示例

例如针对上述决策树:仅输入Color = Y,依然可以得到id6的置信度输出。不断在特征空间遍历, 便可以得到和置信度对应的叶子节点。例如我现在得到了id2的伪标识,通过只改其中的Color特征为B即可找到id3叶子节点。

主要基于两点假设前提:

1.设每个叶子节点都有不同的置信度值; 

2.为了提升API访问的可访问性,MLaaS提供商的做法是即使输入的数据使部分特征依然可以得到输出结果。

3.3 对于不考虑置信度的模型提取攻击

笔者认为:隐藏置信度的输出仍然不能解决所存在的模型提取攻击:

1) 首先随机确定访问数据,对目标模型进行访问,并得到预测结果,

2) 利用这些数据集训练在本地训练机器学习模型

3) 找到离所训练机器学习模型分类边界很近的数据点,然后将这些数据对目标模型访问

4) 利用输入数据集和访问结果更新重训练模型,重复3 过程直到模型误差低于一定的值。

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

具体细节可以阅读我的GitHub代码。

4.总结

MLaaS提供商所提供的灵活的预测API可能被攻击者用于模型提取攻击,这种商业化模式在笔者的角度是不安全的,本文提出了三种机器模型提取攻击方法,同时表明即使不输出置信度,只输出类标签,通过自适应地访问数据集的方法,模型提取攻击依然可行。MLaaS的部署应该谨慎考虑,同时MLaaS的安全部署有待进一步研究。

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!