CN109768991A - 报文的重放攻击检测方法、装置、电子设备 - Google Patents

报文的重放攻击检测方法、装置、电子设备 Download PDF

Info

Publication number
CN109768991A
CN109768991A CN201910161271.8A CN201910161271A CN109768991A CN 109768991 A CN109768991 A CN 109768991A CN 201910161271 A CN201910161271 A CN 201910161271A CN 109768991 A CN109768991 A CN 109768991A
Authority
CN
China
Prior art keywords
message
mentioned
tcp
function code
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910161271.8A
Other languages
English (en)
Other versions
CN109768991B (zh
Inventor
贾新奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201910161271.8A priority Critical patent/CN109768991B/zh
Publication of CN109768991A publication Critical patent/CN109768991A/zh
Application granted granted Critical
Publication of CN109768991B publication Critical patent/CN109768991B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请提供一种报文的重放攻击检测方法、装置、电子设备及机器可读存储介质。在本申请中,网络设备预存有第一报文的功能码以及接收时间,接收第二报文,获取所述第二报文的功能码以及接收时间;若所述第二报文与所述第一报文的功能码相同,则统计所述第二报文与所述第一报文的接收时间的时间差,其中,所述第二报文的接收时间晚于所述第一报文的接收时间;基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文。通过对基于TCP协议的Modbus报文的会话特征的检测,实现了报文的重放攻击检测,并提升了系统的安全性。

Description

报文的重放攻击检测方法、装置、电子设备
技术领域
本申请涉及网络技术领域,尤其涉及报文的重放攻击检测方法、装置、电子设备及机器可读存储介质。
背景技术
Modbus(Modicon’s bus,Modicon公司的总线),是一种应用于工业环境下的设备间通信的总线协议,其通信架构基于C/S模型,也即一个通信过程都是由客户端先发起,再由服务端进行回应。Modbus协议报文可以承载于串行、TCP以及UDP等多种应用级协议之上来具体实现。
发明内容
本申请提供一种报文的重放攻击检测方法,所述报文为基于TCP的Modbus协议报文,所述方法应用于网络设备,所述网络设备预存有第一报文的功能码以及接收时间,所述方法包括:
接收第二报文,获取所述第二报文的功能码以及接收时间;
若所述第二报文与所述第一报文的功能码相同,则统计所述第二报文与所述第一报文的接收时间的时间差,其中,所述第二报文的接收时间晚于所述第一报文的接收时间;
基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文。
可选的,所述报文的功能码的类型包括:读类型;所述网络设备预存有所述第一报文对应的历史时间差的统计值,所述基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文,包括:
若所述功能码的类型为读类型,并且所述时间差与所述历史时间差的统计值不相同,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述历史时间差的统计值替换为所述时间差的统计值。
可选的,所述报文的功能码的类型还包括:写类型;所述基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文,还包括:
若所述功能码的类型为写类型,并且所述时间差小于预设的阈值,则指示所述第二报文是重放攻击报文,丢弃所述第二报文。
可选的,所述网络设备还预存有所述第一报文的事务标识;在所述基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文之前,还包括:
获取所述第二报文的事务标识;
比较所述第二报文与所述第一报文的事务标识的大小,检测所述第二报文是否为重放攻击报文。
若所述第二报文的事务标识小于与所述第一报文的事务标识,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述第一报文的事务标识替换为所述第二报文的事务标识,允许所述第二报文继续检测。
可选的,所述网络设备还预存有所述第一报文的TCP序列号以及TCP有效数据的长度,预先计算获得计算所述第一报文的TCP序列号与TCP有效数据的长度之和L;在所述比较所述第二报文与所述第一报文的事务标识的大小,检测所述第二报文是否为重放攻击报文之前,还包括:
获取所述第二报文的TCP序列号以及TCP有效数据的长度;
比较第二报文的TCP序列号与L的值是否相等,检测所述第二报文是否为重放攻击报文;
若不等,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述第一报文的TCP序列号以及TCP有效数据的长度分别替换为对应所述第二报文的TCP序列号以及TCP有效数据的长度,允许所述第二报文继续检测。
可选的,在所述比较第二报文的TCP序列号与L的值是否相等,检测所述第二报文是否为重放攻击报文之前,还包括:
获取所述第二报文的MAC地址以及IP地址;
若所述MAC地址、所述IP地址,以及所述MAC地址与所述IP地址的绑定关系,符合预设配置,则指示所述第二报文不是重放攻击报文,允许所述第二报文继续检测;否则,丢弃所述第二报文。
本申请还提供一种报文的重放攻击检测装置,所述报文为基于TCP的Modbus协议报文,所述装置应用于网络设备,所述网络设备预存有第一报文的功能码以及接收时间,所述装置包括:
接收模块,接收第二报文,获取所述第二报文的功能码以及接收时间;
检测模块,若所述第二报文与所述第一报文的功能码相同,则统计所述第二报文与所述第一报文的接收时间的时间差,其中,所述第二报文的接收时间晚于所述第一报文的接收时间;
所述检测模块进一步,基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文。
可选的,所述报文的功能码的类型包括:读类型;所述检测模块进一步:
若所述功能码的类型为读类型,并且所述时间差与所述历史时间差的统计值不相同,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述历史时间差的统计值替换为所述时间差的统计值。
可选的,所述报文的功能码的类型还包括:写类型;所述检测模块进一步:
若所述功能码的类型为写类型,并且所述时间差小于预设的阈值,则指示所述第二报文是重放攻击报文,丢弃所述第二报文。
可选的,所述网络设备还预存有所述第一报文的事务标识;所述检测模块进一步:
获取所述第二报文的事务标识;
比较所述第二报文与所述第一报文的事务标识的大小,检测所述第二报文是否为重放攻击报文。
若所述第二报文的事务标识小于与所述第一报文的事务标识,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述第一报文的事务标识替换为所述第二报文的事务标识,允许所述第二报文继续检测。
可选的,所述网络设备还预存有所述第一报文的TCP序列号以及TCP有效数据的长度,预先计算获得计算所述第一报文的TCP序列号与TCP有效数据的长度之和L;在所述比较所述第二报文与所述第一报文的事务标识的大小,检测所述第二报文是否为重放攻击报文之前,所述检测模块进一步:
获取所述第二报文的TCP序列号以及TCP有效数据的长度;
比较第二报文的TCP序列号与L的值是否相等,检测所述第二报文是否为重放攻击报文;
若不等,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述第一报文的TCP序列号以及TCP有效数据的长度分别替换为对应所述第二报文的TCP序列号以及TCP有效数据的长度,允许所述第二报文继续检测。
可选的,在所述比较第二报文的TCP序列号与L的值是否相等,检测所述第二报文是否为重放攻击报文之前,所述检测模块进一步:
获取所述第二报文的MAC地址以及IP地址;
若所述MAC地址、所述IP地址,以及所述MAC地址与所述IP地址的绑定关系,符合预设配置,则指示所述第二报文不是重放攻击报文,允许所述第二报文继续检测;否则,丢弃所述第二报文。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
通过以上实施例,通过对基于TCP协议的Modbus报文的会话特征的检测,实现了报文的重放攻击检测,并提升了系统的安全性。
附图说明
图1是一示例性实施例提供的一种报文的重放攻击检测的流程图。
图2是一示例性实施例提供的一种报文的重放攻击检测过程的流程图。
图3是一示例性实施例提供的一种报文的重放攻击检测装置的框图。
图4是一示例性实施例提供的一种电子设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“若”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面先对本申请实施例涉及的报文的重放攻击检测的相关技术,进行简单说明。
重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者通过发送一个目的通信方已接收过的报文,来达到欺骗系统的目的。随着工业环境下的网络设备越来越多,组网也越来越复杂,基于TCP的Modbus协议亦被广泛应用,但是,由于Modbus协议的安全性存在欠缺,例如:通信双方缺乏认证机制以及通信内容缺少加密机制,从而导致Modbus通信双方受到网络重放攻击的风险增大。通常现有实现是通过限制Modbus通信双方的MAC地址以及IP地址,来实现重放攻击检测以及防护。
而本申请旨在提出一种,对基于TCP协议的Modbus报文的会话特征进行检测的技术方案。
在实现时,当网络设备作为Modbus服务端,接收Modbus客户端发起的请求报文;获取并保存上述请求报文的功能码以及接收时间;基于上述请求报文的功能码以及接收时间,检测后续接收的请求报文是否为重放攻击报文。
在以上方案中,通过检测上述请求报文的会话特征,从而实现了对Modbus报文的重放攻击检测,并提升了系统的安全性。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图1,图1是本申请一实施例提供的一种报文的重放攻击检测方法,所述方法应用于网络设备,所述报文为基于TCP的Modbus协议报文,所述网络设备预存有第一报文的功能码以及接收时间,上述方法执行以下步骤:
步骤102、接收第二报文,获取所述第二报文的功能码以及接收时间若所述第二报文与所述第一报文的功能码相同,则统计所述第二报文与所述第一报文的接收时间的时间差,其中,所述第二报文的接收时间晚于所述第一报文的接收时间。
步骤104、基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文。
步骤106、基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文。
以下通过具体的实施例,并结合“Modbus报文的网络层检测”、“Modbus报文的TCP层检测”、“Modbus报文的Modbus层会话检测”,对本申请的技术方案进行详细描述,如图2所示例,执行如下步骤:
步骤202、Modbus报文的网络层检测
在本说明书中,上述网络设备是指,包括可以识别基于TCP的Modbus报文的任何设备;其中,上述网络设备作为Modbus服务端,比如:上述网络设备为防火墙或安全网关。
而上述第一报文,上述第二报文是指,上述网络设备基于DPI(Deep PacketInspection,数据包的深度检测)技术,对已接收的报文进行分析后,获取的基于TCP的Modbus请求报文,其中,上述Modbus请求报文由Modbus客户端发出,后续简称Modbus报文;
其中,上述第二报文在上述网络设备的接收时间要晚于上述第一报文的接收时间。上述网络设备分别保存上述第一报文以及上述第二报文的接收时间。比如:上述第一报文的接收时间为T1,上述第二报文的接收时间为T2,其中,T2晚于T1。
在本说明书中,上述网络设备获取上述第二报文对应的MAC地址以及IP地址,比如:上述第二报文的源MAC为mac1、源IP为ip1、目的MAC为mac2、目的IP为ip2。
上述网络设备针对上述第二报文的MAC地址以及IP地址,与上述网络设备的预设配置进行比较,其中,上述预设配置是指上述网络设备预先配置的安全规则,比如:合法的Modbus客户端对应的MAC地址范围,再比如:合法的Modbus客户端对应的IP地址范围,又比如:合法的Modbus客户端MAC地址与对应IP地址的绑定关系等;需要注意的,上述绑定关系通常是指源MAC与源IP的对应关系或目的MAC与目的IP的对应关系。
若上述MAC地址、上述IP地址,以及上述MAC地址与上述IP地址的绑定关系,符合预设配置,则指示上述第二报文不是重放攻击报文,允许上述第二报文继续检测;否则,丢弃上述第二报文。
比如:上述第二报文的源MAC、目的MAC、源IP、目的IP,或它们的组合,都符合上述网络设备预先配置的安全规则,则指示上述第二报文不是重放攻击报文,上述网络设备对上述第二报文继续执行检测;否则,则指示上述第二报文是重放攻击报文,上述网络设备丢弃上述第二报文。
步骤204、Modbus报文的TCP层检测
在本说明书中,在上述网络设备针对上述第二报文的完成网络层检测之后,上述网络设备结合预存的上述第一报文的TCP层信息,还可以针对上述第二报文进行TCP层检测;
其中,上述第一报文已经被上述网络设备认定为合法的Modbus报文,上述网络设备预存有上述第一报文的TCP序列号以及TCP有效数据的长度;并预先计算获得计算上述第一报文的TCP序列号与TCP有效数据的长度之和L;比如:上述第一报文的TCP序列号为100,上述第一报文的TCP有效数据的长度的值为700,则上述长度之和L为800。
在示出的一种实施方式中,上述网络设备获取上述第二报文的TCP序列号以及TCP有效数据的长度;比如:上述第二报文的TCP序列号为100,上述第二报文的TCP有效数据的长度为1000;再比如:上述第二报文的TCP序列号为800,上述第二报文的TCP有效数据的长度为500;又比如:上述第二报文的TCP序列号为900,上述第二报文的TCP有效数据的长度为600。
在本说明书中,上述网络设备比较第二报文的TCP序列号与L的值是否相等,检测所述第二报文是否为重放攻击报文。上述第二报文的TCP序列号与L若不相等,则指示上述第二报文是重放攻击报文,丢弃上述第二报文,否则,将上述第一报文的TCP序列号以及TCP有效数据的长度分别替换为对应上述第二报文的TCP序列号以及TCP有效数据的长度,允许上述第二报文继续检测。
在示出的一种实施方式中,例如:上述第一报文的L为800,上述第二报文的TCP序列号为100,则两者不等,指示上述第二报文是重放攻击报文,上述网络设备丢弃上述第二报文。
在示出的另一种实施方式中,例如:上述第一报文的L为800,上述第二报文的TCP序列号为800,则两者相等,指示上述第二报文在TCP层检测不是重放攻击报文,上述网络设备将上述第一报文的TCP序列号以及TCP有效数据的长度分别替换为对应上述第二报文的TCP序列号以及TCP有效数据的长度,用于后续会话的Modbus报文的TCP层检测比较,并允许上述第二报文继续检测。
步骤206、Modbus报文的Modbus层会话检测
a)报文事务标识特征检测
在本说明书中,上述网络设备针对上述第一报文以及上述第二报文,还可以提取报文的Modbus会话特征,例如:上述报文的Modbus会话特征还包括事务标识;其中,上述事务标识是Modbus协议已定义的一个字段,用于唯一标识一个Modbus会话,基于Modbus协议定义,Modbus报文的事务标识是基于时间序是递增的。
比如:Modbus客户端发送Modbus报文A给Modbus服务端,其中,上述Modbus报文A的事务标识为10;当Modbus客户端再发送Modbus报文B给Modbus服务端,其中,上述Modbus报文B的事务标识为11。上述Modbus报文B中的事务标识大于上述Modbus报文A中的事务标识。
在示出的一种实施方式中,上述网络设备可以分别获取上述第一报文以及上述第二报文中的事务标识。比如:上述第一报文的事务标识为123,上述第二报文的事务标识为100;再比如:上述第一报文的事务标识为123,上述第二报文的事务标识为124。上述仅为示例性,实际存在多种可能。
在本说明书中,上述网络设备比较上述第二报文与上述第一报文的事务标识的大小,检测上述第二报文是否为重放攻击报文。若上述第二报文的事务标识小于与所述第一报文的事务标识,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将上述第一报文的事务标识替换为上述第二报文的事务标识,允许上述第二报文继续检测。
在示出的一种实施方式中,例如:上述第一报文的事务标识为123,上述第二报文的事务标识为100;上述网络设备通过比较获得,上述第二报文的事务标识小于与上述第一报文的事务标识,则指示上述第二报文是重放攻击报文,上述网络设备丢弃所述第二报文。
在示出的另一种实施方式中,例如:上述第一报文的事务标识为123,上述第二报文的事务标识为124;上述网络设备通过比较获得,上述第二报文的事务标识大于与上述第一报文的事务标识,则指示上述第二报文不是重放攻击报文,将上述第一报文的功的事务标识为对应上述第二报文上,允许所述第二报文继续检测。
b)报文接收频率检测
在本说明书中,在上述报文事务标识特征检测之后,针对上述第一报文以及上述第二报文,还可以进一步提取报文的Modbus接收频率。
上述网络设备预先保存上述第一报文以及上述第二报文的接收时间,例如:上述第一报文的接收时间为T1,上述第二报文的接收时间为T2,其中,T2晚于T1。
上述网络设备通过获取及检测上述报文的Modbus的功能码,先分析上述报文的具体功能,其中,上述功能码是Modbus协议已定义的一个字段,用于指示Modbus报文对应要执行的功能。
例如:上述功能码的类型至少包括:读类型、写类型;其中,上述读类型用于指示Modbus报文用于Modbus客户端需要从Modbus服务端读取数据;上述写类型用于指示Modbus报文用于Modbus客户端需要对Modbus服务端进行设置。
在示出的一种实施方式中,上述网络设备分别获取上述第一报文以及上述第二报文中的功能码并保存。比如:上述第一报文的功能码的类型为读类型,上述第二报文的功能码的类型为写类型;再比如:上述第一报文的功能码的类型为读类型,上述第二报文的功能码的类型为读类型;又比如:上述第一报文的功能码的类型为写类型,上述第二报文的功能码的类型为写类型。上述仅为示例性,实际存在多种可能。
上述网络设备继续进行检测,若上述第二报文与上述第一报文的功能码相同,则统计上述第二报文与上述第一报文的接收时间的时间差,其中,上述第二报文的接收时间晚于上述第一报文的接收时间。
比如:上述第二报文与上述第一报文的功能码相同都为读类型,上述第二报文与上述第一报文的接收时间的时间差的统计值为30毫秒。再比如:上述第二报文与上述第一报文的功能码相同都为写类型,上述第二报文与上述第一报文的接收时间的时间差的统计值为3秒。
在本说明书中,上述第二报文与上述第一报文的接收时间的时间差的统计值,简称为时间差t2。上述网络设备预存有上述第一报文对应的历史时间差的统计值,简称为历史时间差t1,其中,上述历史时间差t1为,上述第一报文的接收时间,与上述第一报文的功能码相同的前一个报文的接收时间的时间差。
若上述第二报文及上述第一报文功能码的类型为读类型,并且上述时间差t2与上述历史时间差t1不相同,则指示上述第二报文是重放攻击报文,丢弃上述第二报文,否则,将上述历史时间差t1替换为上述时间差t2。
在示出的一种实施方式中,上述第二报文及上述第一报文功能码的类型为读类型,上述历史时间差t1为10毫秒,上述时间差t2为2秒,则指示上述第二报文是重放攻击报文,上述网络设备丢弃上述第二报文。
在示出的另一种实施方式中,上述第二报文及上述第一报文功能码的类型为读类型,上述历史时间差t1为10毫秒,上述时间差t2为10毫秒,则指示上述第二报文不是重放攻击报文,上述网络设备将上述历史时间差t1替换为上述时间差t2,用于后续报文的接收频率检测。
若上述功能码的类型为写类型,并且上述时间差t1小于预设的阈值,则指示上述第二报文是重放攻击报文,上述网络设备丢弃上述第二报文。
在示出的一种实施方式中,上述第二报文及上述第一报文功能码的类型为写类型,上述历史时间差t1为200毫秒,上述预设的阈值m为2秒,则t1小于m,指示上述第二报文是重放攻击报文,上述网络设备丢弃上述第二报文。
基于上述方案,网络设备基于上述对功能码为同一类型的多个Modbus报文的接收频率检测;其中,对于功能码为读类型的Modbus报文,具有周期性的特征,多个报文对应的接收的时间差应相同;对于功能码为写类型的Modbus报文,由于用户配置的随机性,其报文对应接收的时间差通常应该大于预设的阈值,如果出现频发下发,则指示存在重放攻击。
至此,完成图1所示的流程,通过图1所示的流程可以看出,基于对Modbus报文的功能码类型以及接收频率进行检测,获取Modbus层的会话特征;以及结合对Modbus报文的网络层和TCP层的检测,实现了基于TCP的Modbus报文的重放攻击检测,并提升了系统的安全性。
图3是本申请一示例性实施例提供的一种报文重放攻击检测装置的框图。与上述方法实施例相对应,本申请还提供了一种报文重放攻击检测装置的实施例,所述报文为基于TCP的Modbus协议报文,所述装置应用于网络设备,所述网络设备预存有第一报文的功能码以及接收时间,请参考图3所示例的一种报文重放攻击检测装置30,所述装置包括:
接收模块301,接收第二报文,获取所述第二报文的功能码以及接收时间;
检测模块302,若所述第二报文与所述第一报文的功能码相同,则统计所述第二报文与所述第一报文的接收时间的时间差,其中,所述第二报文的接收时间晚于所述第一报文的接收时间;
所述检测模块302进一步,基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文。
可选的,所述报文的功能码的类型包括:读类型;所述检测模块302进一步:
若所述功能码的类型为读类型,并且所述时间差与所述历史时间差的统计值不相同,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述历史时间差的统计值替换为所述时间差的统计值。
可选的,所述报文的功能码的类型还包括:写类型;所述检测模块302进一步:
若所述功能码的类型为写类型,并且所述时间差小于预设的阈值,则指示所述第二报文是重放攻击报文,丢弃所述第二报文。
可选的,所述网络设备还预存有所述第一报文的事务标识;所述检测模块302进一步:
获取所述第二报文的事务标识;
比较所述第二报文与所述第一报文的事务标识的大小,检测所述第二报文是否为重放攻击报文。
若所述第二报文的事务标识小于与所述第一报文的事务标识,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述第一报文的事务标识替换为所述第二报文的事务标识,允许所述第二报文继续检测。
可选的,所述网络设备还预存有所述第一报文的TCP序列号以及TCP有效数据的长度,预先计算获得计算所述第一报文的TCP序列号与TCP有效数据的长度之和L;在所述比较所述第二报文与所述第一报文的事务标识的大小,检测所述第二报文是否为重放攻击报文之前,所述检测模块302进一步:
获取所述第二报文的TCP序列号以及TCP有效数据的长度;
比较第二报文的TCP序列号与L的值是否相等,检测所述第二报文是否为重放攻击报文;
若不等,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述第一报文的TCP序列号以及TCP有效数据的长度分别替换为对应所述第二报文的TCP序列号以及TCP有效数据的长度,允许所述第二报文继续检测。
可选的,在所述比较第二报文的TCP序列号与L的值是否相等,检测所述第二报文是否为重放攻击报文之前,所述检测模块302进一步:
获取所述第二报文的MAC地址以及IP地址;
若所述MAC地址、所述IP地址,以及所述MAC地址与所述IP地址的绑定关系,符合预设配置,则指示所述第二报文不是重放攻击报文,允许所述第二报文继续检测;否则,丢弃所述第二报文。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本申请的报文重放攻击检测装置的实施例可以应用在图4所示的电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将机器可读存储介质中对应的计算机程序指令读取后运行形成的机器可执行指令。从硬件层面而言,如图4所示,为本申请的报文重放攻击检测装置所在电子设备的一种硬件结构图,除了图4所示的处理器、通信接口、总线以及机器可读存储介质之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
对应地,本申请实施例还提供了图3所示装置的一种电子设备的硬件结构,请参见图4,图4为本申请实施例提供的一种电子设备的硬件结构示意图。该设备包含:通信接口401、处理器402、机器可读存储介质403和总线404;其中,通信接口401、处理器402、机器可读存储介质403通过总线404完成相互间的通信。其中,通信接口401,用于进行网络通信。处理器402可以是一个中央处理器(CPU),处理器402可以执行机器可读存储介质403中存储的机器可读指令,以实现以上描述的方法。
本文中提到的机器可读存储介质403可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质403可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
至此,完成图4所示的硬件结构描述。
此外,本申请实施例还提供了一种包括机器可执行指令的机器可读存储介质,例如图4中的机器可读机器可读存储介质403,所述机器可执行指令可由数据处理装置中的处理器402执行以实现以上描述的方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (14)

