System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于工业控制系统通信安全测试。
技术介绍
1、工业控制系统广泛应用于制造业、电力行业、石油化工、交通运输、水处理等各个领域。在制造业中,它们可以用于自动化生产线,提高生产效率和产品质量。其中,广泛采用的scada(supervisory control and data acquisition)系统被设计为收集现场的信息,传输到中央计算机设施,并向操作员显示图形或文字的信息,从而使操作员能够从一个中央位置实时监视或控制整个系统。实现数据处理与控制调节、数据存储与系统交互的功能。
2、scada的现场设备和过程控制层主要使用现场总线协议和工业以太网协议,其中,mobus协议被较多的采用。modbus协议是一种开放式协议,用于在主设备和从设备之间传输数据。一个简化的scada系统主要包括两大部分:可编程逻辑控制器(plc)作为主设备和执行器作为从设备。plc通过连接到执行器(如电机、阀门等),实现对工业设备的远程控制。执行器则执行从中央控制中心下发的命令,控制工业过程。在此过程中,modbus报文包含了从设备地址、功能码、传输数据等内容。根据功能码和传输数据,plc能够触发执行器执行特定的动作,例如开启或关闭阀门、启停电机、按要求速度转动等。
3、但是由于modus协议明文传输、缺乏认证的特性,极易受到篡改攻击、重放攻击、时序逻辑攻击等入侵,现阶段的工业控制系统通信过程缺乏入侵检测,从而使得整个系统在使用过程中的风险性极高。例如,在重放攻击中,攻击者可能在通信中转站,例如交换机,等待劫持由plc发送
4、关于工控系统通信过程的入侵检测方法,当前主要有以下两类方案:
5、1、基于签名的入侵检测系统:这类方案使用先前已知攻击的特征或“签名”进行检测。入侵检测系统根据已知攻击的模式来识别新的入侵行为。然而,由于工业控制系统的复杂性和通信特性的多样性,基于签名的方法对新型攻击或未知模式的入侵检测效果不佳。
6、2、基于学习的入侵检测系统:这类方案通过监控工业控制系统的网络流量,使用预定的大批量数据提取特征训练模型来检测可能的入侵行为。通常基于事先定义的特征,识别网络通信中的异常模式,例如特定的数据包格式或异常频率。然而,这类方法的正确率依赖于所学习的训练数据,在冷启动、缺乏有效训练数据的情况下,可能无法预先学习到正常通信模式,或者学习到的模式过于单一,无法被适用于所有的通信模式,因为工控系统通信模式根据所执行的操作不同呈现多样化的特点。
技术实现思路
1、本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。
2、为此,本专利技术的目的在于提出一种基于arima的modbus实时通信入侵检测方法,用于高效、实时、准确检测出工控系统中器件通信过程中所有入侵攻击。
3、为达上述目的,本专利技术第一方面实施例提出了一种基于arima的modbus实时通信入侵检测方法,包括:
4、读取通信过程中的modbus报文序列并根据协议格式解析出地址、功能码、传输数据;
5、根据所述地址检测通信过程中是否遭遇设备地址篡改;
6、根据发送报文和接收报文的功能码是否一致判断报文功能码部分是否被篡改;
7、基于arima模型的异常数据检测算法通过捕捉所述传输数据的自相关性、平稳性、依赖性的模式,预测未来报文的传输数据,通过计算预测后数据和实际数据的差异作为异常数据的概率,判断所述传输数据是否被篡改。
8、另外,根据本专利技术上述实施例的一种基于arima的modbus实时通信入侵检测方法还可以具有以下附加的技术特征:
9、进一步地,在本专利技术的一个实施例中,所述读取通信过程中的modbus报文序列并根据协议格式解析出地址、功能码、传输数据,包括:
10、在plc与执行器通信过程中,实时采集、复制并存储发送报文、接收报文和传输数据,具体包括:
11、报文采集,包括采集所述plc发送给所述执行器的发送报文和所述plc接收到的所述执行器发送的接收报文;
12、报文解析,包括依据modbus协议格式解析报文,从所述报文中提取出从设备地址、功能码、传输数据,并对每条接收报文打上时间戳,转换为json格式;
13、报文存储,包括从通信开始,实时复制所述发送报文和所述接收报文,分别存入全发送报文队列和全接收报文队列;
14、传输数据存储,包括针对所述接收报文中的所述传输数据,由modbus报文解析所提取的传输数据内容,等待异常数据检测模块的检测。
15、进一步地,在本专利技术的一个实施例中,所述根据所述地址检测通信过程中是否遭遇设备地址篡改,包括:
16、接收报文缺损检测,包括提取全接收报文队列中所有报文对应的时间戳序列,计算所有时间戳序列的差分,检验差分序列中是否存在极大的异常值,从而判断出是否存在缺损报文的现象,如果存在,则发送报文中从设备地址被篡改;
17、接收报文地址检测,包括从所述全接收报文队列中,实时判断从设备地址与相对应的发送报文的设备地址是否一致,从而判定所述接收报文中从设备地址是否被篡改。
18、进一步地,在本专利技术的一个实施例中,所述根据发送报文和接收报文的功能码是否一致判断报文功能码部分是否被篡改,包括:
19、通信启动功能码检测,包括在通信启动阶段,将同一轮次或相隔时间最近的发送报文和接收报文的功能码分别比对,若所述接收报文未正确回应发送报文的功能码,则判定存在设备故障。
20、通信过程功能码检测,包括在通信传输数据阶段,将同一轮次或相隔时间最近的发送报文和接收报文的功能码比对,判断是否一致,判定功能码是否被潜在的攻击者篡改。
21、进一步地,在本专利技术的一个实施例中,所述基于arima模型的异常数据检测算法通过捕捉所述传输数据的自相关性、平稳性、依赖性的模式,预测未来报文的传输数据,通过计算预测后数据和实际数据的差异作为异常数据的概率,判断所述传输数据是否被篡改,包括:
22、在全接收报文序列中,随机选择一小段传输数据序列作为arima模型建立阶段的输入;
23、根据所述输入确定所述arima模型的参数;
24、设定通信开始前h轮的传输数据为安全数据,选择第h-n至h轮的n组报文的传输数据作已知数据序列,对所述arima模型进行训练;
25、根据训练好的arima模型预测未到达的第h+1,...,h+m组的传输数据,计算预测值与真实值的误差,进一步计算mse:如果mse大于阈值,则认为本文档来自技高网...
【技术保护点】
1.一种基于ARIMA的Modbus实时通信入侵检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述读取通信过程中的Modbus报文序列并根据协议格式解析出地址、功能码、传输数据,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述地址检测通信过程中是否遭遇设备地址篡改,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据发送报文和接收报文的功能码是否一致判断报文功能码部分是否被篡改,包括:
5.根据权利要求1所述的方法,其特征在于,所述基于ARIMA模型的异常数据检测算法通过捕捉所述传输数据的自相关性、平稳性、依赖性的模式,预测未来报文的传输数据,通过计算预测后数据和实际数据的差异作为异常数据的概率,判断所述传输数据是否被篡改,包括:
6.根据权利要求1所述的方法,其特征在于,还包括:
7.一种基于ARIMA的Modbus实时通信入侵检测装置,其特征在于,包括以下模块:
8.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任意一项所述的基于ARIMA的Modbus实时通信入侵检测方法。。
...【技术特征摘要】
1.一种基于arima的modbus实时通信入侵检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述读取通信过程中的modbus报文序列并根据协议格式解析出地址、功能码、传输数据,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述地址检测通信过程中是否遭遇设备地址篡改,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据发送报文和接收报文的功能码是否一致判断报文功能码部分是否被篡改,包括:
5.根据权利要求1所述的方法,其特征在于,所述基于arima模型的异常数据检测算法通过捕捉所述传输数据的自相关性、平稳性、依赖性的模式,预测未来报文的传输数据,通过计算预测...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。