CN114389834A - 一种api网关异常调用识别的方法、装置、设备及产品 - Google Patents

一种api网关异常调用识别的方法、装置、设备及产品 Download PDF

Info

Publication number
CN114389834A
CN114389834A CN202111423922.XA CN202111423922A CN114389834A CN 114389834 A CN114389834 A CN 114389834A CN 202111423922 A CN202111423922 A CN 202111423922A CN 114389834 A CN114389834 A CN 114389834A
Authority
CN
China
Prior art keywords
sample
abnormal
sequence
call
layer
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
Application number
CN202111423922.XA
Other languages
English (en)
Other versions
CN114389834B (zh
Inventor
李尚锴
王凯
袁明明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Communication Information System Co Ltd
Original Assignee
Inspur Communication Information System Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Communication Information System Co Ltd filed Critical Inspur Communication Information System Co Ltd
Priority to CN202111423922.XA priority Critical patent/CN114389834B/zh
Publication of CN114389834A publication Critical patent/CN114389834A/zh
Priority to PCT/CN2022/107910 priority patent/WO2023093100A1/zh
Application granted granted Critical
Publication of CN114389834B publication Critical patent/CN114389834B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种API网关异常调用识别的方法、装置、设备及产品,涉及网络安全技术领域,该方法包括以下步骤:获取调用时产生的日志信息、资源性能数据以及网际协议地址;将所述日志信息、所述资源性能数据以及所述网际协议地址输入异常调用识别模型中,得到所述异常调用识别模型输出的识别结果;其中,所述识别结果包括是否为异常调用以及异常调用时的异常类型;所述异常调用识别模型是基于样本日志信息、样本资源性能数据以及样本网际协议地址训练得到的。本发明通过获取服务器性能字段及日志信息,并作为训练好的异常调用识别模型的输入数据,由异常调用识别模型输出异常识别结果,能够得到更为精准的异常识别结果。

Description

一种API网关异常调用识别的方法、装置、设备及产品
技术领域
本发明涉及网络安全技术领域,尤其涉及一种API网关异常调用识别的方法、装置、设备及产品。
背景技术
异常行为分析即入侵检测,是一种新的网络安全机制,用于检测及防止非法用户对网络的未授权访问。目前针对应用程序接口(Application Programming Interface,API)网关调用的异常识别即API网关调用异常识别的方法可以分为两种,第一种是针对性能指标传统异常调用通过设置规则的方式进行识别,基于业务逻辑,设置异常调用的发现规则,并通过设置的业务逻辑针对异常进行报警;第二种是基于业务逻辑对历史运行日志进行处理,将日志内容做聚类划分,并对编码后的日志基于深度神经网络做建模处理。
但是由于API调用异常识别通常为多分类问题,即异常调用会有多种原因,上述两种方式的检测效率和检测结果都无法得到保证。因此,提升API网关异常调用识别检测效率的效率并使得检测结果更加精确的需求是目前业界亟待解决的重要课题。
发明内容
本发明提供一种API网关异常调用识别的方法、装置、设备及产品,用以解决现有技术中异常调用识别准确率低以及分类不准确的缺陷,实现在API网关侧实现实时、快速、高精度的异常检测。
本发明提供一种API网关异常调用识别的方法,包括以下步骤:
获取调用时产生的日志信息、资源性能数据以及网际协议地址;
将所述日志信息、所述资源性能数据以及所述网际协议地址输入异常调用识别模型中,得到所述异常调用识别模型输出的识别结果;
其中,所述识别结果包括是否为异常调用以及异常调用时的异常类型;所述异常调用识别模型是基于样本日志信息、样本资源性能数据以及样本网际协议地址训练得到的。
根据本发明提供的API网关异常调用识别的方法,所述异常调用识别模型包括特征抽取层、特征筛选层、第一分类层、枝剪拟合层、第二分类层和识别层;
所述特征抽取层用于基于所述样本网际协议地址,抽取所述样本日志信息和所述样本资源性能数据的特征,得到第一序列和第二序列,以及基于访问时间和编号,对所述第一序列和所述第二序列进行组合以及异常访问的多分类标注,得到第一数据集以及第一特征字段序列;其中,所述第一特征字段序列是基于第一序列和第二序列得到的,所述第一序列是基于所述样本日志信息和所述样本网际协议地址得到的,所述第二序列是基于所述样本资源性能数据和所述样本网际协议地址得到的;
所述特征筛选层用于对所述第一序列进行特征筛选,得到第三序列,并基于所述第三序列,生成第二数据集以及第二特征字段序列;
所述第一分类层用于对所述第二数据集以及第二特征字段序列进行分割处理,得到多个树分类器以及所述树分类器输出的第一预测结果;
所述枝剪拟合层用于根据所述树分类器的精度,将超过预设精度的所述树分类器进行拟合,得到拟合后的第一层分类器;
所述第二分类层用于对所述第一层分类器以及所述样本标签进行特征匹配,得到第二层分类器以及所述第二层分类器输出的样本识别结果。
根据本发明提供的API网关异常调用识别的方法,所述特征筛选层具体包括:
基于加入树的结构风险项的XGBoost算法对所述第一序列进行筛选,按照预设分维度,提取所述第一序列中的特征,得到所述第三序列。
根据本发明提供的API网关异常调用识别的方法,所述第一分类层具体包括:
确定切分点,并基于所述切分点确定切分节点;
将所述第二数据集以及所述第二特征字段序列分配到所述切分节点中,直至每个切分节点被分配的样本数在预设值内,得到多个树分类器。
根据本发明提供的API网关异常调用识别的方法,所述将所述日志信息、所述资源性能数据以及所述网际协议地址输入异常调用识别模型中,得到所述异常调用识别模型输出的识别结果,具体包括以下步骤:
将所述日志信息、所述资源性能数据的特征和所述网际协议地址输入至所述特征抽取层,得到所述特征抽取层输出的第三数据集、第三特征字段序列以及标签;其中,所述第三特征字段序列是基于第四序列和第五序列得到的,所述第四序列是基于所述日志信息和所述网际协议地址得到的,所述第五序列是基于所述资源性能数据和所述网际协议地址得到的;
将所述第四特征输入至所述特征筛选层中,得到所述特征筛选层输出的第四数据集以及第四特征字段序列;其中,所述第四数据集和所述第四特征字段序列均是基于所述第四特征筛选生成的第六序列得到的;
将所述第四数据集和所述第四特征字段序列输入至所述第一分类层中,得到所述第一分类层输出的第二预测结果;
用于将所述第二预测结果和所述标签输入至所述第二分类层中,得到所述第二分类层输出的所述识别结果。
根据本发明提供的API网关异常调用识别的方法,所述异常识别模型通过以下步骤训练得到:
获取所述样本日志信息、所述样本资源性能数据以及所述样本网际协议地址。
对所述样本日志信息、所述样本资源性能数据以及所述样本网际协议地址进行异常调用的多分类标注,得到所述第一数据集、所述第一特征字段序列以及所述样本标签;
将所述第一特征字段序列以及对应的所述样本标签作为训练使用的输入数据,采用机器学习的训练方式,得到用于生成所述识别结果的所述异常调用识别模型。
本发明还提供一种API网关异常调用识别的装置,包括:
采集模块,用于获取调用时产生的日志信息、资源性能数据以及网际协议地址;
识别模块,用于将所述日志信息、所述资源性能数据以及所述网际协议地址输入异常调用识别模型中,得到所述异常调用识别模型输出的识别结果;
其中,所述识别结果包括是否为异常调用以及异常调用时的异常类型;所述异常调用识别模型是基于样本日志信息、样本资源性能数据以及样本网际协议地址训练得到的。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述API网关异常调用识别的方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述API网关异常调用识别的方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述API网关异常调用识别的方法的步骤。
本发明提供的API网关异常调用识别的方法、装置、设备及产品,基于低时延的条件下,针对API网关异常识别的高精度识别的要求,通过获取服务器性能字段及日志信息,并作为训练好的异常调用识别模型的输入数据,由异常调用识别模型输出异常识别结果,能够得到更为精准的异常识别结果,实现在API网关侧实现实时、快速、高精度的异常检测。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的API网关异常调用识别的方法的流程示意图;
图2是本发明提供的API网关异常调用识别的方法应用时的示意图;
图3是本发明提供的API网关异常调用识别的方法中训练异常调用识别模型的流程示意图;
图4是本发明提供的API网关异常调用识别的方法中训练异常调用识别模型的逻辑示意图;
图5是本发明提供的API网关异常调用识别的方法中异常调用识别模型建立高拟合度的双层随机森林模型时的逻辑示意图;
图6是本发明提供的API网关异常调用识别的装置的结构示意图;
图7是本发明提供的API网关异常调用识别的装置中训练异常调用识别模型的结构示意图;
图8是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1描述本发明的API网关异常调用识别的方法,该方法包括以下步骤:
S100、获取API网管调用时产生的日志信息、资源性能数据以及网际互连协议(Internet Protocol,IP)地址。
S200、将日志信息、资源性能数据以及IP地址输入训练好的异常调用识别模型中,得到异常调用识别模型输出的识别结果。
在本实施例中,识别结果包括是否为异常调用以及异常调用时的异常类型。
在本实施例中,异常调用识别模型是基于样本日志信息、样本资源性能数据以及样本IP地址训练得到的。
针对租户私有业务系统的数据服务调用需求,其中异常访问、异常调用类型较多,具体的可以分为用户侧访问异常和系统内调用异常,通过厘清网关侧KPI并检测,辅以机器学习建模的做法,可以高效且准确的完成异常检测。
本发明的API网关异常调用识别的方法中采用的异常调用识别模型是通过构建随机森林模型并选取高拟合度的子森林,在满足API异常调用识别低时延的前提下,构建的双层模型,并基于之前构建的加入树的结构风险项的XGBoost算法筛选出高拟合度的子树,达到高精度的识别要求。
得到训练好的异常调用识别模型之后,将步骤S100采集得到的日志信息、资源性能数据以及IP地址作为异常调用识别模型的输入数据,最终异常调用识别模型输出的是异常调用识别字段即是否为异常调用,以及当为异常调用时其分类即异常调用时的异常类型。在该方法中,异常调用识别模型输出的还包括建模过程中的样本变量权重序列。
在本发明的API网关异常调用识别的方法中,针对现有的异常调用识别方案中存在的准确率低、分类不准确的问题,当有API网关调用时间发生时,通过构造两层分类器模型,提升分类准确度,通过构造高拟合的子森林,解决现有方案的准确率低的弊病。
需要说明的是,在训练好异常调用识别模型后,可以将异常调用识别模型存储在云平台中。
请参阅图2,通过链接API网关进行本地化部署,当调用发生时,异常调用识别模型首先对服务器性能字段及日志信息进行抽取,并在网关侧部署算法模型的在线推理服务,满足解决线程池耗尽导致资源利用率低、吞吐量低等问题的解决需求,缩短网关侧线程释放时间,解决大并发调用情况下的资源抢占问题。
综上,本发明的API网关异常调用识别的方法通过构造高拟合度的双层随机森林模型,能够实现API网关的异常调用快速准确识别。首先通过改进的XGBoost算法对日志信息的特征字段进行特征筛选。并结合相关的资源性能指标,产生新的数据集及特征集,继而使用高拟合度的双层随机森林模型建立异常识别模型,最终通过改进后的机器学习模型实现异常调用的在线快速、高准确的推理服务。
本发明的API网关异常调用识别的方法,在基于低时延的条件下,针对API网关异常识别的高精度识别的要求,通过获取服务器性能字段及日志信息,并作为训练好的异常调用识别模型的输入数据,由异常调用识别模型输出异常识别结果,能够得到更为精准的异常识别结果,实现在API网关侧实现实时、快速、高精度的异常检测。
下面结合图3描述本发明的API网关异常调用识别的方法,在该方法中,异常调用识别模型是通过以下步骤训练得到的:
A100、获取样本日志信息、样本资源性能数据以及样本IP地址。
A200、对样本日志信息、样本资源性能数据以及样本IP地址进行异常调用的多分类标注,得到第一数据集D、第一特征字段序列T以及样本标签R。在该方法中,第一特征字段序列T是基于第一序列I和第二序列J得到的,第一序列是基于样本日志信息和样本IP地址得到的,第二序列J是基于样本资源性能数据和样本IP地址得到的,具体的,T={I,J}。
需要说明的是,样本标签R指的是当为异常调用时其分类即异常调用时的异常类型。
A300、将第一特征字段序列T以及对应的样本标签R作为训练使用的输入数据,采用机器学习的训练方式,得到用于生成识别结果的异常调用识别模型。
步骤A100中会获取API网关调用时产生的原始的日志信息,作为样本日志信息,并在获取到原始的日志信息后进行解析,获取关于单条超文本传输协议(Hyper TextTransfer Protocol,HTTP)请求的字段。之后,拉取单条样本日志信息所有特征后根据用户IP生成特异性字段userIp,记为第一序列I={x1,x2,...,xn}。
在本实施例中,样本日志信息以及日志信息中均包括请求路径属性、参数属性、字符分布特征、访问时间等。
异常调用识别模型包括特征抽取层、特征筛选层、第一分类层、枝剪拟合层、第二分类层和识别层;
特征抽取层用于基于样本网际协议地址,抽取样本日志信息和样本资源性能数据的特征,得到第一序列和第二序列,以及基于访问时间和编号,对第一序列和第二序列进行组合以及异常访问的多分类标注,得到第一数据集以及第一特征字段序列。该方法中,第一特征字段序列是基于第一序列和第二序列得到的,第一序列是基于样本日志信息和样本网际协议地址得到的,第二序列是基于样本资源性能数据和样本网际协议地址得到的;
特征筛选层用于对第一序列进行特征筛选,得到第三序列,并基于第三序列,生成第二数据集以及第二特征字段序列;
第一分类层用于对第二数据集以及第二特征字段序列进行分割处理,得到多个树分类器以及树分类器输出的第一预测结果;
枝剪拟合层用于根据树分类器的精度,将超过预设精度的树分类器进行拟合,得到拟合后的第一层分类器;
第二分类层用于对第一层分类器以及样本标签进行特征匹配,得到第二层分类器以及第二层分类器输出的样本识别结果。
特征筛选层具体包括:
基于加入树的结构风险项的XGBoost算法对第一序列进行筛选,按照预设分维度,提取第一序列中的特征,得到第三序列。
第一分类层具体包括:
确定切分点,并基于切分点确定切分节点;
将第二数据集以及第二特征字段序列分配到切分节点中,直至每个切分节点被分配的样本数在预设值内,得到多个树分类器。
因此步骤S200具体包括以下步骤:
将日志信息、资源性能数据的特征和网际协议地址输入至特征抽取层,得到特征抽取层输出的第三数据集、第三特征字段序列以及标签;其中,第三特征字段序列是基于第四序列和第五序列得到的,第四序列是基于日志信息和网际协议地址得到的,第五序列是基于资源性能数据和网际协议地址得到的;
将第四特征输入至特征筛选层中,得到特征筛选层输出的第四数据集以及第四特征字段序列;其中,第四数据集和第四特征字段序列均是基于第四特征筛选生成的第六序列得到的;
将第四数据集和第四特征字段序列输入至第一分类层中,得到第一分类层输出的第二预测结果;
用于将第二预测结果和标签输入至第二分类层中,得到第二分类层输出的识别结果。
步骤A100还会根据API网管调用时服务器所产生的资源性能数据,作为样本资源性能数据,之后拉取样本资源性能数据单次请求发生时对应的关键绩效指标(KeyPerformance Indicator,KPI)性能指标数值与对应IP地址的用户的历史请求信息(样本资源性能数据的特征),记为第二序列J={y1,y2,...,yn}。
在本实施例中,KPI性能指标数值和历史请求信息包括访问时间time、历史请求次数reqCou、当前秒级请求并发reqEru、单IP请求次数IPreq和内存占用rateC等。
通过样本标签的业务逻辑判断,对当前第一序列I和第二序列J以访问时间和编号进行重组形成新字段req_id,并进行异常访问的多分类标注,形成第一数据集D以及第一特征字段序列T,样本标签记为R={R1,R2,...,Rn},其中Rn为第n个样本的标签。
在本发明的API网关异常调用识别的方法中,基于加入树的结构风险项的XGBoost算法进行特征筛选。在设置Gini指数的同时,在该方法中通过改进XGBoost算法的损失函数,解决同一数据结构下多变量筛选的问题。在本实施例中,是通过在XGBoost算法中加入树的结构风险项,这样在构建树的过程,会约束树的生长结构,减少过拟合问题。这样一来,目标函数XGBoost算法就变成:
Figure BDA0003378357260000111
其中,yi为实际值,
Figure BDA0003378357260000112
为观测值,fk为结构风险项。
在本发明的API网关异常调用识别的方法中使用叶子节点个数T与节点的权重w表示一棵树的复杂度,
Figure BDA0003378357260000113
其中,a、b为超参数,T为叶子节点个数,w为节点的权重,并且a为第一超参数,b为第二超参数。如此以来加入结构风险项的XGBoost算法的目标函数就变成:
Figure BDA0003378357260000114
针对同一结构下的日志信息来说,按照特征下按特征值大小对样本排序,然后从左往右依次选择分割点,计算该分割点下的损失差值,找到损失差值最大时对应的特征与分割点,并以此为当前节点进行分裂,最终便能够得到各变量的重要度排序。
在本实施例中,按照预设分维度,例如前80%分位度对特征进行提取,至此第一序列I={x1,x2,...,xn},成为第三序列I′={x1,x2,...,x80%*n}。
与神经网络的参数权重可解释程度低不同,XGBoost算法所用决策树内在的可解释性降低了算法计算的复杂度,提升了整个异常调用识别模型的可解释性。可解释性也是信用评估的一个重要组成部分,因此将其用于对各个特征指标的重要性进行估计十分合适,重要性分数越高则该特征指标越重要,该特征指标在数据集中的贡献越大。
因此,在本发明的API网关异常调用识别的方法中通过构建加入树的结构风险项的XGBoost算法的目标函数,当每棵树的分裂次数总和越大,特征越优。
通过得到的第三序列I′={x1,x2,...,x80%*n},重新构建第一特征字段序列T,得到第二特征字段序列T1及对应的第二数据集D1,第二特征字段序列T1为T1={I′,J}。
请参阅图4,具体的,在本发明的API网关异常调用识别的方法中,构造双层分类器,并剪枝随机森林,并结合加入树的结构风险项的XGBoost算法筛选变量,实现叶子结构构造或自动选择变量子集的预测。在异常调用场景中,通常关注的是日志情况和资源使用情况。因此,本发明的API网关异常调用识别的方法中输入数据采用的是日志信息、资源性能数据以及IP地址,而异常调用识别模型在训练时的输入数据为第二数据集D1、样本标签R,表示样本日志信息特征的第三序列I′,以及表示样本资源性能数据特征的第二序列J。
请参阅图5,在构建决策树之前,使用自助法抽样技术从原始的第一数据集D中有放回地抽取K个训练数据集,每个训练数据集的样本数也为N。使用这些bootstrap样本来训练决策树。
之后,构造第一层分类器,用分类回归树,在树的结点处,从M个输入特征中随机选择m个特征(m<M)作为决策树当前节点的分裂特征集,从中选择最优分裂特征和切分点,将训练数据集分配到两个子节点中去。选择分裂特征及切分点的标准是Gini系数最小化准则。重复上述划分过程,直到满足停止条件,直到切分节点中的样本数小于预设值。
将K个bootstrap样本集按照上述方式训练决策树模型,把所有生成的决策树组合成一个随机森林模型即树分类器,将测试数据集X输入模型,得到对应的分类结果序列T={T(x)i},其中i=1,2,…,n。
在本实施例中,查全率(R)=被正确分类样本数/应当被正确分类的样本数;查准率(P)=被正确分类样本数/被分类样本总数。
此时,F1=2×P×R/(P+R)。
对单颗子树来说,求解F1指标的评估精度,根据该值对决策树进行排序,按照预设精度(预设F1值),舍弃掉一部分F1值较低的树,保留部分精度较高的树组成子森林,得到第一层分类器。
接下来,构造第二层分类器,选取第一层分类器的概率前N的异常类别,当真实的标签等于预测的标签时,第二层分类器返回模型结算标志i=1;当真实的标签不等于预测的标签时,增加结构化风险项
Figure BDA0003378357260000131
的值,重新进行损失函数拟合,确定叶子节点权重,并得到新的分类结论,直至真实标签等于预测标签。
至此,高拟合度的随机森林模型的两层分类器构造完毕。
基于已建立并训练好的异常调用识别模型fDRF(x),针对数据样本x,给出模型分类记为T(x)。作为模型比对,选择使用现有的单层随机森林模型fSRF(x)。针对同一数据样本x,给出的模型分类结果记为T2(x),针对分类结果,使用查准率(Precision,P)及查全率(Recall,R)进行对比。
现有单层随机森林算法模型与本发明的API网关异常调用识别的方法中采用的双层模型异常调用识别模型的效果如表1所示:
表1单层随机森林算法模型与异常调用识别模型识别精准度的对比表
Figure BDA0003378357260000132
通过表1可以看出改进的异常调用识别模型在查准率层面上以及在查全率层面上均对现有的单层随机森林算法模型有显著提升,即异常调用识别模型在确保能够找出足够多异常调用的前提下,改进的异常调用识别模型使得识别结果更加的精确,即对于系统中的每一次调用,通过异常调用识别模型,经过在线推理,能够准确率更高以及分类更加准确的识别结果(调用是否异常及异常调用时的正确分类)。
下面对本发明提供的API网关异常调用识别的装置进行描述,下文描述的API网关异常调用识别的装置与上文描述的API网关异常调用识别的方法可相互对应参照。
下面结合图6描述本发明的API网关异常调用识别的装置,该装置:
采集模块100,用于获取API网管调用时产生的日志信息、资源性能数据以及IP地址。
识别模块200,用于将日志信息、资源性能数据以及IP地址输入训练好的异常调用识别模型中,得到异常调用识别模型输出的识别结果。
在本实施例中,识别结果包括是否为异常调用以及异常调用时的异常类型。
在本实施例中,异常调用识别模型是基于样本日志信息、样本资源性能数据以及样本IP地址训练得到的。
针对租户私有业务系统的数据服务调用需求,其中异常访问、异常调用类型较多,具体的可以分为用户侧访问异常和系统内调用异常,通过厘清网关侧KPI并检测,辅以机器学习建模的做法,可以高效且准确的完成异常检测。
本发明的API网关异常调用识别的装置中采用的异常调用识别模型是通过构建随机森林模型并选取高拟合度的子森林,在满足API异常调用识别低时延的前提下,构建的双层模型,并基于之前构建的加入树的结构风险项的XGBoost算法筛选出高拟合度的子树,达到高精度的识别要求。
得到训练好的异常调用识别模型之后,将步骤S100采集得到的日志信息、资源性能数据以及IP地址作为异常调用识别模型的输入数据,最终异常调用识别模型输出的是异常调用识别字段即是否为异常调用,以及当为异常调用时其分类即异常调用时的异常类型。在该装置中,异常调用识别模型输出的还包括建模过程中的样本变量权重序列。
在本发明的API网关异常调用识别的装置中,针对现有的异常调用识别方案中存在的准确率低、分类不准确的问题,当有API网关调用时间发生时,通过构造两层分类器模型,提升分类准确度,通过构造高拟合的子森林,解决现有方案的准确率低的弊病。
需要说明的是,在训练好异常调用识别模型后,可以将异常调用识别模型存储在云平台中。
综上,本发明的API网关异常调用识别的装置通过构造高拟合度的双层随机森林模型,能够实现API网关的异常调用快速准确识别。首先通过改进的XGBoost算法对日志信息的特征字段进行特征筛选。并结合相关的资源性能指标,产生新的数据集及特征集,继而使用高拟合度的双层随机森林模型建立异常识别模型,最终通过改进后的机器学习模型实现异常调用的在线快速、高准确的推理服务。
本发明的API网关异常调用识别的装置,在基于低时延的条件下,针对API网关异常识别的高精度识别的要求,通过获取服务器性能字段及日志信息,并作为训练好的异常调用识别模型的输入数据,由异常调用识别模型输出异常识别结果,能够得到更为精准的异常识别结果,实现在API网关侧实现实时、快速、高精度的异常检测。
下面结合图7描述本发明的API网关异常调用识别的装置,在该装置中,异常调用识别模型是通过以下模块训练得到的:
第一训练模块300,用于获取样本日志信息、样本资源性能数据以及样本IP地址。
第二训练模块400,用于对样本日志信息、样本资源性能数据以及样本IP地址进行异常调用的多分类标注,得到第一数据集D、第一特征字段序列T以及样本标签R。在该装置中,第一特征字段序列T是基于第一序列I和第二序列J得到的,第一序列是基于样本日志信息和样本IP地址得到的,第二序列J是基于样本资源性能数据和样本IP地址得到的,具体的,T={I,J}。
需要说明的是,样本标签R指的是当为异常调用时其分类即异常调用时的异常类型。
第三训练模块500,用于将第一特征字段序列T以及对应的样本标签R作为训练使用的输入数据,采用机器学习的训练方式,得到用于生成识别结果的异常调用识别模型。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行API网关异常调用识别的方法,该方法包括以下步骤:
获取调用时产生的日志信息、资源性能数据以及网际协议地址;
将所述日志信息、所述资源性能数据以及所述网际协议地址输入异常调用识别模型中,得到所述异常调用识别模型输出的识别结果;
其中,所述识别结果包括是否为异常调用以及异常调用时的异常类型;所述异常调用识别模型是基于样本日志信息、样本资源性能数据以及样本网际协议地址训练得到的。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的API网关异常调用识别的方法,该方法包括以下步骤:
获取调用时产生的日志信息、资源性能数据以及网际协议地址;
将所述日志信息、所述资源性能数据以及所述网际协议地址输入异常调用识别模型中,得到所述异常调用识别模型输出的识别结果;
其中,所述识别结果包括是否为异常调用以及异常调用时的异常类型;所述异常调用识别模型是基于样本日志信息、样本资源性能数据以及样本网际协议地址训练得到的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的API网关异常调用识别的方法,该方法包括以下步骤:
获取调用时产生的日志信息、资源性能数据以及网际协议地址;
将所述日志信息、所述资源性能数据以及所述网际协议地址输入异常调用识别模型中,得到所述异常调用识别模型输出的识别结果;
其中,所述识别结果包括是否为异常调用以及异常调用时的异常类型;所述异常调用识别模型是基于样本日志信息、样本资源性能数据以及样本网际协议地址训练得到的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种API网关异常调用识别的方法,其特征在于,包括以下步骤:
获取调用时产生的日志信息、资源性能数据以及网际协议地址;
将所述日志信息、所述资源性能数据以及所述网际协议地址输入异常调用识别模型中,得到所述异常调用识别模型输出的识别结果;
其中,所述识别结果包括是否为异常调用以及异常调用时的异常类型;所述异常调用识别模型是基于样本日志信息、样本资源性能数据以及样本网际协议地址训练得到的。
2.根据权利要求1所述的API网关异常调用识别的方法,其特征在于,所述异常调用识别模型包括特征抽取层、特征筛选层、第一分类层、枝剪拟合层、第二分类层和识别层;
所述特征抽取层用于基于所述样本网际协议地址,抽取所述样本日志信息和所述样本资源性能数据的特征,得到第一序列和第二序列,以及基于访问时间和编号,对所述第一序列和所述第二序列进行组合以及异常访问的多分类标注,得到第一数据集以及第一特征字段序列;其中,所述第一特征字段序列是基于第一序列和第二序列得到的,所述第一序列是基于所述样本日志信息和所述样本网际协议地址得到的,所述第二序列是基于所述样本资源性能数据和所述样本网际协议地址得到的;
所述特征筛选层用于对所述第一序列进行特征筛选,得到第三序列,并基于所述第三序列,生成第二数据集以及第二特征字段序列;
所述第一分类层用于对所述第二数据集以及第二特征字段序列进行分割处理,得到多个树分类器以及所述树分类器输出的第一预测结果;
所述枝剪拟合层用于根据所述树分类器的精度,将超过预设精度的所述树分类器进行拟合,得到拟合后的第一层分类器;
所述第二分类层用于对所述第一层分类器以及所述样本标签进行特征匹配,得到第二层分类器以及所述第二层分类器输出的样本识别结果。
3.根据权利要求2所述的API网关异常调用识别的方法,其特征在于,所述特征筛选层具体包括:
基于加入树的结构风险项的XGBoost算法对所述第一序列进行筛选,按照预设分维度,提取所述第一序列中的特征,得到所述第三序列。
4.根据权利要求2所述的API网关异常调用识别的方法,其特征在于,所述第一分类层具体包括:
确定切分点,并基于所述切分点确定切分节点;
将所述第二数据集以及所述第二特征字段序列分配到所述切分节点中,直至每个切分节点被分配的样本数在预设值内,得到多个树分类器。
5.根据权利要求2所述的API网关异常调用识别的方法,其特征在于,所述将所述日志信息、所述资源性能数据以及所述网际协议地址输入异常调用识别模型中,得到所述异常调用识别模型输出的识别结果,具体包括以下步骤:
将所述日志信息、所述资源性能数据的特征和所述网际协议地址输入至所述特征抽取层,得到所述特征抽取层输出的第三数据集、第三特征字段序列以及标签;其中,所述第三特征字段序列是基于第四序列和第五序列得到的,所述第四序列是基于所述日志信息和所述网际协议地址得到的,所述第五序列是基于所述资源性能数据和所述网际协议地址得到的;
将所述第四特征输入至所述特征筛选层中,得到所述特征筛选层输出的第四数据集以及第四特征字段序列;其中,所述第四数据集和所述第四特征字段序列均是基于所述第四特征筛选生成的第六序列得到的;
将所述第四数据集和所述第四特征字段序列输入至所述第一分类层中,得到所述第一分类层输出的第二预测结果;
用于将所述第二预测结果和所述标签输入至所述第二分类层中,得到所述第二分类层输出的所述识别结果。
6.根据权利要求2所述的API网关异常调用识别的方法,其特征在于,所述异常识别模型通过以下步骤训练得到:
获取所述样本日志信息、所述样本资源性能数据以及所述样本网际协议地址。
对所述样本日志信息、所述样本资源性能数据以及所述样本网际协议地址进行异常调用的多分类标注,得到所述第一数据集、所述第一特征字段序列以及所述样本标签;
将所述第一特征字段序列以及对应的所述样本标签作为训练使用的输入数据,采用机器学习的训练方式,得到用于生成所述识别结果的所述异常调用识别模型。
7.一种API网关异常调用识别的装置,其特征在于,包括:
采集模块,用于获取调用时产生的日志信息、资源性能数据以及网际协议地址;
识别模块,用于将所述日志信息、所述资源性能数据以及所述网际协议地址输入异常调用识别模型中,得到所述异常调用识别模型输出的识别结果;
其中,所述识别结果包括是否为异常调用以及异常调用时的异常类型;所述异常调用识别模型是基于样本日志信息、样本资源性能数据以及样本网际协议地址训练得到的。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述API网关异常调用识别的方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述API网关异常调用识别的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述API网关异常调用识别的方法的步骤。
CN202111423922.XA 2021-11-26 2021-11-26 一种api网关异常调用识别的方法、装置、设备及产品 Active CN114389834B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111423922.XA CN114389834B (zh) 2021-11-26 2021-11-26 一种api网关异常调用识别的方法、装置、设备及产品
PCT/CN2022/107910 WO2023093100A1 (zh) 2021-11-26 2022-07-26 一种api网关异常调用识别的方法、装置、设备及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111423922.XA CN114389834B (zh) 2021-11-26 2021-11-26 一种api网关异常调用识别的方法、装置、设备及产品

Publications (2)

Publication Number Publication Date
CN114389834A true CN114389834A (zh) 2022-04-22
CN114389834B CN114389834B (zh) 2024-04-30

Family

ID=81195468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111423922.XA Active CN114389834B (zh) 2021-11-26 2021-11-26 一种api网关异常调用识别的方法、装置、设备及产品

Country Status (2)

Country Link
CN (1) CN114389834B (zh)
WO (1) WO2023093100A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116016120A (zh) * 2023-01-05 2023-04-25 中国联合网络通信集团有限公司 故障处理方法、终端设备和可读存储介质
WO2023093100A1 (zh) * 2021-11-26 2023-06-01 浪潮通信信息系统有限公司 一种api网关异常调用识别的方法、装置、设备及产品

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033052A (zh) * 2023-08-14 2023-11-10 贵州慧码科技有限公司 基于模型识别的对象异常诊断方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107045607A (zh) * 2016-12-13 2017-08-15 全球能源互联网研究院 应用异常行为识别模型建立方法及装置、识别方法及装置
CN107465643A (zh) * 2016-06-02 2017-12-12 国家计算机网络与信息安全管理中心 一种深度学习的网络流量分类方法
CN111177095A (zh) * 2019-12-10 2020-05-19 中移(杭州)信息技术有限公司 日志分析方法、装置、计算机设备及存储介质
CN111212038A (zh) * 2019-12-23 2020-05-29 江苏国泰新点软件有限公司 基于大数据人工智能的开放数据api网关系统
CN112543176A (zh) * 2020-10-22 2021-03-23 新华三信息安全技术有限公司 一种异常网络访问检测方法、装置、存储介质及终端
US20210271975A1 (en) * 2019-04-10 2021-09-02 Tencent Technology (Shenzhen) Company Limited User tag generation method and apparatus, storage medium, and computer device
WO2021189975A1 (zh) * 2020-08-28 2021-09-30 平安科技(深圳)有限公司 机器行为识别方法、装置、设备及计算机可读存储介质
CN113626241A (zh) * 2021-08-10 2021-11-09 中国平安财产保险股份有限公司 应用程序的异常处理方法、装置、设备及存储介质
CN113657461A (zh) * 2021-07-28 2021-11-16 北京宝兰德软件股份有限公司 基于文本分类的日志异常检测方法、系统、设备及介质
EP3910571A1 (en) * 2020-05-13 2021-11-17 MasterCard International Incorporated Methods and systems for server failure prediction using server logs

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3471007B1 (en) * 2017-10-13 2022-02-23 Ping Identity Corporation Methods and apparatus for analyzing sequences of application programming interface traffic to identify potential malicious actions
US11436473B2 (en) * 2019-09-11 2022-09-06 Intuit Inc. System and method for detecting anomalies utilizing a plurality of neural network models
CN111309539A (zh) * 2020-03-26 2020-06-19 北京奇艺世纪科技有限公司 一种异常监测方法、装置和电子设备
CN114389834B (zh) * 2021-11-26 2024-04-30 浪潮通信信息系统有限公司 一种api网关异常调用识别的方法、装置、设备及产品

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107465643A (zh) * 2016-06-02 2017-12-12 国家计算机网络与信息安全管理中心 一种深度学习的网络流量分类方法
CN107045607A (zh) * 2016-12-13 2017-08-15 全球能源互联网研究院 应用异常行为识别模型建立方法及装置、识别方法及装置
US20210271975A1 (en) * 2019-04-10 2021-09-02 Tencent Technology (Shenzhen) Company Limited User tag generation method and apparatus, storage medium, and computer device
CN111177095A (zh) * 2019-12-10 2020-05-19 中移(杭州)信息技术有限公司 日志分析方法、装置、计算机设备及存储介质
CN111212038A (zh) * 2019-12-23 2020-05-29 江苏国泰新点软件有限公司 基于大数据人工智能的开放数据api网关系统
EP3910571A1 (en) * 2020-05-13 2021-11-17 MasterCard International Incorporated Methods and systems for server failure prediction using server logs
WO2021189975A1 (zh) * 2020-08-28 2021-09-30 平安科技(深圳)有限公司 机器行为识别方法、装置、设备及计算机可读存储介质
CN112543176A (zh) * 2020-10-22 2021-03-23 新华三信息安全技术有限公司 一种异常网络访问检测方法、装置、存储介质及终端
CN113657461A (zh) * 2021-07-28 2021-11-16 北京宝兰德软件股份有限公司 基于文本分类的日志异常检测方法、系统、设备及介质
CN113626241A (zh) * 2021-08-10 2021-11-09 中国平安财产保险股份有限公司 应用程序的异常处理方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李世科;: "基于改进XGBoost算法的智能网络异常分析技术研究", 信息技术与信息化, no. 08, 28 August 2020 (2020-08-28) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023093100A1 (zh) * 2021-11-26 2023-06-01 浪潮通信信息系统有限公司 一种api网关异常调用识别的方法、装置、设备及产品
CN116016120A (zh) * 2023-01-05 2023-04-25 中国联合网络通信集团有限公司 故障处理方法、终端设备和可读存储介质

Also Published As

Publication number Publication date
WO2023093100A1 (zh) 2023-06-01
CN114389834B (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
TWI723528B (zh) 電腦執行的事件風險評估方法及裝置、電腦可讀儲存媒體以及計算設備
CN114389834B (zh) 一种api网关异常调用识别的方法、装置、设备及产品
CN108629413B (zh) 神经网络模型训练、交易行为风险识别方法及装置
CN108737406B (zh) 一种异常流量数据的检测方法及系统
CN109818961B (zh) 一种网络入侵检测方法、装置和设备
CN103716204A (zh) 一种基于维纳过程的异常入侵检测集成学习方法及装置
CN114816909A (zh) 一种基于机器学习的实时日志检测预警方法及系统
CN109547423A (zh) 一种基于机器学习的web恶意请求深度检测系统及方法
CN111143838B (zh) 数据库用户异常行为检测方法
US11562262B2 (en) Model variable candidate generation device and method
CN106997367A (zh) 程序文件的分类方法、分类装置和分类系统
CN112329811A (zh) 异常账号识别方法、装置、计算机设备和存储介质
CN114818643B (zh) 一种保留特定业务信息的日志模板提取方法及装置
US20220277188A1 (en) Systems and methods for classifying data sets using corresponding neural networks
Packianather et al. A wrapper-based feature selection approach using Bees Algorithm for a wood defect classification system
CN111641608A (zh) 异常用户识别方法、装置、电子设备及存储介质
CN114385775A (zh) 一种基于大数据的敏感词识别方法
Tae et al. Comparing ML algorithms on financial fraud detection
CN117633666A (zh) 网络资产识别方法、装置、电子设备和存储介质
KR102405799B1 (ko) 사이버 공간에서 실시간 공격 탐지를 위한 시간에 따른 지속적인 적응형 학습을 제공하는 방법 및 시스템
CN113378156A (zh) 一种基于api的恶意文件检测方法和系统
WO2018151619A1 (en) Network analysis tool testing
Gaykar et al. A Hybrid Supervised Learning Approach for Detection and Mitigation of Job Failure with Virtual Machines in Distributed Environments.
CN113010673A (zh) 一种基于熵优化支持向量机的漏洞自动分类方法
CN116701133A (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