1.一种报文的重放攻击检测方法,其特征在于,所述报文为基于TCP的Modbus协议报文,所述方法应用于网络设备,所述网络设备预存有第一报文的功能码以及接收时间,所述方法包括:
接收第二报文,获取所述第二报文的功能码以及接收时间;
若所述第二报文与所述第一报文的功能码相同,则统计所述第二报文与所述第一报文的接收时间的时间差,其中,所述第二报文的接收时间晚于所述第一报文的接收时间;
基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文。
2.根据权利要求1所述的方法,其特征在于,所述报文的功能码的类型包括:读类型;所述网络设备预存有所述第一报文对应的历史时间差的统计值,所述基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文,包括:
若所述功能码的类型为读类型,并且所述时间差与所述历史时间差的统计值不相同,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述历史时间差的统计值替换为所述时间差的统计值。
3.根据权利要求2所述的方法,其特征在于,所述报文的功能码的类型还包括:写类型;所述基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文,还包括:
若所述功能码的类型为写类型,并且所述时间差小于预设的阈值,则指示所述第二报文是重放攻击报文,丢弃所述第二报文。
4.根据权利要求1所述的方法,其特征在于,所述网络设备还预存有所述第一报文的事务标识;在所述基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文之前,还包括:
获取所述第二报文的事务标识;
比较所述第二报文与所述第一报文的事务标识的大小,检测所述第二报文是否为重放攻击报文;
若所述第二报文的事务标识小于与所述第一报文的事务标识,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述第一报文的事务标识替换为所述第二报文的事务标识,允许所述第二报文继续检测。
5.根据权利要求4所述的方法,其特征在于,所述网络设备还预存有所述第一报文的TCP序列号以及TCP有效数据的长度,预先计算获得计算所述第一报文的TCP序列号与TCP有效数据的长度之和L;在所述比较所述第二报文与所述第一报文的事务标识的大小,检测所述第二报文是否为重放攻击报文之前,还包括:
获取所述第二报文的TCP序列号以及TCP有效数据的长度;
比较第二报文的TCP序列号与L的值是否相等,检测所述第二报文是否为重放攻击报文;
若不等,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述第一报文的TCP序列号以及TCP有效数据的长度分别替换为对应所述第二报文的TCP序列号以及TCP有效数据的长度,允许所述第二报文继续检测。
6.根据权利要求5所述的方法,其特征在于,在所述比较第二报文的TCP序列号与L的值是否相等,检测所述第二报文是否为重放攻击报文之前,还包括:
获取所述第二报文的MAC地址以及IP地址;
若所述MAC地址、所述IP地址,以及所述MAC地址与所述IP地址的绑定关系,符合预设配置,则指示所述第二报文不是重放攻击报文,允许所述第二报文继续检测;否则,丢弃所述第二报文。
7.一种报文的重放攻击检测装置,其特征在于,所述报文为基于TCP的Modbus协议报文,所述装置应用于网络设备,所述网络设备预存有第一报文的功能码以及接收时间,所述装置包括:
接收模块,接收第二报文,获取所述第二报文的功能码以及接收时间;
检测模块,若所述第二报文与所述第一报文的功能码相同,则统计所述第二报文与所述第一报文的接收时间的时间差,其中,所述第二报文的接收时间晚于所述第一报文的接收时间;
所述检测模块进一步,基于所述功能码的类型以及所述时间差,检测所述第二报文是否为重放攻击报文。
8.根据权利要求7所述的装置,其特征在于,所述报文的功能码的类型包括:读类型;所述检测模块进一步:
若所述功能码的类型为读类型,并且所述时间差与所述历史时间差的统计值不相同,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述历史时间差的统计值替换为所述时间差的统计值。
9.根据权利要求8所述的装置,其特征在于,所述报文的功能码的类型还包括:写类型;所述检测模块进一步:
若所述功能码的类型为写类型,并且所述时间差小于预设的阈值,则指示所述第二报文是重放攻击报文,丢弃所述第二报文。
10.根据权利要求7所述的装置,其特征在于,所述网络设备还预存有所述第一报文的事务标识;所述检测模块进一步:
获取所述第二报文的事务标识;
比较所述第二报文与所述第一报文的事务标识的大小,检测所述第二报文是否为重放攻击报文;
若所述第二报文的事务标识小于与所述第一报文的事务标识,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述第一报文的事务标识替换为所述第二报文的事务标识,允许所述第二报文继续检测。
11.根据权利要求10所述的装置,其特征在于,所述网络设备还预存有所述第一报文的TCP序列号以及TCP有效数据的长度,预先计算获得计算所述第一报文的TCP序列号与TCP有效数据的长度之和L;在所述比较所述第二报文与所述第一报文的事务标识的大小,检测所述第二报文是否为重放攻击报文之前,所述检测模块进一步:
获取所述第二报文的TCP序列号以及TCP有效数据的长度;
比较第二报文的TCP序列号与L的值是否相等,检测所述第二报文是否为重放攻击报文;
若不等,则指示所述第二报文是重放攻击报文,丢弃所述第二报文,否则,将所述第一报文的TCP序列号以及TCP有效数据的长度分别替换为对应所述第二报文的TCP序列号以及TCP有效数据的长度,允许所述第二报文继续检测。
12.根据权利要求11所述的装置,其特征在于,在所述比较第二报文的TCP序列号与L的值是否相等,检测所述第二报文是否为重放攻击报文之前,所述检测模块进一步:
获取所述第二报文的MAC地址以及IP地址;
若所述MAC地址、所述IP地址,以及所述MAC地址与所述IP地址的绑定关系,符合预设配置,则指示所述第二报文不是重放攻击报文,允许所述第二报文继续检测;否则,丢弃所述第二报文。
13.一种电子设备,其特征在于,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行如权利要求1至6任一项所述的方法。
14.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至6任一项所述的方法。
CN201910161271.8A 2019-03-04 2019-03-04 报文的重放攻击检测方法、装置、电子设备 Active CN109768991B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910161271.8A CN109768991B (zh) 2019-03-04 2019-03-04 报文的重放攻击检测方法、装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910161271.8A CN109768991B (zh) 2019-03-04 2019-03-04 报文的重放攻击检测方法、装置、电子设备

