一种识别和过滤MODBUS TCP/UDP协议的方法技术

技术编号:24466630 阅读:19 留言:0更新日期:2020-06-10 18:48
本发明专利技术公开了一种识别和过滤MODBUS TCP/UDP协议的方法,该方法包括以下步骤:S100:将工控设备网口连接至工控网络防火墙网口,使得所述工控设备与所述防火墙通信,所述防火墙接收并读取所述工控设备发送的数据包;S200:所述防火墙检测数据包中目标端口号是否为第一端口号,如果是,则表示数据包为MODBUS TCP/UDP协议的数据包,执行步骤S300,否则,执行步骤S200;S300:解析MODBUS TCP/UDP协议的数据包,包括读取当前MODBUS TCP/UDP协议的数据包获取所述工控设备的操作指令,所述操作指令包括:读线圈状态、读离散输入状态、读保持寄存器、读输入寄存器、写单个线圈、写单个保持寄存器、写多个线圈、写多个保持寄存器;S400:根据所述防火墙的过滤策略对MODBUS TCP/UDP数据包进行过滤。

A method of identifying and filtering Modbus TCP / UDP protocol

【技术实现步骤摘要】
一种识别和过滤MODBUSTCP/UDP协议的方法
本专利技术属于工控安全领域,涉及一种识别和过滤MODBUSTCP/UDP协议的方法。
技术介绍
随着工业4.0、互联网+、物联网、两化融合进程的不断交叉融合,越来越多的信息技术应用于工控领域,工控系统的开放程度也越来越高,在为工业生产带来极大推动的同时也带来了诸如木马、病毒、网络攻击等安全问题。这些都成为了制约信息化与工业化深度融合发展的重要因素,传统的以物理隔离为主的防护措施已远远不能满足工业信息化发展的需求。目前工业控制系统普遍存在一些严重的安全问题,主要表现为:一、各类安全漏洞不能及时加固,系统存在严重的安全隐患现在运行的工控系统普遍在设备、系统、协议等层面存在安全漏洞,且基于工控系统特殊的运行机制,工控具有系统软件难以实时升级、安全漏洞难以及时加固、设备使用周期长以及系统补丁兼容性差、发布周期长等特点,导致工控系统存在严重的安全隐患。二、工业网络及总线通讯缺乏安全机制,易于被攻击和利用工控系统以实时性和可靠性为目的,追求效率和速度,对身份认证、规则检查、加密传输、完整性检查等缺乏安全措施,极易受到攻击。工控系统现场总线大量使用明码传输,极易被破译和伪造。三、“互联网+工业控制系统”及两化融合等使得工控系统安全威胁全面升级深度网络化和多层面互联互通的两化融合增加了工业环境中潜在的攻击路径,传统IT产品的引入带来了更多安全漏洞,而新兴信息技术在工业控制领域的安全理论、防护体系尚不成熟,安全防护手段亦显不足,这使得工控网络在网络攻击面前“不堪一击”。四、传统信息安全领域的安全产品在工业控制网络中的不适应性传统信息网络安全产品由于要具有广泛的应用场景,因此只能以黑名单为基础进行特征、危险行为检测,而大量的传统信息安全的特征、行为、协议在工控环境中并不存在。并且黑名单方式的安全检测需要长期、成熟的工控安全行业的技术积累和大量样本分析才有可能做到一定的检测有效性。而工控环境中,通信设备相对较少,通信协议相对单一,通信业务相对固定,因此具备以白名单为基础的安全检测。以MODEBUS工控协议为例,现有技术中尚无一种识别和过滤MODBUSTCP/UDP协议的方法,工控设备之间的互访安全性不高,协议的漏洞极易被黑客攻击。
技术实现思路
本专利技术针对现有技术的不足问题,提出了一种识别和过滤MODBUSTCP/UDP协议的方法,即,在工控网络防火墙一侧,解析各个工控设备之间交互的MODBUSTCP/UDP协议的数据包,并通过研究找出满足MODBUSTCP/UDP协议的数据包,查找其中的操作指令并利用过滤策略对MODBUSTCP/UDP数据包进行过滤,包括以下步骤:S100:将各个工控设备网口连接至工控网络防火墙网口,使得各个工控设备与所述防火墙通信,所述防火墙接收并读取各个工控设备发送的数据包;S200:所述防火墙检测数据包中目标IP地址的工控设备的端口号是否为第一端口号,如果是,则表示数据包为MODBUSTCP/UDP协议的数据包,执行步骤S300,否则,执行步骤S200;S300:解析MODBUSTCP/UDP协议的数据包,包括读取当前MODBUSTCP/UDP协议的数据包获取所述工控设备的操作指令,所述操作指令包括:读线圈状态、读离散输入状态、读保持寄存器、读输入寄存器、写单个线圈、写单个保持寄存器、写多个线圈、写多个保持寄存器;S400:根据所述防火墙的过滤策略对MODBUSTCP/UDP数据包进行过滤。优选地,所述步骤S200包括以下步骤:S201:读取当前MODBUSTCP/UDP协议的数据包的第37、第38字节的内容;S202:判断所述第37、第38字节的内容是否等于第一端口号,如果是,则表示数据包为MODBUSTCP/UDP协议的数据包,执行步骤S300,否则,执行步骤S203;S203:获取下一MODBUSTCP/UDP协议的数据包执行步骤S201。优选地,所述第一端口号为0x01f6。优选地,读取当前MODBUSTCP/UDP协议的数据包的第62字节的内容作为所述操作指令。优选地,所述操作指令包括:0x01:表示读线圈状态;0x02:表示读离散输入状态;0x03:表示读保持寄存器;0x04:表示读输入寄存器;0x05:表示写单个线圈;0x06:表示写单个保持寄存器;0x0F:表示写多个线圈;0x10:表示写多个保持寄存器。优选地,所述过滤策略包括:是否允许源IP地址的工控设备使用所述操作指令读/写目标IP地址的工控设备,如果允许,所述防火墙转发当前数据包到目标IP地址的工控设备,否则,所述防火墙丢弃当前数据包。优选地,所述各个工控设备之间互为源IP地址的工控设备及目标IP地址的工控设备。本专利技术的有益效果是,解决了现有技术中尚无一种识别和过滤MODBUSTCP/UDP协议的方法,方法简单可靠,且无任何额外的硬件添加及软件安装。附图说明图1为本专利技术所提供的方法的总流程图。具体实施方式图1示出了本专利技术所提供的方法的总流程图。如图1所示,本专利技术包括以下步骤:S100:将各个工控设备网口连接至工控网络防火墙网口,使得各个工控设备与防火墙通信,防火墙接收并读取各个工控设备发送的数据包。应理解,各个工控设备之间互为源IP地址的工控设备及目标IP地址的工控设备。S200:防火墙检测数据包中目标IP地址的工控设备的端口号是否为第一端口号0x01f6,如果是,则表示数据包为MODBUSTCP/UDP协议的数据包,执行步骤S300,否则,执行步骤S200;步骤S200包括以下步骤:S201:读取当前MODBUSTCP/UDP协议的数据包的第37、第38字节的内容;如下所示的实施例中,带下划线的内容01f6为当前MODBUSTCP/UDP协议的数据包的第37、第38字节,其为第一端口号,0070a4012d003497f629a11c0800450000342de8400080060000c0a800c8c0a8003828a401f6036f20da25e2899850183fef82770000007a00000006010000000aS202:判断第37、第38字节的内容是否等于第一端口号0x01f6,如果是,则表示数据包为MODBUSTCP/UDP协议的数据包,执行步骤S300,否则,执行步骤S203;本实施例中,第37、第38字节的内容0x01f6为第一端口号。因此,该数据包为MODBUSTCP/UDP协议的数据包,执行步骤S300;S203:获取下一MODBUSTCP/UDP协议的数据包执行步骤S201。S300:解析MODBUSTCP/UDP协议的数据包,包括读取当前MODBUSTCP/UDP协议的数据包的第6本文档来自技高网
...

