CN116560764B - 应用程序接口控制方法和装置 - Google Patents
应用程序接口控制方法和装置 Download PDFInfo
- Publication number
- CN116560764B CN116560764B CN202310851406.XA CN202310851406A CN116560764B CN 116560764 B CN116560764 B CN 116560764B CN 202310851406 A CN202310851406 A CN 202310851406A CN 116560764 B CN116560764 B CN 116560764B
- Authority
- CN
- China
- Prior art keywords
- application program
- interface control
- user
- request
- target application
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000011217 control strategy Methods 0.000 claims abstract description 87
- 238000010801 machine learning Methods 0.000 claims abstract description 28
- 230000008859 change Effects 0.000 claims abstract description 13
- 230000006399 behavior Effects 0.000 claims description 51
- 230000000977 initiatory effect Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 22
- 238000012544 monitoring process Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000013475 authorization Methods 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000012502 risk assessment Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 206010001488 Aggression Diseases 0.000 description 1
- 208000012761 aggressive behavior Diseases 0.000 description 1
- 230000016571 aggressive behavior Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开提供了一种应用程序接口控制方法和装置,涉及应用程序接口控制技术领域,该方法实时获取相关数据,相关数据包括与目标应用程序相关的用户请求数据、网络环境数据和威胁情报;基于相关数据,通过机器学习得到接口控制策略模型,接口控制策略模型用于描述相关数据内各种数据之间的关联关系和变化规律;依据接口控制策略模型生成与相关数据相匹配的应用程序接口控制策略;接收目标应用程序访问请求;按照生成的应用程序接口控制策略判断是否响应目标应用程序访问请求,解决了现有技术中应用程序接口访问难以控制的问题。
Description
技术领域
本发明涉及应用程序接口控制技术领域,具体涉及一种应用程序接口控制方法和装置。
背景技术
相关技术中,常用固定阈值限制的方式实现应用程序接口控制,固定阈值限制方式通过设置固定阈值来限制单个IP或用户在一定时间内的访问次数。这种方法简单易实现,但缺乏针对性,可能会误伤正常用户或放过恶意攻击者。
发明内容
本发明要解决的技术问题在于克服现有技术中固定阈值限制的方式实现应用程序接口控制,缺乏针对性,可能会误伤正常用户或放过恶意攻击者的问题,从而提供一种应用程序接口控制方法和装置。
为解决上述技术问题,本发明公开实施例至少提供一种应用程序接口控制方法和装置。
第一方面,本发明公开实施例提供了一种应用程序接口控制方法,所述方法包括:
实时获取相关数据,所述相关数据包括与目标应用程序相关的用户请求数据、网络环境数据和威胁情报;
基于所述相关数据,通过机器学习得到接口控制策略模型,所述接口控制策略模型用于描述所述相关数据内各种数据之间的关联关系和变化规律;
依据所述接口控制策略模型生成与所述所述相关数据相匹配的应用程序接口控制策略;
接收所述目标应用程序访问请求;
按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求。
可选地,所述基于所述相关数据,通过机器学习得到接口控制策略模型包括:从所述相关数据中提取目标特征数据;基于所述目标特征数据,利用预置训练数据集通过机器学习得到接口控制策略模型。
可选地,所述应用程序接口控制策略包括用户行为分析策略,所述按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求包括:按照用户行为模型判断发起所述目标应用程序访问请求的用户是否存在恶意请求的可能,所述用户行为模型用于描述用户行为特征;若判定发起所述目标应用程序访问请求的用户存在恶意请求的可能,则拒绝响应所述目标应用程序访问请求。
可选地,在按照用户行为模型判断发起所述目标应用程序访问请求的用户是否存在恶意请求的可能之前,所述按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求还包括:获取用户对所述目标应用程序的请求数据,所述请求数据包括请求来源、请求频率和请求参数;基于所述请求数据,通过机器学习得到用户行为模型。
可选地,所述应用程序接口控制策略包括令牌桶限流策略,若判定发起所述目标应用程序访问请求的用户不存在恶意请求的可能,则所述按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求还包括:采用自适应令牌桶算法调整令牌桶的容量和生成速率;按照调整后生成的令牌桶对用户请求进行限流。
可选地,若判定发起所述目标应用程序访问请求的用户存在恶意请求的可能,则按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求还包括:将发起所述目标应用程序访问请求的用户加入黑名单中。
可选地,所述目标应用程序访问请求中包括用户IP信息,在按照用户行为模型判断发起所述目标应用程序访问请求的用户是否存在恶意请求的可能之前,所述按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求还包括:从所述目标应用程序访问请求中获取用户IP信息;根据所述用户IP信息判断所述用户是否在黑名单中;若所述用户IP信息在黑名单中,则拒绝响应所述目标应用程序访问请求;若所述用户IP信息不在黑名单中,则按照用户行为模型判断发起所述目标应用程序访问请求的用户是否存在恶意请求的可能。
第二方面,本发明公开实施例提供了一种应用程序接口控制装置,所述装置包括:
实时数据获取模块,用于实时获取相关数据,所述相关数据包括与目标应用程序相关的用户请求数据、网络环境数据和威胁情报;
接口控制策略模型生成模块,用于基于所述相关数据,通过机器学习得到接口控制策略模型,所述接口控制策略模型用于描述所述相关数据内各种数据之间的关联关系和变化规律;
接口控制策略生成模块,用于依据所述接口控制策略模型生成与所述所述相关数据相匹配的应用程序接口控制策略;
访问请求接收模块,用于接收所述目标应用程序访问请求;
响应模块,用于按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求。
第三方面,本发明公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本发明公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本发明的实施例提供的技术方案可以具有以下有益效果:
实时获取特定相关数据,基于相关数据,通过机器学习得到接口控制策略模型,接口控制策略模型用于描述相关数据内各种数据之间的关联关系和变化规律;依据接口控制策略模型生成与相关数据相匹配的应用程序接口控制策略;按照生成的应用程序接口控制策略判断是否响应目标应用程序访问请求,该方案通过实时监控、动态调整的方式,实现对API接口的有效防护,提高系统的稳定性和安全性,具有自适应调整、用户友好、易于维护等特点,可以应对各种类型的恶意请求和攻击手段。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明公开实施例所提供的一种应用程序接口控制方法的流程图;
图2示出了本发明公开实施例所提供的另一种应用程序接口控制方法的流程图;
图3示出了本发明公开实施例所提供的一种应用程序接口控制装置的结构图;
图4示出了本发明公开实施例所提供的一种计算机设备的结构示意图;
图5示出了本发明公开实施例所提供的又一种应用程序接口控制方法的流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附发明内容中所详述的、本发明的一些方面相一致的装置和方法的例子。
实施例1
如图1所示,本发明公开实施例所提供的一种应用程序接口控制方法的流程图,该方法包括。
S11:实时获取相关数据,相关数据包括与目标应用程序相关的用户请求数据、网络环境数据和威胁情报。
S12:基于相关数据,通过机器学习得到接口控制策略模型,接口控制策略模型用于描述相关数据内各种数据之间的关联关系和变化规律。
S13:依据接口控制策略模型生成与相关数据相匹配的应用程序接口控制策略。
S14:接收目标应用程序访问请求。
S15:按照生成的应用程序接口控制策略判断是否响应目标应用程序访问请求。
可以理解的是,本实施例提供的技术方案,实时获取特定相关数据,基于相关数据,通过机器学习得到接口控制策略模型,接口控制策略模型用于描述相关数据内各种数据之间的关联关系和变化规律;依据接口控制策略模型生成与相关数据相匹配的应用程序接口控制策略;按照生成的应用程序接口控制策略判断是否响应目标应用程序访问请求,该方案通过实时监控、动态调整的方式,实现对API接口的有效防护,提高系统的稳定性和安全性,具有自适应调整、用户友好、易于维护等特点,可以应对各种类型的恶意请求和攻击手段。
实施例2
作为实施例1的一种改进,如图2所示,本发明公开实施例所提供的另一种应用程序接口控制方法的流程图,该方法包括:
S21:实时获取相关数据,相关数据包括与目标应用程序相关的用户请求数据、网络环境数据和威胁情报。
S22:基于相关数据,通过机器学习得到接口控制策略模型,接口控制策略模型用于描述相关数据内各种数据之间的关联关系和变化规律。
S23:依据接口控制策略模型生成与相关数据相匹配的应用程序接口控制策略。
S24:接收目标应用程序访问请求。
S25:按照生成的应用程序接口控制策略判断是否响应目标应用程序访问请求。
在一些可选实施例中,S22可以通过但不限于以下过程实现:
S221:从相关数据中提取目标特征数据。
S222:基于目标特征数据,利用预置训练数据集通过机器学习得到接口控制策略模型。
在一些可选实施例中,应用程序接口控制策略包括用户行为分析策略,S25可以通过但不限于以下过程实现(图中未示出):
S251:按照用户行为模型判断发起目标应用程序访问请求的用户是否存在恶意请求的可能,用户行为模型用于描述用户行为特征。
S252:若判定发起目标应用程序访问请求的用户存在恶意请求的可能,则拒绝响应目标应用程序访问请求。
在一些可选实施例中,在S251之前,S25还包括(图中未示出):
S253:获取用户对目标应用程序的请求数据,请求数据包括请求来源、请求频率和请求参数。
S254:基于请求数据,通过机器学习得到用户行为模型。
在一些可选实施例中,应用程序接口控制策略包括令牌桶限流策略,若S251判定发起目标应用程序访问请求的用户不存在恶意请求的可能,则S25还包括(图中未示出):
S255:采用自适应令牌桶算法调整令牌桶的容量和生成速率。
S256:按照调整后生成的令牌桶对用户请求进行限流。
在一些可选实施例中,若S251判定发起目标应用程序访问请求的用户存在恶意请求的可能,则S25还包括(图中未示出):
S257:将发起目标应用程序访问请求的用户加入黑名单中。
在一些可选实施例中,目标应用程序访问请求中包括用户IP信息,在S251之前,S25还包括(图中未示出):
S258:从目标应用程序访问请求中获取用户IP信息。
S259:根据用户IP信息判断用户是否在黑名单中。
S260:若用户IP信息在黑名单中,则拒绝响应目标应用程序访问请求。
S261:若用户IP信息不在黑名单中,则按照用户行为模型判断发起目标应用程序访问请求的用户是否存在恶意请求的可能。
需要说明的是,上述自适应令牌桶算法是一种基于令牌桶算法的改进,不同于常规的令牌桶算法,该算法可以根据网络状况动态调整令牌的产生速率和桶的容量,以适应不同的流量需求,具体过程如下:
1. 初始化:
设置初始令牌桶容量和令牌生成速率。
记录当前时间作为起始时间。
2. 请求处理:
每个请求到达时,检查令牌桶中是否有足够的令牌用于处理该请求。
如果令牌桶中的令牌数量不足,则需要等待或丢弃该请求。
如果令牌桶中有足够的令牌,则进行请求处理,并从令牌桶中消耗相应数量的令牌。
3. 动态调整令牌生成速率:
在每个请求处理完成后,根据实时请求的情况动态调整令牌生成速率。
根据当前时间与起始时间的时间差,计算实际经过的时间段。
根据实际经过的时间段和令牌桶中剩余的令牌数量,推算出平均生成速率。
根据平均生成速率和目标生成速率的比较,调整令牌生成速率的增加或减少。
4. 令牌生成速率调整:
根据调整结果,对令牌生成速率进行线性调整或指数调整。
可以根据当前速率与目标速率的偏差大小来确定调整的幅度。
调整后的令牌生成速率将应用于下一个时间段的请求处理。
通过以上的算法过程,自适应令牌桶算法可以根据实际请求的情况动态调整令牌生成速率,以实现更加灵活和自适应的请求限流策略。这种动态调整的特性使得算法能够适应不同的请求场景,并在高峰期或低峰期进行相应的优化,从而提供更好的请求处理能力和系统性能。
可以理解的是,本实施例提供的技术方案,实时获取特定相关数据,基于相关数据,通过机器学习得到接口控制策略模型,接口控制策略模型用于描述相关数据内各种数据之间的关联关系和变化规律;依据接口控制策略模型生成与相关数据相匹配的应用程序接口控制策略;按照生成的应用程序接口控制策略判断是否响应目标应用程序访问请求,该方案通过实时监控、动态调整的方式,实现对API接口的有效防护,提高系统的稳定性和安全性,具有自适应调整、用户友好、易于维护等特点,可以应对各种类型的恶意请求和攻击手段。
实施例3
如图3所示,本发明实施例还提供又一种应用程序接口控制装置,该装置包括:
实时数据获取模块31,用于实时获取相关数据,相关数据包括与目标应用程序相关的用户请求数据、网络环境数据和威胁情报。
接口控制策略模型生成模块32,用于基于相关数据,通过机器学习得到接口控制策略模型,接口控制策略模型用于描述相关数据内各种数据之间的关联关系和变化规律。
接口控制策略生成模块33,用于依据接口控制策略模型生成与相关数据相匹配的应用程序接口控制策略。
访问请求接收模块34,用于接收目标应用程序访问请求。
响应模块35,用于按照生成的应用程序接口控制策略判断是否响应目标应用程序访问请求。
在一些可选实施例中,接口控制策略模型生成模块32包括:
目标特征提取子模块321,用于从相关数据中提取目标特征数据。
控制策略模型训练子模块322,用于基于目标特征数据,利用预置训练数据集通过机器学习得到接口控制策略模型。
在一些可选实施例中,应用程序接口控制策略包括用户行为分析策略,响应模块35包括:
恶意用户判定子模块351,用于按照用户行为模型判断发起目标应用程序访问请求的用户是否存在恶意请求的可能,用户行为模型用于描述用户行为特征。
响应拒绝子模块352,用于若判定发起目标应用程序访问请求的用户存在恶意请求的可能,则拒绝响应目标应用程序访问请求。
在一些可选实施例中,响应模块35还包括:
请求数据获取子模块353,用于获取用户对目标应用程序的请求数据,请求数据包括请求来源、请求频率和请求参数。
用户行为模型训练子模块354,用于基于请求数据,通过机器学习得到用户行为模型。
在一些可选实施例中,应用程序接口控制策略包括令牌桶限流策略,若恶意用户判定子模块351判定发起目标应用程序访问请求的用户不存在恶意请求的可能,响应模块35还包括:
令牌桶调整子模块355,用于采用自适应令牌桶算法调整令牌桶的容量和生成速率。
限流子模块356,用于按照调整后生成的令牌桶对用户请求进行限流。
在一些可选实施例中,若恶意用户判定子模块351判定发起目标应用程序访问请求的用户存在恶意请求的可能,响应模块35还包括:
黑名单更新子模块357,用于将发起目标应用程序访问请求的用户加入黑名单中。
在一些可选实施例中,目标应用程序访问请求中包括用户IP信息,响应模块35还包括:
用户IP信息获取子模块358,用于从目标应用程序访问请求中获取用户IP信息。
用户风险判定子模块359,用于根据用户IP信息判断用户是否在黑名单中。
响应拒绝子模块352,若用户IP信息在黑名单中,则拒绝响应目标应用程序访问请求。
恶意用户判定子模块351,若用户IP信息不在黑名单中,则按照用户行为模型判断发起目标应用程序访问请求的用户是否存在恶意请求的可能。
可以理解的是,本实施例提供的技术方案,实时获取特定相关数据,基于相关数据,通过机器学习得到接口控制策略模型,接口控制策略模型用于描述相关数据内各种数据之间的关联关系和变化规律;依据接口控制策略模型生成与相关数据相匹配的应用程序接口控制策略;按照生成的应用程序接口控制策略判断是否响应目标应用程序访问请求,该方案通过实时监控、动态调整的方式,实现对API接口的有效防护,提高系统的稳定性和安全性,具有自适应调整、用户友好、易于维护等特点,可以应对各种类型的恶意请求和攻击手段。
实施例4
基于同一技术构思,本申请实施例还提供了一种计算机设备,包括存储器1和处理器2,如图4所示,存储器1存储有计算机程序,处理器2执行计算机程序时实现上述任一项的应用程序接口控制方法。
其中,存储器1至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器1在一些实施例中可以是应用程序接口控制系统的内部存储单元,例如硬盘。存储器1在另一些实施例中也可以是应用程序接口控制系统的外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,存储器1还可以既包括应用程序接口控制系统的内部存储单元也包括外部存储设备。存储器1不仅可以用于存储安装于应用程序接口控制系统的应用软件及各类数据,例如应用程序接口控制程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器2在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器1中存储的程序代码或处理数据,例如执行应用程序接口控制程序等。
可以理解的是,本实施例提供的技术方案,实时获取特定相关数据,基于相关数据,通过机器学习得到接口控制策略模型,接口控制策略模型用于描述相关数据内各种数据之间的关联关系和变化规律;依据接口控制策略模型生成与相关数据相匹配的应用程序接口控制策略;按照生成的应用程序接口控制策略判断是否响应目标应用程序访问请求,该方案通过实时监控、动态调整的方式,实现对API接口的有效防护,提高系统的稳定性和安全性,具有自适应调整、用户友好、易于维护等特点,可以应对各种类型的恶意请求和攻击手段。
为了便于读者理解发明实施例技术方案,下面通过具体实例详述以上方案。
主要技术特点描述如下:
实时数据监控:通过监控应用程序运行系统的运行状态,动态收集各种应用程序接口控制指标,为自动调整应用程序接口控制策略提供数据支持。
根据动态调整的输入数据,生成相应的应用程序接口控制策略:
2.1. 输入数据收集,应用程序运行系统实时收集多种数据作为输入,包括但不限于以下几个方面:
请求数据,收集API请求的相关信息,如请求来源IP、请求参数、请求频率等。
环境数据,获取系统运行环境的相关信息,如服务器负载、网络状态等。
威胁情报,获取来自内部和外部的威胁情报,如黑名单数据、异常行为分析等。
2.2. 数据分析和建模,通过机器学习和数据分析技术,对收集到的数据进行分析和建模,以发现数据之间的关联和潜在规律,具体过程如下:
特征提取,从输入数据中提取有意义的特征,如请求频率模式、IP归属地、参数组合等。
模型训练,利用训练数据集对机器学习模型进行训练,建立数据与应用程序接口控制策略之间的映射关系。
2.3. 动态调整应用程序接口控制策略,根据数据分析和建模的结果,应用程序运行系统生成相应的应用程序接口控制策略,以适应不同的攻击情况和需求,具体如下:
应用程序接口控制规则调整,根据分析结果调整应用程序接口控制规则,如调整请求频率阈值、参数校验规则、IP访问限制等。
验证机制更新,根据分析结果更新验证机制,如增加新的验证码类型、优化验证流程等。
动态阻断策略,根据分析结果调整阻断策略,如增加特定IP的封禁、拦截可疑请求等。
2.4. 实时应用和监控,根据动态调整的应用程序接口控制策略,应用程序运行系统实时应用于API访问控制过程,并进行监控和反馈,具体过程如下:
实时监测,监测API请求的行为和特征,及时发现异常或恶意行为。
即时应用,根据动态调整的应用程序接口控制策略,对API请求进行实时验证和处理。
反馈与评估,根据实时监测结果和反馈信息,评估当前应用程序接口控制策略的效果,并作出相应调整。
安全认证与授权,验证请求用户的身份,根据用户角色分配权限,限制用户对接口的访问次数和范围。
用户行为分析,通过对用户行为进行分析,识别恶意请求,并采取相应的应用程序接口控制措施,如下:
2.4.1. 用户请求数据分析:
请求来源,收集用户请求的相关信息,包括IP地址、用户标识、用户设备信息等。通过分析请求来源的多样性和可疑性,可以判断是否存在恶意请求。
请求频率,监测用户请求的频率和间隔时间。异常的请求频率,如过于频繁或突然增加,可能是攻击行为的指示。
请求参数,分析请求中的参数内容和组合方式。检测是否存在异常的参数组合或请求参数的格式问题,以识别潜在的攻击行为。
2.4.2. 用户行为建模:
特征提取,从用户请求数据中提取有意义的特征。可以使用统计方法、机器学习技术等进行特征提取,例如请求频率、请求参数的频次、请求来源的地理位置等。
建立模型,利用提取的特征数据建立用户行为模型。可以采用各种机器学习算法,如决策树、随机森林、神经网络等,对用户行为进行分类和预测。
模型评估与更新,对建立的用户行为模型进行评估和验证。使用测试数据集对模型进行测试,并根据评估结果对模型进行调整和更新,以提高模型的准确性和适应性。
2.4.3. 模型的特征和输出:
模型特征,用户行为模型的特征可以包括请求频率、请求参数的模式、请求来源的地理位置、设备信息等。根据实际情况选择和提取特征,以更好地反映用户行为的特点和规律。
模型输出,用户行为模型的输出可以是对用户请求的分类,如正常请求或可疑请求。也可以输出具体的风险评分,以指示请求的可信度程度。
2.4.4. 模型应用和调整:
实时应用,将建立的用户行为模型应用于实时的API请求处理过程。对每个请求进行特征提取,并使用模型对请求进行分类和判断,以确定是否为恶意请求。
模型调整,根据实时监测和模型评估结果,对用户行为模型进行调整。可以通过增加新的特征、调整模型参数、引入新的机器学习算法等方式,不断改进模型的准确性和适应性。
令牌桶限流,采用自适应令牌桶算法进行限流,有效应对突发流量。
数据缓存与预测,对可能被频繁访问的数据进行预测,提前进行缓存,降低系统资源的消耗。
容错处理,在服务器节点出现故障时,自动切换到其他正常节点,保证接口的高可用性。
易于维护,提供一个友好的应用程序接口控制策略配置界面,方便开发者根据实际需要进行配置和调整。
通过实施本发明实施例中的智能动态应用程序接口控制处理方案,有效地降低恶意请求对系统造成的损害,提高系统的稳定性和安全性,具有较强的实用性和广泛的应用前景。实时监控系统的运行状态,包括请求量、响应时间、错误率等指标。将实时监控的数据用于动态调整应用程序接口控制策略,使应用程序接口控制效果更加精确和灵活。
IP限制策略,根据IP地址判断用户是否属于恶意请求者。对于已知的恶意IP地址,可将其加入黑名单,拒绝访问。同时,根据用户行为分析和风险评估结果,动态更新黑名单。
安全认证与授权,验证用户身份,并根据用户角色分配相应的权限。限制用户对接口的访问次数和访问范围,防止恶意用户滥用接口资源。
用户行为分析与风险评估,通过分析用户请求数据,对用户行为进行建模,识别恶意请求。结合风险评估模型,对请求进行风险等级划分,并采取相应的应用程序接口控制措施。
自适应令牌桶限流算法,根据实时监控的数据,动态调整令牌桶的容量和生成速率。对请求进行限流处理,有效应对突发流量,保障系统稳定运行。
优先级队列调度,根据风险等级和业务需求,将请求放入不同优先级的队列中。按照先进先出原则处理请求,确保关键业务的正常运行。
数据缓存与预测,对可能被频繁访问的数据进行预测,提前将预测数据进行缓存。当请求的数据在缓存中存在时,直接返回缓存数据,降低系统资源的消耗。
负载均衡与容错处理,将请求分配到不同的服务器节点上,实现负载均衡。当某个节点出现故障时,自动切换到其他正常节点,保证接口的高可用性。
应用程序接口控制日志记录与统计,记录与统计应用程序接口控制处理的相关信息,包括拦截的恶意请求、拒绝的请求等。通过数据分析,为开发者提供应用程序接口控制策略优化建议,持续提升应用程序接口控制效果。
应用程序接口控制策略配置界面,提供一个友好的应用程序接口控制策略配置界面,方便开发者根据实际需要进行阈值、令牌桶参数等配置和调整,提高应用程序接口控制策略的灵活性。
异步处理与响应,对于耗时较长的请求,采用异步处理方式,避免阻塞其他请求。在请求处理完成后,通过回调函数或消息队列等方式通知客户端。
验证码机制,在恶意请求高峰期或系统资源紧张时,启用验证码机制。通过人机验证,有效阻止恶意请求,降低对系统的影响。
灵活的扩展性,本发明的技术方案支持模块化设计,可根据业务需求和系统性能要求灵活地增加或减少应用程序接口控制功能模块。
API密钥管理,为每个API接口分配一个唯一的密钥,通过密钥验证用户对接口的访问权限。同时,可对密钥进行管理,如定期更新、暂停使用等。
与其他防护手段的集成,本发明实施例的技术方案可与其他防护手段(如WAF、DDoS防护等)集成使用,实现多层次、全方位的接口安全防护。
通过实施本发明的智能动态接口应用程序接口控制处理方案,可以有效地降低恶意请求对系统造成的损害,提高系统的稳定性和安全性。本发明具有较强的实用性和广泛的应用前景,可广泛应用于互联网、金融、电商、物联网等领域。
结合图5,本实施例提供的应用程序接口控制流程如下:
初始化应用程序接口控制策略与实时监控模块。
1、用户发起请求。
2、判断用户IP是否在黑名单,若是,则拒绝请求,返回错误信息;若
否,3、则进入下一步(S104)。
4、安全认证与授权,若通过,则进入下一步(S105),若不通过,则拒绝请求,返回错误信息。
5、用户行为分析与风险评估,高风险:将IP加入黑名单,拒绝请求,返回错误信息,中低风险:进入下一步(S106)。
5、令牌桶限流,有可用令牌:进入下一步(S107),无可用令牌:拒绝请求,返回错误信息。
6、将请求加入优先级队列。
7、数据缓存与预测。
8、负载均衡与容错处理。
9、处理请求。
10、返回结果给用户。
11、实时监控与自动调整应用程序接口控制策略。
12、记录应用程序接口控制日志与统计。
该方案基于实时监控数据的动态调整应用程序接口控制策略:根据实时监控的系统运行状态数据,智能调整应用程序接口控制策略参数,实现更加精确和灵活的接口应用程序接口控制效果,支持模块化设计,模块化设计与灵活的扩展性,可根据业务需求和系统性能要求灵活地增加或减少应用程序接口控制功能模块。
以上创新点使本发明的智能动态接口应用程序接口控制处理方案在实际应用中具有较强的实用性和广泛的应用前景,值得进一步保护。
本发明公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中的应用程序接口控制方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本发明公开实施例所提供的应用程序接口控制方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行上述方法实施例中的应用程序接口控制方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本发明公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (8)
1.一种应用程序接口控制方法,其特征在于,包括:
实时获取相关数据,所述相关数据包括与目标应用程序相关的用户请求数据、网络环境数据和威胁情报;
基于所述相关数据,通过机器学习得到接口控制策略模型,所述接口控制策略模型用于描述所述相关数据内各种数据之间的关联关系和变化规律;
依据所述接口控制策略模型生成与所述相关数据相匹配的应用程序接口控制策略;
接收所述目标应用程序访问请求;
按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求;
所述应用程序接口控制策略包括用户行为分析策略,所述按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求包括:
按照用户行为模型判断发起所述目标应用程序访问请求的用户是否存在恶意请求的可能,所述用户行为模型用于描述用户行为特征;
若判定发起所述目标应用程序访问请求的用户存在恶意请求的可能,则拒绝响应所述目标应用程序访问请求;
所述应用程序接口控制策略包括令牌桶限流策略,若判定发起所述目标应用程序访问请求的用户不存在恶意请求的可能,则所述按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求还包括:
采用自适应令牌桶算法调整令牌桶的容量和生成速率;
按照调整后生成的令牌桶对用户请求进行限流。
2.根据权利要求1所述的应用程序接口控制方法,其特征在于,基于所述相关数据,通过机器学习得到接口控制策略模型包括:
从所述相关数据中提取目标特征数据;
基于所述目标特征数据,利用预置训练数据集通过机器学习得到接口控制策略模型。
3.根据权利要求2所述的应用程序接口控制方法,其特征在于,在按照用户行为模型判断发起所述目标应用程序访问请求的用户是否存在恶意请求的可能之前,所述按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求还包括:
获取用户对所述目标应用程序的请求数据,所述请求数据包括请求来源、请求频率和请求参数;
基于所述请求数据,通过机器学习得到用户行为模型。
4.根据权利要求3所述的应用程序接口控制方法,其特征在于,若判定发起所述目标应用程序访问请求的用户存在恶意请求的可能,则按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求还包括:
将发起所述目标应用程序访问请求的用户加入黑名单中。
5.根据权利要求4所述的应用程序接口控制方法,其特征在于,所述目标应用程序访问请求中包括用户IP信息,在按照用户行为模型判断发起所述目标应用程序访问请求的用户是否存在恶意请求的可能之前,所述按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求还包括:
从所述目标应用程序访问请求中获取用户IP信息;
根据所述用户IP信息判断所述用户是否在黑名单中;
若所述用户IP信息在黑名单中,则拒绝响应所述目标应用程序访问请求;
若所述用户IP信息不在黑名单中,则按照用户行为模型判断发起所述目标应用程序访问请求的用户是否存在恶意请求的可能。
6.一种应用程序接口控制装置,其特征在于,包括:
实时数据获取模块,用于实时获取相关数据,所述相关数据包括与目标应用程序相关的用户请求数据、网络环境数据和威胁情报;
接口控制策略模型生成模块,用于基于所述相关数据,通过机器学习得到接口控制策略模型,所述接口控制策略模型用于描述所述相关数据内各种数据之间的关联关系和变化规律;
接口控制策略生成模块,用于依据所述接口控制策略模型生成与所述相关数据相匹配的应用程序接口控制策略;
访问请求接收模块,用于接收所述目标应用程序访问请求;
响应模块,用于按照生成的所述应用程序接口控制策略判断是否响应所述目标应用程序访问请求;
应用程序接口控制策略包括用户行为分析策略,响应模块包括:恶意用户判定子模块,用于按照用户行为模型判断发起目标应用程序访问请求的用户是否存在恶意请求的可能,用户行为模型用于描述用户行为特征;响应拒绝子模块,用于若判定发起目标应用程序访问请求的用户存在恶意请求的可能,则拒绝响应目标应用程序访问请求;
应用程序接口控制策略包括令牌桶限流策略,若恶意用户判定子模块判定发起目标应用程序访问请求的用户不存在恶意请求的可能,响应模块还包括:
令牌桶调整子模块,用于采用自适应令牌桶算法调整令牌桶的容量和生成速率;限流子模块,用于按照调整后生成的令牌桶对用户请求进行限流。
7.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至5中任一项所述应用程序接口控制方法。
8.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至5中任一项所述应用程序接口控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310851406.XA CN116560764B (zh) | 2023-07-12 | 2023-07-12 | 应用程序接口控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310851406.XA CN116560764B (zh) | 2023-07-12 | 2023-07-12 | 应用程序接口控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116560764A CN116560764A (zh) | 2023-08-08 |
CN116560764B true CN116560764B (zh) | 2023-12-22 |
Family
ID=87493308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310851406.XA Active CN116560764B (zh) | 2023-07-12 | 2023-07-12 | 应用程序接口控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116560764B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795174A (zh) * | 2019-10-31 | 2020-02-14 | 成都西加云杉科技有限公司 | 一种应用程序接口调用方法、装置、设备及可读存储介质 |
CN112035858A (zh) * | 2020-08-28 | 2020-12-04 | 中国建设银行股份有限公司 | Api访问控制方法、装置、设备及介质 |
CN112291258A (zh) * | 2020-11-12 | 2021-01-29 | 杭州比智科技有限公司 | 网关风险控制方法及装置 |
CN114448734A (zh) * | 2022-04-11 | 2022-05-06 | 北京指掌易科技有限公司 | 一种网络访问方法、装置、设备以及存储介质 |
CN114915453A (zh) * | 2022-04-14 | 2022-08-16 | 浙江网商银行股份有限公司 | 访问响应方法以及装置 |
CN115202907A (zh) * | 2022-08-17 | 2022-10-18 | 平安付科技服务有限公司 | 一种应用程序接口的运行方法、系统、计算机设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7434257B2 (en) * | 2000-06-28 | 2008-10-07 | Microsoft Corporation | System and methods for providing dynamic authorization in a computer system |
-
2023
- 2023-07-12 CN CN202310851406.XA patent/CN116560764B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795174A (zh) * | 2019-10-31 | 2020-02-14 | 成都西加云杉科技有限公司 | 一种应用程序接口调用方法、装置、设备及可读存储介质 |
CN112035858A (zh) * | 2020-08-28 | 2020-12-04 | 中国建设银行股份有限公司 | Api访问控制方法、装置、设备及介质 |
CN112291258A (zh) * | 2020-11-12 | 2021-01-29 | 杭州比智科技有限公司 | 网关风险控制方法及装置 |
CN114448734A (zh) * | 2022-04-11 | 2022-05-06 | 北京指掌易科技有限公司 | 一种网络访问方法、装置、设备以及存储介质 |
CN114915453A (zh) * | 2022-04-14 | 2022-08-16 | 浙江网商银行股份有限公司 | 访问响应方法以及装置 |
CN115202907A (zh) * | 2022-08-17 | 2022-10-18 | 平安付科技服务有限公司 | 一种应用程序接口的运行方法、系统、计算机设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116560764A (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11456965B2 (en) | Network service request throttling system | |
CN109861985B (zh) | 基于风险等级划分的ip风控方法、装置、设备和存储介质 | |
US20190207966A1 (en) | Platform and Method for Enhanced Cyber-Attack Detection and Response Employing a Global Data Store | |
US9582335B2 (en) | System and method for distributing processing of computer security tasks | |
US20190207967A1 (en) | Platform and method for retroactive reclassification employing a cybersecurity-based global data store | |
US10075461B2 (en) | Detection of anomalous administrative actions | |
CN111274583A (zh) | 一种大数据计算机网络安全防护装置及其控制方法 | |
EP2712144A1 (en) | IP address confidence scoring system and method | |
US10419457B2 (en) | Selecting from computing nodes for correlating events | |
Mahdavi Hezavehi et al. | An anomaly-based framework for mitigating effects of DDoS attacks using a third party auditor in cloud computing environments | |
Monge et al. | Detection of economic denial of sustainability (EDoS) threats in self-organizing networks | |
CN110941844A (zh) | 一种认证鉴权方法、系统、电子设备及可读存储介质 | |
US9667552B2 (en) | Real-time SLA impact analysis | |
US20210344723A1 (en) | Distributed network application security policy generation and enforcement for microsegmentation | |
CN108183884B (zh) | 一种网络攻击判定方法及装置 | |
CN114363091B (zh) | 一种基于apisix实现平台应用统一登录的方法及系统 | |
CN116684123A (zh) | 一种微隔离云环境下的动态信任度评估方法和装置 | |
Jia et al. | A lightweight DDoS detection scheme under SDN context | |
CN117978556A (zh) | 一种数据访问控制方法、网络交换子系统及智能计算平台 | |
CN116560764B (zh) | 应用程序接口控制方法和装置 | |
JP7555494B2 (ja) | サービス拒否攻撃の自動検出および軽減 | |
CN115022008A (zh) | 一种访问风险评估方法、装置、设备及介质 | |
CN114297639A (zh) | 一种接口调用行为的监测方法、装置、电子设备及介质 | |
Rufino et al. | Improving predictability of user-affecting metrics to support anomaly detection in cloud services | |
KR20220055661A (ko) | 엣지 서비스 제어 처리 시스템 및 그 제어방법 |
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 |