网络攻击检测方法、装置、系统、电子设备及存储介质与流程

文档序号:19124434发布日期:2019-11-13 01:59阅读:184来源:国知局
网络攻击检测方法、装置、系统、电子设备及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种网络攻击检测方法、装置、系统、电子设备及存储介质。



背景技术:

随着互联网技术的发展,数据传输越来越倾向于依赖互联网,随之而来的是基于网络的数据传输容易受到网络攻击,而导致安全性较差。

目前,网络攻击的类型包括:udp(userdatagramprotocol,用户数据报协议)反射攻击、tcp(transmissioncontrolprotocol传输控制协议)反射攻击、重放攻击等等。

其中,重放攻击,是指攻击者拦截攻击目标(例如服务器)接收到的数据包,不作任何修改,再原封不动地发送给攻击目标,以此实现某些功能,从而使得攻击目标受到网络攻击。

由此可知,现有的数据传输仍存在安全性较差的缺陷。



技术实现要素:

为了解决相关技术中存在的基于网络的数据传输安全性较差的问题,本发明各实施例提供一种网络攻击检测方法、装置、系统、电子设备及存储介质。

其中,本发明所采用的技术方案为:

根据本发明的一方面,一种网络攻击检测方法,应用于第一设备,所述方法包括:接收局域网中基于组播协议传输的心跳消息;基于第二设备的设备标识,从接收到的心跳消息中提取对应于所述设备标识的设备数据,所述第二设备是所述第一设备请求连接的设备;根据对应于所述设备标识的设备数据对所述第二设备的当前时间进行估计,得到所述第二设备的估计时间戳,并根据所述第二设备的估计时间戳请求所述第二设备返回应答消息;当接收到所述第二设备返回的应答消息,根据所述应答消息中所述第一设备的估计时间戳,对所述第二设备进行身份合法性校验,所述第一设备的估计时间戳是所述第二设备对所述第一设备的当前时间进行估计生成的;如果所述第二设备未通过身份合法性校验,则确认所述第一设备受到网络攻击。

根据本发明的一方面,一种网络攻击检测系统,包括第一设备和所述第一设备请求连接的第二设备,其中,所述第一设备,用于接收局域网中基于组播协议传输的心跳消息,并基于第二设备的设备标识,从接收到的心跳消息中提取对应于所述设备标识的设备数据;所述第一设备,还用于根据对应于所述设备标识的设备数据对所述第二设备的当前时间进行估计,得到所述第二设备的估计时间戳,并根据所述第二设备的估计时间戳请求所述第二设备返回应答消息;所述第二设备,用于根据所述第二设备的估计时间戳校验所述第一设备的身份合法性,并在所述第一设备通过身份合法性校验时,对所述第一设备的当前时间进行估计,得到所述第一设备的估计时间戳,以生成所述应答消息反馈至所述第一设备;所述第一设备,还用于当接收到所述第二设备返回的应答消息,根据所述应答消息中所述第一设备的估计时间戳,对所述第二设备进行身份合法性校验,如果所述第二设备未通过身份合法性校验,则确认所述第一设备受到网络攻击。

根据本发明的一方面,一种网络攻击检测装置,应用于第一设备,所述装置包括:心跳消息接收模块,用于接收局域网中基于组播协议传输的心跳消息;设备数据提取模块,用于基于第二设备的设备标识,从接收到的心跳消息中提取对应于所述设备标识的设备数据,所述第二设备是所述第一设备请求连接的设备;应答消息请求模块,用于根据对应于所述设备标识的设备数据对所述第二设备的当前时间进行估计,得到所述第二设备的估计时间戳,并根据所述第二设备的估计时间戳请求所述第二设备返回应答消息;身份校验模块,用于当接收到所述第二设备返回的应答消息,根据所述应答消息中所述第一设备的估计时间戳,对所述第二设备进行身份合法性校验,所述第一设备的估计时间戳是所述第二设备对所述第一设备的当前时间进行估计生成的;攻击检测模块,用于如果所述第二设备未通过身份合法性校验,则确认所述第一设备受到网络攻击。

根据本发明的一方面,一种电子设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的网络攻击检测方法。

根据本发明的一方面,一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的网络攻击检测方法。

