一种针对MELSEC协议的安全防护方法与流程

文档序号:17659831发布日期:2019-05-15 22:18阅读:212来源:国知局
一种针对MELSEC协议的安全防护方法与流程

本发明属于数据安全领域,尤其涉及一种针对melsec协议的安全防护方法。



背景技术:

目前,随着信息化和工业化深度融合的快速发展,工业控制系统越来越多地采用标准、开放的通信协议,通信协议所存在的安全隐患日益突出。其中melsec协议(mc协议)作为一种工业以太网协议为现场设备、自动控制应用提供了开放、统一的标准接口,并且melsec协议(mc协议)已经在控制领域得到了较广泛的应用。但是,随着melsec协议(mc协议)被广泛应用,melsec协议(mc协议)的安全问题也越来越受到广泛的关注。

现有技术中,在对melsec协议(mc协议)进行安全防护的过程中,并未对非法外部设备访问可编程控制器进行安全防护,即非法外部设备访问可编程控制器时,可能会影响现场设备,严重时甚至导致系统崩溃,导致生产安全事故。公开号为cn105245555a的专利申请公开了一种用于电力串口服务器通信协议安全防护系统,在网口协议转串口协议和串口协议转网口协议中提供了一个协议数据的安全防护系统,任何发送给网口和串口的协议数据和访问请求都会经过这个安全防护系统的安全认证和检测,其特征在于:所述安全防护系统由以下三个部分组成:通信协议数据的解析还原及格式化处理模块、协议数据分析检测系统、通信协议数据业务模型安全策略定义系统,本发明有效解决了现有电力串口服务器对接入的各类电力工控设备不具备通信协议层的安全防护功能的弊端,在串口服务器软件控制系统中的协议转换层上提供一层对电力通信业务协议的保护层,用来防止攻击者利用非法指令和数据对接入电力串口服务器中各类电力控制设备的非法操作和攻击。

目前,在现有技术中,未对协议数据进行深度解析,所以对外部设备发起的关键事件,比如对现场设备进行写操作和复位不能进行监控,导致一些非法外部设备对现场设备进行复位或写异常值,故意改变设备工作状态,导致现场设备工作异常,甚至导致严重安全事故。



技术实现要素:

本发明的目的在于提供一种能够克服上述技术问题的针对melsec协议的安全防护方法,所述melsec协议即mc协议;本发明所述方法包括以下步骤:

步骤1、预先设置mc安全检查规则,包括合法的外部访问设备,允许的关键事件操作以及合法的写操作的数据值大小;

步骤1.1、根据实际情况,设置合法的外部访问设备规则列表,单条规则包括外部访问设备信息、ip地址和mac地址以及被访问设备ip地址,端口号;

步骤1.2、根据实际安全防范需求设置允许的关键事件操作规则列表,单条规则包括外部访问设备和被访问设备的ip地址,被允许的关键事件包括软元件的写入操作,标签的写入操作、缓冲存储器写入操作、模块控制操作以及文件操作;

步骤1.3、根据实际情况,设置相关写操作的合法值范围规则,单条规则包括外部访问设备和被访问设备的ip地址、被访问对象的路径、写操作的指令、子指令、写操作的值范围;

步骤2、对来自外部设备的tcp/udp报文进行解析,确定报文中ip地址是否为允许的外部访问设备以及报文是否为tcp/udp报文的协议类型;

步骤2.1、当所述协议类型是tcp/udp协议,判断所述外部设备的ip地址和所述目的端口号是否在预设的规则中;

步骤2.2、当所述ip地址和目的端口号不符合安全规则,报文被丢弃,外部设备的访问请求将失效,同时生成日志记录,产生告警信息;

步骤2.3、当所述ip地址和目的端口号符合安全规则,协议报文则将被进行进一步深度解析;

步骤3、符合上述步骤的安全规则的报文,进行数据帧完整性、合法合规性检查;

数据帧完整性、合法合规性检查具体包括以下步骤:

步骤3.1、提取所述tcp/udp报文中的应用层数据;

