1.一种针对MELSEC协议的安全防护方法,其特征在于,包括以下步骤:步骤1、预先设置MC安全检查规则,包括合法的外部访问设备,允许的关键事件操作以及合法的写操作的数据值大小;
步骤2、对来自外部设备的TCP/UDP报文进行解析,确定报文中IP地址是否为允许的外部访问设备以及报文是否为TCP/UDP报文的协议类型;
步骤3、符合上述步骤的安全规则的报文,进行数据帧完整性、合法合规性检查;
步骤4.1、通过帧完整性检查的数据包至少包括对网络编号、可编程控制器编号、请求目标模块IO编号和请求模块站号的规则过滤;
步骤4.2、提取所述数据请求帧的头部信息,包括对网络编号、可编程控制器编号、请求目标模块IO编号和请求模块站号,并根据预设规则检查数据包中的特征数据是否匹配,当符合,则表明为合法的请求,否则对数据进行丢弃,并记录日志;
步骤5.1、提取数据请求帧的指令/子指令,包括软元件访问指令、标签访问指令、缓存存储器访问指令、模块控制指令以及文件访问指令,并与预设关键事件安全规则进行比较;
步骤5.2、判断相关指令是否在允许的安全规则列表中,当命中允许的安全检查规则,则表明请求为允许操作的关键事件,否则丢弃数据包,放弃操作请求,并记录日志,生成告警;
步骤6.1、判断数据包中指令/子指令所对应的具体操作值是否在预先设置的安全数值范围内;
步骤6.2、当符合,则认为数据请求有效,放行数据报文,允许操作请求,否则对数据包丢弃,拒绝请求操作以免对现场设备造成损害,同时记录日志,生成告警。
2.根据权利要求1所述的一种针对MELSEC协议的安全防护方法,其特征在于,所述步骤
1包括以下步骤:
步骤1.1、根据实际情况,设置合法的外部访问设备规则列表,单条规则包括外部访问设备信息、IP地址和MAC地址以及被访问设备IP地址,端口号;
步骤1.2、根据实际安全防范需求设置允许的关键事件操作规则列表,单条规则包括外部访问设备和被访问设备的IP地址,被允许的关键事件包括软元件的写入操作,标签的写入操作、缓冲存储器写入操作、模块控制操作以及文件操作;
步骤1.3、根据实际情况,设置相关写操作的合法值范围规则,单条规则包括外部访问设备和被访问设备的IP地址、被访问对象的路径、写操作的指令、子指令、写操作的值范围。
3.根据权利要求1所述的一种针对MELSEC协议的安全防护方法,其特征在于,所述步骤
2包括以下步骤:
步骤2.1、当所述协议类型是TCP/UDP协议,判断所述外部设备的IP地址和所述目的端口号是否在预设的规则中;
步骤2.2、当所述IP地址和目的端口号不符合安全规则,报文被丢弃,外部设备的访问请求将失效,同时生成日志记录,产生告警信息;
步骤2.3、当所述IP地址和目的端口号符合安全规则,协议报文则将被进行进一步深度解析。
4.根据权利要求1所述的一种针对MELSEC协议的安全防护方法,其特征在于,所述步骤
3包括以下步骤:
步骤3.1、提取所述TCP/UDP报文中的应用层数据;
步骤3.2、按照MC协议定义的帧结构解析数据包以确定数据包中符合MC协议定义的格式的特征数据,确定是否为MC协议的4E,3E或1E帧,同时确认数据传输的模式是ASCII码格式还是二进制格式;
步骤3.3、当数据帧不是数据请求帧和数据响应帧,或者数据长度有误,数据报文将被丢弃以免不合规约数据请求对设备造成未知影响,同时记录日志,生成告警信息;
步骤3.4、当数据帧合规,数据将被做进一步深度解析。