【技术保护点】
1.一种识别和过滤MODBUS TCP/UDP协议的方法,其特征在于包括以下步骤:/nS100:将各个工控设备网口连接至工控网络防火墙网口,使得各个工控设备与所述防火墙通信,所述防火墙接收并读取各个工控设备发送的数据包;/nS200:所述防火墙检测数据包中目标IP地址的工控设备的端口号是否为第一端口号,如果是,则表示数据包为MODBUS TCP/UDP协议的数据包,执行步骤S300,否则,执行步骤S200;/nS300:解析MODBUS TCP/UDP协议的数据包,包括读取当前MODBUS TCP/UDP协议的数据包获取所述工控设备的操作指令,所述操作指令包括:读线圈状态、读离散输入状态、读保持寄存器、读输入寄存器、写单个线圈、写单个保持寄存器、写多个线圈、写多个保持寄存器;/nS400:根据所述防火墙的过滤策略对MODBUS TCP/UDP数据包进行过滤。/n

【技术特征摘要】
1.一种识别和过滤MODBUSTCP/UDP协议的方法,其特征在于包括以下步骤:
S100:将各个工控设备网口连接至工控网络防火墙网口,使得各个工控设备与所述防火墙通信,所述防火墙接收并读取各个工控设备发送的数据包;
S200:所述防火墙检测数据包中目标IP地址的工控设备的端口号是否为第一端口号,如果是,则表示数据包为MODBUSTCP/UDP协议的数据包,执行步骤S300,否则,执行步骤S200;
S300:解析MODBUSTCP/UDP协议的数据包,包括读取当前MODBUSTCP/UDP协议的数据包获取所述工控设备的操作指令,所述操作指令包括:读线圈状态、读离散输入状态、读保持寄存器、读输入寄存器、写单个线圈、写单个保持寄存器、写多个线圈、写多个保持寄存器;
S400:根据所述防火墙的过滤策略对MODBUSTCP/UDP数据包进行过滤。


2.根据权利要求1所述的一种识别和过滤MODBUSTCP/UDP协议的方法,其特征在于,所述步骤S200包括以下步骤:
S201:读取当前MODBUSTCP/UDP协议的数据包的第37、第38字节的内容;
S202:判断所述第37、第38字节的内容是否等于第一端口号,如果是,则表示数据包为MODBUSTCP/UDP协议的数据包,执行步骤S300,否则,执行步骤S203;
S203:获取下一MODBUSTCP/UDP协议的数据包执行步骤...

【专利技术属性】
技术研发人员:梁效宁
申请(专利权)人:四川效率源科技有限责任公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1