Stealing Machine Learning Models via Prediction APIs
摘要:
机器学习(ML)模型可能因其敏感的训练数据、商业价值或在安全应用中的应用而被视为机密。越来越多的情况是,机器学习(ML)模型使用公开可访问的查询接口部署。机器学习即服务系统就是一个例子:这些系统允许用户使用潜在敏感数据对模型进行训练,并向其他用户收取按查询付费的访问费用。
模型机密性和公共访问之间的紧张关系激发了人们对模型窃取攻击的研究。在这种攻击中,一个拥有黑箱访问权限但却不知道机器学习模型的参数或训练数据等先验知识的对手,旨在复制(即“窃取”)模型的功能。与经典学习理论设置不同,机器学习即服务提供可以接受部分特征向量作为输入,并包含预测的置信度值。基于这些实践,我们展示了简单、有效的攻击方法,可以对流行的模型类(包括逻辑回归、神经网络和决策树)提取具有近乎完美保真度的目标机器学习模型。我们演示了这些针对BigML和Amazon机器学习在线服务的攻击。我们进一步表明,从模型输出中忽略置信度值的自然对策仍然存在遭受潜在的有害的模型提取攻击的可能。我们的结果强调了谨慎的ML模型部署和新的模型提取对策的必要性。
1 Introduction
在本文中,我们探讨了模型窃取攻击,它利用了机器学习模型中公共查询与机密性之间的张力。我们考虑一个可以查询机器学习模型以获得模型对输入特征向量的预测的攻击者。这个模型可以被看做一个黑盒模型。攻击者可能知道也可能不知道模型类型(逻辑回归、决策树等)或模型数据数据的分布情况。攻击者的目的是窃取等价或近似等价的机器学习模型。
我们验证了针对各种机器学习模型类型(包括决策树、逻辑回归、支持向量机和深度神经网络)的成功的模型窃取攻击。在某些情况下,我们的攻击可以窃取到莫表模型的精确参数(例如,线性分类器的系数或决策树的路径)。对于一些使用攻击者未知的模型类型、参数或特征的目标,我们还展示了一个成功的初步攻击步骤,包括对这些模型特征进行反向工程。
我们的最成功的攻击依赖于我们调研的所有基于云服务的机器学习及服务平台所返回的丰富信息输出。Google、Amazon、Microsoft和BigML返回的类标签都包含高精度置信度值。他们还可以响应缺乏一个或多个特征的部分查询。
我们通过在一系列适合作为专有数据的公共数据集上训练模型来实验性地评估我们的攻击。我们使用标准的机器学习库在本地验证了这些攻击,然后给出了在机器学习即服务平台(如BigMl和Amazon)的案例研究。对于这两个机器学习即服务平台,我们展示了使用少量查询提取与100%测试输入的目标模型匹配的模型的计算快速攻击,其结果如下表:
在展示了模型窃取攻击对现有服务的广泛适用性之后,我们考虑了机器学习服务可能采用的最明显的潜在对抗策略:忽略置信值,即只输出类标签。
总之,我们探索了模型窃取攻击方法,这是一种实用的学习任务:
(1) 简单的方程求解模型窃取攻击方法:使用非自适应、随机查询来求解目标模型的参数。这些攻击会影响那些输出置信值的各种机器学习模型。
(2) 一种用于窃取决策树模型的新的寻径算法
(3) 针对只输出类别标签的模