[发明专利]一种基于自学习规则的Modbus通信访问控制方法在审
| 申请号: | 201310683076.4 | 申请日: | 2013-12-10 |
| 公开(公告)号: | CN104702584A | 公开(公告)日: | 2015-06-10 |
| 发明(设计)人: | 万明;尚文利;曾鹏;赵剑明;刘贤达;张华良 | 申请(专利权)人: | 中国科学院沈阳自动化研究所 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;G05B19/418 |
| 代理公司: | 沈阳科苑专利商标代理有限公司 21002 | 代理人: | 周秀梅;许宗富 |
| 地址: | 110016 辽*** | 国省代码: | 辽宁;21 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 自学习 规则 modbus 通信 访问 控制 方法 | ||
1.一种基于自学习规则的Modbus通信访问控制方法,其特征在于,包括以下步骤:
步骤一:根据Modbus主站与Modbus从站具体通信情况,设置白名单或黑名单的Modbus访问控制规则;
步骤二:利用Netfilter/iptables捕获Modbus主站与Modbus从站之间通信的数据包;
步骤三:将获得的关键字段信息与设置的Modbus访问控制规则进行匹配,执行相应的控制处理操作;
步骤四:捕获下一个数据包,重新执行步骤二和步骤三。
2.根据权利要求1所述的一种基于自学习规则的Modbus通信访问控制方法,其特征在于,所述白名单或黑名单的Modbus访问控制规则包括,源IP地址——Modbus主站的IP地址、目的IP地址——Modbus从站的IP地址,目的端口号——Modbus协议端口号502、功能码——Modbus主站对Modbus从站的访问操作、起始地址——Modbus主站访问Modbus从站的起始地址、地址数——Modbus主站从起始地址访问Modbus从站的地址数量、控制处理操作——允许或不允许Modbus主站访问Modbus从站。
3.根据权利要求1或2所述的一种基于自学习规则的Modbus通信访问控制方法,其特征在于,所述访问控制规则具备自学习规则功能,执行如下步骤:
设置自学习规则功能的自学习时间和自学习门限,自学习时间设置范围为0~72小时,自学习门限为0~10000;
启动自学习规则功能,开始捕获Modbus主站与Modbus从站之间的通信数据包,从通信数据包中解析出源IP地址、目的IP地址、目的端口号、功能码、起始地址、地址数信息,存储至关键参数数据库,此条信息的计数器置1;
捕获下一个Modbus通信数据包,解析出源IP地址、目的IP地址、目的端口号、功能码、起始地址、地址数信息,将此信息与关键参数数据库中的条目进行匹配,若匹配成功,则将此条信息所对应的计数器加1;若匹配不成功,则将此信息存储至关键参数数据库中,此条信息的计数器置1;
对于每一个新捕获的数据包,重新执行上一步骤,直至到达设定的自学习时间;
根据自学习门限及关键参数数据库中每一条关键参数信息的计数器值,判断是否自动生成Modbus访问控制规则。
4.根据权利要求3所述的一种基于自学习规则的Modbus通信访问控制方法,其特征在于,所述判断是否自动生成Modbus访问控制规则的判断准则如下:若关键参数数据库中某一条信息的计数器值大于或等于自学习门限时,根据信息自动生成Modbus访问控制规则,同时删除此条关键参数信息;若关键参数数据库中某一条关键参数信息的计数器值小于自学习门限时,不生成Modbus访问控制规则,在关键参数数据库中删除相应条目的信息。
5.根据权利要求1所述的一种基于自学习规则的Modbus通信访问控制方法,其特征在于,所述步骤二对于传输层为TCP协议,首先判断是否为TCP三次握手数据包,若是,则放行TCP三次握手数据包;若不是或者传输层为UDP协议,则解析数据包获得数据包的源IP地址、目的IP地址、目的端口号、Modbus应用层数据信息,再通过数据包深度解析技术解析Modbus应用层数据,提取功能码、起始地址、地址数信息。
6.根据权利要求5所述的一种基于自学习规则的Modbus通信访问控制方法,其特征在于,所述放行TCP三次握手数据包包括以下步骤:
获取Modbus主站与Modbus从站之间通信的数据包的总长度、IP首部长度和TCP首部长度;
判断数据包的总长度是否等于IP首部长度和TCP首部长度之和,若不等于,则执行Modbus访问控制规则的匹配;
若等于,则获取TCP首部中的syn和ack标志位值,判断syn标志位是否为1、ack标志位是否是0:若是,则认为此数据包为TCP连接的第一次握手数据包,允许此数据包通过;
若不是,则判断syn标志位是否为1、ack标志位是否是1:若是,则认为此数据包为TCP连接的第二次握手,允许此数据包通过;
若不是,则判断syn标志位是否为0、ack标志位是否是1:若是,则认为此数据包为TCP连接的第三次握手,允许此数据包通过;若不是,则丢弃此数据包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院沈阳自动化研究所;,未经中国科学院沈阳自动化研究所;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310683076.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于非对称身份的欺诈网站防范方法
- 下一篇:一种终端间进行通信的方法及终端





