一种识别制造技术

技术编号:39645481 阅读:8 留言:0更新日期:2023-12-09 11:13
本发明专利技术公开了一种识别

【技术实现步骤摘要】
一种识别API接口参数值递增型遍历的方法及装置


[0001]本专利技术涉及数据处理领域,具体涉及一种识别
API
接口参数值递增型遍历的方法及装置


技术介绍

[0002]API(Application Programming Interface
,应用程序编程接口
)
是用来连接服务与传输数据的重要通道,在
Web(
网页
)
应用等场景下有着广泛的运用

例如用户访问网站进行登录

用户信息查询等操作,实际都是浏览器与服务端进行了
API
交互操作;又比如数据共享交换场景中,典型的一种方式就是通过
API
网关进行数据的交换,数据提供者发布
API
,数据接收者根据秘钥完成
API
认证后调用
API
接口获取数据等

[0003]正是由于
API
使用的广泛性,近年来围绕
API
接口的安全攻击越来越多,其中针对接口参数的遍历是一种极具危害的攻击类型,此类攻击可以对例如登录接口的短信验证码
(4
~6位数字
)
进行如从
0001

9999
的遍历攻击,尝试找到正确的短信验证码;也有例如根据遍历从1~
99999
的用户
UID(User Identification
,用户身份证明
)
来获取所有用户的个人信息等

而传统的检测多为对
API
接口调用次数的统计检测,例如某
IP(Internet Protocol
,网际互连协议
)
短时间内
API
接口调用频率过高则产出告警,该检测方法相对简单,但容器产生误报,效果并不理想


技术实现思路

[0004]针对现有技术中存在的缺陷,本专利技术的目的在于提供一种识别
API
接口参数值递增型遍历的方法及装置,拥有良好的计算性能,解决了传统
API
安全中无法精准与高性能识别递增型遍历攻击的问题

[0005]为达到以上目的,本专利技术提供的一种识别
API
接口参数值递增型遍历的方法,具体包括以下步骤:
[0006]采集
API
接口相关数据作为待分析的数据源,并对采集的
API
接口相关数据进行开窗处理,基于
IP

Session
对开窗处理后的数据进行分组;
[0007]基于接口对分组后的数据再次进行分组处理,对得到的分组内的数据解析请求参数,得到数据的参数值,并对每个分组对应的参数值进行去重处理后排序形成参数值列表;
[0008]基于每个分组对应的参数值列表的长度,并当当前参数值列表的长度大于预设值时去除该参数值列表中首尾各预设数量的参数值,得到调整后的参数值列表,并计算得到遍历分布值;
[0009]根据参数值列表中参数值的个数,以及参数值列表对应调整后的参数值列表的遍历分布值,进行是否为
API
接口参数递增型遍历的判断

[0010]在上述技术方案的基础上,
[0011]所述
API
接口相关数据包括旁路网络流量日志
、WAF
原始访问日志
、WEB
应用访问日志和
API
接口日志;
[0012]所述
API
接口日志中包括请求
URI、
请求方法

请求源目的
IP、
请求头部字段
、req_body、
时间
、Host、url_path

url_query。
[0013]在上述技术方案的基础上,所述对采集的
API
接口相关数据进行开窗处理,基于
IP

Session
对开窗处理后的数据进行分组,具体步骤包括;
[0014]设定窗口大小,然后对采集的
API
接口相关数据进行开窗处理;
[0015]基于
IP

Session
对窗口内的数据进行分组

[0016]在上述技术方案的基础上,
[0017]对于基于
IP
对数据进行分组,具体为:根据
SIP
字段,或者对指定应用指定字段来作为源
IP
字段,实现分组;
[0018]对于基于
Session
对数据进行分组,具体为:根据
Cookie
,或者自定义联动登录接口获取
Session
信息,实现分组

[0019]在上述技术方案的基础上,所述基于接口对分组后的数据再次进行分组处理,对得到的分组内的数据解析请求参数,得到数据的参数值,并对每个分组对应的参数值进行去重处理后排序形成参数值列表,具体步骤包括:
[0020]基于识别接口方式对分组后的数据再次进行分组处理,得到分组以及各分组内的数据;
[0021]对分组内的数据进行
req_body

