CN111245848B - 一种分层依赖关系建模的工控入侵检测方法 - Google Patents
一种分层依赖关系建模的工控入侵检测方法 Download PDFInfo
- Publication number
- CN111245848B CN111245848B CN202010042223.XA CN202010042223A CN111245848B CN 111245848 B CN111245848 B CN 111245848B CN 202010042223 A CN202010042223 A CN 202010042223A CN 111245848 B CN111245848 B CN 111245848B
- Authority
- CN
- China
- Prior art keywords
- flow
- layer
- data
- value
- data packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种分层依赖关系建模的工控入侵检测方法,通过数据包窗口的方式监控通信流量,并从流量层、数据包层、内容层三方面提取特征,通过并行LSTM神经网络分别构建上述三种维度的依赖关系,从而将单一层面的关系特征转为多层次的依赖关系模型。再通过深度自编码器将不同LSTM神经网络的输出进行集成,构成最终异常值的输出结果。通过本发明,能够通过分析给定数据包窗口的网络流序列,可检测出具备不同依赖关系的攻击流量,从多个维度、侧面去分析流量存在的隐含关系,从而扩大了传统流量检测的范围,提高攻击流量检测的准确率;最大化的利用了LSTM神经网络的长序列学习能力,从时间维度的角度诠释了数据流的变化。
Description
技术领域
本发明涉及工业控制系统安全技术领域,更具体地说,涉及一种分层依赖关系建模的工控入侵检测方法。
背景技术
随着工业互联网的发展,工控系统与外部网络的连接更加频繁,这些现象使得工业控制系统面临的安全问题更加严峻。PLC Blaster、PLC Inject、SABOT、Ladder LogicBomb、Dynamic Payloads、Click等新兴攻击对PLC的安全构成了很大的威胁。
为解决这些问题,入侵检测系统被提出。通过在网络关键节点上部署入侵检测系统,对往来流量进行监控,可以检测到是否有攻击甚至确立对应的攻击类型,从而进行应急响应。在传统领域,入侵检测系统已被大范围应用,但受限于工业控制系统的高实时性、低资源性等特性,它们并不能很好的直接应用在工业领域。
所以工控入侵检测成为一研究热点,但受限于研究人员的背景知识以及检测方案的不同,导致实现的检测系统都不尽完善。依据检测的对象,现有工控IDS研究可分为基于网络流量的检测以及基于系统参数信息的检测。但基于系统参数信息的检测大都依赖于完整的参数数据,在面对数据值缺失或无法获取的情况下,无法得到很好的检测结果。同时,由于其严重依赖于系统底层参数值与工作日志,并未体现出有足够好的在线监测能力。基于网络流量的研究中,研究人员采用流量挖掘技术提取流量的各种特征,从流量的外层时间空间特征到内部的payload特征,建立不同数据包之间线性或非线性关系,进行入侵检测。针对基于网络流量的入侵检测技术,亦有研究者将其分为基于流量、基于协议两种。基于流量的入侵检测技术在不解析应用层协议的基础上进行,主要处理传输层以下的信息,而基于协议的检测会检测工控协议的具体格式,获取数据包字段的具体含义,最终提取特征构建检测模型。
传统基于流量的检测技术主要提取源目的地址、流量持续时间、平均包间隔时间等。在提取到流量特征后,常利用统计学习或者神经网络对数据进行分析。Linda等人提出了基于神经网络的入侵检测算法,该算法在定长数据包序列窗口内提取包序列中的IP地址数量、每个IP地址对应数据包个数、平均包间隔、标识码数量等16种流量特征,然后利用神经网络算法进行训练,最终检测异常流量。Maglaras等人提出了基于SVM的检测算法,该算法将原本线性不可分的流量特征借助核函数映射到高维空间,可检测中间人攻击、同步洪泛等入侵行为。
基于协议的检测会检测工控协议的具体格式,获取数据包字段的具体含义,最终提取特征构建检测模型。Cheung等人早在2006年就提出基于协议的入侵检测技术,他对Modbus/TCP数据包中功能码等特定字段的取值范围以及字段间的数值关系建立模型,检测攻击,但存在较高的误报率。Wool A等人对Modbus/TCP协议进行标准化建模,利用在一定时间内捕获的工作数据,构建正常流量的有限状态机模型,利用异常流量不符合此模型的特性进行检测。
然而这些针对流量的工控入侵检测算法都存在检测范围过窄的问题,其未考虑到流量流内部存在的多重依赖关系,易导致检测效果不理想。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种分层依赖关系建模的工控入侵检测方法。
本发明解决其技术问题所采用的技术方案是:构造一种分层依赖关系建模的工控入侵检测方法,包括步骤:
在工控系统中设置交换机流量镜像端口,部署嗅探器进行流量监听;
嗅探器对实时监听到的流量以数据包窗口的方式进行解析,分别提取流量层、数据包层及内容层特征;
利用嗅探器的解析结果,将流量层、数据包层及内容层特征分别输入LSTM神经网络,对下一时刻的流量层、数据包层及内容层特征进行预测,获取LSTM神经网络输出的预测值;
分别求下一时刻流量层、数据包层及内容层特征的预测值和嗅探器提取的特征真实值的偏差,并将偏差输入自编码器,获取自编码器输出结果,作为异常值;
将自编码器输出的异常值与预设的异常值阈值进行比较,若异常值大于异常值阈值,则对应的流量为攻击流量,否则为正常流量。
在本发明所述的分层依赖关系建模的工控入侵检测方法中,将流量层、数据包层及内容层特征分别输入LSTM神经网络,对下一时刻的流量层、数据包层及内容层特征进行预测的步骤之前,还包括对LSTM神经网络进行训练的步骤。
在本发明所述的分层依赖关系建模的工控入侵检测方法中,对LSTM神经网络进行训练的步骤包括:
收集合法正常的modbus/TCP通信流量,在工业生产环境的网关中设置镜像端口,将收集的通信流量进行解析,得到流量层、数据包层及内容层特征;
将解析得到的流量层、数据包层及内容层特征分为训练集和测试集,将训练集分别输入一LSTM神经网络进行训练,训练完成后将测试集输入训练好的LSTM神经网络中进行测试。
在本发明所述的分层依赖关系建模的工控入侵检测方法中,嗅探器对实时监听到的流量以数据包窗口的方式进行解析,分别提取流量层、数据包层及内容层特征的步骤中,
流量层特征是采用滑动窗口的方式依次提取不同窗口内的的数据包个数、包速率、接收的字节数、数据包时间间隔的均值、方差、最大最小值,并利用这一类特征,以时间为标准建立时间向量作为空间状态特征,提取出不同时间段之间流量的内在依赖关系;
数据包特征是在一定长数据包窗口内,提取数据包事务元标识符、modbus帧长度、Unit ID、功能码特征;功能码在工控协议中表示数据包的行为,modbus帧长度在工业流程中呈现周期性变化,攻击行为的出现会造成畸形包,进而引起modbus帧长度产生异常;UnitID作为工控协议中特定的地址字段,在同一IP地址下可区分不同的设备;采用功能码、modbus帧长度、Unit ID等特征构建每个数据包的特征向量,并使用此向量唯一标识每个数据包,从而准确定义数据包的行为特征;
内容层特征是采用抽取访问的地址以及操作的内容作为攻击者的更加细粒度的行为表示,从而获取深层次的语义特征,并以此提取内容层面的不同语义间的依赖关系。
在本发明所述的分层依赖关系建模的工控入侵检测方法中,内容层特征用于体现是否有异常地址被访问或是否传递异常内容;由于modbus协议有离散输入、线圈、输入寄存器、保持寄存器四种区域类型,故针对不同的区域类型有不同的取值范围;内容层特征提取地址类型、开始地址、结束地址、内容最小值与最大值五种特征。
在本发明所述的分层依赖关系建模的工控入侵检测方法中,分别求下一时刻流量层、数据包层及内容层特征的预测值和嗅探器提取的特征真实值的偏差的步骤中,采用均方根误差表示真实值与预测值的偏差,偏差值根据以下公式计算,其中RMSE为均方根误差即偏差值,与分别为t时刻对应真实特征向量与估计特征向量中不同特征的值,n为输入向量的维度;
通过公式(2)计算每种特征的偏差值的z-score值即zx来保证特征值量纲统一,
其中μx与σx分别是预测偏差的均值与标准差。
区别于现有技术,本发明提供的分层依赖关系建模的工控入侵检测方法通过数据包窗口的方式监控通信流量,并从流量层、数据包层、内容层三方面提取特征,通过并行LSTM神经网络分别构建上述三种维度的依赖关系,从而将单一层面的关系特征转为多层次的依赖关系模型。再通过深度自编码器将不同LSTM神经网络的输出进行集成,构成最终异常值的输出结果。通过本发明,能够通过分析给定数据包窗口的网络流序列,可检测出具备不同依赖关系的攻击流量,从多个维度、侧面去分析流量存在的隐含关系,从而扩大了传统流量检测的范围,提高攻击流量检测的准确率;最大化的利用了LSTM神经网络的长序列学习能力,从时间维度的角度诠释了数据流的变化。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明提供的一种分层依赖关系建模的工控入侵检测方法的流程示意图。
图2是本发明提供的一种分层依赖关系建模的工控入侵检测方法的逻辑示意图。
图3是本发明提供的一种分层依赖关系建模的工控入侵检测方法的LSTM神经网络结构示意图。
图4是本发明提供的一种分层依赖关系建模的工控入侵检测方法的实验结果对比示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
如图1所示,本发明的一种分层依赖关系建模的工控入侵检测方法包括步骤:
S110:在工控系统中设置交换机流量镜像端口,部署嗅探器进行流量监听。
S120:嗅探器对实时监听到的流量以数据包窗口的方式进行解析,分别提取流量层、数据包层及内容层特征。
S130:利用嗅探器的解析结果,将流量层、数据包层及内容层特征分别输入LSTM神经网络,对下一时刻的流量层、数据包层及内容层特征进行预测,获取LSTM神经网络输出的预测值。
S140:分别求下一时刻流量层、数据包层及内容层特征的预测值和嗅探器提取的特征真实值的偏差,并将偏差输入自编码器,获取自编码器输出结果,作为异常值。
S150:将自编码器输出的异常值与预设的异常值阈值进行比较,若异常值大于异常值阈值,则对应的流量为攻击流量,否则为正常流量。
在本发明所述的分层依赖关系建模的工控入侵检测方法中,将流量层、数据包层及内容层特征分别输入LSTM神经网络,对下一时刻的流量层、数据包层及内容层特征进行预测的步骤之前,还包括对LSTM神经网络进行训练的步骤。
在本发明所述的分层依赖关系建模的工控入侵检测方法中,对LSTM神经网络进行训练的步骤包括:
收集合法正常的modbus/TCP通信流量,在工业生产环境的网关中设置镜像端口,将收集的通信流量进行解析,得到流量层、数据包层及内容层特征;
将解析得到的流量层、数据包层及内容层特征分为训练集和测试集,将训练集分别输入一LSTM神经网络进行训练,训练完成后将测试集输入训练好的LSTM神经网络中进行测试。
在本发明所述的分层依赖关系建模的工控入侵检测方法中,嗅探器对实时监听到的流量以数据包窗口的方式进行解析,分别提取流量层、数据包层及内容层特征的步骤中,
流量层特征是采用滑动窗口的方式依次提取不同窗口内的的数据包个数、包速率、接收的字节数、数据包时间间隔的均值、方差、最大最小值,并利用这一类特征,以时间为标准建立时间向量作为空间状态特征,提取出不同时间段之间流量的内在依赖关系;
数据包特征是在一定长数据包窗口内,提取数据包事务元标识符、modbus帧长度、Unit ID、功能码特征;功能码在工控协议中表示数据包的行为,modbus帧长度在工业流程中呈现周期性变化,攻击行为的出现会造成畸形包,进而引起modbus帧长度产生异常;UnitID作为工控协议中特定的地址字段,在同一IP地址下可区分不同的设备;采用功能码、modbus帧长度、Unit ID等特征构建每个数据包的特征向量,并使用此向量唯一标识每个数据包,从而准确定义数据包的行为特征;
内容层特征是采用抽取访问的地址以及操作的内容作为攻击者的更加细粒度的行为表示,从而获取深层次的语义特征,并以此提取内容层面的不同语义间的依赖关系。
在本发明所述的分层依赖关系建模的工控入侵检测方法中,内容层特征用于体现是否有异常地址被访问或是否传递异常内容;由于modbus协议有离散输入、线圈、输入寄存器、保持寄存器四种区域类型,故针对不同的区域类型有不同的取值范围;内容层特征提取地址类型、开始地址、结束地址、内容最小值与最大值五种特征。
在本发明所述的分层依赖关系建模的工控入侵检测方法中,分别求下一时刻流量层、数据包层及内容层特征的预测值和嗅探器提取的特征真实值的偏差的步骤中,采用均方根误差表示真实值与预测值的偏差,偏差值根据以下公式计算,其中RMSE为均方根误差即偏差值,与分别为t时刻对应真实特征向量与估计特征向量中不同特征的值,n为输入向量的维度。
通过公式(2)计算每种特征的偏差值的z-score值即zx来保证特征值量纲统一,
其中μx与σx分别是预测偏差的均值与标准差。
本实施例提供一个采用本发明方法的工控入侵检测实例。该方法分为三个阶段,准备阶段、模型构建阶段、入侵检测阶段,系统整体框架如图2所示。
1.准备阶段:
1)事先收集合法正常的modbus/TCP通信流量,在工业生产环境的网关中设置镜像端口,并将端口直接连接到某一设备A中,将数据流信息实时引入到设备A中。
2)特征提取,从数据流层、数据包层、内容层三个层次分别提取特征信息。
针对流量方面,采用滑动窗口的方式依次提取不同窗口内的的数据包个数、包速率、接收的字节数、数据包时间间隔的均值、方差、最大最小值等特征,并利用这一类特征,以时间为标准建立时间向量作为空间状态特征,可很好的表现出不同窗口之间流量在时间上的变化,从而提取出不同时间段之间流量的内在依赖关系。
针对数据包方面,在一定长数据包窗口内,提取数据包事务元标识符、modbus帧长度、Unit ID、功能码等特征。在工控协议中功能码可以表示数据包的行为,例如,modbus功能码0x03,表示读取保持寄存器,在工业生产环境中HMI周期性发送着这种大量的数据包,读取设备的状态获取系统工作的各项指标。同时在工业流程中modbus帧长度呈现周期性变化,而攻击行为的出现可能会造成畸形包,进而引起modbus帧长度产生异常。而Unit ID作为工控协议中特定的地址字段,在同一IP地址下可区分不同的设备。采用功能码、modbus帧长度、Unit ID等特征构建每个数据包的特征向量,并使用此向量唯一标识每个数据包,从而准确定义数据包的行为特征。
针对内容层面,采用抽取访问的地址以及操作的内容作为攻击者的更加细粒度的行为表示,从而获取深层次的语义特征,并以此提取内容层面的不同语义间的依赖关系。相对于前两类特征,此类特征可以较容易的体现出是否有异常地址被访问或是否传递异常内容。由于modbus协议有离散输入、线圈、输入寄存器、保持寄存器四种区域类型,故针对不同的区域类型有不同的取值范围。本发明主要提取了地址类型、开始地址、结束地址、内容最小值与最大值这五种特征。
2.模型构建阶段:
为建立网络流量即数据包序列的多重依赖关系,使用LSTM神经网络确立不同层次的攻击模型。LSTM神经网络可提取不同数据包之间的隐含关系,这有助于提高检测模型的检测率降低假阳性。它通过获取一时间序列上不同状态关系的方式,生成网络流量模型。LSTM神经网络通过增加门机制控制记忆过程,解决了长序列训练中的梯度消失与梯度爆炸问题。故其在长序列中比普通RNN有更好的表现。
在模型构建中,将特征提取中量化后到网络正常通信流量输入到LSTM神经网络中,其在接收到不同阶段的数据后,进行训练,并预测某时刻对应的数据值。采用均方根误差表示真实值与估计值的偏差,偏差值根据以下公式计算,其中RMSE为均方根误差即偏差值,与分别为t时刻对应真实特征向量与估计特征向量中不同特征的值,n为输入向量的维度。
由于不同的特征值采用的量纲不一致,故在训练模型之前,需对值进行标准化处理,然后再将其作为模型的输入值。通过下式计算每个特征值预测偏差的z-score值来保证特征值量纲统一,其中μx与σx分别是预测偏差的均值与标准差,zx是z-score值。
为提高异常检测的准确率,降低漏报率,本发明提出三种异构LSTM神经网络并行架构,依次提取流量、数据包及访问地址各层的依赖关系。其中每种神经网络的构建方式一致,层数以及各层的功能保持一致,仅是网络的节点个数不一致。
在不同层次的关联关系处理中,统一获取某段数据流n,对于流量层,在特征提取阶段会首先采用滑动窗口的方式提取出不同窗口的特征(主要特征为数据包间隔时间、大小及个数的均值方差等),滑动窗口长度为m,然后输入到LSTM神经网络中,神经网络的结构在图3中展示,在输入流量序列后,会经过堆栈式的LSTM处理,经过处理后,会依据全连接层输出t时刻的预测向量,然后依据公式(1)计算损失。对于数据包层,其处理过程与流量层类似,在接收到一段长度为n的数据包特征序列后(功能码、modbus帧长度、transaction id等),将其输入到LSTM神经网络中,然后对数据进行训练,利用其预测出某t时刻的数据包向量,再计算损失。对于内容层,在收到表述数据包地址特征(地址类型、起始地址、内容范围等)的时间序列后,亦会依次输入序列,然后进行预测,并对比预测结果与真实结果的偏差。
在上述并行的三个LSTM神经网络预测后,会出现各个模型的预测偏差RMSE,后续需要对各个结果进行整合。引入一个由三层自编码器构成的输出层,并将预测偏差RMSE作为输入,用以学习正常流量的RMSE值,此三层自编码器负责最终异常值的产生。对于输出层深度自编码器,其在训练阶段尝试去使得神经网络函数h(x)≈x,即生成与原始数据近似的输出。通常来说,自编码器在训练集上训练后,具备重构与训练集具有相同分布规律数据的能力。若此数据与训练数据的规律不同,则期望重构后的数据具备较大的偏差。换句话来说,使用正常流量训练后的偏差RMSE保持在一个较小的范围内,若采用模型未曾见过的异常流量作为输入,则期望产生较大的偏差,甚至出现陡增。最终模型会输出集成后的偏差值(RMSE)。
3.入侵检测阶段:
入侵检测阶段主要利用模型输出的结果生成最优阈值以及利用此阈值进行入侵检测判断。在模型训练的时候,采用正常流量数据可得到大量的偏差值,此偏差值为正常流量数据的异常值。通过此异常值,可得到正常流量的异常值范围,在得到范围后,引入阈值判断方法进行入侵检测,此阈值使得模型输出的所有异常值都小于它,若出现大于阈值的情况则表示检测到入侵。
在实际部署中,入侵检测模块一直在持续对已接收数据进行预测、评估,若当前接收到的数据为正常流量数据,则异常值输出保持在一定较小的范围内,若接收到的数据中存在攻击或异常数据,则异常值输出会产生陡增,效果如图4所示。
区别于现有技术,本发明提供的分层依赖关系建模的工控入侵检测方法通过数据包窗口的方式监控通信流量,并从流量层、数据包层、内容层三方面提取特征,通过并行LSTM神经网络分别构建上述三种维度的依赖关系,从而将单一层面的关系特征转为多层次的依赖关系模型。再通过深度自编码器将不同LSTM神经网络的输出进行集成,构成最终异常值的输出结果。通过本发明,能够通过分析给定数据包窗口的网络流序列,可检测出具备不同依赖关系的攻击流量,从多个维度、侧面去分析流量存在的隐含关系,从而扩大了传统流量检测的范围,提高攻击流量检测的准确率;最大化的利用了LSTM神经网络的长序列学习能力,从时间维度的角度诠释了数据流的变化。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (5)
1.一种分层依赖关系建模的工控入侵检测方法,其特征在于,包括以下步骤:
在工控系统中设置交换机流量镜像端口,部署嗅探器进行流量监听;
嗅探器对实时监听到的流量以数据包窗口的方式进行解析,分别提取流量层、数据包层及内容层特征;
利用嗅探器的解析结果,将流量层、数据包层及内容层特征分别输入LSTM神经网络,对下一时刻的流量层、数据包层及内容层特征进行预测,获取LSTM神经网络输出的预测值;
分别求下一时刻流量层、数据包层及内容层特征的预测值和嗅探器提取的特征真实值的偏差,并将偏差输入自编码器,获取自编码器输出结果,作为异常值;
将自编码器输出的异常值与预设的异常值阈值进行比较,若异常值大于异常值阈值,则对应的流量为攻击流量,否则为正常流量;
嗅探器对实时监听到的流量以数据包窗口的方式进行解析,分别提取流量层、数据包层及内容层特征的步骤中,
流量层特征是采用滑动窗口的方式依次提取不同窗口内的数据包个数、包速率、接收的字节数、数据包时间间隔的均值、方差、最大最小值,并利用这一类特征,以时间为标准建立时间向量作为空间状态特征,提取出不同时间段之间流量的内在依赖关系;
数据包特征是在一定长数据包窗口内,提取数据包事务元标识符、modbus帧长度、UnitID、功能码特征;功能码在工控协议中表示数据包的行为,modbus帧长度在工业流程中呈现周期性变化,攻击行为的出现会造成畸形包,进而引起modbus帧长度产生异常;UnitID作为工控协议中特定的地址字段,在同一IP地址下可区分不同的设备;采用功能码、modbus帧长度、UnitID特征构建每个数据包的特征向量,并使用此向量唯一标识每个数据包,从而准确定义数据包的行为特征;
内容层特征是采用抽取访问的地址以及操作的内容作为攻击者的更加细粒度的行为表示,从而获取深层次的语义特征,并以此提取内容层面的不同语义间的依赖关系。
2.根据权利要求1所述的分层依赖关系建模的工控入侵检测方法,其特征在于,将流量层、数据包层及内容层特征分别输入LSTM神经网络,对下一时刻的流量层、数据包层及内容层特征进行预测的步骤之前,还包括对LSTM神经网络进行训练的步骤。
3.根据权利要求2所述的分层依赖关系建模的工控入侵检测方法,其特征在于,对LSTM神经网络进行训练的步骤包括:
收集合法正常的modbus/TCP通信流量,在工业生产环境的网关中设置镜像端口,将收集的通信流量进行解析,得到流量层、数据包层及内容层特征;
将解析得到的流量层、数据包层及内容层特征分为训练集和测试集,将训练集分别输入一LSTM神经网络进行训练,训练完成后将测试集输入训练好的LSTM神经网络中进行测试。
4.根据权利要求1所述的分层依赖关系建模的工控入侵检测方法,其特征在于,内容层特征用于体现是否有异常地址被访问或是否传递异常内容;由于modbus协议有离散输入、线圈、输入寄存器、保持寄存器四种区域类型,故针对不同的区域类型有不同的取值范围;内容层特征提取地址类型、开始地址、结束地址、内容最小值与最大值五种特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010042223.XA CN111245848B (zh) | 2020-01-15 | 2020-01-15 | 一种分层依赖关系建模的工控入侵检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010042223.XA CN111245848B (zh) | 2020-01-15 | 2020-01-15 | 一种分层依赖关系建模的工控入侵检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111245848A CN111245848A (zh) | 2020-06-05 |
CN111245848B true CN111245848B (zh) | 2022-11-25 |
Family
ID=70868981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010042223.XA Active CN111245848B (zh) | 2020-01-15 | 2020-01-15 | 一种分层依赖关系建模的工控入侵检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245848B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116457783A (zh) * | 2020-11-24 | 2023-07-18 | 松下电器(美国)知识产权公司 | 异常检测方法、异常检测装置以及程序 |
CN112418361A (zh) * | 2021-01-22 | 2021-02-26 | 杭州木链物联网科技有限公司 | 一种基于深度学习的工控系统异常检测方法、装置 |
CN113259367B (zh) * | 2021-05-28 | 2022-05-06 | 苏州联电能源发展有限公司 | 工控网络流量多级异常检测方法及装置 |
CN113313212B (zh) * | 2021-06-29 | 2023-06-06 | 福建师范大学 | 一种基于果蝇嗅觉神经网络的隐性异常检测方法及其装置 |
CN115277241A (zh) * | 2022-08-03 | 2022-11-01 | 西安热工研究院有限公司 | 一种基于流量分层的异常流量检测方法、装置及存储介质 |
CN115208703B (zh) * | 2022-09-16 | 2022-12-13 | 北京安帝科技有限公司 | 分片并行化机制的工控设备入侵检测方法和系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011999A (zh) * | 2019-03-29 | 2019-07-12 | 东北大学 | 基于深度学习的IPv6网络DDoS攻击检测系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101621019B1 (ko) * | 2015-01-28 | 2016-05-13 | 한국인터넷진흥원 | 시계열 통계 기반 공격의심 이상징후를 탐지하기 위한 방법 |
CN108429753A (zh) * | 2018-03-16 | 2018-08-21 | 重庆邮电大学 | 一种快速特征匹配的工业网络DDoS入侵检测方法 |
CN108900542B (zh) * | 2018-08-10 | 2021-03-19 | 海南大学 | 基于LSTM预测模型的DDoS攻击检测方法及装置 |
CN110557397A (zh) * | 2019-09-12 | 2019-12-10 | 贵州电网有限责任公司 | 一种基于混沌理论分析的DDoS攻击检测方法 |
-
2020
- 2020-01-15 CN CN202010042223.XA patent/CN111245848B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011999A (zh) * | 2019-03-29 | 2019-07-12 | 东北大学 | 基于深度学习的IPv6网络DDoS攻击检测系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111245848A (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111245848B (zh) | 一种分层依赖关系建模的工控入侵检测方法 | |
US20210319113A1 (en) | Method for generating malicious samples against industrial control system based on adversarial learning | |
CN111600919B (zh) | 智能网络应用防护系统模型的构建方法和装置 | |
CN109600363A (zh) | 一种物联网终端网络画像及异常网络访问行为检测方法 | |
US20210105293A1 (en) | Methods and systems for anomaly detection in a networked control system | |
CN112165484B (zh) | 基于深度学习与侧信道分析的网络加密流量识别方法装置 | |
CN112688946B (zh) | 异常检测特征的构造方法、模块、存储介质、设备及系统 | |
CN117113262B (zh) | 网络流量识别方法及其系统 | |
KR20210115991A (ko) | 시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치 | |
CN114330544A (zh) | 一种业务流量异常检测模型建立方法及异常检测方法 | |
Matoušek et al. | Efficient modelling of ICS communication for anomaly detection using probabilistic automata | |
CN114143037A (zh) | 一种基于进程行为分析的恶意加密信道检测方法 | |
CN112134873B (zh) | 一种IoT网络异常流量实时检测方法及系统 | |
CN115190191B (zh) | 基于协议解析的电网工业控制系统及控制方法 | |
CN117220920A (zh) | 基于人工智能的防火墙策略管理方法 | |
Wang et al. | Recent advances in machine learning-based anomaly detection for industrial control networks | |
CN116662184A (zh) | 一种基于Bert的工控协议模糊测试用例筛选方法及系统 | |
CN117978551B (zh) | 变电站监控网络的交互异常行为分析方法 | |
CN115396324A (zh) | 一种网络安全态势感知预警处理系统 | |
CN117082118A (zh) | 基于数据推导及端口预测的网络连接方法 | |
CN113259367B (zh) | 工控网络流量多级异常检测方法及装置 | |
CN109766229B (zh) | 一种面向综合电子系统的异常检测方法 | |
CN116132095A (zh) | 一种融合统计特征和图结构特征的隐蔽恶意流量检测方法 | |
CN111343205B (zh) | 工控网络安全检测方法、装置、电子设备以及存储介质 | |
CN114615052A (zh) | 一种基于知识编译的入侵检测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |