CN110889117A - 一种模型攻击的防御方法及装置 - Google Patents
一种模型攻击的防御方法及装置 Download PDFInfo
- Publication number
- CN110889117A CN110889117A CN201911193975.XA CN201911193975A CN110889117A CN 110889117 A CN110889117 A CN 110889117A CN 201911193975 A CN201911193975 A CN 201911193975A CN 110889117 A CN110889117 A CN 110889117A
- Authority
- CN
- China
- Prior art keywords
- sub
- model
- calling
- prediction result
- call
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Virology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本说明书提供一种模型攻击的防御方法及装置。所述方法包括:当集成模型被调用时,获取所述集成模型中各个子模型输出的子预测结果;判断所述调用是否符合攻击调用;若所述调用符合攻击调用,则采用预设的防御输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。上述方案可有效防御成员推测攻击、对抗样本攻击等模型攻击,避免用户隐私泄露,保护用户个人数据的安全。
Description
技术领域
本说明书涉及人工智能领域,尤其涉及一种模型攻击的防御方法及装置。
背景技术
随着人工智能技术的不断发展,机器学习即服务(Machine Learning as aService,MLaaS)已广泛应用于互联网公司的云平台服务中,例如Google的预测API、亚马逊机器学习(AmazonML)、MicrosoftAzure机器学习(Azure ML)等等。
MLaaS依赖于机器学习模型为用户提供服务,随着机器学习模型的不断发展与完善,针对模型的攻击也越来越多,例如:成员推测攻击、对抗攻击等,这些攻击会对机器学习模型的安全性造成巨大威胁。
以成员推测攻击为例,攻击者会利用模型在训练集和测试集上表现的差异,推测模型的训练集,即推测模型在训练过程中是否使用了某个特定的样本。例如,某公司线上部署了一个训练好的模型,攻击者可以通过成员推测攻击,推测模型的训练集,进而根据推测得到的训练集进一步推测模型的结构、模型参数等数据,威胁了模型的安全。当模型的样本涉及用户的隐私数据时,攻击者还能利用推测得到的训练集样本,推测用户的隐私,导致用户的个人数据泄露。
发明内容
有鉴于此,本说明书提供一种模型攻击的防御方法和装置。
具体地,本说明书是通过如下技术方案实现的:
一种模型攻击的防御方法,包括:
当集成模型被调用时,获取所述集成模型中各个子模型输出的子预测结果;
判断所述调用是否符合攻击调用;
若所述调用符合攻击调用,则采用预设的防御输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
一种模型攻击的防御装置,包括:
获取模块,当集成模型被调用时,获取所述集成模型中各个子模型输出的子预测结果;
判断模块,判断所述调用是否符合攻击调用;
防御输出模块,若所述调用符合攻击调用,则采用预设的防御输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
本说明书的一个实施例实现了当集成模型被调用时,可以获取集成模型内的各个子模型输出的子预测结果,判断该调用是否符合攻击调用,若符合,则采用预设的防御输出策略,从各个子预测结果中选择置信度较低的预测结果作为集成模型的预测结果并输出。
通过上述方法,攻击者获取到的输出结果为置信度较低的预测结果。对于成员推测攻击,可降低攻击者基于预测结果推测出模型的训练集的概率,达到防御成员推测攻击的效果。对于对抗攻击,可降低攻击者基于预测结果构建出对抗样本的概率,达到防御对抗攻击的效果。对于模型的样本涉及用户隐私的情况,还能防止用户个人信息泄露。
附图说明
图1是本说明书一示例性实施例示出的一种模型攻击的防御方法的流程示意图;
图2是本说明书另一示例性实施例示出的一种模型攻击的防御方法流程示意图;
图3是本说明书另一示例性实施例示出的一种模型攻击的防御方法流程示意图;
图4是本说明书另一示例性实施例示出的一种用于模型攻击的防御装置的一结构示意图;
图5是本说明书一示例性实施例示出的一种模型攻击的防御装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
机器学习即服务(Machine Learning as a Service,MLaaS)又称基于云的机器学习平台,现已广泛应用于互联网公司的云平台服务中,例如Google的预测API、亚马逊机器学习(AmazonML)、MicrosoftAzure机器学习(Azure ML)等等。MLaaS可以为用户提供人脸识别、自然语言处理、数据可视化等一系列服务,这些服务的实现一般依靠诸如深度神经网络、卷积神经网络、贝叶斯网络等建立的机器学习模型。
随着机器学习模型的不断发展与完善,针对机器学习模型的攻击也越来越多,这些攻击对机器学习模型的安全性带来了巨大的威胁。目前,常见的针对机器学习模型的攻击为成员推测攻击和对抗攻击。
成员推测攻击:
机器学习在训练模型过程中通常会将样本分为两部分,一部分样本为训练集,另一部分样本为测试集。训练集用于训练模型,而测试集用于测试训练后的模型。训练集的样本数量越多,模型的学习效果就越好;测试集的样本越多,则评估模型的信息就越充足。由于模型是由训练集训练得到的,当训练集的样本数量较少时,模型无法获取到足够的特征,此时利用测试集的样本对模型进行测试时很可能输出错误的预测结果。上述模型在训练集上表现良好,而在测试集上表现较差的现象,便是模型过拟合。
模型过拟合是一种普遍存在的现象,目前,即便是泛化能力较好的模型,也会在训练集和测试集上存在一定程度的差别。在这种情况下,成员推测攻击便产生了。成员推测攻击指的是:攻击者利用模型在训练集和测试集上表现的差异,推测模型的训练集,即推测模型在训练过程中是否使用了某个特定的样本。
一方面,成员推测攻击对模型自身的安全性造成威胁。例如,某公司线上部署了一个训练好的模型,攻击者可以通过成员推测攻击,调用线上的模型,利用获取的模型输出结果推测模型的训练集,进一步推测模型的结构、模型参数等数据,然后在本地重建一个性能、结构类似的模型,相当于盗取了该公司的私有财产。
另一方面,在一些敏感领域,成员推测攻击可能导致用户的隐私泄露。例如,在医疗图像模型中,攻击者会将某用户的医疗图像输入模型,通过模型返回的结果,推测模型是否使用了该用户的医疗图像进行训练,若是,则攻击者可以推测出该用户曾在为模型提供样本的医院进行治疗,造成用户的隐私泄露。
对抗攻击:
对抗攻击指的是通过对样本增加细微的干扰得到对抗样本,并将所述对抗样本输入机器学习模型。人眼无法识别出这种的细微干扰,而机器学习模型却能敏锐地识别到,并输出一个错误的预测结果。
对抗攻击主要在集中在构建对抗样本阶段,攻击者可通过模型输出的预测值和置信度,更新正在构建的对抗样本,最终得到能够使模型预测错误的对抗样本。
本说明书提供了一种模型攻击的防御方法及装置。
图1是本说明书一示例性实施例示出的一种模型攻击的防御方法的流程示意图。
所述模型攻击的防御方法可以应用于具有处理器、存储器的电子设备中,例如服务器或服务器集群等,本说明书对此不作特殊限制。
请参考图1,所述模型攻击的防御方法可以包括以下步骤:
步骤101,当集成模型被调用时,获取所述集成模型中各个子模型输出的子预测结果。
在本说明书中,集成模型包括多个子模型,这些子模型的结构可以不同,但实现的功能相同,这些子模型可以通过单独训练得到。
在一个图像识别的例子中,集成模型中可以包括三个子模型,这三个子模型的网络结构分别为Inception、ResNet、DenseNet。
在另一个自然语言处理的例子中,集成模型可以包括个四子模型,分别为N-gram语言模型、CNN模型、LSTM模型、CNN-LSTM模型。
本说明书对集成模型中子模型的数量、结构并不限制,各个子模型能针对模型调用方输入的数据实现同样的预测功能即可。
在本说明书中,所述集成模型可以是企业部署在云平台上对外提供预测服务的机器学习模型,集成模型可对外提供API(Application Programming Interface,应用程序接口)接口。用户(后续称之为调用方)可通过对应的API接口实现对集成模型的调用。
调用方可通过API接口调用所需的集成模型,将输入数据分别输入到集成模型中,集成模型中的各个子模型可输出对应的子预测结果。
在一个例子中,当监听到集成模型被调用时,可获取各个子模型输出的对应该调用的子预测结果。
在另一个例子中,当监听到集成模型被调用时,还可以拦截该调用请求,然后将调用请求中的输入数据输入到集成模型的各个子模型中,并获取各个子模型输出的子预测结果。
步骤102,判断所述调用是否符合攻击调用。
一般而言,攻击者在进行模型攻击时,会频繁调用模型,在本说明书中可根据调用的频繁程度来判断是否发生模型攻击。
在一个例子中,可以判断调用方的调用频率是否达到频率阈值,若达到所述频率阈值,则确定所述调用符合攻击调用。
调用方在调用模型时会发起调用请求,调用请求中可以包括调用方标识,该标识可以用来指明调用方的身份。调用方标识可以为调用方的名称、ID、IP地址等等。
在获取到调用方标识后,可基于调用方标识获取调用方的历史调用信息,所述历史调用信息可包括:调用方在若干历史统计周期内的调用频率。
基于调用方的历史调用信息,可以确定调用方的频率阈值。
在一个例子中,可将调用方在某个历史时间段内的平均调用频率作为频率阈值。
例如,统计发现某调用方在最近一个月内的平均调用频率为500次/天,可将500次/天作为该调用方的频率阈值。
在另一个例子中,考虑到误差的存在,还可以对上述平均调用频率乘以误差系数k得到计算后的调用频率,并将计算后的调用频率作为频率阈值。误差系数可以根据实际情况进行设置。
仍以上述例子说明:可将500次/天乘以预设的误差系数1.2,得到600次/天,将600次/天作为该调用方的频率阈值。
在另一个例子中,还可以根据调用方的历史调用信息对调用方的调用频率进行预测,将预测值作为频率阈值。
例如,将某调用方最近7天内每天的调用频率建立逻辑回归模型,根据模型预测该调用方第8天的调用频率,将此第8天的调用频率作为频率阈值。同样地,考虑到误差的存在,还可以将预测得到的调用频率乘以误差系数,以得到最终的频率阈值。
在其它例子中,还可根据调用方的公司规模、业务需求,为不同的调用方人工设置不同的频率阈值。在某些场景下,若无法确定该调用方的频率阈值,则还可以参考与该调用方规模相似、需求接近的调用方的频率阈值进行设置。
在另一个例子中,还可以判断调用方在当前统计周期内的调用次数是否达到次数阈值,若达到所述次数阈值,则符合攻击调用。对于次数阈值的确定方法,与上述频率阈值的确定方法基本一致,在此不再赘述。
值得说明的是,考虑到在不同时期,调用方对模型的调用次数可能会存在较大差异。例如,在节假日期间,用户调用人脸识别模型进行线上购买火车票的次数可能会比工作日多,因此可针对实际情况在不同时期预设不同的误差系数,以确定更符合实际情况的次数阈值/频率阈值。
本说明书中,步骤102可以在步骤101之后,也可以在步骤101之前。
在一个例子中,步骤102在步骤101之后:
模型调用方调用集成模型并输入数据,所述数据可以直接输入集成模型中的各个子模型,各个子模型则相应地输出子预测结果。获取了各个子模型的子预测结果后,判断该调用是否符合攻击调用,进而选择不同的输出策略。
在另一个例子中,步骤102在步骤101之前:
监听调用方的调用请求,并根据调用请求先判断该调用是否符合攻击调用,判断完成后,将调用方的输入数据输入集成模型,获取集成模型中各个子模型的子预测结果,并执行相应的输出策略。
在其它例子中,步骤101与步骤102还可以并行操作。
例如,集成模型被调用时,一方面将输入数据输入到集成模型中的各个子模型,另一方面,还可以判断所述调用是否符合攻击调用。换言之,判断所述调用是否符合攻击调用的步骤不依赖于子模型是否输出子预测结果,将输入数据输入集成模型也可以不依赖于是否完成攻击调用的判断。
步骤103,若所述调用符合攻击调用,则采用预设的防御输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
当调用符合攻击调用时,认为当前调用为模型攻击的概率较高,可采用预设的防御输出策略。
本说明书中,集成模型中各个子模型输出其各自的子预测结果,每个子预测结果可以包括预测值和该预测值对应的置信度。由于各个子模型的结构并不相同,因此其输出的预测值和置信度也可能并不相同。
在一个例子中,防御输出策略可以为:将各个子预测结果中置信度最低的子预测结果作为所述集成模型的预测结果并输出。
在另一个例子中,防御输出策略还可以为:将各个子预测结果按照置信度从低到高排序,选择前N个预测结果,对其取平均后得到平均预测结果,并将该平均预测结果作为集成模型的预测结果并输出。N的数值可根据实际情况进行调整。
在其它例子中,还可以选取其它的防御输出策略,本说明书对此不作特殊限制。
由以上描述可以看出,在本说明书的一个实施例中,可以利用调用方的调用频率/调用次数是否达到阈值,判断调用是否符合攻击调用,若符合攻击调用,则采用防御输出策略,使集成模型输出各个子模型中置信度相对较低的预测结果。
对于成员推测攻击,由于攻击者获取到的输出的预测结果置信度较低,可干扰攻击者的判断,能够降低攻击者推测出模型的训练样本的概率,从而防御成员推测攻击。
对于对抗攻击,攻击者在构建对抗样本时,置信度较低的预测结果可阻碍对抗样本的更新,使攻击者无法构建对抗样本,达到了防御对抗样本攻击的效果。
图2是本说明书一示例性实施例示出的另一种模型攻击的防御方法的流程示意图。
所述模型攻击的防御方法可以应用于具有处理器、存储器的电子设备中,例如服务器或服务器集群等,本说明书对此不作特殊限制。
请参考图2,所述模型攻击的防御方法可以包括以下步骤:
步骤201,当集成模型被调用时,获取所述集成模型中各个子模型输出的子预测结果。
步骤202,判断所述调用是否符合攻击调用。
上述步骤201、步骤202的具体内容请参见步骤101、步骤102,在此不再赘述。
步骤203,若所述调用不符合攻击调用,则采用预设的缺省输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
当调用不符合攻击调用时,认为其为模型攻击的概率较低,因此采用预设的缺省输出策略。
在一个例子中,预设的缺省输出策略可以为加权平均输出策略,即对所述子预测结果进行加权平均计算,以得到所述集成模型的预测结果并输出。例如,当集成模型为回归模型时,可选择加权平均输出策略,作为预设的缺省输出策略。
在另一实施例中,预设的缺省输出策略还可以为最频项输出策略,即当所述子预测结果中存在多个相同预测值的子预测结果时,将出现次数最多的子预测结果作为所述集成模型的预测结果并输出。
在另一个例子中,预设的缺省输出策略还可以为最优值输出策略,即将所述子预测结果中置信度最高的子预测结果作为所述集成模型的预测结果并输出。例如,当集成模型为分类模型时,可选择最优值输出策略,作为预设的缺省输出策略。
本说明书中的缺省输出策略,包括但不限于上述三种输出策略。
由以上描述可以看出,在本说明书的另一个实施例中,可以利用调用方的调用频率/调用次数是否达到阈值,判断调用是否符合攻击调用,若不符合攻击调用,则采用预设的缺省输出策略输出集成模型的预测结果,不影响集成模型的正常使用,还可以为模型调用方提供置信度相对较高的预测结果,提高了调用方的使用体验。
下面结合一个具体的实施例对本说明书模型攻击的防御方法进行说明。
参见图3,图3为本说明书另一示例性实施例示出的一种模型攻击的防御方法流程图。
本实施例中,所述模型攻击的防御方法可以应用于具有处理器、存储器的服务器中。集成模型为回归模型,用于图像识别领域,集成模型中共有三个子模型,其网络结构分别为:Inception、ResNet、DenseNet。
所述模型攻击的防御方法可以包括以下步骤:
步骤301,获取调用方的调用请求。
监听调用方的调用请求,调用请求中包含了调用方的名称。例如,监听到两个调用方的调用请求,一调用方的名称为A,另一调用方的名称为B。
步骤302,判断所述调用方在当前统计周期内的调用次数是否超过次数阈值。
根据调用方的名称,获取调用方的调用次数。
例如,针对调用方A,根据调用方A的历史调用次数,该调用请求为调用方A在最近一天内针对本实施例中的集成模型的第201次调用,而预设的调用方A在当前周期内,每天的调用次数阈值为200次,可知调用方A的调用次数超过阈值,则认为调用方A可能正在进行攻击,则执行步骤303。
调用方A调用次数阈值可根据调用方A在最近7天内的每天平均调用次数确定。
例如,针对调用方B,若发现该请求为调用方B在最近一天内针对本实施例中的集成模型的第105次调用,调用方B在当前统计周期内的次数阈值为300次,则未超过次数阈值,认为调用方B未进行攻击,则执行步骤204。
步骤303,确定采用预设的防御输出策略。
本实施例中,防御输出策略为,将3个子模型得到的3个子预测结果中,置信度最低的子预测结果作为集成模型的预测结果并输出。
步骤304,确定采用预设的最优值输出策略。
本实施例中,最优值输出策略为,将3个子模型得到的3个子预测结果中,置信度最高的子预测结果作为集成模型的预测结果并输出。
步骤305a,将所述输入数据输入Inception子模型。
步骤305b,将所述输入数据输入ResNet子模型。
步骤305c,将所述输入数据输入DenseNet子模型。
将调用方A、调用方B的输入数据,分别输入集成模型中的各个子模型。
步骤306,获取所述集成模型中3子模型输出的3个子预测结果。
步骤307,根据采用的防御输出策略/最优值输出策略,基于各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
本实施例中,可以将3个子模型的子预测结果按照置信度高低进行排序。
对于调用方A,由于采用的是防御输出策略,选择置信度最低的子预测结果,作为集成模型的预测结果并输出。
对于调用方B,由于采用的是最优值输出策略,选择置信度最高的子预测结果,作为集成模型的预测结果并输出。
在本实施例中,下表示例性的示出了调用方A、调用方B对集成模型调用得到的预测结果:
由上表可以获得,对于调用方A的本次调用请求,最终输出预测结果为1334,置信度为51%;对于调用方B的本次调用请求,最终输出预测结果为4567,置信度为81%。
由以上描述可以看出,本说明书的另一个实施例实现了,根据调用方A、调用方B不同的调用次数阈值,判断其是否可能为攻击调用。
对于调用方B,由于其调用次数未超过次数阈值,认为其存在攻击的概率较低,采用了最优值输出策略,输出置信度最高的预测结果,使集成模型最终的预测结果更加准确。对于调用方A,由于其调用次数超过次数阈值,认为其存在攻击的概率较高,采用了防御输出策略,输出置信度最低的预测结果,能够干扰调用方A的攻击,起到防御效果。
与前述成员模型攻击的防御方法的实施例相对应,本说明书还提供了模型攻击的防御装置的实施例。
本说明书模型攻击的防御装置的实施例可以应用在服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在服务器的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书模型攻击的防御装置所在服务器的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图5,图5为本说明书一示例性实施例示出的一种模型攻击的防御装置的框图。所述模型攻击的防御装置500可以应用在前述图4所示的服务器中,包括有:获取模块510、判断模块520、防御输出模块530、缺省输出模块540。
获取模块510,当集成模型被调用时,获取所述集成模型中各个子模型输出的子预测结果;
判断模块520,判断所述调用是否符合攻击调用;
防御输出模块530,若所述调用符合攻击调用,则采用预设的防御输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
缺省输出模块540,若所述调用不符合攻击调用,则采用预设的缺省输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
本说明书中,获取模块可以监听调取请求,也可以拦截调用请求。
在一个例子中,当获取模块510监听到集成模型被调用时,可获取各个子模型输出的对应该调用的子预测结果。
在另一个例子中,当获取模块510监听到集成模型被调用时,还可以拦截该调用请求,然后将调用请求中的输入数据输入到集成模型的各个子模型中,并获取各个子模型输出的子预测结果。
本说明书中,可根据调用方的历史调用信息确定调用是否符合攻击调用。
在一个例子中,可根据调用方的某个历史时间段内的平均调用频率作为频率阈值,若达到所述频率阈值,则符合攻击调用。
在另一个例子中,还可以根据调用方在某个统计周期内的调用次数作为次数阈值,若达到所述次数阈值,则符合攻击调用。
在其它例子中,还可以根据调用方的历史调用信息对调用方的调用频率/调用次数进行预测,将预测值作为频率阈值。
本说明书中,判断模块520中可在获取模块510之前执行,也可在获取模块510之后执行。在其它例子中,判断模块520还可以与获取模块510并行执行。
上述具体方式参见方法部分实施例,在此不再赘述。
本说明书中,防御输出模块530的防御输出策略可以为输出置信度相对较低的预测结果。
在一个例子中,将各个子预测结果中置信度最低的子预测结果作为所述集成模型的预测结果并输出。
在另一个例子中,将各个子预测结果按照置信度从低到高排序,选择前N个预测结果,对前N个子预测结果取平均后得到平均预测结果,并将该平均预测结果作为集成模型的预测结果并输出。
本说明书中,缺省输出模块540中的缺省输出策略可以为:加权平均输出策略、最优值输出策略、最频项输出策略,上述策略的具体描述参见方法部分,在此不再赘述。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与前述模型攻击的防御方法的实施例相对应,本说明书还提供一种模型攻击的防御方装置,该装置包括:处理器以及用于存储机器可执行指令的存储器。其中,处理器和存储器通常借由内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与模型攻击的防御方逻辑对应的机器可执行指令,所述处理器被促使:
当集成模型被调用时,获取所述集成模型中各个子模型输出的子预测结果;
判断所述调用是否符合攻击调用;
若所述调用符合攻击调用,则采用预设的防御输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
可选地,所述处理器还被促使:
若所述调用不符合攻击调用,则采用预设的缺省输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
可选地,在采用预设的缺省输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出时,所述处理器被促使:
对所述子预测结果进行加权平均计算,得到所述集成模型的预测结果并输出;或
将所述子预测结果中置信度最高的子预测结果作为所述集成模型的预测结果并输出;或
当所述子预测结果中存在多个相同的子预测结果时,将出现次数最多的子预测结果作为所述集成模型的预测结果并输出。
可选地,在采用预设的防御输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出时,所述处理器被促使:
将所述子预测结果中置信度最低的子预测结果作为所述集成模型的预测结果并输出。
可选地,在判断所述调用是否符合攻击调用,所述处理器被促使:
判断调用方的调用频率是否达到频率阈值,若达到所述频率阈值,则确定所述调用符合攻击调用;或
判断调用方在当前统计周期内的调用次数是否达到次数阈值,若达到所述次数阈值,则确定所述调用符合攻击调用。
可选地,在频率阈值/次数阈值的确定时,所述处理器被促使:
根据调用方标识获取调用方的历史调用信息,基于所述历史调用信息确定所述频率阈值/次数阈值。
可选地,在基于所述历史调用信息确定所述频率阈值/次数阈值时,所述处理器被促使:
根据所述调用方在指定的历史统计周期内的调用频率/调用次数,建立逻辑回归模型;
根据所述逻辑回归模型预测所述调用方在当前统计周期的调用频率/调用次数;
根据所述当前统计周期的调用频率/调用次数确定所述频率阈值/次数阈值。
与前述模型攻击的防御方法的实施例相对应,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下步骤:
当集成模型被调用时,获取所述集成模型中各个子模型输出的子预测结果;
判断所述调用是否符合攻击调用;
若所述调用符合攻击调用,则采用预设的防御输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
可选地,还包括:
若所述调用不符合攻击调用,则采用预设的缺省输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
可选地,所述采用预设的缺省输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出,包括:
对所述子预测结果进行加权平均计算,得到所述集成模型的预测结果并输出;或
将所述子预测结果中置信度最高的子预测结果作为所述集成模型的预测结果并输出;或
当所述子预测结果中存在多个相同的子预测结果时,将出现次数最多的子预测结果作为所述集成模型的预测结果并输出。
可选地,所述采用预设的防御输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出,包括:
将所述子预测结果中置信度最低的子预测结果作为所述集成模型的预测结果并输出。
可选地,所述判断所述调用是否符合攻击调用,包括:
判断调用方的调用频率是否达到频率阈值,若达到所述频率阈值,则确定所述调用符合攻击调用;或
判断调用方在当前统计周期内的调用次数是否达到次数阈值,若达到所述次数阈值,则确定所述调用符合攻击调用。
可选地,所述频率阈值/次数阈值的确定,包括:
根据调用方标识获取调用方的历史调用信息,基于所述历史调用信息确定所述频率阈值/次数阈值。
可选地,所述基于所述历史调用信息确定所述频率阈值/次数阈值,包括:
根据所述调用方在指定的历史统计周期内的调用频率/调用次数,建立逻辑回归模型;
根据所述逻辑回归模型预测所述调用方在当前统计周期的调用频率/调用次数;
根据所述当前统计周期的调用频率/调用次数确定所述频率阈值/次数阈值。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (15)
1.一种模型攻击的防御方法,包括:
当集成模型被调用时,获取所述集成模型中各个子模型输出的子预测结果;
判断所述调用是否符合攻击调用;
若所述调用符合攻击调用,则采用预设的防御输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
2.根据权利要求1所述方法,所述方法还包括:
若所述调用不符合攻击调用,则采用预设的缺省输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
3.根据权利要求2所述方法,所述采用预设的缺省输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出,包括:
对所述子预测结果进行加权平均计算,得到所述集成模型的预测结果并输出;或
将所述子预测结果中置信度最高的子预测结果作为所述集成模型的预测结果并输出;或
当所述子预测结果中存在多个相同的子预测结果时,将出现次数最多的子预测结果作为所述集成模型的预测结果并输出。
4.根据权利要求1所述方法,所述采用预设的防御输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出,包括:
将所述子预测结果中置信度最低的子预测结果作为所述集成模型的预测结果并输出。
5.根据权利要求1所述方法,所述判断所述调用是否符合攻击调用,包括:
判断调用方的调用频率是否达到频率阈值,若达到所述频率阈值,则确定所述调用符合攻击调用;或
判断调用方在当前统计周期内的调用次数是否达到次数阈值,若达到所述次数阈值,则确定所述调用符合攻击调用。
6.根据权利要求5所述方法,所述频率阈值/次数阈值的确定方式,包括:
根据调用方标识获取调用方的历史调用信息,基于所述历史调用信息确定所述频率阈值/次数阈值。
7.根据权利要求6所述方法,所述基于所述历史调用信息确定所述频率阈值/次数阈值,包括:
根据所述调用方在指定的历史统计周期内的调用频率/调用次数,建立逻辑回归模型;
根据所述逻辑回归模型预测所述调用方在当前统计周期的调用频率/调用次数;
根据所述当前统计周期的调用频率/调用次数确定所述频率阈值/次数阈值。
8.一种模型攻击的防御装置,包括:
获取模块,当集成模型被调用时,获取所述集成模型中各个子模型输出的子预测结果;
判断模块,判断所述调用是否符合攻击调用;
防御输出模块,若所述调用符合攻击调用,则采用预设的防御输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
9.根据权利要求8所述装置,所述装置还包括:
缺省输出模块,若所述调用不符合攻击调用,则采用预设的缺省输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
10.根据权利要求9所述装置,所述缺省输出模块:
对所述子预测结果进行加权平均计算,得到所述集成模型的预测结果并输出;或
将所述子预测结果中置信度最高的子预测结果作为所述集成模型的预测结果并输出;或
当所述子预测结果中存在多个相同的子预测结果时,将出现次数最多的子预测结果作为所述集成模型的预测结果并输出。
11.根据权利要求8所述装置,所述防御输出模块:
将所述子预测结果中置信度最低的子预测结果作为所述集成模型的预测结果并输出。
12.根据权利要求8所述装置,所述判断模块:
判断调用方的调用频率是否达到频率阈值,若达到所述频率阈值,则确定所述调用符合攻击调用;或
判断调用方在当前统计周期内的调用次数是否达到次数阈值,若达到所述次数阈值,则确定所述调用符合攻击调用。
13.根据权利要求12所述装置,所述频率阈值/次数阈值的确定方式,包括:
根据调用方标识获取调用方的历史调用信息,基于所述历史调用信息确定所述频率阈值/次数阈值。
14.根据权利要求13所述装置,所述基于所述历史调用信息确定所述频率阈值/次数阈值,包括:
根据所述调用方在指定的历史统计周期内的调用频率/调用次数,建立逻辑回归模型;
根据所述逻辑回归模型预测所述调用方在当前统计周期的调用频率/调用次数;
根据所述当前统计周期的调用频率/调用次数确定所述频率阈值/次数阈值。
15.一种模型攻击的防御装置,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与模型攻击的防御逻辑对应的机器可执行指令,所述处理器被促使:
当集成模型被调用时,获取所述集成模型中各个子模型输出的子预测结果;
判断所述调用是否符合攻击调用;
若所述调用符合攻击调用,则采用预设的防御输出策略,基于所述各个子模型输出的子预测结果确定出所述集成模型的预测结果并输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911193975.XA CN110889117B (zh) | 2019-11-28 | 2019-11-28 | 一种模型攻击的防御方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911193975.XA CN110889117B (zh) | 2019-11-28 | 2019-11-28 | 一种模型攻击的防御方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110889117A true CN110889117A (zh) | 2020-03-17 |
CN110889117B CN110889117B (zh) | 2022-04-19 |
Family
ID=69749261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911193975.XA Active CN110889117B (zh) | 2019-11-28 | 2019-11-28 | 一种模型攻击的防御方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110889117B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149119A (zh) * | 2020-09-27 | 2020-12-29 | 苏州遐视智能科技有限公司 | 一种用于人工智能系统的动态主动安全防御方法、系统及存储介质 |
CN112541574A (zh) * | 2020-12-03 | 2021-03-23 | 支付宝(杭州)信息技术有限公司 | 保护隐私的业务预测方法及装置 |
CN113452599A (zh) * | 2021-05-17 | 2021-09-28 | 中国科学院信息工程研究所 | 一种社工邮件防御方法、系统、电子设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160364568A1 (en) * | 2006-10-30 | 2016-12-15 | The Trustees Of Columbia University In The City Of New York | Methods, media, and systems for detecting an anomalous sequence of function calls |
CN106657005A (zh) * | 2016-11-16 | 2017-05-10 | 武汉科技大学 | 一种云服务的异常检测多层模型 |
CN107231384A (zh) * | 2017-08-10 | 2017-10-03 | 北京科技大学 | 一种面向5g网络切片的DDoS攻击检测防御方法及系统 |
CN107404473A (zh) * | 2017-06-06 | 2017-11-28 | 西安电子科技大学 | 基于Mshield机器学习多模式Web应用防护方法 |
CN108446765A (zh) * | 2018-02-11 | 2018-08-24 | 浙江工业大学 | 面向深度学习对抗性攻击的多模型协同防御方法 |
CN108491837A (zh) * | 2018-03-07 | 2018-09-04 | 浙江工业大学 | 一种提高车牌攻击鲁棒性的对抗攻击方法 |
CN109255234A (zh) * | 2018-08-15 | 2019-01-22 | 腾讯科技(深圳)有限公司 | 机器学习模型的处理方法、装置、介质及电子设备 |
CN109473177A (zh) * | 2018-10-31 | 2019-03-15 | 平安科技(深圳)有限公司 | 基于预测模型确定医疗发展趋势的方法及相关产品 |
CN110138788A (zh) * | 2019-05-20 | 2019-08-16 | 北京理工大学 | 一种基于深度指标的脆弱性攻击代价定量评估方法 |
CN110363427A (zh) * | 2019-07-15 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 模型质量评估方法和装置 |
CN110489314A (zh) * | 2019-07-05 | 2019-11-22 | 中国平安人寿保险股份有限公司 | 模型异常检测方法、装置、计算机设备和存储介质 |
CN110502431A (zh) * | 2019-07-16 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 系统服务评测方法、装置及电子设备 |
-
2019
- 2019-11-28 CN CN201911193975.XA patent/CN110889117B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160364568A1 (en) * | 2006-10-30 | 2016-12-15 | The Trustees Of Columbia University In The City Of New York | Methods, media, and systems for detecting an anomalous sequence of function calls |
CN106657005A (zh) * | 2016-11-16 | 2017-05-10 | 武汉科技大学 | 一种云服务的异常检测多层模型 |
CN107404473A (zh) * | 2017-06-06 | 2017-11-28 | 西安电子科技大学 | 基于Mshield机器学习多模式Web应用防护方法 |
CN107231384A (zh) * | 2017-08-10 | 2017-10-03 | 北京科技大学 | 一种面向5g网络切片的DDoS攻击检测防御方法及系统 |
CN108446765A (zh) * | 2018-02-11 | 2018-08-24 | 浙江工业大学 | 面向深度学习对抗性攻击的多模型协同防御方法 |
CN108491837A (zh) * | 2018-03-07 | 2018-09-04 | 浙江工业大学 | 一种提高车牌攻击鲁棒性的对抗攻击方法 |
CN109255234A (zh) * | 2018-08-15 | 2019-01-22 | 腾讯科技(深圳)有限公司 | 机器学习模型的处理方法、装置、介质及电子设备 |
CN109473177A (zh) * | 2018-10-31 | 2019-03-15 | 平安科技(深圳)有限公司 | 基于预测模型确定医疗发展趋势的方法及相关产品 |
CN110138788A (zh) * | 2019-05-20 | 2019-08-16 | 北京理工大学 | 一种基于深度指标的脆弱性攻击代价定量评估方法 |
CN110489314A (zh) * | 2019-07-05 | 2019-11-22 | 中国平安人寿保险股份有限公司 | 模型异常检测方法、装置、计算机设备和存储介质 |
CN110363427A (zh) * | 2019-07-15 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 模型质量评估方法和装置 |
CN110502431A (zh) * | 2019-07-16 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 系统服务评测方法、装置及电子设备 |
Non-Patent Citations (4)
Title |
---|
CDRA90N@SECQUAN: "《针对机器学习模型的成员推理攻击》", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/70982640》 * |
HAIQIN WENG等: "《Fast-RCM: Fast Tree-Based Unsupervised Rare-Class Mining》", 《IEEE TRANSACTIONS ON CYBERNETICS》 * |
S. JHA等: "《Detecting Adversarial Examples Using Data Manifolds》", 《MILCOM 2018 - 2018 IEEE MILITARY COMMUNICATIONS CONFERENCE (MILCOM)》 * |
蒋方纯等: "《机器学习置信度机制研究综述》", 《北京交通大学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149119A (zh) * | 2020-09-27 | 2020-12-29 | 苏州遐视智能科技有限公司 | 一种用于人工智能系统的动态主动安全防御方法、系统及存储介质 |
CN112541574A (zh) * | 2020-12-03 | 2021-03-23 | 支付宝(杭州)信息技术有限公司 | 保护隐私的业务预测方法及装置 |
CN112541574B (zh) * | 2020-12-03 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 保护隐私的业务预测方法及装置 |
CN113452599A (zh) * | 2021-05-17 | 2021-09-28 | 中国科学院信息工程研究所 | 一种社工邮件防御方法、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110889117B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110889117B (zh) | 一种模型攻击的防御方法及装置 | |
TWI743787B (zh) | 對抗攻擊的監測方法和裝置 | |
US11856021B2 (en) | Detecting and mitigating poison attacks using data provenance | |
US11836643B2 (en) | System for secure federated learning | |
CN110414567B (zh) | 数据处理方法、装置和电子设备 | |
CN107423883B (zh) | 待处理业务的风险识别方法及装置、电子设备 | |
US11062004B2 (en) | Emotion-based database security | |
US10601857B2 (en) | Automatically assessing a severity of a vulnerability via social media | |
CN112751883B (zh) | Ip威胁分值判定方法、装置、设备及介质 | |
CN111079946A (zh) | 模型训练方法、成员探测装置的训练方法及其系统 | |
US10248527B1 (en) | Automated device-specific dynamic operation modifications | |
CN113435362A (zh) | 异常行为检测方法、装置、计算机设备及存储介质 | |
CN111353554B (zh) | 预测缺失的用户业务属性的方法及装置 | |
CN113312239B (zh) | 一种数据检测方法、装置、电子设备及介质 | |
CN112732553A (zh) | 图像测试方法、装置、电子设备及存储介质 | |
CN112528281A (zh) | 联邦学习的中毒攻击检测方法、装置及设备 | |
CN109587248B (zh) | 用户识别方法、装置、服务器及存储介质 | |
WO2020019513A1 (zh) | 一种端口的漏洞检测方法、终端及计算机可读存储介质 | |
CN109657889A (zh) | 考勤方法及装置 | |
US10110612B2 (en) | Evolving rule based contact exchange | |
US11880847B2 (en) | Visual representation generation for bias correction | |
EP4131893A1 (en) | Methods and systems for detecting call spoofing in a telecommunication network | |
US20230206925A1 (en) | System and method for spoofing detection | |
LU502287B1 (en) | Detection of malicious activity | |
CN117688600A (zh) | 隐私数据获取方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |