一种网络重放攻击的检测方法、装置、设备和介质与流程

文档序号:27681341发布日期:2021-11-30 23:48阅读:236来源:国知局
一种网络重放攻击的检测方法、装置、设备和介质与流程

1.本技术涉及网络安全技术领域,特别是涉及一种网络重放攻击的检测方法、装置、设备和计算机可读存储介质。


背景技术:

2.存储系统用户或者客户端可以通过网络访问存储系统的web(world wide web,互联网)管理页面,请求存储系统的rest(resource representational state transfer)、cim(common information model,公共信息模型)等管理接口。这些网络请求一旦被攻击者拦截,便可发起重放攻击(replay attacks),危害存储系统。重放攻击是指攻击者发送一个目标系统已接收过的包,来达到欺骗目标系统的目的,从而对目标系统实施攻击。
3.目前防止重放攻击的方法主要包括在网络请求报文中加随机数、加时间戳或者加流水号等方式。这些方法存在一定的弊端。以在网络请求报文中加入随机数为例,在网络请求报文中加入随机数,请求的客户端和服务端记录使用过的随机数。若发现报文中有以前使用过的随机数,就认为是重放攻击。该方法需要额外保存使用过的随机数,若记录的时间段较长,则保存和查询的开销较大。
4.以在网络请求报文中加入时间戳为例,一旦服务端从网络请求报文中获取的时间戳与当前时间不一致或者间隔较大,则将此网络请求认定为重放攻击。该方法需要认证双方准确的时间同步,同步越好,受攻击的可能性就越小。当系统很庞大,跨越的区域较广时,要做到精确的时间同步很困难。
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.可选地,还包括调整单元;
31.所述调整单元,用于根据预设时间段内客户端发送请求报文的数量,调整生成的标识码的个数。
32.可选地,所述生成单元还用于依据调整后的个数,生成相应个数新的标识码;所述传输单元还用于将所述新的标识码反馈至所述客户端。
33.可选地,还包括删除单元;
34.所述删除单元,用于若所述请求报文中携带有与所述标识码匹配的目标标识码,则将所述目标标识码从本地存储中删除。
35.可选地,所述生成单元还用于每删除一个目标标识码,则生成一个新的标识码;所述传输单元还用于将所述新的标识码传输至客户端。
36.可选地,所述传输单元用于将所述新的标识码携带在响应报文中传输至客户端。
37.可选地,所述传输单元用于对所述标识码进行加密处理,并将加密后的标识码传输至客户端。
38.本技术实施例还提供了一种网络重放攻击的检测设备,包括:
39.存储器,用于存储计算机程序;
40.处理器,用于执行所述计算机程序以实现如上述任意一项所述网络重放攻击的检测方法的步骤。
41.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存
储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述网络重放攻击的检测方法的步骤。
42.由上述技术方案可以看出,按照设定的规则生成标识码,标识码具有唯一性,可以用于对数据报文可靠性的验证。在本地存储标识码,并将标识码传输至客户端,以便于客户端在向服务端传输请求报文时添加相应的标识码。接收客户端传输的请求报文,若请求报文中未携带与标识码匹配的目标标识码,则说明客户端发送的请求报文不合法,此时可以判定请求报文为重放攻击报文。在该技术方案中,由服务端生成标识码,并进行合理管理,可避免需要额外保存已使用随机数的问题,从而解决了保存和查询随机数的开销较大的问题,并且无需保证服务端和客户端时间的同步,本方案在实现对重放攻击准确检测的同时,降低了重放检测的难度。
附图说明
43.为了更清楚地说明本技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1为本技术实施例提供的一种网络重放攻击的检测方法的流程图;
45.图2为本技术实施例提供的一种防止网络请求重放攻击的框架图;
46.图3为本技术实施例提供的一种防止网络重放攻击的方法实现示意图;
47.图4为本技术实施例提供的一种网络重放攻击的检测装置的结构示意图;
48.图5为本技术另一实施例提供的网络重放攻击的检测设备的结构图。
具体实施方式
49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本技术保护范围。
50.本技术的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
51.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。
52.接下来,详细介绍本技术实施例所提供的一种网络重放攻击的检测方法。图1为本技术实施例提供的一种网络重放攻击的检测方法的流程图,该方法包括:
53.s101:按照设定的规则生成标识码。
54.标识码具有唯一性,可以利用标识码校验客户端发送的请求报文是否合法。设定的规则用于保证生成的每个标识码都具有唯一性。
55.在实际应用中,可以采用通用唯一识别码(universally unique identifier,uuid)作为标识码,uuid有其固定的生成方式,其生成方式可参见现有技术,在此不再赘述。为了便于介绍,在后续内容中均以uuid作为标识码为例展开说明。
56.s102:在本地存储标识码,并将标识码传输至客户端,以便于客户端在向服务端传输请求报文时添加相应的标识码。
57.在本技术实施例中,服务端可以随机生成一定数量的标识码,标识码的数量可以根据以往客户端向服务端发送请求报文的数量设置。
58.服务端在生成标识码之后可以在本地进行存储,以便于后续依赖于本地存储的标识码对请求报文的合法性进行验证。
59.服务端可以将生成的标识码传输至客户端,客户端需要向服务端发送请求报文时,可以在该请求报文中携带一个标识码。客户端将携带标识码的请求报文发送至服务端之后,可以将该标识码删除,以避免同一个标识码的重复使用,导致请求报文无法通过校验。
60.在本技术实施例中,为了提升标识码的安全性,服务端和客户端可以预先设定好加解密方式,服务端在向客户端传输标识码时,可以对标识码进行加密处理,并将加密后的标识码传输至客户端。客户端可以按照设定好的解密方式,对加密后的标识码进行解密处理,从而获取明文的标识码。
61.s103:接收客户端传输的请求报文,若请求报文中未携带与标识码匹配的目标标识码,则判定请求报文为重放攻击报文。
62.客户端接收到的标识码的个数较多,当客户端需要向服务端发送请求报文时,可以在每个请求报文中携带一个标识码。服务端接收到请求报文时,可以将请求报文中携带的标识码与本地存储的标识码进行比较,当本地存储的标识码中存在与请求报文中携带的标识码相同的标识码时,说明客户端发送的请求报文合法,不具有重放攻击的风险;当本地存储的标识码中不存在与请求报文中携带的标识码相同的标识码时,说明客户端发送的请求报文不合法,具有重放攻击的风险,为了保证服务端的安全性,此时可以将请求报文判定为重放攻击报文。
63.在本技术实施例中,根据服务端和客户端所需实现的功能,可以在服务端和客户端中设置相应的功能模块。图2为本技术实施例提供的一种防止网络请求重放攻击的框架图,以uuid作为标识码为例,在服务端和客户端可以分别设置随机uuid库,其中,位于服务端的随机uuid库,用于存放已发送给客户端的随机uuid。而位于客户端的随机uuid库用于存放待用的随机uuid。随机uuid管理模块包括服务端随机uuid库管理子模块和客户端随机uuid库管理子模块。其中,服务端随机uuid库管理子模块用于在服务端生成随机uuid,将新生成的随机uuid加密并填入响应报文中传输至客户端,并将随机uuid存入服务端的随机uuid库中;在接收到客户端发送的请求报文时,将客户端携带的校验通过的随机uuid从服务端随机uuid库中删除。
64.客户端uuid库管理子模块用于从响应报文中取出加密后的随机uuid,并存入客户端随机uuid库中,从客户端随机uuid库中取出随机uuid,并写入请求报文中。服务端还设置有随机uuid校验模块,用于从客户端的请求报文中读取加密后的随机uuid,对其进行解密校验,并将校验结果通知给服务端随机uuid库管理子模块。
65.本技术实施例在请求报文中加入由服务端生成的随机uuid,并进行合理管理,无需使用时间戳进行合法性校验,可避免需要额外保存已使用随机数导致保存和查询的开销较大的问题,以及客户端和服务端时间同步的问题。通过对随机uuid进行加密,可解除攻击
者破解报文后修改校验信息欺骗服务端的风险。
66.图3为本技术实施例提供的一种防止网络重放攻击的方法实现示意图,服务端随机uuid库管理子模块,用于随机uuid的生成,并将生成的随机uuid加密处理后携带在响应报文中传输至客户端。客户端随机uuid库管理子模块,用于接收到服务端传输的加密的uuid,对其进行解密处理,并将解密得到的随机uuid写入客户端随机uuid库。当客户端需要发送请求报文时,可以从随机uuid库中选取随机uuid写入请求报文中,为保证随机uuid传输的安全性,可以对随机uuid进行加密处理。
67.服务端接收到客户端发送的请求报文时,可以对请求报文中随机uuid解密,对解密得到的随机uuid进行校验。校验时,服务端可以从随机uuid库中读取随机uuid,将读取到的随机uuid与解密得到的随机uuid进行比较,若读取到的随机uuid中存在与解密得到的随机uuid相同的随机uuid,则说明请求报文合法,通过了校验。通过校验后,服务端可以执行随机uuid删除操作,将该解密得到的随机uuid从服务端随机uuid库中删除。图3中随机uuid生成调整,可以用于调整当前所需生成的uuid的数量。
68.由上述技术方案可以看出,按照设定的规则生成标识码,标识码具有唯一性,可以用于对数据报文可靠性的验证。在本地存储标识码,并将标识码传输至客户端,以便于客户端在向服务端传输请求报文时添加相应的标识码。接收客户端传输的请求报文,若请求报文中未携带与标识码匹配的目标标识码,则说明客户端发送的请求报文不合法,此时可以判定请求报文为重放攻击报文。在该技术方案中,由服务端生成标识码,并进行合理管理,可避免需要额外保存已使用随机数的问题,从而解决了保存和查询随机数的开销较大的问题,并且无需保证服务端和客户端时间的同步,本方案在实现对重放攻击准确检测的同时,降低了重放检测的难度。
69.初始状态下,服务端可以生成固定数量的标识码。考虑到客户端在不同时间段的业务需求有所差异,因此在本技术实施例中,可以根据预设时间段内客户端发送请求报文的数量,调整生成的标识码的个数。服务端可以依据调整后的个数,生成相应个数新的标识码;将新的标识码反馈至客户端。
70.预设时间段的取值可以根据实际需求设置,例如可以设置为24小时。
71.在具体实现中,当预设时间段内客户端发送请求报文的数量较小时,可以将生成的标识码的个数调小,从而生成较小数量的标识码便可以满足客户端的业务需求;当预设时间段内客户端发送请求报文的数量较多时,可以将生成的标识码的个数调高,从而生成较多数量的标识码以满足客户端的业务需求。
72.在本技术实施例中,可以预先设置好发送请求报文的数量范围与生成的标识码的个数的对应关系。在获取到预设时间段内客户端发送请求报文的数量之后,可以依赖该对应关系,确定出生成的标识码的个数。
73.需要说明的是,服务端连接的客户端的数量可能较多,在调整标识码的个数时,可以针对每一个客户端单独分析,即服务端可以根据预设时间段内同一客户端发送请求报文的数量,调整针对于该客户端所需生成的标识码的个数。
74.当生成的标识码个数远远高于客户端发送请求报文的数量,会造成标识码的浪费;当生成的标识码个数远远低于客户端发送请求报文的数量,会造成客户端请求报文的拥堵。在本技术实施例中,依据客户端的业务需求调整所需生成的标识码的个数,可以有效
的避免标识码的浪费以及客户端发送请求报文拥堵的情况发生。
75.在本技术实施例中,为了降低对服务端资源的占用,若请求报文中携带有与标识码匹配的目标标识码,则可以将目标标识码从本地存储中删除。
76.在实际应用中,除了依据客户端的业务需求调整所需生成的标识码的个数之外,也可以每删除一个目标标识码,则生成一个新的标识码;并将新的标识码传输至客户端。
77.服务端将新的标识码传输至客户端的方式有多种,服务端可以将新的标识码携带在响应报文中传输至客户端,也可以主动向客户端单独发送标识码。
78.在本技术实施例,服务端首先生成随机uuid并加密后发送给客户端,由客户端在请求报文中携带服务端发送的随机uuid。其次,服务端对客户端携带的随机uuid的合法性进行校验并根据校验结果判断是否为重放攻击。
79.同时服务端可以进行校验结果对生成的随机uuid进行读写删管理。客户端可以根据随机uuid的使用情况,对服务端发送过来的随机uuid进行读写删管理。服务端还可以根据客户端发送的请求报文的情况实时调整随机uuid生成策略,对每次生成的随机uuid个数进行调整,防止因随机uuid的个数不合理导致网络请求延迟或者阻塞。
80.图4为本技术实施例提供的一种网络重放攻击的检测装置的结构示意图,包括生成单元41、存储单元42、传输单元43和识别单元44;
81.生成单元41,用于按照设定的规则生成标识码;
82.存储单元42,用于在本地存储标识码;
83.传输单元43,用于将标识码传输至客户端,以便于客户端在向服务端传输请求报文时添加相应的标识码;
84.识别单元44,用于接收客户端传输的请求报文,若请求报文中未携带与标识码匹配的目标标识码,则判定请求报文为重放攻击报文。
85.可选地,还包括调整单元;
86.调整单元,用于根据预设时间段内客户端发送请求报文的数量,调整生成的标识码的个数。
87.可选地,生成单元还用于依据调整后的个数,生成相应个数新的标识码;传输单元还用于将新的标识码反馈至客户端。
88.可选地,还包括删除单元;
89.删除单元,用于若请求报文中携带有与标识码匹配的目标标识码,则将目标标识码从本地存储中删除。
90.可选地,生成单元还用于每删除一个目标标识码,则生成一个新的标识码;传输单元还用于将新的标识码传输至客户端。
91.可选地,传输单元用于将新的标识码携带在响应报文中传输至客户端。
92.可选地,传输单元用于对标识码进行加密处理,并将加密后的标识码传输至客户端。
93.图4所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
94.由上述技术方案可以看出,按照设定的规则生成标识码,标识码具有唯一性,可以用于对数据报文可靠性的验证。在本地存储标识码,并将标识码传输至客户端,以便于客户
端在向服务端传输请求报文时添加相应的标识码。接收客户端传输的请求报文,若请求报文中未携带与标识码匹配的目标标识码,则说明客户端发送的请求报文不合法,此时可以判定请求报文为重放攻击报文。在该技术方案中,由服务端生成标识码,并进行合理管理,可避免需要额外保存已使用随机数的问题,从而解决了保存和查询随机数的开销较大的问题,并且无需保证服务端和客户端时间的同步,本方案在实现对重放攻击准确检测的同时,降低了重放检测的难度。
95.图5为本技术另一实施例提供的网络重放攻击的检测设备的结构图,如图5所示,网络重放攻击的检测设备包括:存储器20,用于存储计算机程序;
96.处理器21,用于执行计算机程序时实现如上述实施例网络重放攻击的检测方法的步骤。
97.本实施例提供的网络重放攻击的检测设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
98.其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
99.存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的网络重放攻击的检测方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括windows、unix、linux等。数据203可以包括但不限于标识码等。
100.在一些实施例中,网络重放攻击的检测设备还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
101.本领域技术人员可以理解,图5中示出的结构并不构成对网络重放攻击的检测设备的限定,可以包括比图示更多或更少的组件。
102.由上述技术方案可以看出,按照设定的规则生成标识码,标识码具有唯一性,可以用于对数据报文可靠性的验证。在本地存储标识码,并将标识码传输至客户端,以便于客户端在向服务端传输请求报文时添加相应的标识码。接收客户端传输的请求报文,若请求报文中未携带与标识码匹配的目标标识码,则说明客户端发送的请求报文不合法,此时可以判定请求报文为重放攻击报文。在该技术方案中,由服务端生成标识码,并进行合理管理,可避免需要额外保存已使用随机数的问题,从而解决了保存和查询随机数的开销较大的问
题,并且无需保证服务端和客户端时间的同步,本方案在实现对重放攻击准确检测的同时,降低了重放检测的难度。
103.可以理解的是,如果上述实施例中的网络重放攻击的检测方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、磁碟或者光盘等各种可以存储程序代码的介质。
104.基于此,本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任意一项网络重放攻击的检测方法的步骤。
105.本技术实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
106.以上对本技术实施例所提供的一种网络重放攻击的检测方法、装置、设备和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
107.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
108.以上对本技术所提供的一种网络重放攻击的检测方法、装置、设备和计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1