CN115408702A - Stacking接口运行风险等级评估方法及其应用 - Google Patents
Stacking接口运行风险等级评估方法及其应用 Download PDFInfo
- Publication number
- CN115408702A CN115408702A CN202211352803.4A CN202211352803A CN115408702A CN 115408702 A CN115408702 A CN 115408702A CN 202211352803 A CN202211352803 A CN 202211352803A CN 115408702 A CN115408702 A CN 115408702A
- Authority
- CN
- China
- Prior art keywords
- interface
- index
- necessary data
- stacking
- risk level
- 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
- 238000011156 evaluation Methods 0.000 title description 5
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000012706 support-vector machine Methods 0.000 claims abstract description 38
- 238000003066 decision tree Methods 0.000 claims abstract description 34
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 32
- 238000003745 diagnosis Methods 0.000 claims abstract description 20
- 230000010354 integration Effects 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 5
- 238000003064 k means clustering Methods 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 claims description 2
- 238000013468 resource allocation Methods 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000009530 blood pressure measurement Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000013210 evaluation model Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2113—Multi-level security, e.g. mandatory access control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提出了Stacking接口运行风险等级评估方法及其应用,包括以下步骤:采集所有接口的必要数据基于必要数据构建接口指标体系;将每个接口的必要数据按照接口指标体系中各指标进行分类;定义每个接口对应的运行风险等级的分类类型和关键指标;以决策树算法和支持向量机算法构建模型;以决策树和支持向量机为基分类器,再以支持向量机为元分类器,基于Stacking集成策略建立集成学习器模型;对集成学习器模型中各指标的重要度进行分析,对每个接口的问题进行诊断,以得到诊断结果。本申请可根据接口运行的风险等级,动态配置资源或策略,以此来优化资源分配,整体保证网关内接口的安全性和稳定性。
Description
技术领域
本申请涉及接口安全技术领域,特别是一种涉及Stacking接口运行风险等级评估方法及其应用。
背景技术
在应用程序开发过程中,API是一个会被经常提及的东西,它的全称是Application Programming Interface(应用程序接口),一般指的是Web API,即:采用HTTP通信协议的API或者是Web应用程序对外提供的API。API从狭义上可以理解为是一种服务能力,调用方可以利用API很便捷地得到一组相关数据。而在大型的软件系统中,API还可以作为不同应用程序之间的一种契约,通过它可以将应用程序进行组装,从而实现业务逻辑更为复杂的功能。
目前接口安全问题的识别已有很多维度的特征,包含适用范围、并发量、调用峰值、平均耗时等,这部分特征并没有利用起来,另一方面,需要一种更加合理、更加客观的方法,定性归类接口运行风险等级的方法,可以根据接口大量的基础信息、运行数据,匹配对应的安全等级,协调运维等资源进行预警管控。
不同API应用于不同的场景,包括服务方、调用方、调用时间、并发量等有所差异,因此需要制定一套评估API运行风险等级的方法,可以更好地防止攻击者破坏应用程序的正常运作。
发明内容
本申请实施例提供了一种Stacking接口运行风险等级评估方法及其应用,针对目前技术存在的没有对应的评估API运行风险等级的方法等问题。
本发明核心技术主要是通过接口调用的行为日志的海量数据进行充分开发利用,从系统、智能的角度利用模型定义接口运行风险等级,摒弃接口统一等级运维的方法,后续可根据接口运行的风险等级,动态配置资源或策略,以此来优化资源分配,整体保证网关内接口的安全性和稳定性。
第一方面,本申请提供了Stacking接口运行风险等级评估方法,所述方法包括以下步骤:
S00、采集所有接口的必要数据;
S10、基于必要数据,设立接口属性指标、接口安全指标以及接口运行指标,并通过接口属性指标、接口安全指标以及接口运行指标构建接口指标体系;
S20、将每个接口的必要数据按照接口指标体系中各指标进行分类,使得每个接口被划分到对应的组中;
S30、根据接口分类结果,定义每个接口对应的运行风险等级的分类类型和关键指标;
S40、基于所有接口的必要数据分别以决策树算法和支持向量机算法构建模型;
S50、以决策树和支持向量机为基分类器,再以支持向量机为元分类器,基于Stacking集成策略建立最终的集成学习器模型;
S60、对集成学习器模型中各指标的重要度进行分析,并根据分析结果对每个接口的问题进行诊断,以得到诊断结果。
进一步地,步骤S00中,必要数据包括编号、名称、适用范围、接口分级、应用数以及接口调用数据,该接口调用数据包括调用时间、回调耗时及返回状态。
进一步地,步骤S20中,通过K-均值聚类算法对必要数据进行聚类,以实现将每个接口的必要数据按照接口指标体系中各指标进行分类,使得每个接口被划分到对应的组中。
进一步地,步骤S40中,将必要数据分为训练集和测试集。
进一步地,步骤S00中,采集所有接口的必要数据时,删除非必要指标。
进一步地,步骤S60中,根据分析结果对每个接口的问题进行诊断的具体步骤为:
基于聚类结果,在同一类接口中,根据定义好的接口的运行风险等级以及关键指标,放大此类接口中存在的风险问题;
对比此类接口的归一化平均值和每一接口的特征值,以得到诊断结果。
进一步地,步骤S50中,通过训练集和测试集训练集成学习器模型并检验效果。
第二方面,本申请提供了一种Stacking集成策略接口运行风险等级评估装置,包括:
采集模块,用于采集所有接口的必要数据;
指标建立模块,用于基于必要数据,设立接口属性指标、接口安全指标以及接口运行指标,并通过接口属性指标、接口安全指标以及接口运行指标构建接口指标体系;
K-均值聚类模块,用于通过K-均值聚类算法,将每个接口的必要数据按照接口指标体系中各指标进行分类,使得每个接口被划分到对应的组中;
决策树模块,用于基于所有接口的必要数据以决策树算法构建模型;
支持向量机模块,用于基于所有接口的必要数据以支持向量机算法构建模型;
Stacking集成策略模块,用于以决策树和支持向量机为基分类器,再以支持向量机为元分类器,基于Stacking集成策略建立最终的集成学习器模型;
诊断模块,用于对集成学习器模型中各指标的重要度进行分析,并根据分析结果对每个接口的问题进行诊断,以得到诊断结果;
输出模块,用于输出诊断结果。
第三方面,本申请提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述的Stacking接口运行风险等级评估方法。
第四方面,本申请提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序包括用于控制过程以执行过程的程序代码,过程包括根据上述的Stacking接口运行风险等级评估方法。
本发明的主要贡献和创新点如下:1、与现有技术相比,本申请有效利用决策树算法和支持向量机算法的优缺点,基于Stacking集成策略,以决策树和支持向量机为基分类器,再以支持向量机为元分类器,建立最终的集成学习器模型,可更好地对接口进行预测,准确度明显高于单决策树模型和单支持向量机模型;
2、与现有技术相比,本申请可以有效地分析各接口的风险等级,从而快速得出各接口存在的问题,可有效利用接口中的多维度特征,如适用范围、并发量、调用峰值、平均耗时等,也可实现可以根据接口大量的基础信息、运行数据,匹配对应的安全等级,协调运维等资源进行预警管控。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的Stacking接口运行风险等级评估方法的流程图;
图2是K-均值聚类算法的流程图;
图3是决策树算法的部分流程图;
图4是Stacking集成策略的基本流程图;
图5是诊断结果的一种实施方式雷达图;
图6是根据本申请实施例的电子装置的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
目前接口安全问题的识别已有很多维度的特征,包含适用范围、并发量、调用峰值、平均耗时等,这部分特征并没有利用起来,另一方面,需要一种更加合理、更加客观的方法,定性归类接口运行风险等级的方法,可以根据接口大量的基础信息、运行数据,匹配对应的安全等级,协调运维等资源进行预警管控。
基于此,本发明基于Stacking集成策略来解决现有技术存在的问题。
实施例一
本申请旨在提出一种Stacking接口运行风险等级评估方法,通过接口调用的行为日志的海量数据进行充分开发利用,从系统、智能的角度利用模型定义接口运行风险等级,摒弃接口统一等级运维的方法,后续可根据接口运行的风险等级,动态配置资源或策略,以此来优化资源分配,整体保证网关内接口的安全性和稳定性,具体地,参考图1,所述方法包括:
S00、采集所有接口的必要数据;
在本实施例中,所有的接口全部在接口网关注册,录入基本信息,包括编号、名称、适用范围、接口分级、应用数等,通过埋点和日志记录接口的每次调用数据,包括调用时间、回调耗时、返回状态等。根据接口调用数据,统计可得到样本集x(0)={x1,x2,...,xi},其中,xi为第i个单位时间时的目标。将样本集划分为训练集和测试集(训练集和测试集是从该数据集中按一定比例进行划分后的数据集,训练集用于训练模型,测试集用于验证)。
如在一个优选实施例中,通过网关和埋点服务,对平台内500个接口相关数据进行整理。
在本次数据采集过程中,部分平台的部分字段无数据,此类数据对本次评估无作用,因此将对于有数据缺失的数据予以删除。
结合本申请构建的指标体系,对其他指标予以删除,只保留本次评估所需的指标。在数据的采集过程中,采集的都是原数据,此处需要对指标进行转换如应用个数,本次采集中将应用信息进行了采集,并以特殊字符进行分离,从而方便后续的应用个数统计。
结合本次构建的指标体系,将指标转化为对应的数字,如将对外接口转为1,对内接口转为0。经过上述数据的处理、拆分和转化的清洗过程,共得到480个接口数据,部分数据展示如下表1所示:
表1
接口编号 | 接口名称 | 接口上下文 | 接口分级 | 应用个数 | 适用范围 | 最大并发量 | 鉴权次数 | 日均报错次数 | 日均调用次数 |
JK20210828001 | 车场先离后缴账单按天对账 | /api/v2/cp/checkDailyBill | 2 | 6 | 1 | 3 | 2 | 32 | 32156 |
JK20210519001 | 查询车牌市民卡优惠 | /api/v2/cp/getPRDiscountInfo | 3 | 2 | 1 | 3 | 1 | 54 | 5253 |
JK20190601007 | 车辆签约信息查询 | /api/v2/cp/getDeparturePayInfo | 3 | 3 | 1 | 3 | 1 | 87 | 4248 |
JK20190601009 | 车辆账单信息上报 | /api/v2/cp/uploadFee | 3 | 2 | 1 | 3 | 1 | 35 | 7548 |
JK20190601010 | 账单支付扣费结果确认 | /api/v2/cp/confirmPayResult | 3 | 5 | 1 | 2 | 1 | 65 | 4644 |
JK20190601012 | 异常账单上报 | /api/v2/cp/uploadAbnormalBill | 3 | 2 | 1 | 2 | 2 | 78 | 7674 |
JK20190601011 | 账单支付扣费结果查询 | /api/v2/cp/getPayResult | 3 | 1 | 1 | 2 | 2 | 65 | 6434 |
JK20190601008 | 停车场申请支付扣款 | /api/v2/cp/applyPayment | 3 | 3 | 0 | 2 | 2 | 6 | 7975 |
JK20190601006 | 车辆签约信息确认 | /api/v2/cp/confirmDeparturePayInfo | 3 | 3 | 1 | 1 | 2 | 43 | 2214 |
JK20210220003 | 车辆欠费情况查询 | /api/v2/cp/getOverDueResult | 1 | 1 | 1 | 1 | 0 | 72 | 8645 |
S10、基于必要数据,设立接口属性指标、接口安全指标以及接口运行指标,并通过接口属性指标、接口安全指标以及接口运行指标构建接口指标体系;
在本实施例中,具体分为:
1.接口属性指标
适用范围:分为对内接口及对外接口,对内接口不对外开放,对外接口面向外界开放,本次指标体系中将对外接口设为1,对内接口设为0。
接口分级:分为非常重要、重要、一般,本次指标体系中将非常重要设为2,重要设为1,一般设为0。
申请应用接入数量:指接口在哪些应用进行接入,可以多选,包括停车、综治、城管等,本次指标体系中若接口多用于一个应用,则累计加1,基础值为1。
2.接口安全指标
鉴权次数:接口鉴权后才能调用,平台方及业务系统均存在鉴权机制。本次指标体系初始值为1,若需要多次鉴权的则累计加1。
最大并发:通过压测数据,统计接口最大并发,若大于1000,设定为3,500~1000设定为2,500以内设定为1。
3.接口运行指标
日均报错次数:在一定时间区间内,统计接口调用过程中,会出现报错情况,统计日均报错次数。
报错率均值:在一定时间区间内,统计接口调用过程中,会出现报错情况,统计报错次数及报错率。
报错率峰值:统计报错率峰值。
日均接口流量:在一定时间区间内,统计接口调用过程中统计日均调用次数。
接口流量:单位时间(1min)内请求接口的次数。
接口流量峰值:单位时间(1min)调用次数的峰值。
平均接口耗时:在一定时间区间内,统计接口调用过程中,平均耗时时间。
丢包率:丢失数据包数量占所传输数据包总数的比率。
接口利用率:流量在单位时间中的传输能力,带宽占用率。
差错率:传输数据中,错误字节占总字节数的比率。
请求正文大小:向服务器发送的请求信息的大小。
响应正文大小:服务器返回的资源内容的大小。
响应间隔时间:从上游服务器发出的请求与从上游服务器收到的响应之间的时间间隔。
网关内部延迟:运行网关内部插件产生的延迟。
整理以上信息,对本次指标体系的构建如表2所示:
表2
S20、将每个接口的必要数据按照接口指标体系中各指标进行分类,使得每个接口被划分到对应的组中;
在本实施例中,通过K-均值聚类算法,遵循“物以类聚”的思想,通过如图2的流程,将数据按照所选取的指标自动进行分类,将每个接口划分到特定的组中。其中,数据集D为用于算法训练的全量数据。即S00采集的数据。
其中,判定某数据点是否归属于当前簇的方法是计算样本点与中心点之间的距离,而在K均值算法中,常常采用欧几里得距离来进行距离的计算,具体计算公式:,其中表示样本点,i=1,2,…,n,n表示总样本数,sj表示中心点,j=1,2,…,k,k表示生成的蔟的数目。
采用K-均值法,将K值从2取到10,并计算每次分类后误差平方和SSE,其中,C为最后的聚类结果。
根据SSE的分布,确定最佳K值;本次数据样本,在K=5处,拐点产生,之后SSE下降变缓。由此可知,K值的最佳取值为5,即将数据聚为5类时划分效果最好。
S30、根据接口分类结果,定义每个接口对应的运行风险等级的分类类型和关键指标;
在本实施例中,根据指标数据,聚类结果如表所示,定义分类,为了探究各个类型特征,现将各个类型的平台数据指标的均值进行描述性统计,统计结果如表3所示:
表3
类型1 | 类型2 | 类型3 | 类型4 | 类型5 | |
适用范围 | 0.42 | 0.68 | 0.83 | 0.85 | 0.98 |
接口分级 | 0.86 | 0.82 | 0.65 | 0.52 | 0.63 |
申请应用接入个数 | 1.52 | 2.57 | 3.59 | 4.85 | 5.34 |
限流量 | 2.81 | 2.27 | 2.45 | 2.98 | 2.55 |
鉴权次数 | 0.64 | 1.23 | 2.72 | 2.99 | 2.98 |
最大并发量 | 1854 | 2744 | 4865 | 6211 | 3631 |
日均报错次数(千次) | 0.371 | 0.295 | 0.421 | 0.424 | 0.442 |
日均报错率 | 2.58% | 1.31% | 1.14% | 1.35% | 0.78% |
报错率峰值 | 12.42% | 13.72% | 9.92% | 19.22% | 21.86% |
日均接口流量(千次) | 14.4 | 22.5 | 36.9 | 31.5 | 56.7 |
接口流量(分钟) | 16 | 25 | 41 | 35 | 63 |
接口流量峰值(分钟) | 28 | 31 | 47 | 82 | 74 |
平均接口耗时(ms) | 444 | 467 | 1310 | 1818 | 1369 |
丢包率 | 0.98% | 1.32% | 3.12% | 3.22% | 6.86% |
接口利用率 | 96.92% | 95.35% | 89.76% | 83.82% | 76.53% |
差错率 | 0.58% | 0.72% | 0.92% | 1.12% | 3.16% |
请求正文大小(字节) | 64 | 123 | 128 | 163 | 152 |
响应正文大小(字节) | 34 | 63 | 78 | 203 | 272 |
响应间隔时间(ms) | 743 | 613 | 941 | 1267 | 1144 |
网关内部延迟(ms) | 103 | 124 | 281 | 213 | 178 |
进一步整理以上数据,得到各类型接口所对应的运行风险等级,如表4所示:
表4
S40、基于所有接口的必要数据分别以决策树算法和支持向量机算法(SVM)构建模型;
在本实施例中,使用CART算法(一种决策树算法,主要用于分类与回归。CART算法将概率论与统计学的知识引入到决策树的研究中,既可以用于分类,也可以用于回归。),该算法主要基于基尼指数来进行分裂属性的选择。基尼指数的计算方式为:
其中S为样本集,n为样本集S的类别数,Pi是样本集S中包含类i的概率。
若根据某个特征将样本集S分为两个子集,训练集S1和测试集S2,则此时样本集S的基尼指数的计算方式为:
当基尼指数等于0时,表示该样本集S中只有一个类别,基尼指数越小,样本类别分错的可能性越小。
如图3所示,此时准备好数据集E(通过聚类算法后带有运行风险等级标签的数据集),确定决策树的停止生长条件,包括决策树的最大深度、叶节点的最少样本数、基尼指数的最小值等;遍历所有属性,计算该属性下数据集的基尼指数;选择该属性的每个可能值,将数据集分为两个子集,计算基尼指数,选择基尼指数最小的特征值作为分裂属性;对生成的子集反复执行分类,直至满足决策树的停止算条件为止。
在本实施例中,以支持向量机算法构建模型的具体步骤为:
根据结果计算边界距离,d为边距,对边距进行最大化求解以保证超平面最优,即求解max(d),将问题进行转换,即建立最优化求解问题,引进ai,其中ai表示的是与第i个样本相对应的乘子,令ai≥0,i=1,2,…n,得到:
根据数学求导法则,分别对w和b求偏导数,令相应的偏导数结果为0,即:
可得:
求解以上,得到最优分类函数为:
以上为决策树算法和支持向量机算法均展示了基本的建模方式。
S50、以决策树和支持向量机为基分类器,再以支持向量机为元分类器,基于Stacking集成策略建立最终的集成学习器模型;
此步骤中,如图4所示,Stacking集成策略主要分为两层,第一层根据训练集得到不同的分类模型即基分类器模型,然后将基分类器的输出用于训练第二层的元分类器的输入,将元分类器的输出与原数据集的输出进行比较,从而训练元分类器,以决策树和支持向量机为基分类器,再以支持向量机为元分类器,建立最终的集成学习器模型。
优选地,还需要对集成学习器模型进行校验。
如表5所示,采用同样的数据样本(数据集E)进行模型训练,基于决策树的评估模型在训练集上表现优于基于支持向量机的评估模型,但在测试集上表现不及支持向量机模型,该现象也是所有用决策树建模的模型所表现出的通病,决策树容易过拟合,会比其他的学习器出现这个问题容易更严重。相对于决策树模型和支持向量机模型,基于Stacking集成策略的风险评估模型(集成学习器模型)能够更好地对接口进行预测,其预测准确度平均值为92.21%,明显高于决策树模型和支持向量机模型。
表5
训练集 | 测试集 | |
决策树 | 85.51% | 84.68% |
SVM | 75.76% | 82.16% |
Stacking | 90.58% | 92.21% |
S60、对集成学习器模型中各指标的重要度进行分析,并根据分析结果对每个接口的问题进行诊断,以得到诊断结果,见表6。
在本实施例中,对该集成学习器模型中各指标的重要度进行分析发现,其中接口流量指标重要度最高为0.12,日均报错次数指标重要度为0.11,日均接口流量的重要程度为0.095,接口耗时的重要度为0.09,日均报错率和差错率的重要度为0.08,压测最大并发量、应用个数重要度为0.06,鉴权次数、丢包率的重要程度为0.05。上述几个重要的指标,及考核维度对于识别接口风险等级更具重要意义,也可用于后期问题诊断。
表6
在本实施例中,基于聚类结果,并在同一类接口中,根据接口运行风险等级和风险特征表(表6)再进行比对,放大一类接口中存在的风险问题,通过一类接口的归一化平均值对比该接口(需要诊断问题的目标接口)的特征值,所得问题诊断结果。实际操作如图5所示,可见,可定义该图5的接口首先归类于一个低风险接口,在该类型接口中,它的接口流量峰值远超均值,但是压测最大并发量远小于均值,因此确定该接口的问题为:服务器性能不足以满足接口场景需求。
其中归一化平均值为:即在训练过程中,将每一次得到的指标重要度进行归一化处理,然后将其平均得到的结果,其中归一化的公式如下:
可总结为:首先需要诊断问题的目标接口运行一段时间,采集所需数据总结特征值;其次将需要诊断问题的目标接口归类到某一分类(表3);然后将某一分类的接口的特征值和需要诊断问题的目标接口的特征值放大进行对比,输出雷达图。
实施例二
基于相同的构思,本申请还提出了一种Stacking集成策略接口运行风险等级评估装置,包括:
采集模块,用于采集所有接口的必要数据;
指标建立模块,用于基于必要数据,设立接口属性指标、接口安全指标以及接口运行指标,并通过接口属性指标、接口安全指标以及接口运行指标构建接口指标体系;
K-均值聚类模块,用于通过K-均值聚类算法,将每个接口的必要数据按照接口指标体系中各指标进行分类,使得每个接口被划分到对应的组中;
决策树模块,用于基于所有接口的必要数据以决策树算法构建模型;
支持向量机模块,用于基于所有接口的必要数据以支持向量机算法构建模型;
Stacking集成策略模块,用于以决策树和支持向量机为基分类器,再以支持向量机为元分类器,基于Stacking集成策略建立最终的集成学习器模型;
诊断模块,用于对集成学习器模型中各指标的重要度进行分析,并根据分析结果对每个接口的问题进行诊断,以得到诊断结果;
输出模块,用于输出诊断结果。
实施例三
本实施例还提供了一种电子装置,参考图6,包括存储器404和处理器402,该存储器404中存储有计算机程序,该处理器402被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
具体地,上述处理器402可以包括中央处理器(CPU),或者特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器404可以包括用于数据或指令的大容量存储器404。举例来说而非限制,存储器404可包括硬盘驱动器(HardDiskDrive,简称为HDD)、软盘驱动器、固态驱动器(SolidStateDrive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器404可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器404可在数据处理装置的内部或外部。在特定实施例中,存储器404是非易失性(Non-Volatile)存储器。在特定实施例中,存储器404包括只读存储器(Read-OnlyMemory,简称为ROM)和随机存取存储器(RandomAccessMemory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(ProgrammableRead-OnlyMemory,简称为PROM)、可擦除PROM(ErasableProgrammableRead-OnlyMemory,简称为EPROM)、电可擦除PROM(ElectricallyErasableProgrammableRead-OnlyMemory,简称为EEPROM)、电可改写ROM(ElectricallyAlterableRead-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(StaticRandom-AccessMemory,简称为SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器404(FastPageModeDynamicRandomAccessMemory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(ExtendedDateOutDynamicRandomAccessMemory,简称为EDODRAM)、同步动态随机存取内存(SynchronousDynamicRandom-AccessMemory,简称SDRAM)等。
存储器404可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器402所执行的可能的计算机程序指令。
处理器402通过读取并执行存储器404中存储的计算机程序指令,以实现上述实施例中的任意Stacking接口运行风险等级评估方法。
可选地,上述电子装置还可以包括传输设备406以及输入输出设备408,其中,该传输设备406和上述处理器402连接,该输入输出设备408和上述处理器402连接。
传输设备406可以用来经由一个网络接收或者发送数据。上述的网络具体实例可包括电子装置的通信供应商提供的有线或无线网络。在一个实例中,传输设备包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备406可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
输入输出设备408用于输入或输出信息。在本实施例中,输入的信息可以是接口数据等,输出的信息可以是接口的诊断结果等。
实施例四
本实施例还提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序包括用于控制过程以执行过程的程序代码,过程包括根据实施例一的Stacking接口运行风险等级评估方法。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
通常,各种实施例可以以硬件或专用电路、软件、逻辑或其任何组合来实现。本发明的一些方面可以以硬件来实现,而其他方面可以由控制器、微处理器或其他计算设备执行的固件或软件来实现,但是本发明不限于此。尽管本发明的各个方面可以被示出和描述为框图、流程图或使用一些其他图形表示,但是应当理解,作为非限制性示例,本文中描述的这些框、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或其某种组合来实现。
本发明的实施例可以由计算机软件来实现,该计算机软件由移动设备的数据处理器诸如在处理器实体中可执行,或者由硬件来实现,或者由软件和硬件的组合来实现。包括软件例程、小程序和/或宏的计算机软件或程序(也称为程序产品)可以存储在任何装置可读数据存储介质中,并且它们包括用于执行特定任务的程序指令。计算机程序产品可以包括当程序运行时被配置为执行实施例的一个或多个计算机可执行组件。一个或多个计算机可执行组件可以是至少一个软件代码或其一部分。另外,在这一点上,应当注意,如图中的逻辑流程的任何框可以表示程序步骤、或者互连的逻辑电路、框和功能、或者程序步骤和逻辑电路、框和功能的组合。软件可以存储在诸如存储器芯片或在处理器内实现的存储块等物理介质、诸如硬盘或软盘等磁性介质、以及诸如例如DVD及其数据变体、CD等光学介质上。物理介质是非瞬态介质。
本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以作出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.Stacking接口运行风险等级评估方法,其特征在于,包括以下步骤:
S00、采集所有接口的必要数据;
S10、基于所述必要数据,设立接口属性指标、接口安全指标以及接口运行指标,并通过所述接口属性指标、所述接口安全指标以及所述接口运行指标构建接口指标体系;
S20、将每个所述接口的必要数据按照所述接口指标体系中各指标进行分类,使得每个接口被划分到对应的组中;
S30、根据接口分类结果,定义每个接口对应的运行风险等级的分类类型和关键指标;
S40、基于所有接口的必要数据分别以决策树算法和支持向量机算法构建模型;
S50、以决策树和支持向量机为基分类器,再以支持向量机为元分类器,基于Stacking集成策略建立最终的集成学习器模型;
S60、对所述集成学习器模型中各指标的重要度进行分析,并根据分析结果对每个接口的问题进行诊断,以得到诊断结果。
2.如权利要求1所述的Stacking接口运行风险等级评估方法,其特征在于,步骤S00中,所述必要数据包括编号、名称、适用范围、接口分级、应用数以及接口调用数据,该接口调用数据包括调用时间、回调耗时及返回状态。
3.如权利要求1所述的Stacking接口运行风险等级评估方法,其特征在于,步骤S20中,通过K-均值聚类算法对所述必要数据进行聚类,以实现将每个所述接口的必要数据按照所述接口指标体系中各指标进行分类,使得每个接口被划分到对应的组中。
4.如权利要求1所述的Stacking接口运行风险等级评估方法,其特征在于,步骤S40中,将所述必要数据分为训练集和测试集。
5.如权利要求1所述的Stacking接口运行风险等级评估方法,其特征在于,步骤S00中,采集所有接口的必要数据时,删除非必要指标。
6.如权利要求3所述的Stacking接口运行风险等级评估方法,其特征在于,步骤S60中,根据分析结果对每个接口的问题进行诊断的具体步骤为:
基于聚类结果,在同一类接口中,根据定义好的接口的运行风险等级以及关键指标,放大此类接口中存在的风险问题;
对比此类接口的归一化平均值和每一接口的特征值,以得到诊断结果。
7.如权利要求4所述的Stacking接口运行风险等级评估方法,其特征在于,步骤S50中,通过训练集和测试集训练所述集成学习器模型并检验效果。
8.一种Stacking集成策略接口运行风险等级评估装置,其特征在于,包括:
采集模块,用于采集所有接口的必要数据;
指标建立模块,用于基于必要数据,设立接口属性指标、接口安全指标以及接口运行指标,并通过接口属性指标、接口安全指标以及接口运行指标构建接口指标体系;
K-均值聚类模块,用于通过K-均值聚类算法,将每个接口的必要数据按照接口指标体系中各指标进行分类,使得每个接口被划分到对应的组中;
决策树模块,用于基于所有接口的必要数据以决策树算法构建模型;
支持向量机模块,用于基于所有接口的必要数据以支持向量机算法构建模型;
Stacking集成策略模块,用于以决策树和支持向量机为基分类器,再以支持向量机为元分类器,基于Stacking集成策略建立最终的集成学习器模型;
诊断模块,用于对集成学习器模型中各指标的重要度进行分析,并根据分析结果对每个接口的问题进行诊断,以得到诊断结果;
输出模块,用于输出诊断结果。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7任一项所述的Stacking接口运行风险等级评估方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序包括用于控制过程以执行过程的程序代码,所述过程包括根据权利要求1至7任一项所述的Stacking接口运行风险等级评估方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211352803.4A CN115408702B (zh) | 2022-11-01 | 2022-11-01 | Stacking接口运行风险等级评估方法及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211352803.4A CN115408702B (zh) | 2022-11-01 | 2022-11-01 | Stacking接口运行风险等级评估方法及其应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115408702A true CN115408702A (zh) | 2022-11-29 |
CN115408702B CN115408702B (zh) | 2023-02-14 |
Family
ID=84167191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211352803.4A Active CN115408702B (zh) | 2022-11-01 | 2022-11-01 | Stacking接口运行风险等级评估方法及其应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115408702B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117081858A (zh) * | 2023-10-16 | 2023-11-17 | 山东省计算中心(国家超级计算济南中心) | 一种基于多决策树入侵行为检测方法、系统、设备及介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104850776A (zh) * | 2014-02-18 | 2015-08-19 | 中国电信股份有限公司 | 控制对api调用的方法、装置与移动终端 |
US10558809B1 (en) * | 2017-04-12 | 2020-02-11 | Architecture Technology Corporation | Software assurance system for runtime environments |
CN111027094A (zh) * | 2019-12-04 | 2020-04-17 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据泄漏的风险评估方法及装置 |
CN111931189A (zh) * | 2020-08-14 | 2020-11-13 | 中国工商银行股份有限公司 | Api接口转用风险检测方法、装置和api服务系统 |
CN112100621A (zh) * | 2020-09-11 | 2020-12-18 | 哈尔滨工程大学 | 一种基于敏感权限和api的安卓恶意应用检测方法 |
CN112668913A (zh) * | 2020-12-31 | 2021-04-16 | 深圳前海微众银行股份有限公司 | 基于联邦学习的网络构建方法、装置、设备及存储介质 |
CN112837142A (zh) * | 2021-01-19 | 2021-05-25 | 中国建设银行股份有限公司 | 一种金融风险模型训练方法和装置 |
CN113901705A (zh) * | 2021-09-07 | 2022-01-07 | 广州市城市规划勘测设计研究院 | 一种火灾风险评估方法、装置、终端设备及存储介质 |
CN114519524A (zh) * | 2022-02-18 | 2022-05-20 | 平安国际智慧城市科技股份有限公司 | 基于知识图谱的企业风险预警方法、装置及存储介质 |
US20220164447A1 (en) * | 2020-11-20 | 2022-05-26 | Foundaton of Soongsil University-Industry Cooperation | Mobile application malicious behavior pattern detection method based on api call graph extraction and recording medium and device for performing the same |
CN114782170A (zh) * | 2022-05-16 | 2022-07-22 | 中国工商银行股份有限公司 | 评估模型风险等级的方法、装置、设备和介质 |
CN114996701A (zh) * | 2022-05-05 | 2022-09-02 | 天津理工大学 | 一种基于机器学习的安卓隐私泄露检测方法及系统 |
-
2022
- 2022-11-01 CN CN202211352803.4A patent/CN115408702B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104850776A (zh) * | 2014-02-18 | 2015-08-19 | 中国电信股份有限公司 | 控制对api调用的方法、装置与移动终端 |
US10558809B1 (en) * | 2017-04-12 | 2020-02-11 | Architecture Technology Corporation | Software assurance system for runtime environments |
CN111027094A (zh) * | 2019-12-04 | 2020-04-17 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据泄漏的风险评估方法及装置 |
CN111931189A (zh) * | 2020-08-14 | 2020-11-13 | 中国工商银行股份有限公司 | Api接口转用风险检测方法、装置和api服务系统 |
CN112100621A (zh) * | 2020-09-11 | 2020-12-18 | 哈尔滨工程大学 | 一种基于敏感权限和api的安卓恶意应用检测方法 |
US20220164447A1 (en) * | 2020-11-20 | 2022-05-26 | Foundaton of Soongsil University-Industry Cooperation | Mobile application malicious behavior pattern detection method based on api call graph extraction and recording medium and device for performing the same |
CN112668913A (zh) * | 2020-12-31 | 2021-04-16 | 深圳前海微众银行股份有限公司 | 基于联邦学习的网络构建方法、装置、设备及存储介质 |
CN112837142A (zh) * | 2021-01-19 | 2021-05-25 | 中国建设银行股份有限公司 | 一种金融风险模型训练方法和装置 |
CN113901705A (zh) * | 2021-09-07 | 2022-01-07 | 广州市城市规划勘测设计研究院 | 一种火灾风险评估方法、装置、终端设备及存储介质 |
CN114519524A (zh) * | 2022-02-18 | 2022-05-20 | 平安国际智慧城市科技股份有限公司 | 基于知识图谱的企业风险预警方法、装置及存储介质 |
CN114996701A (zh) * | 2022-05-05 | 2022-09-02 | 天津理工大学 | 一种基于机器学习的安卓隐私泄露检测方法及系统 |
CN114782170A (zh) * | 2022-05-16 | 2022-07-22 | 中国工商银行股份有限公司 | 评估模型风险等级的方法、装置、设备和介质 |
Non-Patent Citations (1)
Title |
---|
吕宗平等: "基于Stacking模型融合的勒索软件动态检测算法", 《信息网络安全》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117081858A (zh) * | 2023-10-16 | 2023-11-17 | 山东省计算中心(国家超级计算济南中心) | 一种基于多决策树入侵行为检测方法、系统、设备及介质 |
CN117081858B (zh) * | 2023-10-16 | 2024-01-19 | 山东省计算中心(国家超级计算济南中心) | 一种基于多决策树入侵行为检测方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115408702B (zh) | 2023-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111614690B (zh) | 一种异常行为检测方法及装置 | |
CN109861953B (zh) | 一种异常用户识别方法及装置 | |
CN110046929B (zh) | 一种欺诈团伙识别方法、装置、可读存储介质及终端设备 | |
CN108427725A (zh) | 数据处理方法、装置和系统 | |
CN110457175B (zh) | 业务数据处理方法、装置、电子设备及介质 | |
CN111507470A (zh) | 一种异常账户的识别方法及装置 | |
CN111552570B (zh) | 物联网数据处理资源的自适应分配方法及云计算服务器 | |
CN115408702B (zh) | Stacking接口运行风险等级评估方法及其应用 | |
CN113949577A (zh) | 一种应用于云服务的数据攻击分析方法及服务器 | |
CN111476375A (zh) | 一种确定识别模型的方法、装置、电子设备及存储介质 | |
CN113726783A (zh) | 异常ip地址识别方法、装置、电子设备及可读存储介质 | |
CN110147493B (zh) | 活跃因子的确定方法、装置、计算机设备及存储介质 | |
CN116757702A (zh) | 交易数据的确定方法和装置、处理器及电子设备 | |
CN118200190A (zh) | 基于人工智能的网络性能监控与维护方法、系统及介质 | |
CN108199878B (zh) | 高性能ip网络中个人标识信息识别系统及方法 | |
CN113065748A (zh) | 业务风险评估方法、装置、设备及存储介质 | |
CN113326064A (zh) | 划分业务逻辑模块的方法、电子设备及存储介质 | |
CN107734534B (zh) | 一种网络负荷评估方法及装置 | |
CN116739605A (zh) | 交易数据检测方法、装置、设备及存储介质 | |
CN116228312A (zh) | 大额积分兑换行为的处理方法和装置 | |
US20220222752A1 (en) | Methods for analyzing insurance data and devices thereof | |
CN110458707B (zh) | 基于分类模型的行为评估方法、装置及终端设备 | |
CN115175212A (zh) | 基站能耗的监测方法、装置、存储介质与电子设备 | |
CN115147117A (zh) | 资源使用异常的账户群组识别方法、装置及设备 | |
CN114155012A (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 |