在上述技术方案中,第一设备接收到局域网中传输的心跳消息,进而基于第二设备的设备标识,从该心跳消息中提取对应于该设备标识的设备数据,以此对第二设备的当前时间进行估计,得到第二设备的估计时间戳,并根据第二设备的估计时间戳请求第二设备返回应答消息,当接收到第二设备返回的应答消息,根据应答消息中第二设备对第一设备进行当前时间估计所产生的第一设备的估计时间戳,对第二设备进行身份合法性校验,如果第二设备未通过身份合法性校验,则确认第一设备受到网络攻击,由此,通过对第一设备和第二设备的当前时间进行估计,能够有效地防止重放攻击,以此解决基于网络的数据传输的安全性较差的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是根据本发明所涉及的实施环境的示意图。

图2是根据一示例性实施例示出的一种电子设备的硬件结构框图。

图3是根据一示例性实施例示出的一种网络攻击检测方法的流程图。

图4是图3对应实施例中步骤330在一个实施例的流程图。

图5是图4对应实施例中步骤333在一个实施例的流程图。

图6是图4对应实施例中步骤350在一个实施例的流程图。

图7是图4对应实施例中步骤370在一个实施例的流程图。

图8是根据一示例性实施例示出的另一种网络攻击检测方法的流程图。

图9是根据一示例性实施例示出的另一种网络攻击检测方法的流程图。

图10是图9对应实施例中步骤530在一个实施例的流程图。

图11是根据一示例性实施例示出的一种网络攻击检测装置的框图。

图12是根据一示例性实施例示出的一种电子设备的框图。

通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1为一种网络攻击检测方法所涉及的实施环境的示意图。该实施环境包括云服务器端110、路由器130、网关150、以及第一设备171、第二设备173。

其中,第一设备171、第二设备173具有网络连接功能,不仅可以是台式电脑、笔记本电脑、平板电脑、智能手机等设备,还可以是智能家居系统中的智能设备,例如智能空调、智能冰箱、智能门锁等等,在此不进行具体限定。

服务器端110可以是一台服务器,也可以是由多台服务器构成的服务器集群,甚至是由多台服务器构成的云计算中心。此服务器是为用户提供后台服务的计算机设备,例如,后台服务包括但不限于网络攻击检测服务等等。

第一设备171、第二设备173将通过无线或者有线方式,与路由器130、网关150、服务器端110之间建立连接,进而通过该连接完成彼此之间的数据传输。例如,传输的数据包括但不限于心跳消息、应答消息、数据包、请求等等。

以智能家居系统中第一设备171与第二设备173之间的数据传输为例,对网络攻击检测的过程加以说明。

在智能家居系统中,基于用户需求,用户端190将通过服务器端110、将智能家居场景配置于网关150,进而通过网关150在第一设备171与第二设备173之间形成连接,也视为联动。例如,智能家居场景为回家场景,第一设备171为智能门锁,第二设备173为智能空调,那么,一旦第一设备171和第二设备173形成联动,便可在用户开启智能门锁时,同时开启智能空调,极大地满足了用户需求。

上述过程中,便会在第一设备171与第二设备173之间建立连接,以基于该连接完成彼此之间的联动。

一旦受到网络攻击,第一设备171就有可能接收到来自于攻击者的数据包,例如,攻击者拦截第二设备173发送的数据包,不作任何修改,再原封不动地发送给第一设备171,以此达到伪装第二设备173发送数据包的目的,从而使得第一设备171受到网络攻击。

此时,便可基于部署在第一设备171的网络攻击检测装置,通过对第一设备171和第二设备173的当前时间进行估计,有效地进行重放攻击检测,以此达到网络攻击防护目的。

图2是根据一示例性实施例示出的一种电子设备的硬件结构框图。该种服务器适用于图1所示出实施环境的第一设备171、第二设备173。

需要说明的是,该种电子设备只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该种电子设备也不能解释为需要依赖于或者必须具有图2中示出的示例性的电子设备200中的一个或者多个组件。

电子设备200的硬件结构可因配置或者性能的不同而产生较大的差异,如图2所示,电子设备200包括:电源210、接口230、至少一存储器250、以及至少一中央处理器(cpu,centralprocessingunits)270。

具体地,电源210用于为电子设备200上的各硬件设备提供工作电压。

接口230包括至少一有线或无线网络接口,用于与外部设备交互。例如,进行图1所示出实施环境中第一设备171与服务器端110、路由器130、或者网关150之间的交互。

当然,在其余本发明适配的示例中,接口230还可以进一步包括至少一串并转换接口233、至少一输入输出接口235以及至少一usb接口237等,如图2所示,在此并非对此构成具体限定。

存储器250作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统251、应用程序253及数据255等,存储方式可以是短暂存储或者永久存储。

其中,操作系统251用于管理与控制电子设备200上的各硬件设备以及应用程序253,以实现中央处理器270对存储器250中海量数据255的运算与处理,其可以是windowsservertm、macosxtm、unixtm、linuxtm、freebsdtm等。

应用程序253是基于操作系统251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图2中未示出),每个模块都可以分别包含有对电子设备200的一系列计算机可读指令。例如,网络攻击检测装置可视为部署于电子设备的应用程序253。

数据255可以是存储于磁盘中的照片、图片等,还可以是携带估计时间戳的数据包等,存储于存储器250中。

中央处理器270可以包括一个或多个以上的处理器,并设置为通过至少一通信总线与存储器250通信,以读取存储器250中存储的计算机可读指令,进而实现对存储器250中海量数据255的运算与处理。例如,通过中央处理器270读取存储器250中存储的一系列计算机可读指令的形式来完成网络攻击检测方法。

此外,通过硬件电路或者硬件电路结合软件也能同样实现本发明,因此,实现本发明并不限于任何特定硬件电路、软件以及两者的组合。

请参阅图3,在一示例性实施例中,一种网络攻击检测方法适用于图1所示实施环境的第一设备,该第一设备的结构可以如图2所示。

该种网络攻击检测方法可以由安全攻击检测装置执行,也可以理解为由网络攻击检测装置部署的第一设备执行。在下述方法实施例中,为了便于描述,以各步骤的执行主体为网络攻击检测装置加以说明,但是并不对此构成限定。

该种网络攻击检测方法可以包括以下步骤:

步骤310,接收局域网中基于组播协议传输的心跳消息。

首先说明的是,心跳消息,在请求连接的不同设备之间发送,用于向其他设备指示设备自身的工作状态为正常工作状态。换而言之,如果一个设备的工作状态为异常工作状态,例如,该设备死机或者故障,则其他设备可能获取不到该设备的心跳消息,由此,其他设备便可获知该设备处于异常工作状态。

其中,心跳消息,包括处于正常工作状态的设备的相关数据,该数据包括但不限于:设备的设备标识、设备的ip地址、设备的传输端口、设备发送心跳消息的时间。

可以理解,处于正常工作状态的设备,受到攻击者的攻击才可能影响与其他设备之间的连接,才有进行网络攻击检测的必要。因此,本实施例中,基于心跳消息,进行网络攻击检测,以达到网络攻击防护效果。

其次,局域网中,可能存在海量请求是为了实现不同设备之间的连接,也就是说,对于每一个设备而言,都可能请求与多个其他设备连接,那么,就需要获知该多个其他设备是否处于正常工作状态。

为此,局域网中,便会基于组播协议,传输用于指示不同设备是否处于正常工作状态的多个心跳信息,此时,对于第一设备而言,便会接收到局域网中基于组播协议传输的心跳消息。

步骤330,基于第二设备的设备标识,从接收到的心跳消息中提取对应于所述设备标识的设备数据。

其中,所述第二设备是所述第一设备请求连接的设备。那么,就第二设备而言,便需要将用于指示其设备自身的工作状态为正常工作状态的心跳消息传输至第一设备,以便于第一设备基于该心跳消息,与第二设备之间建立连接。

应当理解,遵循组播协议的设备,都将借助局域网进行心跳消息的传输,此时,就第一设备而言,只要是在局域网中基于组播协议传输的心跳消息,都可以接收到,不仅仅是第二设备,还有可能是请求与其他设备连接的第三设备、第四设备等,在此不一一举例。

为此,第一设备需要从众多心跳消息中筛选得到欲与其建立连接的设备,即第二设备。本实施例中,筛选是基于第二设备的设备标识实现的。其中,设备标识用于唯一地识别第二设备,可以是第二设备的mac地址,也可以是第二设备的设备识别码,此处不进行具体限定。

关于第二设备的设备标识的获取,以智能家居系统为例进行说明。

由于智能家居场景在网关150中进行了配置,如图1所示,在网关151配置了智能家居场景之后,便获知了其需要与网关153建立连接,进而方能够使得第一设备171与第二设备173之间形成联动。在此过程中,基于智能家居场景,网关151便会将第二设备173的设备标识下发至第一设备171,而网关153则会将第一设备171的设备标识下发至第二设备173。

就第一设备171而言,在获知第二设备173的设备标识之后,便可进行心跳消息的筛选,得到对应于第二设备173的设备标识的心跳消息,并进一步从该心跳消息中提取得到关于第二设备173的设备数据。

