本申请涉及网络安全领域,尤其是涉及一种基于api访问链路防跳步方法、系统、终端及存储介质。
背景技术:
1、api是数字经济中的基础组成部分;api接口是客户端和服务器之间交换数据的标准方式;在一个完整的业务流程中,包含了多个步骤,每个步骤都是一个链路,客户端对api接口的正常访问就组成了相应的链路;一般来说,由于业务流程本身的多样性,少数情况下用户不会按照既定顺序的链路依次进行访问,而这种不按照链路进行的访问被称为跳步访问;在链路传递的过程中,会有数据在链路中传输,而在跳步访问时,存在对链路中传输的数据进行攻击的情况,这种情况被称为跳步攻击;攻击者会采用这种方式来试探业务流程是否存在漏洞,因此检测跳步攻击是很有必要的。
技术实现思路
1、为了检测跳步攻击,本申请提供一种基于api访问链路防跳步方法、系统、终端及存储介质。
2、本申请目的一是提供一种基于api访问链路防跳步方法。
3、本申请的上述申请目的一是通过以下技术方案得以实现的:
4、一种基于api访问链路防跳步方法,包括:
5、获取访问链路;
6、将访问链路与预存的业务流程链路库中的业务链路进行匹配得到访问链路所属的业务流程信息及访问链路的下一级链路;
7、所述业务流程链路库包含业务流程信息、链路信息、链路访问顺序信息、业务流程信息和链路信息之间的对应关系、链路信息和链路访问顺序信息之间的对应关系,业务流程由多个链路按照一定顺序组成;
8、判断访问链路中的数据字段与下一级链路中的数据字段是否相同,且判断访问链路中的数据字段与上一级链路中的数据字段是否相同;
9、若访问链路中的数据字段与下一级链路中的数据字段不同或访问链路中的数据字段与上一级链路中的数据字段不同,基于预设的处理规则输出处理结果。
10、通过采用上述技术方案,先对访问链路进行分析,得到其上一级链路和下一级链路,然后判断访问链路与上一级链路或下一级链路中的数据字段是否相同,若存在不同时,则说明对于整个业务流程而言,有其中一个或多个链路中的数据遭到了篡改,那么就对其采取相应的处理措施;通过这种方式,实现了对跳步攻击的检测。
11、本申请在一较佳示例中可以进一步配置为,在使用预存的业务流程链路库之前,需要构建业务流程链路库,具体步骤包括:
12、获取传输链路大数据;
13、基于预设的业务分析规则,对传输链路大数据进行分析得到多个传输链路组及每个传输链路组内各个传输链路之间的访问顺序;
14、基于传输链路组和传输链路组内各个传输链路之间的访问顺序确定业务流程;
15、根据传输链路组、业务流程及传输链路组内各个传输链路之间的访问顺序构建业务流程链路库。
16、本申请在一较佳示例中可以进一步配置为,所述基于预设的业务分析规则,对传输链路大数据进行分析得到多个传输链路组及每个传输链路组内各个传输链路之间的访问顺序的步骤包括:
17、截取预设时间段的传输链路大数据;
18、对预设时间段对应的传输链路大数据内的传输链路计数得到每个传输链路的出现次数;
19、对预设时间段对应的传输链路大数据内的传输链路进行标记得到每个传输链路的出现时间;
20、比较各个传输链路的出现次数,计算任意两个传输链路之间的出现次数之差得到次数差值;
21、将次数差值与预设差值进行比较,若次数差值小于预设差值,则将次数差值对应的两个传输链路视作同一组传输链路;
22、基于每个传输链路的出现时间确定每个传输链路之间的访问顺序。
23、本申请在一较佳示例中可以进一步配置为:所述处理规则包括输出报警信息和对数据字段进行阻断。
24、本申请在一较佳示例中可以进一步配置为,还包括:
25、对访问链路进行拦截,并向访问链路的数据字段中插入签名;
26、对再次拦截到的签名进行验证,判断其与上一次签名是否相同;
27、若不同,则输出报警信息或对数据字段进行阻断。
28、本申请在一较佳示例中可以进一步配置为:被插入签名的数据字段为自定义数据字段;即,对任一访问链路中的数据字段均可插入签名。
29、本申请在一较佳示例中可以进一步配置为:所述获取访问链路的步骤包括,根据爬虫爬取访问链路大数据,根据访问链路大数据得到访问链路。
30、本申请目的二是提供一种基于api访问链路防跳步系统。
31、本申请的上述申请目的二是通过以下技术方案得以实现的:
32、一种基于api访问链路防跳步系统,包括:
33、获取模块,用于获取访问链路;
34、匹配模块,用于将访问链路与预存的业务流程链路库中的业务链路进行匹配得到访问链路所属的业务流程信息及访问链路的下一级链路;所述业务流程链路库包含业务流程信息、链路信息、链路访问顺序信息、业务流程信息和链路信息之间的对应关系、链路信息和链路访问顺序信息之间的对应关系,业务流程由多个链路按照一定顺序组成;
35、判断模块,用于判断访问链路中的数据字段与下一级链路中的数据字段是否相同,且判断访问链路中的数据字段与上一级链路中的数据字段是否相同;
36、输出模块,用于在访问链路中的数据字段与下一级链路中的数据字段不同或访问链路中的数据字段与上一级链路中的数据字段不同,基于预设的处理规则输出处理结果。
37、本申请目的三是提供一种智能终端。
38、本申请的上述申请目的三是通过以下技术方案得以实现的:
39、一种智能终端,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行的上述基于api访问链路防跳步方法的计算机程序指令。
40、本申请目的四是提供一种计算机介质,能够存储相应的程序。
41、本申请的上述申请目的四是通过以下技术方案得以实现的:
42、一种计算机可读存储介质,存储有能够被处理器加载并执行上述任一种基于api访问链路防跳步方法的计算机程序。
43、综上所述,本申请包括以下至少一种有益技术效果:
44、通过对访问链路的分析能够得到其在一个业务流程中的位置和访问顺序,从而可以判断出其上一级链路和下一级链路,然后将相邻线路中的数据字段进行比较,若发生变化,则说明其中一个链路遭受到了跳步攻击,其内数据字段遭到篡改;通过这种方式,可以实现对跳步攻击的及时检测,并且可以对其采取相应的处理措施,最低程度的减少跳步攻击带来的损失。
1.一种基于api访问链路防跳步方法,其特征在于,包括:
2.根据权利要求1所述的基于api访问链路防跳步方法,其特征在于,在使用预存的业务流程链路库之前,需要构建业务流程链路库,具体步骤包括:
3.根据权利要求2所述的基于api访问链路防跳步方法,其特征在于,所述基于预设的业务分析规则,对传输链路大数据进行分析得到多个传输链路组及每个传输链路组内各个传输链路之间的访问顺序的步骤包括:
4.根据权利要求1所述的基于api访问链路防跳步方法,其特征在于,所述处理规则包括输出报警信息和对数据字段进行阻断。
5.根据权利要求4所述的基于api访问链路防跳步方法,其特征在于,还包括:
6.根据权利要求5所述的基于api访问链路防跳步方法,其特征在于,被插入签名的数据字段为自定义数据字段;即,对任一访问链路中的数据字段均可插入签名。
7.根据权利要求1所述的基于api访问链路防跳步方法,其特征在于,所述获取访问链路的步骤包括,根据爬虫爬取访问链路大数据,根据访问链路大数据得到访问链路。
8.一种基于api访问链路防跳步系统,其特征在于,包括:
9.一种智能终端,其特征在于,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如权利要求1-7中任一种所述的方法的计算机程序指令。
10.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1-7中任一种所述的方法的计算机程序。