Publications (2)

Publication Number Publication Date
CN109768991A true CN109768991A (zh) 2019-05-17
CN109768991B CN109768991B (zh) 2021-04-27

Family

ID=66457496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910161271.8A Active CN109768991B (zh) 2019-03-04 2019-03-04 报文的重放攻击检测方法、装置、电子设备

Country Status (1)

Country Link
CN (1) CN109768991B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365667A (zh) * 2019-07-03 2019-10-22 杭州迪普科技股份有限公司 攻击报文防护方法、装置、电子设备
CN111654451A (zh) * 2020-05-13 2020-09-11 南京南瑞继保电气有限公司 报文防重放方法及电子设备
CN112261655A (zh) * 2020-10-23 2021-01-22 北京江南天安科技有限公司 一种认证模块内消息有效性的方法
WO2021057017A1 (zh) * 2019-09-29 2021-04-01 河海大学 一种现场总线中自动化重放攻击测试方法
WO2021098807A1 (zh) * 2019-11-21 2021-05-27 华为技术有限公司 一种更新映射关系的方法以及装置
CN113472520A (zh) * 2021-08-07 2021-10-01 山东省计算中心(国家超级计算济南中心) 一种ModbusTCP协议安全增强方法及系统
WO2022148406A1 (zh) * 2021-01-08 2022-07-14 中国移动通信有限公司研究院 一种重放攻击处理方法、统一数据管理实体及存储介质
CN114826634A (zh) * 2021-01-28 2022-07-29 深信服科技股份有限公司 一种报文检测方法、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790051A (zh) * 2016-12-19 2017-05-31 杭州信雅达数码科技有限公司 一种基于mb连接的手机银行安全协议
CN107483459A (zh) * 2017-08-29 2017-12-15 四川长虹电器股份有限公司 防重放攻击的接口保护方法
US20190026483A1 (en) * 2017-07-18 2019-01-24 Design SHIFT Proximity Protected Keyless Security System

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790051A (zh) * 2016-12-19 2017-05-31 杭州信雅达数码科技有限公司 一种基于mb连接的手机银行安全协议
US20190026483A1 (en) * 2017-07-18 2019-01-24 Design SHIFT Proximity Protected Keyless Security System
CN107483459A (zh) * 2017-08-29 2017-12-15 四川长虹电器股份有限公司 防重放攻击的接口保护方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365667A (zh) * 2019-07-03 2019-10-22 杭州迪普科技股份有限公司 攻击报文防护方法、装置、电子设备
WO2021057017A1 (zh) * 2019-09-29 2021-04-01 河海大学 一种现场总线中自动化重放攻击测试方法
WO2021098807A1 (zh) * 2019-11-21 2021-05-27 华为技术有限公司 一种更新映射关系的方法以及装置
EP4050858A4 (en) * 2019-11-21 2023-01-04 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR UPDATING A MAPPING
CN111654451A (zh) * 2020-05-13 2020-09-11 南京南瑞继保电气有限公司 报文防重放方法及电子设备
CN112261655A (zh) * 2020-10-23 2021-01-22 北京江南天安科技有限公司 一种认证模块内消息有效性的方法
WO2022148406A1 (zh) * 2021-01-08 2022-07-14 中国移动通信有限公司研究院 一种重放攻击处理方法、统一数据管理实体及存储介质
CN114826634A (zh) * 2021-01-28 2022-07-29 深信服科技股份有限公司 一种报文检测方法、电子设备及存储介质
CN113472520A (zh) * 2021-08-07 2021-10-01 山东省计算中心(国家超级计算济南中心) 一种ModbusTCP协议安全增强方法及系统