应当说明的是,设备数据,包括但不限于:设备的设备标识、设备的ip地址、设备的传输端口、设备发送心跳消息的发送时间戳。其中,该发送时间戳表示设备发送心跳消息的时间。

步骤350,根据对应于所述设备标识的设备数据对所述第二设备的当前时间进行估计,得到所述第二设备的估计时间戳,并根据所述第二设备的估计时间戳请求所述第二设备返回应答消息。

如前所述,重放攻击是基于攻击目标接收到的来自于正常设备的数据包,不作任何修改,再原封不动地发送给攻击目标,基于此,发明人意识到,重放攻击中数据包携带的时间戳势必无法跟随正常设备的当前时间变化而更新,但仍有可能跟随攻击者的伪装设备的当前时间变化而更新。

换而言之,无论是第一设备还是第二设备,一旦受到重放攻击,均有可能接收到携带的时间戳无法跟随正常设备的当前时间变化而更新的数据包。

此外,发明人还意识到,对于第一设备或者第二设备而言,如果均属于同一系统(例如智能家居系统)中的正常设备,那么,在建立连接之前,势必会进行时间同步,也就是说,第一设备的当前时间与第二设备的当前时间相当。而攻击者的伪装设备,由于并不属于该系统,则很可能因为缺乏同步而存在偏差。

因此,本实施例中,为了防止重放攻击,需要在第一设备与第二设备之间进行时间同步的验证,即验证彼此的身份合法性,来保证接收到的数据包中时间戳跟随正常设备的当前时间变化而更新。

进一步地,发明人也意识到,对于在同一个局域网中进行连接建立的两个设备而言,如果仅是比较其中一个设备的当前时间与另一个设备的当前时间,进而认为只要二者之间的时间差不超过一定时间范围,便视为同步,则很大程度上会误将攻击者的伪装设备视为正常设备。因为,当攻击者的伪装设备与正常设备属于同一个局域网时,基于局域网内部的时间同步也足够保证攻击者的伪装设备与正常设备之间当前时间的时间差在一个较小的时间范围内。

故而,本实施例中,时间同步的验证,是基于对设备的当前时间进行估计实现的。其中,设备的估计时间戳,表示为该设备估计的当前时间。

也就是说,对于每一个设备而言,只有请求连接的设备估计的当前时间与设备自身真实的当前时间之间的时间差在一个较小的时间范围内,才视为通过时间同步验证,即该设备通过身份合法性校验。

具体地,对于第一设备而言,为了方便第二设备进行时间同步的验证,将根据第二设备的设备数据对第二设备的当前时间进行估计,以得到第二设备的估计时间戳。

对于第二设备而言,便可根据接收到的第二设备的估计时间戳进行时间同步验证,即校验第一设备的身份合法性。

如果第一设备通过身份合法性校验,视为第一设备属于正常设备,则第二设备根据第一设备的设备数据对第一设备的当前时间进行估计,以得到第一设备的估计时间戳生成应答消息,并发送至第一设备。

否则,如果第一设备未通过身份合法性校验,则视为第一设备是攻击者的伪装设备,则确认第二设备受到来自于攻击者的网络攻击,此时,便不会生成应答消息,即第一设备接收应答消息超时,视为第二设备终止与第一设备建立连接。

步骤370,当接收到所述第二设备返回的应答消息,根据所述应答消息中所述第一设备的估计时间戳,对所述第二设备进行身份合法性校验。

其中,所述第一设备的估计时间戳是所述第二设备对所述第一设备的当前时间进行估计生成的。

也就是说,对于第一设备而言,如果可以接收到第二设备返回的应答消息,即视为第一设备通过身份合法性校验,此时,第二设备已做好与第一设备建立连接的准备。

那么,为了在第一设备与第二设备之间建立连接,还需要对第二设备的身份合法性进行校验,即基于应答消息中第一设备的估计时间戳验证第一设备和第二设备是否时间同步。

如果第一设备和第二设备时间不同步,即第二设备未通过身份合法性校验,视为第二设备属于攻击者的伪装设备,则执行步骤390,即确认第一设备受到来自于攻击者的网络攻击。

否则,如果第一设备和第二设备时间同步,即第二设备通过身份合法性校验,视为第二设备是正常设备,便可以与第一设备建立连接,以便于在第一设备与第二设备之间形成联动,继而进行数据传输。

步骤390,如果所述第二设备未通过身份合法性校验,则确认所述第一设备受到网络攻击。

通过如上所述的过程,实现了基于当前时间估计的时间同步验证,准确地检测和防护了重放攻击,能够有效地提高基于网络的数据传输的安全性。

请参阅图4,在一示例性实施例中,步骤330可以包括以下步骤:

步骤331,根据所述第二设备的设备标识,获取所述第二设备的密钥。

应当理解,局域网中设备之间的数据传输,该数据包括心跳消息,如果不加密,一旦攻击者侵入局域网,监听并拦截到设备之间传输的该数据,便能够轻易地查看到该数据,并通过对该数据进行的仿造实施网络攻击。

为此,局域网中设备之间传输的数据,均进行了加密,以此进一步地保证局域网中数据传输的安全性。其中,加密采用的加密算法包括但不限于:ssl(securesocketslayer安全套接层)、tls(transportlayersecurity,传输层安全)等等,本实施例并非对此构成具体限定。

由此,对于第一设备而言,在获得第二设备的心跳消息之后,便需要根据第二设备的密钥,对该心跳消息进行解密,以得到第二设备的设备数据。

关于第二设备的密钥的获取,可以基于第一设备的请求,由服务器下发,也可以基于密钥交换算法,在第一设备与第二设备之间进行密钥交换,在此不作具体限定。

需要说明的是,对于下发密钥的服务器来说,可以采用加密算法生成若干密钥,并随机分配给局域网中的每一个设备,然后,便可在本地,建立该设备的设备标识与随机分配到的密钥之间的对应关系,并存储此对应关系,由此,在第一设备请求第二设备的密钥时,便可基于第二设备的设备标识查找到具有对应关系的密钥,以作为第二设备的密钥下发至第一设备。

步骤333,基于所述第二设备的密钥,对接收到的心跳消息进行解密,得到对应于所述设备标识的设备数据。

具体而言,如图5所示,步骤333可以包括以下步骤:

步骤3331,对接收到的心跳消息,进行字符编解码转换,得到转换数据。

步骤3333,根据所述第二设备的密钥解密所述转换数据,得到对应于所述设备标识的设备数据。

首先,描述下局域网中传输数据的加密过程。

应当理解,待传输数据通常是可见字符串,那么,针对作为待传输数据的可见字符串,利用加密算法对该可见字符串进行加密,其中,加密算法包括但不限于:aes256算法、rsa算法、elgamal算法、背包算法、rabin算法、d-h算法、ecc(椭圆曲线加密)算法等等。

在完成可见字符串的加密之后,基于局域网进行数据传输,则需要遵循指定传输协议(例如tcp/ip协议),对加密后的可见字符串进行报文封装处理,此时,由于可见字符串加密后可能出现非可读字符,导致无法进行报文封装,还需要进一步地进行字符编解码转换,以保证进行报文封装处理的均是可读字符,其中,字符编解码转换可以通过base64编码方式实现。

在完成字符编解码转换之后,便可将可读字符进行报文封装处理,进而实现基于局域网的数据传输。

相应地,局域网中传输数据的解密过程,实质是上述加密过程的逆过程,即先进行字符编解码转换,然后利用第二设备的密钥进行解密,由此,便从第二设备的心跳消息中提取得到第二设备的设备数据。

在上述实施例的作用下,实现了局域网中传输数据的加密和解密,进一步地保证了基于网络的数据传输的安全性。

请参阅图6,在一示例性实施例中,步骤350中所述根据对应于所述设备标识的设备数据对所述第二设备的当前时间进行估计,得到所述第二设备的估计时间戳的步骤,可以包括以下步骤:

步骤351,从对应于所述设备标识的设备数据中提取所述第二设备的发送时间戳,并获取所述第一设备的当前时间、接收时间戳。

其中,第二设备的发送时间戳,表示第二设备发送心跳消息的时间。

第一设备的接收时间戳,则表示第一设备接收到第二设备发送心跳信息的时间。

值得一提的是,此处,第一设备的当前时间,也视为,第一设备在所属系统同步后的系统时间,也是以时间戳进行表示的,由此,也可以理解为,第一设备的接收时间戳,实质表示的是第一设备在接收到第二设备发送心跳信息时第一设备的系统时间,同理,第二设备的发送时间戳,实质表示的是第二设备在发送心跳消息时第二设备的系统时间,其中,第一设备所属系统与第二设备所属系统相同,例如,二者均属于智能家居系统。

步骤353,根据所述第二设备的发送时间戳、以及所述第一设备的当前时间、接收时间戳,计算所述第二设备的估计时间戳。