url_query
类型的识别,实现请求参数的解析,得到数据的参数值,并过滤参数值中的非数字部分;
[0022]对每个分组对应的参数值进行去重处理后进行排序,形成每个分组的参数值列表

[0023]在上述技术方案的基础上,所述基于每个分组对应的参数值列表的长度,并当当前参数值列表的长度大于预设值时去除该参数值列表中首尾各预设数量的参数值,得到调整后的参数值列表,并计算得到遍历分布值,具体步骤包括:
[0024]基于每个分组的参数值列表中参数值的个数,并当当前参数值列表的参数值个数大于预设值时去除该参数值列表中首尾各预设数量的参数值,得到调整后的参数值列表;
[0025]基于调整后的参数值列表中的参数值个数

最大参数值和最小参数值,计算得到调整后的参数值列表的遍历分布值

[0026]在上述技术方案的基础上,所述计算得到调整后的参数值列表的遍历分布值,具体的计算方式为:
[0027]A

len(collect)/(max(collect)

min(collect)+1)
[0028]其中,
A
表示调整后的参数值列表的遍历分布值,
len
表示调整后的参数值列表中的参数值个数,
collect
表示调整后的参数值列表,
max
表示调本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种识别
API
接口参数值递增型遍历的方法,其特征在于,具体包括以下步骤:采集
API
接口相关数据作为待分析的数据源,并对采集的
API
接口相关数据进行开窗处理,基于
IP

Session
对开窗处理后的数据进行分组;基于接口对分组后的数据再次进行分组处理,对得到的分组内的数据解析请求参数,得到数据的参数值,并对每个分组对应的参数值进行去重处理后排序形成参数值列表;基于每个分组对应的参数值列表的长度,并当当前参数值列表的长度大于预设值时去除该参数值列表中首尾各预设数量的参数值,得到调整后的参数值列表,并计算得到遍历分布值;根据参数值列表中参数值的个数,以及参数值列表对应调整后的参数值列表的遍历分布值,进行是否为
API
接口参数递增型遍历的判断
。2.
如权利要求1所述的一种识别
API
接口参数值递增型遍历的方法,其特征在于:所述
API
接口相关数据包括旁路网络流量日志
、WAF
原始访问日志
、WEB
应用访问日志和
API
接口日志;所述
API
接口日志中包括请求
URI、
请求方法

请求源目的
IP、
请求头部字段
、req_body、
时间
、Host、url_path

url_query。3.
如权利要求1所述的一种识别
API
接口参数值递增型遍历的方法,其特征在于,所述对采集的
API
接口相关数据进行开窗处理,基于
IP

Session
对开窗处理后的数据进行分组,具体步骤包括;设定窗口大小,然后对采集的
API
接口相关数据进行开窗处理;基于
IP

Session
对窗口内的数据进行分组
。4.
如权利要求3所述的一种识别
API
接口参数值递增型遍历的方法,其特征在于:对于基于
IP
对数据进行分组,具体为:根据
SIP
字段,或者对指定应用指定字段来作为源
IP
字段,实现分组;对于基于
Session
对数据进行分组,具体为:根据
Cookie
,或者自定义联动登录接口获取
Session
信息,实现分组
。5.
如权利要求1所述的一种识别
API
接口参数值递增型遍历的方法,其特征在于,所述基于接口对分组后的数据再次进行分组处理,对得到的分组内的数据解析请求参数,得到数据的参数值,并对每个分组对应的参数值进行去重处理后排序形成参数值列表,具体步骤包括:基于识别接口方式对分组后的数据再次进行分组处理,得到分组以及各分组内的数据;对分组内的数据进行
req_body

url_query
类型的识别,实现请求参数的解析,得到数据的参数值,并过滤参数值中的非数字部分;对每个分组对应的参数值进行去重处理后进行排序,形成每个分组的参数值列表
。6.
如权利要求1所述的一种识别
API
接口参数值递增型遍历的方法,其特征在于,所述基于每个分组...

【专利技术属性】
技术研发人员:许祥
申请(专利权)人:中电云计算技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1