步骤3.2、按照mc协议定义的帧结构解析数据包以确定数据包中符合mc协议定义的格式的特征数据,确定是否为mc协议的4e,3e或1e帧,同时确认数据传输的模式是ascii码格式还是二进制格式;

步骤3.3、当数据帧不是数据请求帧和数据响应帧,或者数据长度有误,数据报文将被丢弃以免不合规约数据请求对设备造成未知影响,同时记录日志,生成告警信息;

步骤3.4、当数据帧合规,数据将被做进一步深度解析;

步骤4、针对mc协议的安全防护具体还包括以下步骤:

步骤4.1、通过帧完整性检查的数据包至少包括对网络编号、可编程控制器编号、请求目标模块io编号和请求模块站号的规则过滤;

步骤4.2、提取所述数据请求帧的头部信息,包括对网络编号、可编程控制器编号、请求目标模块io编号和请求模块站号,并根据预设规则检查数据包中的特征数据是否匹配,当符合,则表明为合法的请求,否则对数据进行丢弃,并记录日志;

步骤5、针对mc协议的安全防护具体还包括以下步骤:

步骤5.1、提取数据请求帧的指令/子指令,包括软元件访问指令、标签访问指令、缓存存储器访问指令、模块控制指令以及文件访问指令,并与预设关键事件安全规则进行比较;

步骤5.2、判断相关指令是否在允许的安全规则列表中,当命中允许的安全检查规则,则表明请求为允许操作的关键事件,否则丢弃数据包,放弃操作请求,并记录日志,生成告警;

步骤6、针对mc协议的安全防护具体还包括以下步骤:

步骤6.1、判断数据包中指令/子指令所对应的具体操作值是否在预先设置的安全数值范围内;

步骤6.2、当符合,则认为数据请求有效,放行数据报文,允许操作请求,否则对数据包丢弃,拒绝请求操作以免对现场设备造成损害,同时记录日志,生成告警。

本发明的优越效果是通过容许访问对象预设规则过滤,能够有效地保护控制系统重要数据的机密以避免系统数据被非法获取,通过提取控制操作过程包含的控制对象的值与对应的容许控制值的范围进行比对,能够有效地保护控制操作的合法性和正确性。本发明通过协议深度分析,采用预设规则进行过滤并实现mc协议的安全防护;通过引入tcp/udp层协议过滤和外部设备ip地址过滤有效地防止了非授权外部设备的非法访问并保证了用户网络的安全性;通过mc协议帧的完整性检查能够有效地避免采用非mc协议报文持续向系统装置发起通讯请求从而导致系统性能下降的情形。当接收到mc协议以太网数据包时,对数据包传输层的预设的多个元组信息的合法性进行检查;检测数据包应用层数据格式的合法性;检测数据包中指令、子指令的合法性;检测数据包的访问数据的合法性,通过对mc协议通讯会话的数据包进行监测,能有效地防止非授权外部设备的非法访问并能够拦截伪装信息、非法的事务访问指令,同时还能够防止非法值的写入以保障生产现场的安全。

附图说明

图1为本发明所述方法的流程示意图;

图2为本发明所述方法的数据帧完整性和合法合规性检查流程示意图;

图3为本发明所述方法的一实施方式的流程示意图。

具体实施方式

下面结合附图对本发明的实施方式进行详细描述。本发明所述方法包括以下步骤:

步骤1、预先设置mc安全检查规则,包括合法的外部访问设备,允许的关键事件操作以及合法的写操作的数据值大小;

步骤1.1、根据实际情况,设置合法的外部访问设备规则列表,单条规则包括外部访问设备信息、ip地址和mac地址以及被访问设备ip地址,端口号;

步骤1.2、根据实际安全防范需求设置允许的关键事件操作规则列表,单条规则包括外部访问设备和被访问设备的ip地址,被允许的关键事件包括软元件的写入操作,标签的写入操作、缓冲存储器写入操作、模块控制操作以及文件操作;

步骤1.3、根据实际情况,设置相关写操作的合法值范围规则,单条规则包括外部访问设备和被访问设备的ip地址、被访问对象的路径、写操作的指令、子指令、写操作的值范围;