发明人意识到,基于第一设备的接收时间戳、第二设备的接收时间戳,实质上反映了心跳消息在第一设备与第二设备之间传输所需要的时间,即传输时间差。那么,基于该传输时间差,便可由第一设备的当前时间估计出第二设备的当前时间。

具体地,tp=t-tam1+ta1。

其中,tp表示第二设备的估计时间戳,t表示第一设备的当前时间,tam1表示第一设备的接收时间戳,ta1表示第二设备的接收时间戳。现基于上述计算公式,对第一设备与第二设备的时间同步验证过程举例说明如下。

假设第一设备欲请求第二设备返回应答消息,第一设备发送该请求的时间为t。

该请求在第一设备与第二设备之间传输所需要的时间,即传输时间差,相当于心跳消息在第一设备与第二设备之间传输所需要的时间,即tam1-ta1。

此时,tp=t-tam1+ta1,即表示第一设备估计的第二设备接收到该请求时的当前时间。

如果当第二设备接收到该请求时,其真实的当前时间能够相当于tp,便认为第一设备与第二设备时间同步,即第一设备通过身份合法性校验。

在上述实施例的作用下,实现了对第二设备的当前时间的估计,为第二设备校验第一设备的身份合法性提供了理论依据。

请参阅图7,在一示例性实施例中,步骤370可以包括以下步骤:

步骤371,根据所述第二设备的密钥进行所述应答消息的解密。

如前所述,局域网中设备之间传输的数据均进行了加密,该数据既包括心跳消息,也包括应答消息。在此,应答消息的解密过程,与前述心跳消息的解密过程基本一致,便不再重复赘述。

步骤373,从解密的应答消息中提取得到所述第一设备的估计时间戳,并获取所述第一设备的当前时间。

第一设备的估计时间戳,是为第一设备估计的当前时间,也即是,由第二设备估计的第一设备接收到应答消息时的时间。

第一设备的当前时间,则是第一设备真实的当前时间,也即是,第一设备实际接收到应答消息时的时间。

步骤375,计算所述第一设备的当前时间与估计时间戳之间的时间差。

此时,如果时间差小于设定时长,表示真实的当前时间与估计的当前时间相当,便认为第一设备与第二设备时间同步,则执行步骤377,即确认第二设备通过身份合法性校验。

其中,设定时长,根据应用场景的不同需求可以灵活地设置,例如,设定时长为2秒。

步骤377,如果所述时间差小于设定时长,则确认所述第二设备通过身份合法性校验。

通过上述过程,完成了第一设备对第二设备的身份合法性校验,避免第一设备所受到的重放攻击,充分保障了基于网络的数据传输的安全性。

请参阅图8,在一示例性实施例中,步骤350中所述根据所述第二设备的估计时间戳请求所述第二设备返回应答消息的步骤之后,如上所述的方法还可以包括以下步骤:

步骤410,基于所述请求所述第二设备返回应答消息,启动第一计时器。

步骤430,如果所述第一计时器的数值超过第一设定数值,则确认所述第二设备返回所述应答消息超时。

如前所述,对于第二设备而言,如果第一设备未通过身份合法性校验,则视为第一设备是攻击者的伪装设备,则确认第二设备受到来自于攻击者的网络攻击,此时,便不会生成应答消息,此时,第一设备接收应答消息将超时。

为此,对于第一设备而言,在请求第二设备返回应答消息时,便会启动计时器,进而通过该计时器判断应答消息是否超时。

当所述第二设备返回所述应答消息超时,如果第一设备是攻击者的伪装设备,只能停止对第二设备的重放攻击。

或者,如果第一设备是正常设备,超时可能是因为网络延迟导致,则执行步骤350中所述根据所述第二设备的估计时间戳请求所述第二设备返回应答消息的步骤。

其中,第一设定数值,根据应用场景的不同需求可以灵活地设置,此处并未进行具体限定。

通过上述实施例的配合,避免了第二设备受到的重放攻击,充分保障了基于网络的数据传输的安全性。

请参阅图9,在一示例性实施例中,步骤370之后,如上所述的方法还可以包括以下步骤:

步骤510,如果所述第二设备通过身份合法性校验,则在所述第一设备与所述第二设备之间建立连接。

步骤530,通过建立的所述连接,进行所述第一设备与所述第二设备之间的数据传输。

具体而言,如图10所示,步骤530可以包括以下步骤:

步骤531,获取待传输数据包,将所述第二设备的估计时间戳封装至所述待传输数据包。

步骤533,通过建立的所述连接,将携带所述第二设备的估计时间戳的待传输数据包发送至所述第二设备,使得所述第二设备根据所述第二设备的估计时间戳校验所述第一设备的身份合法性。

