一种api访问行为检测方法、装置、设备及存储介质
技术领域
1.本发明涉及计算机网络数据检测领域,具体而言,涉及一种api访问行为检测方法、装置、设备及存储介质。
背景技术:
2.目前随着互联网、物联网等快速发展,越来越多的开发者会使用api接口为客户提供各种服务并通过云原生应用快速部署容器进行快速迭代开发,由于在api接口既能够起到连接服务的功能,又可以用来传输数据,因此无论是在互联网访问网络资源或者事通过物联网进行系统应用的控制都会利用api接口,以使用户能够通过访问api地址对网络资源进行访问。
3.发明人在研究中发现,在开发者利用api接口向用户提供能够访问网络资源的api地址后,会出现对api地址进行的恶意访问行为(例如恶意攻击行为,恶意的入侵行为等)的情况,而恶意访问行为会而影响服务器的正常运作,甚至造成服务器所在网络瘫痪;因此,如何根据api地址的访问行为确定出api访问行为的状态成为了一个亟待解决的问题。
技术实现要素:
4.有鉴于此,本发明的目的在于提供一种api访问行为检测方法、装置、设备及存储介质,以根据api地址的访问行为确定出api访问行为的状态。
5.第一方面,本技术实施例提供了一种api访问行为检测方法,
所述方法包括;根据应用程序接口api地址的访问时间戳确定出预设的至少一个检测时间段中的每个检测时间段的所述api地址的访问
频次,其中,每个所述检测时间段的时长相同,每个所述检测时间段之间无重叠;根据预设的滑动步长和滑动窗口大小对每个检测时间段的所述api地址的访问频次进行滑动窗口统计,得到所述api地址的访问频次
序列组,其中,所述访问频次序列组由每个滑动窗口中所述api地址的访问频次序列组成,每个滑动窗口中所述api地址的访问频次序列由每个检测时间段的所述api地址的访问频次组成;对于所述api地址的访问频次序列组中的每个访问频次序列,利用预设的
距离算法确定出用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值,其中,该访问频次序列和每个所述异常特征序列均对应一个最小距离值;对于每个最小距离值,判断该最小距离值是否超过第一目标异常特征序列在预设的阈值数据库中所对应的最小距离阈值,其中,所述第一目标异常特征序列为利用所述距离算法确定出该最小距离值时所使用到的异常特征序列;对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的最小距离值均超过其对应的最小距离阈值,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常。
6.可选地,所述对于所述api地址的访问频次序列组中的每个访问频次序列,利用预设的距离算法确定出用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值,包括:对于所述api地址的访问频次序列组中的每个访问频次序列,根据预设的归一化算法对该访问频次序列进行归一化处理得到待压缩序列;利用预设的维度压缩算法对所述待压缩序列进行维度压缩,得到该访问频次序列的压缩序列;对于每个异常特征序列,将该访问频次序列的压缩序列中的每个序列值和该异常特征序列作为变量带入预设的距离算法中确定出用于描述该访问频次序列和该异常特征序列之间的最小偏差度的最小距离值。
7.可选地,在判断该最小距离值是否超过第一目标异常特征序列在预设的阈值数据库中所对应的最小距离阈值后,所述方法还包括:对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的最小距离值中出现未超过其对应的最小距离阈值的情况,则利用预设的欧氏距离算法确定出该访问频次序列和每个所述异常特征序列之间的欧氏距离值,其中,每个所述异常特征序列与该访问频次序列均具有一个欧氏距离值;对于每个欧氏距离值,判断该欧氏距离值是否超过第二目标异常特征序列在所述阈值数据库中所对应的标准欧氏距离值,其中,所述第二目标异常特征序列为利用所述欧氏距离算法确定出该欧氏距离值时所使用到的异常特征序列;对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的欧氏距离值均超过其对应的标准欧氏距离值,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常。
8.可选地,在判断该欧氏距离值是否超过第二目标异常特征序列在所述阈值数据库中所对应的标准欧氏距离值后,所述方法还包括:对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的欧氏距离值中出现未超过其对应的标准欧氏距离值的情况,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为异常。
9.可选地,在将该访问频次序列中所包含的访问频次所对应的访问行为确定为异常后,所述方法还包括:将所述第二目标异常特征序列在预设的异常信息数据库中所对应的目标异常信息向用户进行展示。
10.第二方面,本技术实施例提供了一种api访问行为检测装置,所述装置包括:访问频次确定模块,用于根据应用程序接口api地址的访问时间戳确定出预设的至少一个检测时间段中的每个检测时间段的所述api地址的访问频次,其中,每个所述检测时间段的时长相同,每个所述检测时间段之间无重叠;访问频次序列组确定模块,用于根据预设的滑动步长和滑动窗口大小对每个检测时间段的所述api地址的访问频次进行滑动窗口统计,得到所述api地址的访问频次序列组,其中,所述访问频次序列组由每个滑动窗口中所述api地址的访问频次序列组成,每个滑动窗口中所述api地址的访问频次序列由每个检测时间段的所述api地址的访问频次组
成;最小距离值确定模块,用于对于所述api地址的访问频次序列组中的每个访问频次序列,利用预设的距离算法确定出用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值,其中,该访问频次序列和每个所述异常特征序列均对应一个最小距离值;第一判断模块,用于对于每个最小距离值,判断该最小距离值是否超过第一目标异常特征序列在预设的阈值数据库中所对应的最小距离阈值,其中,所述第一目标异常特征序列为利用所述距离算法确定出该最小距离值时所使用到的异常特征序列;第一状态确定模块,用于对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的最小距离值均超过其对应的最小距离阈值,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常。
11.可选地,所述最小距离值确定模块在用于对于所述api地址的访问频次序列组中的每个访问频次序列,利用预设的距离算法确定出用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值时,具体用于:对于所述api地址的访问频次序列组中的每个访问频次序列,根据预设的归一化算法对该访问频次序列进行归一化处理得到待压缩序列;利用预设的维度压缩算法对所述待压缩序列进行维度压缩,得到该访问频次序列的压缩序列;对于每个异常特征序列,将该访问频次序列的压缩序列中的每个序列值和该异常特征序列作为变量带入预设的距离算法中确定出用于描述该访问频次序列和该异常特征序列之间的最小偏差度的最小距离值。
12.可选地,所述装置还包括;欧氏距离值确定模块,用于在判断该最小距离值是否超过第一目标异常特征序列在预设的阈值数据库中所对应的最小距离阈值后,对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的最小距离值中出现未超过其对应的最小距离阈值的情况,则利用预设的欧氏距离算法确定出该访问频次序列和每个所述异常特征序列之间的欧氏距离值,其中,每个所述异常特征序列与该访问频次序列均具有一个欧氏距离值;第二判断模块,用于对于每个欧氏距离值,判断该欧氏距离值是否超过第二目标异常特征序列在所述阈值数据库中所对应的标准欧氏距离值,其中,所述第二目标异常特征序列为利用所述欧氏距离算法确定出该欧氏距离值时所使用到的异常特征序列;第二状态确定模块,用于对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的欧氏距离值均超过其对应的标准欧氏距离值,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常。
13.可选地,所述装置还包括:第三状态确定模块,用在判断该欧氏距离值是否超过第二目标异常特征序列在所述阈值数据库中所对应的标准欧氏距离值后,对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的欧氏距离值中出现未超过其对应的标准欧氏距离值的情况,则将该访问频次序列中所包含的访问频次所对应的访问
行为确定为异常。
14.可选地,所述装置还包括:异常信息展示模块,用于在将该访问频次序列中所包含的访问频次所对应的访问行为确定为异常后,将所述第二目标异常特征序列在预设的异常信息数据库中所对应的目标异常信息向用户进行展示。
15.第三方面,本技术实施例提供了一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面中任一种可选地实施方式中所述的一种api访问行为检测方法的步骤。
16.第四方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面中任一种可选地实施方式中所述的一种api访问行为检测方法的步骤。
17.本技术提供的技术方案包括但不限于以下有益效果:根据应用程序接口api地址的访问时间戳确定出预设的至少一个检测时间段中的每个检测时间段的所述api地址的访问频次,其中,每个所述检测时间段的时长相同,每个所述检测时间段之间无重叠;通过上述步骤,能够对api地址的访问频次进行统计,以为后续得到频次序列组提供基础数据。
18.根据预设的滑动步长和滑动窗口大小对每个检测时间段的所述api地址的访问频次进行滑动窗口统计,得到所述api地址的访问频次序列组,其中,所述访问频次序列组由每个滑动窗口中所述api地址的访问频次序列组成,每个滑动窗口中所述api地址的访问频次序列由每个检测时间段的所述api地址的访问频次组成;通过上述步骤,能够得到能体现api地址访问频次和情况的访问频次序列组。
19.对于所述api地址的访问频次序列组中的每个访问频次序列,利用预设的距离算法确定出用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值,其中,该访问频次序列和每个所述异常特征序列均对应一个最小距离值;通过上述步骤,能够确定出api地址的实际访问数据和预设的异常特征序列之间的偏差情况。
20.对于每个最小距离值,判断该最小距离值是否超过第一目标异常特征序列在预设的阈值数据库中所对应的最小距离阈值,其中,所述第一目标异常特征序列为利用所述距离算法确定出该最小距离值时所使用到的异常特征序列;对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的最小距离值均超过其对应的最小距离阈值,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常;通过上述方法,能够根据api地址的实际访问数据和预设的异常特征序列之间的偏差情况,与预设的标准偏差情况的对比结果确定出api地址的访问行为的状态。
21.采用上述方法,通过对api地址的访问频次进行统计,并将根据统计得到的频次序列与用于参考的异常特征序列之间的偏差情况和预设的参考偏差情况进行对比,以根据api地址的访问行为确定出api访问行为的状态。
22.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
23.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍, 应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
24.图1示出了本发明实施例一所提供的一种api访问行为检测方法的流程图;图2示出了本发明实施例一所提供的一种最小距离值确定方法的流程图;图3示出了本发明实施例一所提供的一种行为数据的状态确定方法的流程图;图4示出了本发明实施例二所提供的一种api访问行为检测装置的结构示意图;图5示出了本发明实施例二所提供的第二种api访问行为检测装置的结构示意图;图6示出了本发明实施例二所提供的第三种api访问行为检测装置的结构示意图;图7示出了本发明实施例二所提供的第四种api访问行为检测装置的结构示意图;图8示出了本发明实施例三所提供的一种计算机设备的结构示意图。
具体实施方式
25.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.实施例一为便于对本技术进行理解,下面结合图1示出的本发明实施例一所提供的一种api访问行为检测方法的流程图描述的内容对本技术实施例一进行详细说明。
27.参见图1所示,图1示出了本发明实施例一所提供的一种api访问行为检测方法的流程图,其中,所述方法包括步骤s101~s105:s101:根据应用程序接口api地址的访问时间戳确定出预设的至少一个检测时间段中的每个检测时间段的所述api地址的访问频次,其中,每个所述检测时间段的时长相同,每个所述检测时间段之间无重叠。
28.具体的,api(application program interface,应用程序接口),是一种程序之间的通信接口,api地址是指应用程序接口的访问地址,api行为数据是指用户对api地址进行访问时产生的行为数据,包括访问时间、访问频次。
29.时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息,在每次对目标api地址进行访问时,都会根据对该目标api地址进行访问的时间(日期和具体时间)生成一个时间戳。
30.由于时间戳中包含每次对目标api地址进行访问的时间,所以可以根据每次访问的时间所落入在预设的至少一个检测时间段中的检测时间段,确定出每个检测时间段中该目标api地址的访问频次。
31.例如,用户第一次对目标api地址进行访问时的时间为“2022-09-21 14:32:00”,用户第二次对目标api地址进行访问时的时间为“2022-09-21 14:32:01”,用户第三次对目标api地址进行访问时的时间为“2022-09-21 14:32:03”,用户第四次对目标api地址进行访问时的时间为“2022-09-21 14:32:07”,用户第五次对目标api地址进行访问时的时间为“2022-09-21 14:32:18”,那么可以得到目标api地址的时间戳包括“2022-09-21 14:32:00”、“2022-09-21 14:32:01”、“2022-09-21 14:32:03”、“2022-09-21 14:32:07”和“2022-09-21 14:32:18”。
32.当预设的至少一个检测时间段为“2022-09-21 14:32:00至2022-09-21 14:32:05”(记为第一检测时间段)、“2022-09-21 14:32:06至2022-09-21 14:32:10”(记为第二检测时间段)、“2022-09-21 14:32:11至2022-09-21 14:32:15
”ꢀ
(记为第三检测时间段)、“2022-09-16 14:32:16至2022-09-21 14:32:20
”ꢀ
(记为第四检测时间段)时,可以根据时间戳“2022-09-21 14:32:00”、“2022-09-21 14:32:01”和“2022-09-21 14:32:03”落入第一检测时间段中得到第一检测时间段的中api地址的访问频次为“3”,根据时间戳“2022-09-21 14:32:07”落入第二检测时间段中得到第二检测时间段中api地址的访问频次为“1”,由于时间戳落入第三检测时间段中所以第三检测时间段中的api地址的访问频次为“0”,根据时间戳“2022-09-21 14:32:18”落入第四检测时间段中得到第四检测时间段中api地址的访问频次为“1”。
33.s102:根据预设的滑动步长和滑动窗口大小对每个检测时间段的所述api地址的访问频次进行滑动窗口统计,得到所述api地址的访问频次序列组,其中,所述访问频次序列组由每个滑动窗口中所述api地址的访问频次序列组成,每个滑动窗口中所述api地址的访问频次序列由每个检测时间段的所述api地址的访问频次组成。
34.具体的,步骤s101中的统计方法为一种滚动窗口的统计方法,即有固定的窗口大小,是对数据进行均匀切片的划分方式,每个窗口之间没有重叠,也不会有间隔,是“首尾相接”的状态;而步骤s102中采用的方法为滑动窗口的统计方法,滑动窗口与滚动窗口类似,滑动窗口的大小也是固定的,但区别在于,窗口之间并不是首尾相接的,而是可以“错开”一定的位置;如果看作一个窗口的运动,那么就像是向前小步“滑动”一样,定义滑动窗口的参数有两个:除去滑动窗口大小之外,还有一个滑动步长,代表窗口计算的频率。
35.在根据预设的滑动步长和滑动窗口大小对每个检测时间段的所述api地址的访问频次进行滑动窗口统计,得到所述api地址的访问频次序列组时,具体的实现方式为:根据预设的滑动步长和滑动窗口大小确定出至少一个滑动时间段,所述至少一个滑动时间段中的每个滑动时间段的滑动窗口大小相同,每个滑动时间段(滑动窗口)之间存在重叠窗口,滑动窗口大小与重叠窗口之间的差值(也就是相邻两个滑动窗口之间的滑动长度)为预设的滑动步长。
36.对于每个滑动时间段,将包含在该滑动时间段中的每个检测时间段中的api地址的访问频次,根据检测时间段的先后顺序组成为一个访问频次序列,其中,所述访问频次序列中的每个序列值均对应一个访问频次;那么多个滑动时间段就能得到多个访问频次序列,将多个访问频次序列进行集合得到所述api地址的访问频次序列组。
37.例如,预设的滑动步长为10s,滑动窗口大小为15s,则能够得到滑动时间段“2022-09-21 14:32:00至2022-09-21 14:32:15”(记为第一滑动时间段)和“2022-09-21 14:32:
11至2022-09-21 14:32:25”(记为第二滑动时间段),第一滑动时间段中包含第一检测时段、第二检测时段和第三检测时段,所以根据第一检测时段、第二检测时段和第三检测时段中的访问频次得到第一滑动时间段的访问频次为(3,1,0);同理可以得到第二滑动时间段的访问频次为(0,1,0);则访问频次序列组为(3,1,0),(0,1,0)。
38.s103:对于所述api地址的访问频次序列组中的每个访问频次序列,利用预设的距离算法确定出用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值,其中,该访问频次序列和每个所述异常特征序列均对应一个最小距离值。
39.具体的,由于所述api地址的访问频次序列组中包含多个访问频次序列(每个滑动窗口对应有一个访问频次序列),例如,访问频次序列组(3,1,0),(0,1,0)中包含有访问频次序列(3,1,0)和(0,1,0),所以对于每个访问频次序列,利用预设的算法根据该访问频次序列和预设的每个异常特征序列的序列值,分别进行一次用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值的计算,得到至少一个最小距离值,其中,每个异常特征序列均对应一个与该访问频次序列的最小距离值。
40.例如,假设预设的至少一个异常特征序列为第一异常特征序列和第二异常特征序列,则当api地址的访问频次序列组中包含访问频次序列(3,1,0)(记为第一访问频次序列)和(0,1,0)(记为第二访问频次序列)时,对于第一访问频次序列,利用预设的距离算法确定出第一访问频次序列和第一异常特征序列之间的最小距离值(记为第一最小距离值),并利用预设的距离算法确定出第一访问频次序列和第二异常特征序列之间的最小距离值(记为第二最小距离值),对于第二访问频次序列,利用预设的距离算法确定出第二访问频次序列和第一异常特征序列之间的最小距离值(记为第三最小距离值),并利用预设的距离算法确定出第二访问频次序列和第二异常特征序列之间的最小距离值(记为第四最小距离值)。
41.s104:对于每个最小距离值,判断该最小距离值是否超过第一目标异常特征序列在预设的阈值数据库中所对应的最小距离阈值,其中,所述第一目标异常特征序列为利用所述距离算法确定出该最小距离值时所使用到的异常特征序列。
42.具体的,由于在计算得到每个最小距离值时,使用到了至少一个异常特征序列中的不同异常特征序列,而每个异常特征序列都被预先设置好了一个对应的最小距离阈值,所以在将每个最小距离值进行比较时,需要使用到的是得到该最小距离值时所使用到的异常特征序列(第一目标异常特征序列)(在预设的阈值数据库中)所对应的最小距离阈值。
43.例如,第一异常特征序列在预设的阈值数据库中所对应的最小距离阈值为第一距离阈值,第二异常特征序列在预设的阈值数据库中所对应的最小距离阈值为第二距离阈值;那么对于第一最小距离值,由于得到第一最小距离值时参与计算的是第一异常特征序列,则应该判断第一最小距离值是否超过第一距离阈值;对于第二最小距离值,由于得到第二最小距离值时参与计算的是第二异常特征序列,则应该判断第二最小距离值是否超过第二距离阈值;对于第三最小距离值,由于得到第三最小距离值时参与计算的是第一异常特征序列,则应该判断第三最小距离值是否超过第一距离阈值;对于第四最小距离值,由于得到第四最小距离值时参与计算的是第二异常特征序列,则应该判断第四最小距离值是否超过第二距离阈值。
44.s105:对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的最小距离值均超过其对应的最小距离阈值,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常。
45.具体的,对于所述api地址的访问频次序列组中的每个访问频次序列,当该访问频次序列与每个异常特征序列的最小距离值均超过参与计算的异常特征序列对应的最小距离阈值时(例如,对于第一访问频次序列,若第一访问频次序列与第一异常特征序列的第一最小距离值超过第一距离阈值,且第一访问频次序列与第二异常特征序列的第二最小距离值超过第二距离阈值时),将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常。
46.由于访问频次序列中所包括的序列值为每个检测时间段中对api地址的访问频次,而访问频次是根据每次对api地址进行访问(产生访问行为)的时间统计得到的,所以一个访问频次序列对应了至少一个得到该访问频次序列中的所有访问频次(访问频次序列)的访问行为。
47.例如,第一访问频次序列(3,1,0)中的序列值“3
”ꢀ
(访问频次),这3次访问的访问行为包括第一访问行为和第二访问行为,序列值“1
”ꢀ
(访问频次),这1次访问的访问行为为第一访问行为,序列值“0
”ꢀ
(访问频次),即没有访问行为;则将第一访问频次序列对应的所有访问行为(第一访问行为和第二访问行为)确定为正常。
48.在一个可行的实施方案中,参见图2所示,图2示出了本发明实施例一所提供的一种最小距离值确定方法的流程图,其中,所述对于所述api地址的访问频次序列组中的每个访问频次序列,利用预设的距离算法确定出用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值,包括步骤s201~s203:s201:对于所述api地址的访问频次序列组中的每个访问频次序列,根据预设的归一化算法对该访问频次序列进行归一化处理得到待压缩序列。
49.具体的,所述预设的归一化算法的表达式为:其中,为所述待压缩序列,为所述访问频次序列的均值,为所述访问频次序列的标准差,为所述访问频次序列中的第一个序列值,为所述访问频次序列中的第二个序列值,为所述访问频次序列中的第个序列值,为所述访问频次序列中序列值的数量。
50.对于每个访问频次序列,根据该访问频次序列中的序列值和上述归一化算法确定出待压缩序列。
51.s202:利用预设的维度压缩算法对所述待压缩序列进行维度压缩,得到该访问频次序列的压缩序列。
52.具体的,所述预设的维度压缩算法的表达式为:具体的,所述预设的维度压缩算法的表达式为:
其中,为所述访问频次序列的均值,为所述访问频次序列的标准差,为所述访问频次序列中序列值的数量,表示访问频次序列中的第个序列值,为预设的滑动窗口步长,为访问频次序列的压缩序列。
53.在得到待压缩序列后,根据待压缩序列中的序列值和上述维度压缩算法确定出该访问频次序列的压缩序列。
54.s203:对于每个异常特征序列,将该访问频次序列的压缩序列中的每个序列值和该异常特征序列作为变量带入预设的距离算法中确定出用于描述该访问频次序列和该异常特征序列之间的最小偏差度的最小距离值。
55.具体的,所述预设的距离算法的表达式为:其中,为所述待压缩序列,为异常特征序列,为访问频次序列(待压缩序列)和异常特征序列的最小距离值,为所述访问频次序列的均值,为所述访问频次序列的标准差,为异常特征序列的均值,为异常特征序列的标准差。
56.对于每个异常特征序列,根据上述距离算法确定出该异常特征序列所对应的最小距离值。
57.在一个可行的实施方案中,参见图3所示,图3示出了本发明实施例一所提供的一种行为数据的状态确定方法的流程图,其中,在判断该最小距离值是否超过第一目标异常特征序列在预设的阈值数据库中所对应的最小距离阈值后,所述方法包括步骤s301~s303:s301:对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的最小距离值中出现未超过其对应的最小距离阈值的情况,则利用预设的欧氏距离算法确定出该访问频次序列和每个所述异常特征序列之间的欧氏距离值,其中,每个所述异常特征序列与该访问频次序列均具有一个欧氏距离值。
58.具体的,若所述访问频次序列组中存在最小距离值未超过其对应的最小距离阈值的访问频次序列(例如,出现下列至少一种情况时:第一最小距离值未超过第一距离阈值,或第二最小距离值未超过第二距离阈值,或第三最小距离值未超过第一距离阈值,或第四最小距离值未超过第二距离阈值时),则对于所述访问频次序列组中的每个访问频次序列,利用预设的欧氏距离算法确定出该访问频次序列和每个所述异常特征序列之间的欧氏距离值。
59.所述预设的欧氏距离算法的表达式为:所述预设的欧氏距离算法的表达式为:所述预设的欧氏距离算法的表达式为:
其中,为所述待压缩序列,为至少一个异常特征序列中的第个异常特征序列,为至少一个异常特征序列中的第个异常特征序列中的第个序列值,为访问频次序列和第个异常特征序列之间的欧氏距离值,为所述访问频次序列中序列值的数量,为至少一个异常特征序列中异常特征序列的数量,为访问频次序列中的第个序列值。
60.利用上述欧氏距离算法分别对该访问频次序列和至少一个异常特征序列中的第个异常特征序列进行计算得到该访问频次序列和第个异常特征序列之间的欧氏距离值。
61.s302:对于每个欧氏距离值,判断该欧氏距离值是否超过第二目标异常特征序列在所述阈值数据库中所对应的标准欧氏距离值,其中,所述第二目标异常特征序列为利用所述欧氏距离算法确定出该欧氏距离值时所使用到的异常特征序列。
62.具体的,由于一个访问频次序列和一个异常特征序列均有一个欧氏距离值,例如,当访问频次序列组中存在第一访问频次序列和第二访问频次序列时,且存在第一异常特征序列和第二异常特征序列时,那么第一访问频次序列和第一异常特征序列之间存在一个欧氏距离值(记为第一欧氏距离值),第一访问频次序列和第二异常特征序列之间存在一个欧氏距离值(记为第二欧氏距离值),第二访问频次序列和第一异常特征序列之间存在一个欧氏距离值(记为第三欧氏距离值),第二访问频次序列和第二异常特征序列之间存在一个欧氏距离值(记为第四欧氏距离值)。
63.且在得到每个欧氏距离值时使用到的异常特征序列是不同的,不同的异常特征序列在所述阈值数据库中所对应的标准欧氏距离值也是不同的,所以对于每个欧氏距离值,判断该欧氏距离值是否超过得到该欧氏距离值时所使用的异常特征序列(第二目标异常特征序列)在所述阈值数据库中所对应的标准欧氏距离值,具体可以参考步骤s104中第一目标异常特征序列。
64.s303:对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的欧氏距离值均超过其对应的标准欧氏距离值,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常。
65.具体的,对于所述api地址的访问频次序列组中的每个访问频次序列,当该访问频次序列与每个异常特征序列的欧氏距离值均超过参与计算的异常特征序列对应的标准欧氏距离值时(例如,对于第一访问频次序列,若第一访问频次序列与第一异常特征序列的第一欧氏距离值超过第一异常特征序列所对应的第一标准欧氏距离值,且第一访问频次序列与第二异常特征序列的第二欧氏距离值超过与第二异常特征序列对应的第二标准欧氏距离值时),将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常。
66.所述将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常可以参考步骤s105中的实例。
67.在一个可行的实施方案中,在判断该欧氏距离值是否超过第二目标异常特征序列在所述阈值数据库中所对应的标准欧氏距离值后,所述方法还包括:对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的欧氏距离值中出现未超过其对应的标准欧氏距离值的情况,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为异常。
68.具体的,例如,对于第一访问频次序列,若第一访问频次序列与第一异常特征序列的第一欧氏距离值未超过第一异常特征序列所对应的第一标准欧氏距离值,且/或第一访问频次序列与第二异常特征序列的第二欧氏距离值未超过与第二异常特征序列对应的第二标准欧氏距离值,则将第一访问频次序列(3,1,0)中所包含的访问频次“3”,“1”所对应的访问行为确定为异常。
69.在一个可行的实施方案中,在将该访问频次序列中所包含的访问频次所对应的访问行为确定为异常后,所述方法还包括:将所述第二目标异常特征序列在预设的异常信息数据库中所对应的目标异常信息向用户进行展示。
70.具体的,不同的异常特征序列在异常信息数据库中所对应的异常信息是不同的,为了使用户能够根据异常信息获知具体的异常情况,所以将所述第二目标异常特征序列在预设的异常信息数据库中所对应的目标异常信息向用户进行展示。
71.实施例二参见图4所示,图4示出了本发明实施例二所提供的一种api访问行为检测装置的结构示意图,其中,如图4所示,本发明实施例二所提供的一种api访问行为检测装置包括:访问频次确定模块401,用于根据应用程序接口api地址的访问时间戳确定出预设的至少一个检测时间段中的每个检测时间段的所述api地址的访问频次,其中,每个所述检测时间段的时长相同,每个所述检测时间段之间无重叠;访问频次序列组确定模块402,用于根据预设的滑动步长和滑动窗口大小对每个检测时间段的所述api地址的访问频次进行滑动窗口统计,得到所述api地址的访问频次序列组,其中,所述访问频次序列组由每个滑动窗口中所述api地址的访问频次序列组成,每个滑动窗口中所述api地址的访问频次序列由每个检测时间段的所述api地址的访问频次组成;最小距离值确定模块403,用于对于所述api地址的访问频次序列组中的每个访问频次序列,利用预设的距离算法确定出用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值,其中,该访问频次序列和每个所述异常特征序列均对应一个最小距离值;第一判断模块404,用于对于每个最小距离值,判断该最小距离值是否超过第一目标异常特征序列在预设的阈值数据库中所对应的最小距离阈值,其中,所述第一目标异常特征序列为利用所述距离算法确定出该最小距离值时所使用到的异常特征序列;第一状态确定模块405,用于对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的最小距离值均超过其对应的最小距离阈值,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常。
72.在一个可行的实施方案中,所述最小距离值确定模块在用于对于所述api地址的访问频次序列组中的每个访问频次序列,利用预设的距离算法确定出用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值时,具体用于:对于所述api地址的访问频次序列组中的每个访问频次序列,根据预设的归一化算法对该访问频次序列进行归一化处理得到待压缩序列;
利用预设的维度压缩算法对所述待压缩序列进行维度压缩,得到该访问频次序列的压缩序列;对于每个异常特征序列,将该访问频次序列的压缩序列中的每个序列值和该异常特征序列作为变量带入预设的距离算法中确定出用于描述该访问频次序列和该异常特征序列之间的最小偏差度的最小距离值。
73.在一个可行的实施方案中,参见图5所示,图5示出了本发明实施例二所提供的第二种api访问行为检测装置的结构示意图,其中,所述装置还包括;欧氏距离值确定模块501,用于在判断该最小距离值是否超过第一目标异常特征序列在预设的阈值数据库中所对应的最小距离阈值后,对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的最小距离值中出现未超过其对应的最小距离阈值的情况,则利用预设的欧氏距离算法确定出该访问频次序列和每个所述异常特征序列之间的欧氏距离值,其中,每个所述异常特征序列与该访问频次序列均具有一个欧氏距离值;第二判断模块502,用于对于每个欧氏距离值,判断该欧氏距离值是否超过第二目标异常特征序列在所述阈值数据库中所对应的标准欧氏距离值,其中,所述第二目标异常特征序列为利用所述欧氏距离算法确定出该欧氏距离值时所使用到的异常特征序列;第二状态确定模块503,用于对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的欧氏距离值均超过其对应的标准欧氏距离值,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常。
74.在一个可行的实施方案中,参见图6所示,图6示出了本发明实施例二所提供的第三种api访问行为检测装置的结构示意图,其中,所述装置还包括:第三状态确定模块601,用在判断该欧氏距离值是否超过第二目标异常特征序列在所述阈值数据库中所对应的标准欧氏距离值后,对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的欧氏距离值中出现未超过其对应的标准欧氏距离值的情况,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为异常。
75.在一个可行的实施方案中,参见图7所示,图7示出了本发明实施例二所提供的第四种api访问行为检测装置的结构示意图,其中,所述装置还包括:异常信息展示模块701,用于在将该访问频次序列中所包含的访问频次所对应的访问行为确定为异常后,将所述第二目标异常特征序列在预设的异常信息数据库中所对应的目标异常信息向用户进行展示。
76.实施例三基于同一申请构思,参见图8所示,图8示出了本发明实施例三所提供的一种计算机设备的结构示意图,其中,如图8所示,本技术实施例三所提供的一种计算机设备800包括:处理器801、存储器802和总线803,所述存储器802存储有所述处理器801可执行的机器可读指令,当计算机设备800运行时,所述处理器801与所述存储器802之间通过所述总线803进行通信,所述机器可读指令被所述处理器801运行时执行上述实施例一所示的一种api访问行为检测方法的步骤。
77.实施例四基于同一申请构思,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例中任一项所述的一种api访问行为检测方法的步骤。
78.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
79.本发明实施例所提供的进行api访问行为检测的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
80.本发明实施例所提供的一种api访问行为检测装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
81.在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
82.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
83.另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
84.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
85.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
86.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发
明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
技术特征:
1.一种api访问行为检测方法,其特征在于,所述方法包括;根据应用程序接口api地址的访问时间戳确定出预设的至少一个检测时间段中的每个检测时间段的所述api地址的访问频次,其中,每个所述检测时间段的时长相同,每个所述检测时间段之间无重叠;根据预设的滑动步长和滑动窗口大小对每个检测时间段的所述api地址的访问频次进行滑动窗口统计,得到所述api地址的访问频次序列组,其中,所述访问频次序列组由每个滑动窗口中所述api地址的访问频次序列组成,每个滑动窗口中所述api地址的访问频次序列由每个检测时间段的所述api地址的访问频次组成;对于所述api地址的访问频次序列组中的每个访问频次序列,利用预设的距离算法确定出用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值,其中,该访问频次序列和每个所述异常特征序列均对应一个最小距离值;对于每个最小距离值,判断该最小距离值是否超过第一目标异常特征序列在预设的阈值数据库中所对应的最小距离阈值,其中,所述第一目标异常特征序列为利用所述距离算法确定出该最小距离值时所使用到的异常特征序列;对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的最小距离值均超过其对应的最小距离阈值,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常。2.根据权利要求1所述的方法,其特征在于,所述对于所述api地址的访问频次序列组中的每个访问频次序列,利用预设的距离算法确定出用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值,包括:对于所述api地址的访问频次序列组中的每个访问频次序列,根据预设的归一化算法对该访问频次序列进行归一化处理得到待压缩序列;利用预设的维度压缩算法对所述待压缩序列进行维度压缩,得到该访问频次序列的压缩序列;对于每个异常特征序列,将该访问频次序列的压缩序列中的每个序列值和该异常特征序列作为变量带入预设的距离算法中确定出用于描述该访问频次序列和该异常特征序列之间的最小偏差度的最小距离值。3.根据权利要求1所述的方法,其特征在于,在判断该最小距离值是否超过第一目标异常特征序列在预设的阈值数据库中所对应的最小距离阈值后,所述方法还包括:对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的最小距离值中出现未超过其对应的最小距离阈值的情况,则利用预设的欧氏距离算法确定出该访问频次序列和每个所述异常特征序列之间的欧氏距离值,其中,每个所述异常特征序列与该访问频次序列均具有一个欧氏距离值;对于每个欧氏距离值,判断该欧氏距离值是否超过第二目标异常特征序列在所述阈值数据库中所对应的标准欧氏距离值,其中,所述第二目标异常特征序列为利用所述欧氏距离算法确定出该欧氏距离值时所使用到的异常特征序列;对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的欧氏距离值均超过其对应的标准欧氏距离值,则将该访问频次序列
中所包含的访问频次所对应的访问行为确定为正常。4.根据权利要求3所述的方法,其特征在于,在判断该欧氏距离值是否超过第二目标异常特征序列在所述阈值数据库中所对应的标准欧氏距离值后,所述方法还包括:对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的欧氏距离值中出现未超过其对应的标准欧氏距离值的情况,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为异常。5.根据权利要求4所述的方法,其特征在于,在将该访问频次序列中所包含的访问频次所对应的访问行为确定为异常后,所述方法还包括:将所述第二目标异常特征序列在预设的异常信息数据库中所对应的目标异常信息向用户进行展示。6.一种api访问行为检测装置,其特征在于,所述装置包括:访问频次确定模块,用于根据应用程序接口api地址的访问时间戳确定出预设的至少一个检测时间段中的每个检测时间段的所述api地址的访问频次,其中,每个所述检测时间段的时长相同,每个所述检测时间段之间无重叠;访问频次序列组确定模块,用于根据预设的滑动步长和滑动窗口大小对每个检测时间段的所述api地址的访问频次进行滑动窗口统计,得到所述api地址的访问频次序列组,其中,所述访问频次序列组由每个滑动窗口中所述api地址的访问频次序列组成,每个滑动窗口中所述api地址的访问频次序列由每个检测时间段的所述api地址的访问频次组成;最小距离值确定模块,用于对于所述api地址的访问频次序列组中的每个访问频次序列,利用预设的距离算法确定出用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值,其中,该访问频次序列和每个所述异常特征序列均对应一个最小距离值;第一判断模块,用于对于每个最小距离值,判断该最小距离值是否超过第一目标异常特征序列在预设的阈值数据库中所对应的最小距离阈值,其中,所述第一目标异常特征序列为利用所述距离算法确定出该最小距离值时所使用到的异常特征序列;第一状态确定模块,用于对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的最小距离值均超过其对应的最小距离阈值,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常。7.根据权利要求6所述的装置,其特征在于,所述最小距离值确定模块在用于对于所述api地址的访问频次序列组中的每个访问频次序列,利用预设的距离算法确定出用于描述该访问频次序列和预设的至少一个异常特征序列中的每个异常特征序列之间的最小偏差度的最小距离值时,具体用于:对于所述api地址的访问频次序列组中的每个访问频次序列,根据预设的归一化算法对该访问频次序列进行归一化处理得到待压缩序列;利用预设的维度压缩算法对所述待压缩序列进行维度压缩,得到该访问频次序列的压缩序列;对于每个异常特征序列,将该访问频次序列的压缩序列中的每个序列值和该异常特征序列作为变量带入预设的距离算法中确定出用于描述该访问频次序列和该异常特征序列之间的最小偏差度的最小距离值。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括;欧氏距离值确定模块,用于在判断该最小距离值是否超过第一目标异常特征序列在预设的阈值数据库中所对应的最小距离阈值后,对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的最小距离值中出现未超过其对应的最小距离阈值的情况,则利用预设的欧氏距离算法确定出该访问频次序列和每个所述异常特征序列之间的欧氏距离值,其中,每个所述异常特征序列与该访问频次序列均具有一个欧氏距离值;第二判断模块,用于对于每个欧氏距离值,判断该欧氏距离值是否超过第二目标异常特征序列在所述阈值数据库中所对应的标准欧氏距离值,其中,所述第二目标异常特征序列为利用所述欧氏距离算法确定出该欧氏距离值时所使用到的异常特征序列;第二状态确定模块,用于对于所述api地址的访问频次序列组中的每个访问频次序列,若该访问频次序列和每个所述异常特征序列的欧氏距离值均超过其对应的标准欧氏距离值,则将该访问频次序列中所包含的访问频次所对应的访问行为确定为正常。9.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至5中任一所述的一种api访问行为检测方法的步骤。10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至5中任意一项所述的一种api访问行为检测方法的步骤。
技术总结
本申请提供了一种API访问行为检测方法、装置、设备及存储介质,其中,根据API地址的时间戳确定出每个检测时间段API地址的访问频次;对每个检测时间段API地址的访问频次进行滑动窗口统计,得到API地址的访问频次序列组;对于每个访问频次序列,确定出该访问频次序列和每个异常特征序列之间的最小距离值;对于每个最小距离值,判断该最小距离值是否超过第一目标异常特征序列所对应的最小距离阈值;对于每个访问频次序列,若每个所述异常特征序列的最小距离值均超过最小距离阈值,则将该访问频次序列中所对应的访问行为确定为正常。采用上述方法,以根据API地址的访问行为确定出API访问行为的状态。问行为的状态。问行为的状态。
技术研发人员:
王郁 张贵川
受保护的技术使用者:
北京星阑科技有限公司
技术研发日:
2022.10.24
技术公布日:
2022/11/22