本发明涉及通信安全,尤其是涉及一种api安全防护方法及系统。
背景技术:
1、随着互联网的快速发展,应用程序接口(api)已成为不同系统间进行数据交换和集成的重要手段。api的安全性越来越重要,黑客常常利用api的漏洞来获取敏感数据,如隐私信息、用户身份等。
2、目前,为了保护api的安全,许多企业和组织采取了多种防护措施,如输入验证、参数编码、身份验证、授权及防火墙等。通常防范参数攻击的手段需要进行较为复杂的配置,且防范参数较为固定难以灵活调整,导致安全防护具有局限性,如何提高对api安全防护的精度,提高api的安全性是目前亟待解决的问题。
技术实现思路
1、为了提高对api安全防护的精度,本技术提供了一种api安全防护方法及系统。
2、第一方面,本技术提供的一种api安全防护方法,采用如下的技术方案:
3、一种api安全防护方法,包括:
4、获取初始学习样本集;
5、根据初始学习样本集生成每个样本请求路由的参数规范;
6、响应于api网关识别出请求失败信息,对请求失败信息进行解析,得到失败请求路由和失败参数属性;
7、基于失败请求路由,将失败参数属性与所匹配的样本请求路由的参数规范进行对比,得到比对结果;所述参数规范包括必填参数规范和选填参数规范;
8、响应于比对结果为异常,基于预设处理规则对失败请求路由进行处理。
9、通过采用上述技术方案,通过初始学习样本集生成参数规范,并实时监测api网关的请求失败信息。当识别到请求失败信息时,对请求失败信息进行解析,得到失败请求路由和失败参数属性,以便将失败参数属性与生成的参数规范进行比对,并基于对异常的比对结果利用预设处理规则进行处理,确保api的安全性,通过基于初始学习样本集生成参数规范的方式,实现了提高api安全防护的精度,从而提升api的安全性的效果。
10、可选的,还包括:
11、响应于api网络识别出请求成功信息,对请求成功信息进行解析,得到成功请求路由和成功参数属性;
12、将成功请求路由和成功参数属性添加至初始学习样本集。
13、通过采用上述技术方案,api网络识别出请求成功信息说明请求正常,将成功请求路由和成功参数属性添加至初始学习样本集,能够持续优化参数规范,动态适应不断变化的攻击模式,增加了初始学习样本集的多样性,以便参数规范不断调整和优化。
14、可选的,所述根据初始学习样本集生成每个样本请求路由的参数规范,具体包括:
15、从初始学习样本集中提取每个初始学习样本的样本请求路由和参数信息;所述参数信息包括样本响应头、样本响应体、样本请求头和样本请求体;
16、根据样本请求路由,对参数信息进行分类以得到参数信息集;
17、对同类参数信息集中的参数信息进行计数,得到样本请求路由的样本数量;
18、从同类参数信息集中提取每一项参数信息所包含的所有参数名称和与参数名称对应的值;
19、根据参数名称,对与参数名称对应的值进行聚类,以得到参数名称对应的参数数组;所述参数数组包括所有与参数名称对应的值;
20、根据参数数组中所包含的元素数量以及样本数量,确定每一项参数信息的必填参数名称和选填参数名称;
21、根据参数数组,生成必填参数名称或选填参数名称的数据范围;
22、将必填参数名称和对应的数据范围作为必填参数规范,将选填参数名称和对应的数据范围,作为选填参数规范;
23、基于必填参数规范和选填参数规范,生成每个样本请求路由的参数规范。
24、通过采用上述技术方案,从初始学习样本集中提取每个样本的请求路由和相关的参数信息,根据请求路由对参数信息进行分类,形成不同的参数信息集,并对每个参数信息集进行计数,得到每个路由的样本数量,然后解析每个初始学习样本的请求头、请求体、响应头和响应体,提取出具体的参数名称和值,并将值整理为参数数组的形式,再通过分析参数数组中的元素数量与样本数量之间的关系,确定必填参数名称和选填参数名称并生成对应的数据范围,从而得到的每个样本请求路由对应的必填参数规范和选填参数规范,从必填参数规范和选填参数规范共同构成参数规范,丰富了参数规范的灵活性,以便在利用参数规范比对时结果更加可靠。
25、可选的,所述根据参数数组中所包含的元素数量以及样本数量,确定每一项参数信息的必填参数名称和选填参数名称,具体包括:
26、判断参数数组中所包含的元素数量是否大于预设值;
27、若大于预设值,则判断参数数组中所包含的元素数量是否等于样本数量;
28、若等于样本数量,则将参数数组对应的参数名称作为对应参数信息的必填参数名称;
29、若不等于样本数量,将参数数组对应的参数名称作为对应参数信息的选填参数名称。
30、通过采用上述技术方案,通过比较参数数组中的元素数量与预设值和样本数量,来判断参数名称是必填还是选填。即先判断参数数组中所包含的元素数量是否大于预设值,若参数数组中所包含的元素数量小于预设值,则说明此时样本还不具有代表性,当参数数组中所包含的元素数量大于预设值,在继续判断元素数量是否等于样本数量,若等于,说明每一个样本中都包含对应参数名称,则将该参数名称视为必填参数名称;否则将其视为选填参数名称。通过对历史的样本信息进行分析,能够更加灵活地适应实际情况,提高参数规范准确性。
31、可选的,所述根据参数数组,生成必填参数名称或选填参数名称的数据范围,具体包括:
32、获取参数数组的参数类型;所述参数类型包括字符串类型以及数值类型;
33、若参数类别为字符串类型,则统计参数数组中所有元素的最大长度和最小长度,并将最大长度和最小长度作为必填参数名称或选填参数名称的数据范围;
34、若参数类别为数值类型,则统计参数数组中所有元素的最大值和最小值,并将最大值和最小值作为必填参数名称或选填参数名称的数据范围。
35、通过采用上述技术方案,根据参数类型的不同,采取不同的处理方式来确定必填或选填参数名称的数据范围,对于字符串类型的参数,统计其最大长度和最小长度作为数据范围;而对于数值类型的参数,统计其最大值和最小值作为数据范围,结合不同类型参数的特点,确保了数据范围的合理性和准确性。
36、可选的,所述基于失败请求路由,将失败参数属性与所匹配的样本请求路由的参数规范进行对比,得到比对结果,具体包括:
37、获取与失败请求路由相匹配的样本请求路由的参数规范;
38、根据参数规范,提取失败参数属性中所有的待比对参数名称和待比对参数值;
39、判断待比对参数名称是否覆盖所有必填参数规范的参数名称;
40、若覆盖,则逐一判断每一项待比对参数值是否均在对应的必填参数规范或选填参数规范的数据范围内;
41、若在数据范围内,则生成对比结果为正常;
42、若不在数据范围内或未覆盖所有必填参数规范的参数名称,则生成对比结果为异常。
43、通过采用上述技术方案,对于必填参数规范,待比对参数名称需要完全涵盖并且待比对参数值也要满足相应的数据范围,才视为比对结果正常。而对于选填参数规范,待比对参数名称可以不完全涵盖,只需要对出现的待比对参数名称中出现的选填参数名称的数据范围进行比对,通过必填参数规范和选填参数规范共同对失败参数属性进行对比,更加灵活,提高了准确性。
44、可选的,所述预设处理规则包括重试次数限制规则、访问控制规则、身份验证规则以及限流规则。
45、通过采用上述技术方案,重试次数限制规则、访问控制规则、身份验证规则以及限流规则提供了多样化的预设处理规则,便于根据实际情况选择合适的预设处理规则。
46、第二方面,本技术提供一种api安全防护系统,采用如下技术方案:
47、一种api安全防护系统,包括:
48、样本获取单元,用于获取初始学习样本集;
49、规范生成单元,用于根据初始学习样本集生成每个样本请求路由的参数规范;
50、失败请求解析单元,用于响应于存在请求失败信息,对请求失败信息进行解析,得到失败请求路由和失败参数属性;
51、比对单元,用于基于失败请求路由,将失败参数属性与所匹配的样本请求路由的参数规范进行对比,得到比对结果;所述参数规范包括必填参数规范和选填参数规范;
52、处理单元,用于响应于比对结果为异常,基于预设处理规则对失败请求路由进行处理。
53、第三方面,本技术提供一种计算机设备,采用如下技术方案:
54、一种计算机设备,包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如上述任一种方法的计算机程序。
55、第四方面,本技术提供一种计算机可读存储介质,采用如下技术方案:
56、一种计算机可读存储介质,包括存储有能够被处理器加载并执行如上述任一方法中的计算机程序。
1.一种api安全防护方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求1所述的方法,其特征在于,所述根据初始学习样本集生成每个样本请求路由的参数规范,具体包括:
4.根据权利要求3所述的方法,其特征在于,所述根据参数数组中所包含的元素数量以及样本数量,确定每一项参数信息的必填参数名称和选填参数名称,具体包括:
5.根据权利要求3所述的方法,其特征在于,所述根据参数数组,生成必填参数名称或选填参数名称的数据范围,具体包括:
6.根据权利要求1所述的方法,其特征在于,所述基于失败请求路由,将失败参数属性与所匹配的样本请求路由的参数规范进行对比,得到比对结果,具体包括:
7.根据权利要求1所述的方法,其特征在于,所述预设处理规则包括重试次数限制规则、访问控制规则、身份验证规则以及限流规则。
8.一种api安全防护系统,其特征在于,包括:
9.一种计算机设备,其特征在于:包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如权利要求1-7中任一种方法的计算机程序。
10.一种计算机可读存储介质,其特征在于,包括存储有能够被处理器加载并执行如权利要求1-7中任一方法中的计算机程序。