Also Published As

Publication number Publication date
CN109768991B (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
CN109768991A (zh) 报文的重放攻击检测方法、装置、电子设备
US7254133B2 (en) Prevention of denial of service attacks
JP5886422B2 (ja) プロトコルフィンガープリント取得および評価相関のためのシステム、装置、プログラム、および方法
US11805129B2 (en) Fictitious account generation on detection of account takeover conditions
KR101486782B1 (ko) 무한 중첩된 해시 체인들에 의한 1회용 패스워드 인증
RU2542911C2 (ru) Установление однорангового сеанса с малым временем ожидания
US9852276B2 (en) System and methods for validating and managing user identities
US11978053B2 (en) Systems and methods for estimating authenticity of local network of device initiating remote transaction
CN109698809B (zh) 一种账号异常登录的识别方法及装置
CN106302346A (zh) Api调用的安全认证方法、装置、系统
JP2015525932A (ja) ログイン検証の方法、クライアント、サーバ、およびシステム
CN109660594A (zh) 业务处理结果的定向推送方法、展示方法、装置和设备
US11630887B2 (en) Using an NP-complete problem to deter malicious clients
WO2016007756A1 (en) USING INDIVIDUALIZED APIs TO BLOCK AUTOMATED ATTACKS ON NATIVE APPS AND/OR PURPOSELY EXPOSED APIs
WO2017157161A1 (zh) 消息防伪的实现方法和装置
TWI602411B (zh) 隱私增強電子郵件服務
CN111049781A (zh) 一种反弹式网络攻击的检测方法、装置、设备及存储介质
Alhaidary et al. Vulnerability analysis for the authentication protocols in trusted computing platforms and a proposed enhancement of the offpad protocol
AU2022203509B2 (en) Using ephemeral URL passwords to deter high-volume attacks
CN105099952B (zh) 一种资源分配方法及装置
Rana et al. A Study and Detection of TCP SYN Flood Attacks with IP spoofing and its Mitigations
CN110071923A (zh) 报文识别方法、装置、电子设备及机器可读存储介质
Zhang et al. Blocking attacks on SIP VoIP proxies caused by external processing
CN107306255A (zh) 防御流量攻击方法、预设列表生成方法、装置及清洗设备
CN108123955A (zh) 安全表项的管理方法、装置、设备及机器可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant