CN110502895A - 接口异常调用确定方法及装置 - Google Patents
接口异常调用确定方法及装置 Download PDFInfo
- Publication number
- CN110502895A CN110502895A CN201910795276.6A CN201910795276A CN110502895A CN 110502895 A CN110502895 A CN 110502895A CN 201910795276 A CN201910795276 A CN 201910795276A CN 110502895 A CN110502895 A CN 110502895A
- Authority
- CN
- China
- Prior art keywords
- data
- interface
- model
- subclassification
- user
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供的一种接口异常调用确定方法及装置,该方法包括获取用户当前接口调用行为数据;根据所述用户当前接口调用行为数据生成输入数据,并输入至所述自编码模型中,得到输出数据;根据所述输出数据与输入数据的差异程度,确定用户当前接口调用行为数据是否异常。本发明通过使用自编码模型,学习到正常行为API接口调用的行为包络,因此可以及时检测出新的,以前没有发生过的异常接口调用行为。
Description
技术领域
本发明涉及API接口调用技术领域,更具体的,涉及一种接口异常调用确定方法及装置。
背景技术
企业通过API服务化接口的方式向用户开放自身服务能力。伴随而来的基于API服务化接口调用的安全性问题也显得越来越重要。在过往的工作中,基于黑名单、基于规则等方法被相继提出。其中上述技术存在检出率低和误检率高且只能检测出已知的异常调用模式的问题。
发明内容
为了解决上述问题中的至少一个,本申请提供一种接口异常调用确定方法,包括:
获取用户当前接口调用行为数据;
根据所述用户当前接口调用行为数据生成输入数据,并输入至预设的自编码模型中,得到输出数据;
根据所述输出数据与输入数据的差异程度,确定用户当前接口调用行为数据是否异常。
在某些实施例中,还包括:
根据用户的历史接口调用行为数据确定用户所属的子分类;
调取对应子分类的所述自编码模型。
在某些实施例中,还包括:
预先设置多个所述子分类;
对应每个子分类建立多个自编码模型。
在某些实施例中,根据用户的历史接口调用行为数据确定用户所属的子分类,包括:
根据用户的历史接口调用行为数据生成用户的多个事实标签;
将多个所述事实标签输入至预设的模型标签生成模型,生成至少一个模型标签;
根据多个所述事实标签和至少一个所述模型标签,生成业务标签;
根据多个所述业务标签,确定所述子分类。
在某些实施例中,还包括:
将对应每个子分类中所有用户的历史接口调用数据作为训练集,训练每个自编码模型。
在某些实施例中,所述训练每个自编码模型,包括:
针对每个子分类,选取该子分类中的一个用户的历史接口调用数据作为一个训练数据,输入至对应的所述自编码模型,得到经过先编码处理,然后解码处理的输出数据,生成所述输出数据和所述训练数据的差异值;
执行迭代操作,将该子分类中的另一个用户的历史接口调用数据替代所述训练数据,输入至对应的所述自编码模型,得到经过先编码处理,然后解码处理的输出数据,直至输出数据与所述训练数据的差异值不再变化;
得到输出数据与所述训练数据的差异值不再变化时的所述自编码模型。
在某些实施例中,根据用户的历史接口调用行为数据确定用户所属的子分类,还包括:
基于深度学习建立所述模型标签生成模型;
将已标记的所述事实标签和所述模型标签作为一组训练集,训练所述模型标签生成模型。
在某些实施例中,所述预先设置多个所述子分类,包括:
根据所有用户的历史业务数据对用户进行业务分类生成多个所述子分类,其中每个所述子分类对应一个业务标签。
在某些实施例中,所述根据用户的历史业务数据对用户进行业务分类生成多个所述子分类,包括:
对所有用户的历史业务数据进行聚类处理,得到对应的所述子分类。
在某些实施例中,根据所述输出数据与输入数据的差异程度,确定用户当前接口调用行为数据是否异常,包括:
比对所述输出数据与输入至所述自编码模型的数据的差异值,若差异值大于设定阈值,则确定用户当前接口调用行为数据异常。
本申请还提供一种接口异常调用确定装置,包括:
接口调用行为数据获取模块,获取用户当前接口调用行为数据;
输入模块,根据所述用户当前接口调用行为数据生成输入数据,并输入至预设的自编码模型中,得到输出数据;
异常确定模块,根据所述输出数据与输入数据的差异程度,确定用户当前接口调用行为数据是否异常。
在某些实施例中,还包括:
子分类确定模块,根据用户的历史接口调用行为数据确定用户所属的子分类;
自编码模型调取模块,调取对应子分类的所述自编码模型。
在某些实施例中,还包括:
子分类预设置模块,预先设置多个所述子分类;
自编码模型建立模块,对应每个子分类建立多个自编码模型。
在某些实施例中,子分类确定模块,包括:
事实标签生成单元,根据用户的历史接口调用行为数据生成用户的多个事实标签;
模型标签生成单元,将多个所述事实标签输入至预设的模型标签生成模型,生成至少一个模型标签;
业务标签生成单元,根据多个所述事实标签和至少一个所述模型标签,生成业务标签;
子分类确定单元,根据多个所述业务标签,确定所述子分类。
在某些实施例中,还包括:
训练模块,将对应每个子分类中所有用户的历史接口调用数据作为训练集,训练每个自编码模型。
在某些实施例中,所述训练模块包括:
训练单元,针对每个子分类,选取该子分类中的一个用户的历史接口调用数据作为一个训练数据,输入至对应的所述自编码模型,得到经过先编码处理,然后解码处理的输出数据,生成所述输出数据和所述训练数据的差异值;
迭代训练单元,执行迭代操作,将该子分类中的另一个用户的历史接口调用数据替代所述训练数据,输入至对应的所述自编码模型,得到经过先编码处理,然后解码处理的输出数据,直至输出数据与所述训练数据的差异值不再变化;
输出单元,得到输出数据与所述训练数据的差异值不再变化时的所述自编码模型。
在某些实施例中,子分类确定模块,还包括:
模型标签生成模型建立单元,基于深度学习建立所述模型标签生成模型;
模型标签生成模型训练单元,将已标记的所述事实标签和所述模型标签作为一组训练集,训练所述模型标签生成模型。
在某些实施例中,所述子分类预设置模块根据所有用户的历史业务数据对用户进行业务分类生成多个所述子分类,其中每个所述子分类对应一个业务标签。
在某些实施例中,所述子分类预设置模块对所有用户的历史业务数据进行聚类处理,得到对应的所述子分类。
在某些实施例中,所述异常确定模块比对所述输出数据与输入至所述自编码模型的数据的差异值,若差异值大于设定阈值,则确定用户当前接口调用行为数据异常。
本申请还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上所述的方法的步骤。
本发明具有如下有益效果:
本发明提供的一种接口异常调用确定方法及装置,通过使用自编码模型,学习到正常行为API接口调用的行为包络,因此可以及时检测出新的,以前没有发生过的异常接口调用行为。
在优选的实施例中,使用基于业务标签的聚类算法,将用户划分到多个属性类似的用户子集中,使得异常接口调用的检出率更高,误检率更低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请中接口异常调用确定方法的流程示意图。
图2示出了本申请中自编码模型结构示意图。
图3示出了本申请中基本特征类型示意图。
图4示出了本申请提供的一种接口异常调用确定装置的结构示意图。
图5示出适于用来实现本申请实施例的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前解决在API服务接口调用的安全性问题主要包括基于黑名单的检测技术,该技术通过将异常调用行为加入黑名单,实现对异常调用行为的监控;基于规则的检测技术,类似于黑名单监控的方式,通过设置行为规则的方式,超出该规则的行为均视为异常调用行为。上述方法存在检出率低和误检率高的问题,并且只能检测出已知的异常调用模式。
本申请的核心构思是基于大数据方法和业务标签将调用接口的客户划分为若干个行为具有可比性的用户子集,在各个子集上使用自编码器技术获取客户调用API接口的行为包络,从而可以及时检测出异常的API接口调用行为。
图1示出了本申请实施例中一种接口异常调用确定方法,包括:
S1:获取用户当前接口调用行为数据;
S2:根据所述用户当前接口调用行为数据生成输入数据,并输入至预设的自编码模型中,得到输出数据;
S3:根据所述输出数据与输入数据的差异程度,确定用户当前接口调用行为数据是否异常。
本申请提供的接口异常调用确定方法,通过使用自编码模型,学习到正常行为API接口调用的行为包络,一方面可以及时确定出当前接口调用行为是否异常,另外可以及时检测出新的,以前没有发生过的异常接口调用行为。
本申请中,自编码模型是无监督的学习模型,输入是接口调用行为数据,输出数据是差异最小(损失最小)的数据。
图2示出了自编码模型的结构示意图。自编码模型包括编码器和解码器,其中左侧的神经网络对接口调用行为数据做编码得到中间结果(组成了编码器),右侧的神经网络对中间结果解码得到编解码之后的最终结果(组成了解码器),且输入和输出维度是相等的,训练的目标是使得输入和输出间差异最小。
在某些实施例中,自编码模型可以在线或者离线建立,也即自编码模型可以是预先建立后存储的自编码模型,本方法仅涉及到对该自编码模型的使用,自编码模型的建立步骤以及训练步骤也可以包含在本方法内,在此不做限制。
稳定的自编码模型的产生步骤包括建立自编码模型和训练自编码模型。
一些实施例中,建立自编码模型具体可以采用多种神经网络构建自编码器的编码器结构。比如可以使用全连接的网络结构、基于卷积神经网络的结构、LSTM神经网络的结构甚至是TRANSFORMER的网络结构,此处可以依据实际情况选择,以可以充分学习数据特征为准则。
解码的构建通常建议和编码器采用相同的网络结构但也不限于此,同时必须保证训练目标收敛。
在一些实施例中,每个用户的属性特点均不相同,基于不同的用户资料,可以将用户群划分为多个分类子集,对应的,每个分类子集对应一个自编码模型。
当然,对于每个分类子集的自编码模型在初始建立时是一致的,通过采用对应的用户数据进行训练,训练后的自编码模型必然两两不同。
显然,该实施例中,上述方法还包括:
S01:根据用户的历史接口调用行为数据确定用户所属的子分类;
S02:调取对应子分类的所述自编码模型。
与此相对应的,上述方法还包括:
预先设置多个所述子分类;
对应每个子分类建立多个自编码模型。
具体的,在一些实施例中,可以基于业务标签进行用户分类,步骤S01具体包括:
S011:根据用户的历史接口调用行为数据生成用户的多个事实标签;
S012:将多个所述事实标签输入至预设的模型标签生成模型,生成至少一个模型标签;
S013:根据多个所述事实标签和至少一个所述模型标签,生成业务标签;
S014:根据多个所述业务标签,确定所述子分类。
本实施例中,事实标签是从原始数据通过统计,计算或直接读取等方法获取关于客户的诸如接口调用次数、调用频率和调用种类等事实信息作为事实标签。
在一些实施例中,步骤S01还包括:
基于深度学习建立所述模型标签生成模型;
将已标记的所述事实标签和所述模型标签作为一组训练集,训练所述模型标签生成模型。
模型标签生成模块可以基于机器学习,模型标签生成模型生成的模型标签,模型标签是描述客户的某些特征信息不是直接通过统计方法就可以获取到的,比如客户信息中部分信息缺失的信息数据组成的标签,这就需要使用机器学习模型的方法推断或预测得到相关标签信息,常用的预测方法有逻辑回归、XGBOOST和随机森林等方法,但不限于上述几种预测方法。
业务标签是基于事实标签和模型标签,从业务角度给用户打业务标签,例如业务标签可以是“稳健型用户”、“具有一定理财观念用户”等。
在对用户群进行子集分类时,是通过计算每种业务标签间数量的比例关系得到用户子集间的数量比例,从而选择合适的聚类模型。常用的聚类模型有k-means、基于密度的聚类算法和高斯混合模型,但不限于上述几种模型。
某些实施例中,根据多个所述事实标签和至少一个所述模型标签,生成业务标签具体为将实时标签和模型标签作为聚类模型的特征,然后选取合适的聚类模型,对用户群进行聚类处理,使用过程中可以调整模型参数使得聚类结果更加合理。
在自编码模型的训练时,可以将对应每个子分类中所有用户的历史接口调用数据作为训练集,训练每个自编码模型。
具体的,自编码模型的训练步骤包括:
S021:针对每个子分类,选取该子分类中的一个用户的历史接口调用数据作为一个训练数据,输入至对应的所述自编码模型,得到经过先编码处理,然后解码处理的输出数据,生成所述输出数据和所述训练数据的差异值;
S022:执行迭代操作,将该子分类中的另一个用户的历史接口调用数据替代所述训练数据,输入至对应的所述自编码模型,得到经过先编码处理,然后解码处理的输出数据,直至输出数据与所述训练数据的差异值不再变化;
S023:得到输出数据与所述训练数据的差异值不再变化时的所述自编码模型。
本申请中,步骤S03具体包括:
比对所述输出数据与输入至所述自编码模型的数据的差异值,若差异值大于设定阈值,则确定用户当前接口调用行为数据异常。
当前接口调用数据可以是已经发生过的接口调用行为数据,也可以是新的从未发生过的接口调用数据,这是因为,自编码模型的输入是接口调用行为数据,输出数据是差异最小(损失最小)的数据,因此对于训练成熟的自编码模型,即使输入的接口调用行为数据是新的从未发生过的行为数据,若差异值大于设定阈值,说明该调用行为不符合该用户的特性,则可以确定该行为数据异常,不符合该自编码模型的业务标签。
输入数据是输入至自编码模型中的数据,其应当是特征化的数据,也即,上述步骤S2中根据所述用户当前接口调用行为数据生成输入数据具体包括:
根据所述用户当前接口调用行为数据生成基本特征数据;
对所述用户当前接口调用行为数据进行特征分析,得到复杂特征数据。
基本特征是可以直接获取或经过简单编码而直接得到的特征信息,从上图3所示的角度,直接得到模型的基本特征。
在一些实施例中,图3示出了基本特征类型的示意图,可以以图示中所示的类型角度得到基本特征。
复杂特征是直接获取不到的,而需是要经过统计、计算或挖掘才能得到的,综合使用统计计算方法、预测方法和关联规则分析等方法获取此类特征。
可以理解,本申请基于大数据方法和业务标签将调用接口的客户划分为若干个行为具有可比性的用户子集,在各个子集上使用自编码器技术获取客户调用API接口的行为包络,从而可以及时检测出异常的API接口调用行为。
另外,对于新的从未出现过的接口调用行为,将行为数据特征化,因此也能够及时检测出新的接口调用行为是否符合用户自身属性。
基于上述方法相同的发明构思,本申请还提供基于虚拟装置层面的实施例。
图4示出了本申请实施例中一种接口异常调用确定装置,包括:接口调用行为数据获取模块1,获取用户当前接口调用行为数据;输入模块2,根据所述用户当前接口调用行为数据生成输入数据,并输入至预设的自编码模型中,得到输出数据;异常确定模块3,根据所述输出数据与输入数据的差异程度,确定用户当前接口调用行为数据是否异常。
基于相同的发明构思,一实施例中,接口异常调用确定装置还包括:
子分类确定模块,根据用户的历史接口调用行为数据确定用户所属的子分类;
自编码模型调取模块,调取对应子分类的所述自编码模型。
基于相同的发明构思,一实施例中,接口异常调用确定装置还包括:
子分类预设置模块,预先设置多个所述子分类;
自编码模型建立模块,对应每个子分类建立多个自编码模型。
基于相同的发明构思,一实施例中,子分类确定模块,包括:
事实标签生成单元,根据用户的历史接口调用行为数据生成用户的多个事实标签;
模型标签生成单元,将多个所述事实标签输入至预设的模型标签生成模型,生成至少一个模型标签;
业务标签生成单元,根据多个所述事实标签和至少一个所述模型标签,生成业务标签;
子分类确定单元,根据多个所述业务标签,确定所述子分类。
基于相同的发明构思,一实施例中,接口异常调用确定装置还包括:
训练模块,将对应每个子分类中所有用户的历史接口调用数据作为训练集,训练每个自编码模型。
基于相同的发明构思,一实施例中,所述训练模块包括:
训练单元,针对每个子分类,选取该子分类中的一个用户的历史接口调用数据作为一个训练数据,输入至对应的所述自编码模型,得到经过先编码处理,然后解码处理的输出数据,生成所述输出数据和所述训练数据的差异值;
迭代训练单元,执行迭代操作,将该子分类中的另一个用户的历史接口调用数据替代所述训练数据,输入至对应的所述自编码模型,得到经过先编码处理,然后解码处理的输出数据,直至输出数据与所述训练数据的差异值不再变化;
输出单元,得到输出数据与所述训练数据的差异值不再变化时的所述自编码模型。
基于相同的发明构思,一实施例中,子分类确定模块,还包括:
模型标签生成模型建立单元,基于深度学习建立所述模型标签生成模型;
模型标签生成模型训练单元,将已标记的所述事实标签和所述模型标签作为一组训练集,训练所述模型标签生成模型。
基于相同的发明构思,一实施例中,所述子分类预设置模块根据所有用户的历史业务数据对用户进行业务分类生成多个所述子分类,其中每个所述子分类对应一个业务标签。
可以理解,本申请提供的接口异常调用确定装置,基于大数据方法和业务标签将调用接口的客户划分为若干个行为具有可比性的用户子集,在各个子集上使用自编码器技术获取客户调用API接口的行为包络,从而可以及时检测出异常的API接口调用行为。
另外,对于新的从未出现过的接口调用行为,将行为数据特征化,因此也能够及时检测出新的接口调用行为是否符合用户自身属性。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机设备,具体的,计算机设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
在一个典型的实例中计算机设备具体包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的由客户端执行的方法,或者,所述处理器执行所述程序时实现如上所述的由服务器执行的方法。
下面参考图5,其示出了适于用来实现本申请实施例的计算机设备的结构示意图。
如图5所示,计算机设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM))603中的程序而执行各种适当的工作和处理。在RAM603中,还存储有***600操作所需的各种程序和数据。CPU601、ROM602、以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口606。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包括用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (22)
1.一种接口异常调用确定方法,其特征在于,包括:
获取用户当前接口调用行为数据;
根据所述用户当前接口调用行为数据生成输入数据,并输入至预设的自编码模型中,得到输出数据;
根据所述输出数据与输入数据的差异程度,确定用户当前接口调用行为数据是否异常。
2.根据权利要求1所述的接口异常调用确定方法,其特征在于,还包括:
根据用户的历史接口调用行为数据确定用户所属的子分类;
调取对应子分类的所述自编码模型。
3.根据权利要求2所述的接口异常调用确定方法,其特征在于,还包括:
预先设置多个所述子分类;
对应每个子分类建立多个自编码模型。
4.根据权利要求2所述的接口异常调用确定方法,其特征在于,根据用户的历史接口调用行为数据确定用户所属的子分类,包括:
根据用户的历史接口调用行为数据生成用户的多个事实标签;
将多个所述事实标签输入至预设的模型标签生成模型,生成至少一个模型标签;
根据多个所述事实标签和至少一个所述模型标签,生成业务标签;
根据多个所述业务标签,确定所述子分类。
5.根据权利要求3所述的接口异常调用确定方法,其特征在于,还包括:
将对应每个子分类中所有用户的历史接口调用数据作为训练集,训练每个自编码模型。
6.根据权利要求5所述的接口异常调用确定方法,其特征在于,所述训练每个自编码模型,包括:
针对每个子分类,选取该子分类中的一个用户的历史接口调用数据作为一个训练数据,输入至对应的所述自编码模型,得到经过先编码处理,然后解码处理的输出数据,生成所述输出数据和所述训练数据的差异值;
执行迭代操作,将该子分类中的另一个用户的历史接口调用数据替代所述训练数据,输入至对应的所述自编码模型,得到经过先编码处理,然后解码处理的输出数据,直至输出数据与所述训练数据的差异值不再变化;
得到输出数据与所述训练数据的差异值不再变化时的所述自编码模型。
7.根据权利要求4所述的接口异常调用确定方法,其特征在于,根据用户的历史接口调用行为数据确定用户所属的子分类,还包括:
基于深度学习建立所述模型标签生成模型;
将已标记的所述事实标签和所述模型标签作为一组训练集,训练所述模型标签生成模型。
8.根据权利要求3所述的接口异常调用确定方法,其特征在于,所述预先设置多个所述子分类,包括:
根据所有用户的历史业务数据对用户进行业务分类生成多个所述子分类,其中每个所述子分类对应一个业务标签。
9.根据权利要求8所述的接口异常调用确定方法,其特征在于,所述根据用户的历史业务数据对用户进行业务分类生成多个所述子分类,包括:
对所有用户的历史业务数据进行聚类处理,得到对应的所述子分类。
10.根据权利要求1所述的接口异常调用确定方法,其特征在于,根据所述输出数据与输入数据的差异程度,确定用户当前接口调用行为数据是否异常,包括:
比对所述输出数据与输入至所述自编码模型的数据的差异值,若差异值大于设定阈值,则确定用户当前接口调用行为数据异常。
11.一种接口异常调用确定装置,其特征在于,包括:
接口调用行为数据获取模块,获取用户当前接口调用行为数据;
输入模块,根据所述用户当前接口调用行为数据生成输入数据,并输入至预设的自编码模型中,得到输出数据;
异常确定模块,根据所述输出数据与输入数据的差异程度,确定用户当前接口调用行为数据是否异常。
12.根据权利要求11所述的接口异常调用确定装置,其特征在于,还包括:
子分类确定模块,根据用户的历史接口调用行为数据确定用户所属的子分类;
自编码模型调取模块,调取对应子分类的所述自编码模型。
13.根据权利要求12所述的接口异常调用确定装置,其特征在于,还包括:
子分类预设置模块,预先设置多个所述子分类;
自编码模型建立模块,对应每个子分类建立多个自编码模型。
14.根据权利要求12所述的接口异常调用确定装置,其特征在于,子分类确定模块,包括:
事实标签生成单元,根据用户的历史接口调用行为数据生成用户的多个事实标签;
模型标签生成单元,将多个所述事实标签输入至预设的模型标签生成模型,生成至少一个模型标签;
业务标签生成单元,根据多个所述事实标签和至少一个所述模型标签,生成业务标签;
子分类确定单元,根据多个所述业务标签,确定所述子分类。
15.根据权利要求13所述的接口异常调用确定装置,其特征在于,还包括:
训练模块,将对应每个子分类中所有用户的历史接口调用数据作为训练集,训练每个自编码模型。
16.根据权利要求15所述的接口异常调用确定装置,其特征在于,所述训练模块包括:
训练单元,针对每个子分类,选取该子分类中的一个用户的历史接口调用数据作为一个训练数据,输入至对应的所述自编码模型,得到经过先编码处理,然后解码处理的输出数据,生成所述输出数据和所述训练数据的差异值;
迭代训练单元,执行迭代操作,将该子分类中的另一个用户的历史接口调用数据替代所述训练数据,输入至对应的所述自编码模型,得到经过先编码处理,然后解码处理的输出数据,直至输出数据与所述训练数据的差异值不再变化;
输出单元,得到输出数据与所述训练数据的差异值不再变化时的所述自编码模型。
17.根据权利要求14所述的接口异常调用确定装置,其特征在于,子分类确定模块,还包括:
模型标签生成模型建立单元,基于深度学习建立所述模型标签生成模型;
模型标签生成模型训练单元,将已标记的所述事实标签和所述模型标签作为一组训练集,训练所述模型标签生成模型。
18.根据权利要求13所述的接口异常调用确定装置,其特征在于,所述子分类预设置模块根据所有用户的历史业务数据对用户进行业务分类生成多个所述子分类,其中每个所述子分类对应一个业务标签。
19.根据权利要求18所述的接口异常调用确定装置,其特征在于,所述子分类预设置模块对所有用户的历史业务数据进行聚类处理,得到对应的所述子分类。
20.根据权利要求11所述的接口异常调用确定装置,其特征在于,所述异常确定模块比对所述输出数据与输入至所述自编码模型的数据的差异值,若差异值大于设定阈值,则确定用户当前接口调用行为数据异常。
21.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至10任一项所述的方法。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910795276.6A CN110502895A (zh) | 2019-08-27 | 2019-08-27 | 接口异常调用确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910795276.6A CN110502895A (zh) | 2019-08-27 | 2019-08-27 | 接口异常调用确定方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110502895A true CN110502895A (zh) | 2019-11-26 |
Family
ID=68589704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910795276.6A Pending CN110502895A (zh) | 2019-08-27 | 2019-08-27 | 接口异常调用确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110502895A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111538614A (zh) * | 2020-04-29 | 2020-08-14 | 济南浪潮高新科技投资发展有限公司 | 一种操作***的时序异常操作行为检测方法 |
CN111901347A (zh) * | 2020-07-29 | 2020-11-06 | 南方电网科学研究院有限责任公司 | 一种零信任下的动态身份认证方法和装置 |
CN112559292A (zh) * | 2020-12-18 | 2021-03-26 | 北京北方华创微电子装备有限公司 | 设备应用监控方法、半导体工艺设备 |
CN114095281A (zh) * | 2022-01-20 | 2022-02-25 | 南京聚铭网络科技有限公司 | 基于主机的网页攻击检测方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902366A (zh) * | 2009-05-27 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种业务行为异常检测方法和*** |
CN107045607A (zh) * | 2016-12-13 | 2017-08-15 | 全球能源互联网研究院 | 应用异常行为识别模型建立方法及装置、识别方法及装置 |
CN107665579A (zh) * | 2016-07-27 | 2018-02-06 | 上海博泰悦臻网络技术服务有限公司 | 一种用户驾驶行为监控方法及装置 |
CN108665297A (zh) * | 2017-03-31 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 异常访问行为的检测方法、装置、电子设备和存储介质 |
CN109274639A (zh) * | 2018-07-03 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 开放平台异常数据访问的识别方法和装置 |
CN109325542A (zh) * | 2018-10-09 | 2019-02-12 | 烟台海颐软件股份有限公司 | 一种基于多阶机器学习的电量异常智能识别方法及*** |
CN109492767A (zh) * | 2018-11-09 | 2019-03-19 | 济南浪潮高新科技投资发展有限公司 | 一种应用于无监督领域基于自编码器的异常检测方法 |
CN110119621A (zh) * | 2019-05-05 | 2019-08-13 | 网御安全技术(深圳)有限公司 | 异常***调用的攻击防御方法、***及防御装置 |
-
2019
- 2019-08-27 CN CN201910795276.6A patent/CN110502895A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902366A (zh) * | 2009-05-27 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种业务行为异常检测方法和*** |
CN107665579A (zh) * | 2016-07-27 | 2018-02-06 | 上海博泰悦臻网络技术服务有限公司 | 一种用户驾驶行为监控方法及装置 |
CN107045607A (zh) * | 2016-12-13 | 2017-08-15 | 全球能源互联网研究院 | 应用异常行为识别模型建立方法及装置、识别方法及装置 |
CN108665297A (zh) * | 2017-03-31 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 异常访问行为的检测方法、装置、电子设备和存储介质 |
CN109274639A (zh) * | 2018-07-03 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 开放平台异常数据访问的识别方法和装置 |
CN109325542A (zh) * | 2018-10-09 | 2019-02-12 | 烟台海颐软件股份有限公司 | 一种基于多阶机器学习的电量异常智能识别方法及*** |
CN109492767A (zh) * | 2018-11-09 | 2019-03-19 | 济南浪潮高新科技投资发展有限公司 | 一种应用于无监督领域基于自编码器的异常检测方法 |
CN110119621A (zh) * | 2019-05-05 | 2019-08-13 | 网御安全技术(深圳)有限公司 | 异常***调用的攻击防御方法、***及防御装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111538614A (zh) * | 2020-04-29 | 2020-08-14 | 济南浪潮高新科技投资发展有限公司 | 一种操作***的时序异常操作行为检测方法 |
CN111538614B (zh) * | 2020-04-29 | 2024-04-05 | 山东浪潮科学研究院有限公司 | 一种操作***的时序异常操作行为检测方法 |
CN111901347A (zh) * | 2020-07-29 | 2020-11-06 | 南方电网科学研究院有限责任公司 | 一种零信任下的动态身份认证方法和装置 |
CN112559292A (zh) * | 2020-12-18 | 2021-03-26 | 北京北方华创微电子装备有限公司 | 设备应用监控方法、半导体工艺设备 |
CN114095281A (zh) * | 2022-01-20 | 2022-02-25 | 南京聚铭网络科技有限公司 | 基于主机的网页攻击检测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502895A (zh) | 接口异常调用确定方法及装置 | |
CN108009915B (zh) | 一种欺诈用户社区的标记方法及相关装置 | |
CN111667267B (zh) | 一种区块链交易风险识别方法及装置 | |
CN108053120A (zh) | 一种模型整合方法及装置 | |
CN110489307B (zh) | 接口异常调用监测方法及装置 | |
CN110995459A (zh) | 异常对象识别方法、装置、介质及电子设备 | |
CN106067091A (zh) | 企业业绩考核***及方法 | |
CN109992473A (zh) | 应用***的监控方法、装置、设备及存储介质 | |
CN110428139A (zh) | 基于标签传播的信息预测方法及装置 | |
CN112508118A (zh) | 针对数据偏移的目标对象行为预测方法及其相关设备 | |
CN110009347A (zh) | 一种区块链交易信息审计的方法及装置 | |
CN110852602A (zh) | 基于机器学习的数据监控方法及装置 | |
CN115982664A (zh) | 一种异常账户识别方法、装置、设备及存储介质 | |
CN110389885A (zh) | 高频交易监控方法及装置 | |
CN110322153A (zh) | 监控事件处理方法及*** | |
US20210027319A1 (en) | Method and system for collecting and analyzing data to generate performance forecasts for assets | |
CN108932525A (zh) | 一种行为预测方法及装置 | |
CN114862282B (zh) | 一种基于数据分析的业财协同管理方法及*** | |
CN110213239A (zh) | 可疑交易报文生成方法、装置及服务器 | |
CN108460475A (zh) | 基于学生上网行为的贫困生预测方法和装置 | |
CN114723239A (zh) | 一种多方协同建模方法、装置、设备、介质及程序产品 | |
CN116775900B (zh) | 一种基于规则知识图谱驱动的政务辅助管理方法及*** | |
CN109635954A (zh) | 累积型变量特征自动生成方法及其*** | |
CN113342998B (zh) | 一种多媒体资源推荐方法、装置、电子设备及存储介质 | |
CN117332212B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191126 |
|
RJ01 | Rejection of invention patent application after publication |