掌桥专利:专业的专利平台
掌桥专利
首页

防止模型参数窃取的方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 13:46:35


防止模型参数窃取的方法、装置、计算机设备及存储介质

技术领域

本发明涉及人工智能和网络安全技术领域,尤其涉及智能模型或系统在对外提供网络服务过程中防止模型参数窃取的方法、装置、计算机设备及存储介质。

背景技术

随着以深度神经网络为代表的深度学习迅猛发展,人工智能技术已经广泛应用于语音识别、自然语言处理(NLP)、图像识别、自动驾驶等领域。各大人工智能厂商推出了“机器学习即服务”(machine learning-as-a-service,MLaaS)的新业务模式,将复杂的机器学习模型远程托管在云平台上,向客户提供程序编程接口(API)用于使用智能模型的识别、翻译、分类、预测等功能,用户按查询次数付费的方式向智能模型提供商付费。机器学习即服务的方式可以为中小型公司、个人提供灵活、便捷、经济的智能化服务。

最近的研究表明,机器学习即服务容易遭受到模型窃取攻击。攻击者在苛刻的限制条件下:只有对模型的黑盒查询访问权限,即攻击者可以使用任何输入查询模型并观察输出概率;攻击者拥有的数据有限,且无法访问大量代表目标模型训练数据。攻击者仍然有可能进行模型窃取攻击并训练一个克隆模型,该模型的分类准确度可以非常接近目标模型的准确度。由于研发功能强大的智能模型需要花费大量的时间、金钱和人力,智能模型是机器学习即服务提供商重要的知识产权。被盗模型可用于生成对抗样本用于欺骗模型的分类,为安全关键应用程序(如恶意软件检测)、身份认证等提供漏洞,还有可能泄露有关用于训练模型的数据信息,导致数据隐私泄露问题。因此,在保障正常用户使用的前提下,大幅降低模型窃取的风险,高效的模型防窃取技术对于机器学习即服务提供商尤为重要。

然而,目前已有的模型防窃取方法存在以下缺点:1)输出混淆方法,容易导致模型精度降低,影响正常用户的使用体验;2)用户访问行为监控,容易产生大量误报,计算复杂度较高。

发明内容

本发明主要针对机器学习即服务的模型防窃取问题提出解决方案,具体针对以下几个方面的问题:

1)如何最大限度的控制模型信息泄漏问题,限制攻击者窃取模型的效能,阻断模型窃取攻击,即使发生了模型窃取,也需确保窃取模型的准确性很差;

2)如何平衡安全性与准确率,在模型安全性的基础上,还需确保正常用户的使用不受到影响,保障正常请求模型的准确性。

3)如何降低防窃取方法的计算开销,减小攻击检测引起的系统时延,不影响机器学习即服务的业务系统。

模型防窃取的目标是降低攻击者建立的被盗模型的准确性,同时还需要确保对正常客户端的高分类准确性,以保证机器学习模型的功能可用,增加攻击者窃取模型的成本,从而阻止攻击者进行攻击。本发明提出的技术方案借鉴了网络空间安全蜜罐的思路,构建一系列的蜜罐模型,误导攻击者窃取蜜罐模型的参数。

本发明采用的技术方案如下:

一种防止模型参数窃取的方法,包括以下步骤:

S1.训练多个不同精度的蜜罐模型库:构建蜜罐模型集合,将训练集划分为多份并按序取出每份训练数据,多轮训练蜜罐模型集合的所有蜜罐模型,每一轮用测试集测试蜜罐模型的准确率,若蜜罐模型的准确率大于设定的阈值,则终止下一轮的训练;多轮迭代训练后,生成不同准确率等级的蜜罐模型;

S2.判断请求是否为攻击者发起:根据用户的访问频次以及查询样本的分布情况,计算每次请求的攻击概率,判断请求是否为攻击行为;

S3.诱导攻击者访问蜜罐模型:将不同攻击概率的请求诱导到相应精度的蜜罐模型。

进一步的,步骤S1包括以下子步骤:

S101.假定受保护的模型为f,模型的训练集为S,模型的测试集为T,模型的输出为y=f(x),模型f在测试集T的准确率为p;

S102.将训练集S随机划分为k份,每份的大小为固定值,那么S={s

S103.构建n个网络结构相同的蜜罐模型集合F={f

S104.从划分的训练集S中按序取出每份训练数据,多轮训练蜜罐模型集合F的所有蜜罐模型,每一轮用测试集T测试蜜罐模型的准确率,若蜜罐模型f

S105.将训练完成的蜜罐模型集合F={f

进一步的,步骤S2包括以下子步骤:

S201.从访问日志数据库中提取当前请求用户的访问信息;

S202.计算每个新样本x

S203.根据皮罗-威尔克正态分布检验公式

S204.综合用户的访问频次以及查询样本的分布,计算请求为正常用户的概率值

S205.用户请求服务接口每间隔100次执行步骤S201~步骤S204。

进一步的,步骤S201中,提取的当前请求用户的访问信息包括:预设时间间隔内用户访问的次数以及用户上传的历史样本。

进一步的,步骤S3包括以下子步骤:

S301.根据蜜罐模型的数量设定不同的诱导攻击阈值τ={τ

S302.判断访问请求是正常用户还是恶意攻击,若p

S303.若τ

一种防止模型参数窃取的装置,基于上述防止模型参数窃取的方法,至少包括:

防火墙,用于过滤掉无效或者未授权的访问,所述访问包括终端用户通过机器学习服务提供商提供的API接口上传的目标数据;

攻击检测器,用于判别所述访问是否为攻击请求,并引导正常用户访问到受保护的模型,而攻击者访问到蜜罐模型。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述防止模型参数窃取的方法的步骤。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述防止模型参数窃取的方法的步骤。

本发明根据模型窃取攻击的特征,基于接口请求的频次、请求样本的分布计算可能发生的攻击请求概率,并基于提前布置的蜜罐模型,诱导攻击者访问蜜罐模型,大大增强了模型的安全性和业务的鲁棒性,相比现有方案主要具备以下有益效果和优点:

1.采用访问频次、请求样本的分布综合计算攻击发生的概率,大大提升了判定攻击的准确性,降低了攻击检测的误报;

2.采用每100次请求轮询计算样本分布检验,无需计算单个样本的分布检验,减小了防窃取方法的计算开销,降低了攻击检测引起的系统时延;

3.采用可定期周期性更新的蜜罐模型,可以在不干扰正常业务的情况下,控制模型信息泄漏问题,减少了模型窃取攻击的可能。

附图说明

图1是本发明实施例1的防止模型参数窃取的方法流程图;

图2是本发明实施例2的防止模型参数窃取的装置示意图;

图3是本发明实施例2的攻击检测器功能示意图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现说明本发明的具体实施方式。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

如图1所示,本实施例提供了一种防止模型参数窃取的方法,该方法基于网络空间安全蜜罐的思路,构建一系列的蜜罐模型,误导攻击者窃取蜜罐模型的参数,该方法包括以下步骤:

S1.训练多个不同精度的蜜罐模型库:构建蜜罐模型集合,将训练集划分为多份并按序取出每份训练数据,多轮训练蜜罐模型集合的所有蜜罐模型,每一轮用测试集测试蜜罐模型的准确率,若蜜罐模型的准确率大于设定的阈值,则终止下一轮的训练;多轮迭代训练后,生成不同准确率等级的蜜罐模型;

S2.判断请求是否为攻击者发起:根据用户的访问频次以及查询样本的分布情况,计算每次请求的攻击概率,判断请求是否为攻击行为;

S3.诱导攻击者访问蜜罐模型:将不同攻击概率的请求诱导到相应精度的蜜罐模型。

在机器学习即服务过程中,如果攻击者通过大量的请求返回结果,则攻击者可采用训练替代模型的方法窃取模型的参数。本实施例通过预置蜜罐模型库,诱导攻击者的替代模型窃取攻击蜜罐模型,从而保护真实的模型参数。同时,由于存在精度从低到高的蜜罐模型,攻击者难以判别窃取的模型参数是否属于真实的模型。

优选的,本实施例的蜜罐模型的生成方法如下:

S101.假定受保护的模型为f,模型的训练集为S,模型的测试集为T,模型的输出为y=f(x),模型f在测试集T的准确率为p;

S102.将训练集S随机划分为k份,每份的大小为固定值,例如:1000,那么S={s

S103.构建n个网络结构相同的蜜罐模型集合F={f

S104.从划分的训练集S中按序取出每份训练数据,多轮训练蜜罐模型集合F的所有蜜罐模型,每一轮用测试集T测试蜜罐模型的准确率,若蜜罐模型f

S105.将训练完成的蜜罐模型集合F={f

攻击者通过大量的请求返回结果,训练替代模型的方法窃取模型的参数。已有的研究表明正常用户的请求样本,通常是满足某种分布(例如:正态分布的)。而攻击者为了高效的实施模型窃取攻击,减小请求接口的次数,通常会采用样本生成方法构造特殊的查询样本,而这些构造样本通常不满足正态分布。

因此,本实施例根据用户的访问频次以及查询样本的分布情况,计算每次请求的可能的攻击概率,判断请求是否为攻击行为,具体包括以下步骤:

S201.从访问日志数据库中提取当前请求用户的访问信息;具体的,提取的当前请求用户的访问信息包括:预设时间间隔内(可设置为10分钟)用户访问的次数以及用户上传的历史样本;

S202.计算每个新样本x

S203.根据皮罗-威尔克正态分布检验公式

S204.综合用户的访问频次以及查询样本的分布,计算请求为正常用户的概率值

S205.用户请求服务接口每间隔100次执行步骤S201~步骤S204。

预置的蜜罐模型库可以诱导攻击者的窃取蜜罐模型,由于存在精度从低到高的可动态调整的蜜罐模型集合,攻击者难以判别是否为蜜罐模型。优选的,将不同攻击概率的请求诱导到相应精度的蜜罐模型包括以下子步骤:

S301.根据蜜罐模型的数量设定不同的诱导攻击阈值τ={τ

S302.判断访问请求是正常用户还是恶意攻击,若p

S303.若τ

由于引入了蜜罐模型集合,当集合足够大时,攻击者的请求将会映射到多个蜜罐模型,使得攻击者无法准确窃取模型的参数,同时蜜罐模型还可以定期周期性的更新重新训练。这样可以在不干扰正常业务的情况下,大大减少了模型窃取攻击的效能。

需要说明的是,对于本实施例,为了简便描述,故将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

实施例2

本实施例在实施例1的基础上:

本实施例提供了一种防止模型参数窃取的装置,如图2所示,主要由防火墙、交换机、攻击检测器、蜜罐模型库、受保护的模型、日志数据库七个部分构成,他们通过组网接入到机器学习即服务网络构成完整的防窃取的MLaaS系统。本实施例实现的工作原理与具体的部署方式无关,现采用图2给出的一种防止模型参数窃取的装置示意图说明工作原理。

如图2所示,终端用户通过机器学习即服务的提供商提供的API接口上传目标数据,通过防火墙规则过滤掉无效或者未授权的访问;如图3所示,通过攻击检测器判别是否为攻击请求,并最终引导正常用户访问到受保护的模型,而攻击者访问到蜜罐模型。

实施例3

本实施例在实施例1的基础上:

本实施例提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现实施例1的防止模型参数窃取的方法的步骤。其中,计算机程序可以为源代码形式、对象代码形式、可执行文件或者某些中间形式等。

实施例4

本实施例在实施例1的基础上:

本实施例提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现实施例1的防止模型参数窃取的方法的步骤。其中,计算机程序可以为源代码形式、对象代码形式、可执行文件或者某些中间形式等。存储介质包括:能够携带计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM)、随机存取存储器(RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,存储介质不包括电载波信号和电信信号。

技术分类

06120113807647