System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及工业网络安全监测,尤其涉及一种基于modbus协议的工业控制系统资产及威胁识别方法。
技术介绍
1、由于工业控制系统以及它们的通信协议在设计之初几乎没有考虑过网络以及通信安全的问题,所以导致许多工业控制系统极其脆弱,尤其是暴露在公网中的设备,面临着日益严重的攻击威胁。由于工业控制系统通常应用在关系国计民生的重点行业领域,一旦遭到破坏,造成的影响和损失将非常大。因此工业控制系统应当按照网络安全等级保护制度的要求参加等级保护测评。其中最重要的就是风险评估工作,而资产识别和威胁识别作为风险评估过程的核心模块,其方法直接决定风险评估结果的合理性和有效性。
2、由于国内网络环境相对封闭并且工业控制领域入门难度较高,并且不能在真实的工业生产环境中进行资产及威胁识别。同时相较于设备安全性,使用者往往更关注工控设备的可用性、稳定性以及实时性。一般的资产识别方法较多依赖各类测试工具,其中资产识别方法基本通过发送特定的数据包,之后针对返回的数据包进行指纹识别。这些方法通过大量发送数据包可能影响工业控制系统的网络稳定性,从而对工业控制系统的稳定性及实时性带来一定影响。
3、因此需要提供一种不影响工业控制设备可用性、稳定性以及实时性的工业控制系统资产及威胁识别方法。
技术实现思路
1、本专利技术的目的在于:针对现有技术的不足,现提出一种通过监测modbus流量数据来识别和提取工业控制系统中的资产信息,实现在不影响工业控制系统实时性、可用性的情况下对工业系统资产进行准确
2、本专利技术的技术方案如下:
3、本专利技术公开了一种基于modbus协议的工业控制系统资产及威胁识别方法,包括如下具体步骤:
4、步骤一、构建四个数据结构,包括iqueue、tqueue、ireq和idevice;
5、步骤二、捕获工业控制系统中传输的数据包,判断收集到的数据包是不是modbus数据包,若是,则将该modbus数据包加入iqueue队列;
6、步骤三、对步骤二中的iqueue队列中的modbus数据包按先进先出的顺序进行检查和分析,依次得到每个modbus数据包的tcp/ip消息报头中的关键参数;
7、步骤四、对modbus数据包进行匹配,区分是请求消息还是响应消息,并根据步骤三中的关键参数计算哈希值,若为请求消息则将计算得到的哈希值存储到ireq中,若为响应消息则在判断事务有效后将键值对{ireq[a],i}存入tqueue中,其中ireq[a]为步骤三中的关键参数计算的哈希值,i为完整的modbus数据包;
8、步骤五、依次对tqueue中的信息进行处理,若为idevice中不存在的设备,则将新增modbus设备相关的条目添加到idevice中;
9、步骤六、监测网络中新增modbus设备的信息,根据步骤五中记录的新增modbus设备进行威胁识别,并进行日志记录。
10、以上方法,通过数据包收集模块在不影响工控系统实时性以及可用性的情况下捕获工业控制系统中传输的数据包,并且通过收集到的数据包进行modbus数据包,通过对modbus数据包的检查以及分析,来识别和提取工业控制系统中的资产信息,同时通过新增的modbus设备信息的趋势变化来判断是否存在恶意攻击等异常行为,并进行日志记录,进一步实现系统监控、设备故障排除、检测系统异常和网络攻击复现;通过数据包收集以及对数据包信息利用三个数据结构进行存储、分析,方便后续资产识别以及威胁识别的分析和记录,上述六个步骤实现了对工控系统资产及威胁的识别,不主动发送数据包,进一步保证了工控系统的稳定性,通过已识别出的资产清单对短时间内突然出现的modbus设备进行威胁识别,当出现威胁时及时阻断,提高了工控系统威胁识别的及时性并降低威胁可能带来的损害。
11、进一步地,所述iqueue是一个先进的数据先出,后进的数据后出(first in,firstout:fifo)的队列,用于存储数据包收集模块采集到的,未处理的modbus数据包;
12、tqueue是一个临时性数据结构,也是先进的数据先出,后进的数据后出的队列,用于存储键值对{ireq[a],i};
13、ireq是一个哈希表,用于存储等待处理的modbus数据包,其存储的哈希值根据modbus消息队列中每个modbus数据包的关键参数包括从设备ip、主设备ip、从设备端口号、主设备端口号和事务id进行计算得到;
14、idevice是一个哈希表,用于存储与特定modbus设备相关的对象,其存储的哈希值根据modbus消息队列中每个modbus数据包的关键参数包括从设备ip、从设备mac地址和单元id(unitid)进行计算得到。
15、以上方法,通过构建三个关键的数据结构,在三个不同算法中用这三个关键的数据结构存储相应的modbus数据包以及modbus设备相关的对象。
16、进一步地,所述步骤三中,所述步骤三中,通过检查modbus数据包结构得到tcp/ip消息报头中的关键参数,modbus数据包中的tcp/ip消息报头中的关键参数始终包含从设备信息,modbus事务检查模块分析出的结果主要集中在从设备。
17、进一步地,所述步骤四中,若是请求消息,则判断是否已经存在相同请求,若存在,则进行提示并记录日志;若不存在,则将该请求消息的关键参数计算出哈希值存入ireq。
18、进一步地,所述步骤四中,若是响应消息,则判断是否有匹配请求,若没有,则进行提示并记录日志;若有,则进一步判断事务是否有效,若有效,则将响应消息计算出的哈希值和响应消息加入临时数据结构tqueue,并令该哈希值为空,表示该事务已经处理,若无效,则进行提示并记录日志。
19、进一步地,只有请求消息会存储在ireq中,没有匹配请求的响应消息将被立即记录以指示异常,并且ireq保持不变;若收到并验证了匹配的响应,则会向临时数据结构tqueue中添加一个条目,并从ireq中删除该请求;若未验证匹配的响应,则会生成一个日志条目,并且请求消息将保留在ireq中。
20、进一步地,所述步骤五中tqueue中的信息处理方法为增量映射算法,首先判断是否涉及新增modbus设备,包括是否包含主设备信息、是否包含功能码信息和是否包含功能参数信息。
21、进一步地,所述增量映射算法按顺序对是否包含主设备信息、是否包含功能码信息和是否包含功能参数信息进行判断,三个信息的判断相互独立,只要判断为是,则直接将该信息加入idevice中。
22、以上方法,由于scada网络中的消息往往遵循重复的、可预测的通信模式,且算法3中采本文档来自技高网...
【技术保护点】
1.一种基于Modbus协议的工业控制系统资产及威胁识别方法,其特征在于,包括如下具体步骤:
2.根据权利要求1所述的一种基于Modbus协议的工业控制系统资产及威胁识别方法,其特征在于,
3.根据权利要求1所述的一种基于Modbus协议的工业控制系统资产及威胁识别方法,其特征在于,所述步骤三中,通过检查Modbus数据包结构得到TCP/IP消息报头中的关键参数,Modbus数据包中的TCP/IP消息报头中的关键参数始终包含从设备信息,Modbus事务检查模块分析出的结果主要集中在从设备。
4.根据权利要求1所述的一种基于Modbus协议的工业控制系统资产及威胁识别方法,其特征在于,所述步骤四中,若是请求消息,则判断是否已经存在相同请求,若存在,则进行提示并记录日志;若不存在,则将该请求消息的关键参数计算出哈希值存入IReq。
5.根据权利要求4所述的一种基于Modbus协议的工业控制系统资产及威胁识别方法,其特征在于,所述步骤四中,若是响应消息,则判断是否有匹配请求,若没有,则进行提示并记录日志;若有,则进一步判断事务是否有效,若
6.根据权利要求4或5所述的一种基于Modbus协议的工业控制系统资产及威胁识别方法,其特征在于,在步骤四中,只有请求消息会存储在IReq中,没有匹配请求的响应消息将被立即记录以指示异常,并且IReq保持不变;若收到并验证了匹配的响应,则会向临时数据结构TQueue中添加一个条目,并从IReq中删除该请求;若未验证匹配的响应,则会生成一个日志条目,并且请求消息将保留在IReq中。
7.根据权利要求1所述的一种基于Modbus协议的工业控制系统资产及威胁识别方法,其特征在于,所述步骤五中TQueue中的信息处理采用增量映射算法,判断是否涉及新增Modbus设备,包括判断是否包含主设备信息、是否包含功能码信息和是否包含功能参数信息。
8.根据权利要求7所述的一种基于Modbus协议的工业控制系统资产及威胁识别方法,其特征在于,所述增量映射算法按顺序对是否包含主设备信息、是否包含功能码信息和是否包含功能参数信息进行判断,三个信息的判断相互独立,只要判断为是,则直接将该信息加入IDevice中。
9.根据权利要求1所述的一种基于Modbus协议的工业控制系统资产及威胁识别方法,其特征在于,所述步骤六中威胁识别的步骤为:
...【技术特征摘要】
1.一种基于modbus协议的工业控制系统资产及威胁识别方法,其特征在于,包括如下具体步骤:
2.根据权利要求1所述的一种基于modbus协议的工业控制系统资产及威胁识别方法,其特征在于,
3.根据权利要求1所述的一种基于modbus协议的工业控制系统资产及威胁识别方法,其特征在于,所述步骤三中,通过检查modbus数据包结构得到tcp/ip消息报头中的关键参数,modbus数据包中的tcp/ip消息报头中的关键参数始终包含从设备信息,modbus事务检查模块分析出的结果主要集中在从设备。
4.根据权利要求1所述的一种基于modbus协议的工业控制系统资产及威胁识别方法,其特征在于,所述步骤四中,若是请求消息,则判断是否已经存在相同请求,若存在,则进行提示并记录日志;若不存在,则将该请求消息的关键参数计算出哈希值存入ireq。
5.根据权利要求4所述的一种基于modbus协议的工业控制系统资产及威胁识别方法,其特征在于,所述步骤四中,若是响应消息,则判断是否有匹配请求,若没有,则进行提示并记录日志;若有,则进一步判断事务是否有效,若有效,则将响应消息计算出的哈希值和响应消息加入临时数据结构tqueue,并令该哈希值为空,表示该事务已经处理,若...
【专利技术属性】
技术研发人员:陈慧嫔,张真恺,秦川杨,李俊燊,胥强,高进舟,雷阳,刘卫斌,周业宙,林传喜,
申请(专利权)人:云南昆船设计研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。