步骤535,当所述第一设备通过所述第二设备针对所述第一设备进行的身份合法性校验,接收到所述第二设备发送的数据包。

其中,该数据包携带有所述第一设备的估计时间戳,使得第一设备根据第一设备的估计时间戳校验第二设备的身份合法性。

也就是说,在第一设备与第二设备之间建立连接之后,二者之间进行的数据包传输,也将基于前述身份合法性校验的方式进行,即确认第一设备与第二设备之间时间同步,有效地防止重放攻击,从而进一步地保障了基于网络的数据传输的安全性。

在一示例性实施例中,步骤530之前,如上所述的方法还可以包括以下步骤:

基于接收到的所述第二设备的心跳消息,启动第二计时器。

发明人意识到,对于已建立连接的两个设备而言,一旦其中一个设备接收另一个设备的心跳消息超时,便有可能受到重放攻击,即攻击者拦截了另一个设备的数据以便于进行伪装而实施攻击。

为此,本实施例中,对于第一设备而言,在接收到第二设备的心跳消息时,便会启动计时器,进而通过该计时器判断心跳消息是否超时。

如果所述第二计时器的数值未超过第二设定数值,视为第二设备不是攻击者的伪装设备,则执行所述进行所述第一设备与所述第二设备之间的数据传输的步骤。

如果所述第二计时器的数值超过所述第二设定数值,视为可能受到攻击者的重放攻击,则重新进行所述第二设备的身份合法性校验。

其中,第二设定数值,根据应用场景的不同需求可以灵活地设置,例如,第二设定数值为30秒。

上述过程中,实现了心跳消息的超时检测,全方位地避免了攻击者的重放攻击,进一步地提高了基于网络的数据传输的安全性。

下述为本发明装置实施例,可以用于执行本发明所涉及的网络攻击检测方法。对于本发明装置实施例中未披露的细节,请参照本发明所涉及的网络攻击检测方法的方法实施例。

在一示例性实施例中,一种网络攻击检测系统,所述系统包括第一设备和所述第一设备请求连接的第二设备。

其中,所述第一设备,用于接收局域网中基于组播协议传输的心跳消息,并基于第二设备的设备标识,从接收到的心跳消息中提取对应于所述设备标识的设备数据。

所述第一设备,还用于根据对应于所述设备标识的设备数据对所述第二设备的当前时间进行估计,得到所述第二设备的估计时间戳,并根据所述第二设备的估计时间戳请求所述第二设备返回应答消息。

所述第二设备,用于根据所述第二设备的估计时间戳校验所述第一设备的身份合法性,并在所述第一设备通过身份合法性校验时,对所述第一设备的当前时间进行估计,得到所述第一设备的估计时间戳,以生成所述应答消息反馈至所述第一设备。

所述第一设备,还用于当接收到所述第二设备返回的应答消息,根据所述应答消息中所述第一设备的估计时间戳,对所述第二设备进行身份合法性校验,如果所述第二设备未通过身份合法性校验,则确认所述第一设备受到网络攻击。

通过上述过程,在第一设备与第二设备进行数据传输时,不仅第一设备会对第二设备进行身份合法性校验,而且第二设备也会对校验第一设备的身份合法性,实现了安全性强的数据传输过程,尤其是有效地避免了基于网络的数据传输中的重放攻击。

此外,身份合法性校验基于时间戳估计实现,不是简单地比较第一设备与第二设备在当前时间上的差值,准确地保障了时间同步的准确性,进而有利于身份合法性校验的准确性。

请参阅图11,在一示例性实施例中,一种网络攻击检测装置900包括但不限于:心跳消息接收模块910、设备数据提取模块930、应答消息请求模块950、身份校验模块970和攻击检测模块990。

其中,心跳消息接收模块910,用于接收局域网中基于组播协议传输的心跳消息。

设备数据提取模块930,用于基于第二设备的设备标识,从接收到的心跳消息中提取对应于所述设备标识的设备数据,所述第二设备是所述第一设备请求连接的设备。

应答消息请求模块950,用于根据对应于所述设备标识的设备数据对所述第二设备的当前时间进行估计,得到所述第二设备的估计时间戳,并根据所述第二设备的估计时间戳请求所述第二设备返回应答消息。

身份校验模块970,用于当接收到所述第二设备返回的应答消息,根据所述应答消息中所述第一设备的估计时间戳,对所述第二设备进行身份合法性校验,所述第一设备的估计时间戳是所述第二设备对所述第一设备的当前时间进行估计生成的。