步骤2、对来自外部设备的tcp/udp报文进行解析,确定报文中ip地址是否为允许的外部访问设备以及报文是否为tcp/udp报文的协议类型;

步骤2.1、当所述协议类型是tcp/udp协议,判断所述外部设备的ip地址和所述目的端口号是否在预设的规则中;

步骤2.2、当所述ip地址和目的端口号不符合安全规则,报文被丢弃,外部设备的访问请求将失效,同时生成日志记录,产生告警信息;

步骤2.3、当所述ip地址和目的端口号符合安全规则,协议报文则将被进行进一步深度解析;

步骤3、符合上述步骤的安全规则的报文,进行数据帧完整性、合法合规性检查,数据帧完整性、合法合规性检查具体包括以下步骤:

步骤3.1、提取所述tcp/udp报文中的应用层数据;

步骤3.2、按照mc协议定义的帧结构解析数据包以确定数据包中符合mc协议定义的格式的特征数据,确定是否为mc协议的4e,3e或1e帧,同时确认数据传输的模式是ascii码格式还是二进制格式;

步骤3.3、当数据帧不是数据请求帧和数据响应帧,或者数据长度有误,数据报文将被丢弃,以免不合规约数据请求对设备造成未知影响,同时记录日志,生成告警信息;

步骤3.4、当数据帧合规,数据将被做进一步深度解析;

步骤4、针对mc协议的安全防护具体还包括以下步骤:

步骤4.1、通过帧完整性检查的数据包至少包括对网络编号、可编程控制器编号、请求目标模块io编号和请求模块站号的规则过滤;

步骤4.2、提取所述数据请求帧的头部信息,包括对网络编号、可编程控制器编号、请求目标模块io编号和请求模块站号,并根据预设规则检查数据包中的特征数据是否匹配,当符合,则表明为合法的请求,否则对数据进行丢弃,并记录日志;

步骤5、针对mc协议的安全防护具体还包括以下步骤:

步骤5.1、提取数据请求帧的指令/子指令,包括软元件访问指令、标签访问指令、缓存存储器访问指令、模块控制指令以及文件访问指令,并与预设关键事件安全规则进行比较;

步骤5.2、判断相关指令是否在允许的安全规则列表中,当命中允许的安全检查规则,则表明请求为允许操作的关键事件,否则丢弃数据包,放弃操作请求,并记录日志,生成告警;

步骤6、针对mc协议的安全防护具体还包括以下步骤:

步骤6.1、判断数据包中指令/子指令所对应的具体操作值是否在预先设置的安全数值范围内;

步骤6.2、当符合,则认为数据请求有效,放行数据报文,允许操作请求,否则对数据包丢弃,拒绝请求操作以免对现场设备造成损害,同时记录日志,生成告警。

如图1所示,本发明所述方法包括以下步骤:

s101、预设mc协议安全规则,包括合法的外部设备,合法的访问数据;

s102、当接收到mc协议以太网数据包时,对数据包传输层的预设的多个元组信息的合法性进行检查;

s103、检测数据包应用层数据格式的合法性;检测数据包中指令、子指令的合法性;检测数据包的访问数据的合法性;

s104、对违反预设安全规则的操作记录日志,告警,对报文进行丢弃或进行处理。

如图2所示,本发明所述方法的数据帧完整性和合法合规性检查包括以下步骤:

s201、提取tcp/udp数据包中协议应用程序数据,根据melsec协议即mc协议的协议特征来确定应用数据是否为协议数据;

s202、当是协议的数据则进一步解析协议头部数据并确定数据的完整性以及数据为请求数据还是响应数据;

s203、当协议数据完整则进一步深度解析协议定义的特征数据以判断数据是否违背预定义的规则;

s204、根据规则比较结果,对报文进行丢弃或放行处理,并记录事件。

如图3所示,在实施方式中,针对mc协议的安全防护方法,将防护装置部署在外部访问设备与用户网络之间来提供防护作用,包括:

s301.外部访问设备;

s302.本发明所述方法涉及的防护装置;

s303.需要被防护的用户网络。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的范围内,能够轻易想到的变化或替换,都应涵盖在本发明权利要求的保护范围内。

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