攻击检测模块990,用于如果所述第二设备未通过身份合法性校验,则确认所述第一设备受到网络攻击。

在一示例性实施例中,如上所述的网络攻击检测装置900还将基于其他不同的功能模块来实现以下功能,包括但不限于:

其中,根据所述第二设备的设备标识,获取所述第二设备的密钥;

基于所述第二设备的密钥,对接收到的心跳消息进行解密,得到对应于所述设备标识的设备数据。

在一示例性实施例中,如上所述的网络攻击检测装置900还将基于其他不同的功能模块来实现以下功能,包括但不限于:

其中,对接收到的心跳消息,进行字符编解码转换,得到转换数据;

根据所述第二设备的密钥解密所述转换数据,得到对应于所述设备标识的设备数据。

在一示例性实施例中,如上所述的网络攻击检测装置900还将基于其他不同的功能模块来实现以下功能,包括但不限于:

其中,从对应于所述设备标识的设备数据中提取所述第二设备的发送时间戳,并获取所述第一设备的当前时间和接收时间戳;

根据所述第二设备的发送时间戳、以及所述第一设备的当前时间、接收时间戳,计算所述第二设备的估计时间戳。

在一示例性实施例中,如上所述的网络攻击检测装置900还将基于其他不同的功能模块来实现以下功能,包括但不限于:

其中,根据所述第二设备的密钥进行所述应答消息的解密;

从解密的应答消息中提取得到所述第一设备的估计时间戳,并获取所述第一设备的当前时间;

计算所述第一设备的当前时间与估计时间戳之间的时间差;

如果所述时间差小于设定时长,则确认所述第二设备通过身份合法性校验。

在一示例性实施例中,如上所述的网络攻击检测装置900还将基于其他不同的功能模块来实现以下功能,包括但不限于:

其中,基于所述请求所述第二设备返回应答消息,启动第一计时器;

如果所述第一计时器的数值超过第一设定数值,则确认所述第二设备返回所述应答消息超时;

当所述第二设备返回所述应答消息超时,执行所述根据所述第二设备的估计时间戳请求所述第二设备返回应答消息的步骤。

在一示例性实施例中,如上所述的网络攻击检测装置900还将基于其他不同的功能模块来实现以下功能,包括但不限于:

其中,如果所述第二设备通过身份合法性校验,则在所述第一设备与所述第二设备之间建立连接;

通过建立的所述连接,进行所述第一设备与所述第二设备之间的数据传输。

在一示例性实施例中,如上所述的网络攻击检测装置900还将基于其他不同的功能模块来实现以下功能,包括但不限于:

其中,获取待传输数据包,将所述第二设备的估计时间戳封装至所述待传输数据包;

通过建立的所述连接,将携带所述第二设备的估计时间戳的待传输数据包发送至所述第二设备,使得所述第二设备根据所述第二设备的估计时间戳校验所述第一设备的身份合法性;

当所述第一设备通过所述第二设备针对所述第一设备进行的身份合法性校验,接收到所述第二设备发送的数据包,该数据包携带有所述第一设备的估计时间戳。

在一示例性实施例中,如上所述的网络攻击检测装置900还将基于其他不同的功能模块来实现以下功能,包括但不限于:

其中,基于接收到的所述第二设备的心跳消息,启动第二计时器;

如果所述第二计时器的数值未超过第二设定数值,则执行所述进行所述第一设备与所述第二设备之间的数据传输的步骤;

如果所述第二计时器的数值超过所述第二设定数值,则重新进行所述第二设备的身份合法性校验。

需要说明的是,上述实施例所提供的网络攻击检测装置在进行网络攻击检测时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即网络攻击检测装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。

另外,上述实施例所提供的网络攻击检测装置与网络攻击检测方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。

请参阅图12,在一示例性实施例中,一种电子设备1000,包括至少一处理器1001、至少一存储器1002、以及至少一通信总线1003。

其中,存储器1002上存储有计算机可读指令,处理器1001通过通信总线1003读取存储器1002中存储的计算机可读指令。

该计算机可读指令被处理器1001执行时实现上述各实施例中的网络攻击检测方法。

在一示例性实施例中,一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的网络攻击检测方法。

上述内容,仅为本发明的较佳示例性实施例,并非用于限制本发明的实施方案,本领域普通技术人员根据本发明的主要构思和精神,可以十分方便地进行相应的变通或修改,故本发明的保护范围应以权利要求书所要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1