CN114124447B - 一种基于Modbus数据包重组的入侵检测方法及装置 - Google Patents
一种基于Modbus数据包重组的入侵检测方法及装置 Download PDFInfo
- Publication number
- CN114124447B CN114124447B CN202111187044.6A CN202111187044A CN114124447B CN 114124447 B CN114124447 B CN 114124447B CN 202111187044 A CN202111187044 A CN 202111187044A CN 114124447 B CN114124447 B CN 114124447B
- Authority
- CN
- China
- Prior art keywords
- data
- modbus
- intrusion detection
- layer
- convolution
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 79
- 230000008521 reorganization Effects 0.000 title claims abstract description 19
- 238000013528 artificial neural network Methods 0.000 claims abstract description 15
- 238000012216 screening Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 6
- 238000012549 training Methods 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 23
- 238000012360 testing method Methods 0.000 claims description 16
- 238000011176 pooling Methods 0.000 claims description 13
- 239000013598 vector Substances 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000013527 convolutional neural network Methods 0.000 claims description 9
- 238000000034 method Methods 0.000 claims description 6
- 238000003384 imaging method Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 238000002372 labelling Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 abstract description 3
- 238000005215 recombination Methods 0.000 abstract description 3
- 230000006798 recombination Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 19
- 230000006399 behavior Effects 0.000 description 7
- 230000006854 communication Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 230000001364 causal effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
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
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40228—Modbus
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于Modbus数据包重组的入侵检测方法及装置。使用从数据库或者日志文件中提取的工业控制系统的Modbus流量数据按类型以及时间进行首尾拼接,得到重组数据;然后对其进行特征筛选、数据图形化处理;利用基于卷积深度神经网络的入侵检测模型进行入侵检测。本发明考虑了工业控制系统中独特的业务逻辑关系,通过包重组并对其中特征数据做进一步筛选的方式,实现了对工业网络数据中的上下文信息的提取,比现有的工控系统流量检测方法能更充分地利用Modbus流量数据包之间的相关性。
Description
技术领域
本发明属于网络空间安全入侵检测技术领域,具体涉及一种基于Modbus数据包重组的入侵检测方法及装置。
背景技术
随着工业4.0时代的到来,工业互联网得到快速发展,工业设备不断接入到互联网环境中,使得工业控制系统与外界的物理隔离被打破,导致其所面临的安全威胁不断增加。工业控制系统的安全防护机制通常有三种,即防火墙、入侵检测技术和加密技术。与其他安全防护机制不同的是,入侵检测技术是对系统的流量、协议、主机采取的主动防御技术,可实时监控系统工作并感知系统的异常行为,具有数据分析和告警的功能。其既可满足工业控制系统的整体防护,又可满足安全策略要求;既可实现工业控制系统的内部防护,还可抵御外部攻击,在工控安全领域得到广泛应用。相较于普通互联网环境,工业环境普遍具有工业通信协议特殊、上下文联系紧密和通信模式固定等特点。现有的工业控制系统入侵检测技术主要针对单个数据包进行检测,无法充分利用数据包之间的上下文信息,缺乏对工控系统中业务逻辑关系的理解,造成漏检率过高。并且缺少对控制指令的语义理解和利用,无法有效地检测针对工业过程进行攻击的行为。
在工业系统中,操作人员发出的指令与工业系统状态之间存在着明显的因果关系,这种因果关系体现在指令包和状态查询包之间。为此,提出了基于数据包重组的方法,从多个数据包中提取体现这种因果关系的上下文信息,然后在此基础上,设计深度学习模型,对Modbus网络中的入侵行为进行检测。
发明内容
本发明的目的在于针对工业互联网环境的特点,提出了一种基于Modbus数据包重组的工业控制系统入侵检测方法。
本发明解决其技术问题所采用的技术方案如下:
一种基于Modbus数据包重组的入侵检测方法,包括以下步骤:
步骤1、Modbus数据包获取;
获取工控系统中Modbus网络流量包中的命令读、响应读、命令写和响应写四种类型的Modbus数据包;
步骤2、Modbus数据包重组以及特征提取;
将上述四种类型Modbus数据包按命令读、响应读、命令写和响应写的顺序以及时间先后顺序进行首尾拼接,得到重组数据;对重组后数据按照Modbus帧结构的特点,以8bit为单位进行划分,得到若干特征;
步骤3、特征筛选;
由于重组后数据中包含很多冗余信息,为了去除不必要的信息进而提高检测的准确率,需进行特征筛选;
对步骤2划分得到的所有特征计算信息增益,并将其进行从大到小排序,保留前N个信息增益对应的特征;所述信息增益用于衡量特征与分类标签的相关程度,从而判断特征的重要性;N为人为定义参数;
3-1计算每个特征的信息熵,信息熵是衡量无序度的度量,计算公式见公式(1):
其中xi,j表示特征Xi的第j个取值情况,Xi为第i个特征的所有取值情况集合,P(xi,j)表示特征取值为xi,j的概率,H(Xi)为第i个特征的信息熵;
3-2计算每个特征的条件熵,条件熵是在某种条件前提下的信息熵,计算公式见公式(2):
其中H(Y|Xi)表示选取第i个特征时Y的不确定性,yi为第i个分类类别,Y表示分类类别集合;
3-3根据每个特征的条件熵,并结合分类类别的信息熵,通过公式(3)计算特征信息增益:
IG(Xi)=H(Y)-H(Y|Xi) (3)
其中IG(Xi)表示第i个特征的信息增益,H(Y)为分类类别的信息熵;
3-4对所有特征的信息增益进行从大到小排序,保留前N个信息增益对应的特征;
步骤4、数据图像化处理:采用现有常规技术将步骤3筛选后的特征数据转为二进制图像;
四种类型数据包组合成一条数据并去除冗余特征之后,需要将原本的十六进制数据流转为二进制流,然后将二进制流变成正方形的RGB图像;其中二进制流中的0替换为RGB(255,255,255),二进制流中的1替换为RGB(0,0,0);
步骤5、根据步骤4得到的二进制图像构建数据集,并进行人工标注;同时将数据集分为训练集和测试集;其中每种类型Modbus数据包拥有两类标签,分别是攻击行为、正常行为;
作为优选,数据集的标签采用4位二进制数字,从最高位到最低位的数字分别代表命令读、响应读、命令写和响应写四种类型Modbus数据包的标签。
步骤6、构建基于卷积深度神经网络的入侵检测模型,并利用训练集进行训练;
所述基于卷积深度神经网络的入侵检测模型包括依次级联的输入层、第一卷积层、第一最大池化层、第二卷积层、第二最大池化层、第三卷积层、第一线性全连接层、第二线性全连接层、第三线性全连接层;
所述输入层的输入为训练集的二进制图像,输入大小为3*图像长度*图像宽度;
所述第一卷积层、第二卷积层、第三卷积层的卷积核个数、卷积核大小、步长以及填充根据输入数据的大小调整,输入与输出大小关系如公式(4)所示:
其中O为输出图像的尺寸,I为输入图像的尺寸,K为卷积核的尺寸,P为填充padding尺寸,S为卷积核移动步长。
第一卷积层、第二卷积层、第三卷积层卷积后的结果均使用Relu函数作为激活函数;Relu函数如公式(5)所示:
Relu(r)=max(0,r) (5)
其中r为第一卷积层、第二卷积层、第三卷积层卷积后的结果数值,max(0,r)函数表示取0和r中最大值。
所述第一最大池化层、第二最大池化层的池化窗口大小依据输入数据大小进行设置;
所述第三卷积层的输出需要进行展平,形成一维张量,作为所述第一线性全连接层的输入;
所述第一线性全连接层、第二线性全连接层、第三线性全连接层,用于线性运算,并最终输出十六维的向量。
第三线性全连接层输出的向量通过Softmax函数计算得到最终分类的结果,Softmax函数公式见公式(6);
其中zi为第i个节点的输出值,C为输出节点的个数,即分类类别个数。
模型的优化选用Adam优化器,它结合AdaGrad和RMSProp两种优化算法的优点,能综合考虑梯度的一阶矩估计和二阶矩估计进行步长的更新。损失函数选用categorical_crossentropy分类交叉熵函数,计算公式为式(7)
其中n是样本数,m是分类类别的个数,l为模型的实际输出值即预测值,为真实值。
训练好的模型将保存到文件中,以方便之后检测模块对模型的提取调用。
步骤7、利用测试集对已训练的基于卷积深度神经网络的入侵检测模型进行测试;
步骤8、从网络流量、数据库或者日志文件中获取工控系统中待检测的Modbus网络流量包重复步骤2至4,利用测试好的基于卷积深度神经网络的入侵检测模型,实现对Modbus网络流量包进行入侵检测。
本发明的另一个目的是提供一种基于Modbus数据包重组的入侵检测系统,包括数据包重组模块、入侵检测模型训练模块和检测模块;
所述数据包重组模块,用于根据工业控制系统中的业务关系,将四种Modbus数据包重组,并对重组后的数据做特征筛选以及数据图像化处理;
所述入侵检测模型训练模块,用于将经过数据包重组模块处理后数据进行人工打标,并将其分为训练集和测试集,然后利用训练集中的数据训练基于卷积神经网络的入侵检测模型,并利用测试集中的数据优化基于卷积神经网络的入侵检测模型;
所述检测模块,用于将未经标记的Modbus数据包经数据包重组模块处理后输入至已经训练好的基于卷积神经网络的入侵检测模型中,根据检测结果识别是否为入侵数据。
本发明与现有的入侵检测方法相比,其显著优点在于:
(1)本发明考虑了工业控制系统中独特的业务逻辑关系,通过包重组并对其中特征数据做进一步筛选的方式,实现了对工业网络数据中的上下文信息的提取,比现有的工控系统流量检测方法能更充分地利用Modbus流量数据包之间的相关性。
(2)本发明采用深度学习网络模型(即基于卷积神经网络的入侵检测模型),比起传统的机器学习入侵检测模型,节省了专家特征工程的人工成本,能够自动从数据中提取出更深层的特征。
附图说明
图1为基于Modbus数据包重组的入侵检测方法的流程图;
图2Modbus通信过程图;
图3Modbus数据包示例图;
图4卷积神经网络结构图。
具体实施方式
下面结合附图和具体实例对本发明作进一步的详细说明。
本发明的入侵检测系统主要由数据包重组模块、入侵检测模型训练模块和检测模块构成,如图1所示。
(1)数据包重组模块,根据工业控制系统中的业务关系,将有关联的四个Modbus数据包按时间顺序包首对包尾地组装到一起,并对重组后的数据做特征筛选以及图像化处理。
(2)入侵检测模型训练模块,把经过数据包重组模块处理并带有标签的数据分为训练集和测试集,利用训练集中的数据训练基于卷积神经网络的入侵检测模型,再利用测试集中的数据作为训练后模型的输入,模型的输出结果作为评判的依据来优化模型。最后将优化训练好的模型存入文件中保存,方便后续调用。
(3)检测模块,用于将未经标记的待检测Modbus数据包经数据包重组模块处理后输入已经训练好的入侵检测模型中,得到检测结果,依据检测结果筛选出攻击行为的可疑数据包。
本发明的基本流程图如图1所示,包括以下步骤:
步骤1、Modbus数据包获取;
Modbus协议是应用最为广泛的工业网络协议。该协议采用主从架构,在工业控制系统中只有一个主节点,其他的都是从节点。只有主节点能发起请求,而从属节点只能被动进行回应。在Modbus协议中,单个数据包只包含一个功能。按功能类型,Modbus协议数据包具体可分为命令读、命令写、响应读和响应写四类不同的数据包。这四类数据包的通信过程如图2所示。
其中命令读数据包是客户端发送给服务器端读取系统状态的请求信息。响应写数据包是服务端发送给客户端的确认收到指令的响应信息。响应读数据包中包含了服务器端发送给客户端系统状态信息。命令写数据包中包含了客户端对服务器端下达的指令信息。同类数据包具有相同功能的信息和长度。如响应读数据包都包含设备的状态信息,命令写数据包都包含操作人员对设备下达的命令信息。四种数据包示例见图3。
步骤2、Modbus数据包重组以及特征提取
根据工业控制系统中的业务关系,将从工业环境中采集得到的Modbus网络流量中的命令读、响应读、命令写和响应写四个数据包重新组合拼接,形成一条新的重组后数据信息。具体的重组策略如下:
(1)根据数据携带的信息可以将所有的数据包分为命令读数据包、命令写数据包、响应读数据包和响应写数据包四类。四种类型的数据包每种都有两类情况,分别是带有攻击数据的数据包和正常行为的数据包。
(2)按照命令读、响应读、命令写、响应写的顺序,以及时间先后顺序将四种数据包进行首尾拼接,重新组合为一条新的数据信息。
对重组后数据按照Modbus帧结构特点以8bit为单位进行划分,得到若干特征;
步骤3、特征筛选
重组后数据中包含很多冗余信息,为了去除不必要的信息进而提高检测的准确率,需进行特征筛选。
对步骤2划分得到的所有特征计算信息增益,并将其进行从大到小排序,保留前N个信息增益对应的特征。所述信息增益用于衡量特征与分类标签的相关程度,从而判断特征的重要性。
3-1计算每个特征的信息熵,信息熵是衡量无序度的度量,计算公式见公式(1):
其中xi,j表示特征Xi的第j个取值情况,Xi为第i个特征的所有取值情况集合,P(xi,j)表示特征取值为xi,j的概率,为第i个特征的信息熵。
3-2计算每个特征的条件熵,条件熵是在某种条件前提下的信息熵,计算公式见公式(2):
其中H(Y|Xi)表示选取第i个特征时Y的不确定性。yi为第i个分类类别,Y表示分类类别集合。
3-3特征信息增益可以通过公式(3)计算:
IG(Xi)=H(Y)-H(Y|Xi) (3)
其中IG(Xi)表示第i个特征的信息增益,H(Y)为分类类别的信息熵。
3-4对所有特征的信息增益进行从大到小排序,保留前N=40个信息增益对应的特征。
步骤4、将步骤3特征筛选后的数据转为二进制图像;
四个Modbus数据包组合成一条数据并去除冗余特征之后,需要将原本的十六进制数据流转为二进制流,然后将二进制流变成正方形的RGB图像,其中二进制流中的0替换为RGB(255,255,255),二进制流中的1替换为RGB(0,0,0)。
步骤5、根据步骤4得到的二进制图像构建数据集,并进行人工标注;同时将数据集分为训练集和测试集;
四种类型的数据包每种都有两类情况,分别是带有攻击数据的数据包和正常行为的数据包,将四种数据包组合后,总共有十六种不同的分类情况,人工标注的标签由4位二进制数字组成,从最高位到最低位的数字分别代表了第一个数据包、第二个数据包、第三个数据包和第四个数据包的结果。每个数字采用二进制,为0代表该数据包正常,为1则代表该数据包为攻击数据包。例如,标签0000,则表明组合后的四个数据包全都是正常的;标签0101,则表明组合后的四个数据包第二个和第四个是攻击数据包。
所构建的数据集经过随机打乱,并按照比例划分为训练集和测试集。
步骤6、构建基于卷积深度神经网络的入侵检测模型,并利用训练集进行训练;
所述基于卷积深度神经网络的入侵检测模型包括依次级联的输入层、第一卷积层、第一最大池化层、第二卷积层、第二最大池化层、第三卷积层、第一线性全连接层、第二线性全连接层、第三线性全连接层;其模型的结构如图4所示,具体模型详细构成及参数设置描述如下。
模型第一层是输入层,将图像数据矩阵作为输入,输入大小为3*26*26;
所述第一卷积层、第二卷积层、第三卷积层的卷积核个数、卷积核大小、步长以及填充根据输入数据的大小调整,输入与输出大小关系如公式(4)所示:
其中O为输出图像的尺寸,I为输入图像的尺寸,K为卷积核的尺寸,P为填充padding尺寸,S为卷积核移动步长。卷积后的结果使用Relu函数作为激活函数;Relu函数如公式(5)所示:
Relu(r)=max(0,r) (5)
其中r为卷积后的结果数值,max(0,r)函数将取0和r中最大值。
模型第二层为第一卷积层,卷积层的卷积核个数设置为32,卷积核大小设置为3*3,步长设置为1,padding填充设置为1;
模型第三层是第一最大池化层,池化窗口大小设置为2*2;
模型第四层是第二卷积层,卷积核个数设置为32,卷积核大小设置为5*5,步长设置为1,padding设置为2;
模型第五层是第二最大池化层,池化窗口同样也是2*2;
模型第六层为第三卷积层,卷积核个数设置为64,卷积核大小设置为3*3,步长设置为1,padding设置为2;
模型第七层为第一线性全连接层,其输入为模型第六层得到的输出展平后的结果,具体为3136维的向量,其输出为1024维的向量;
模型第八层是第二线性全连接层,其输入为1024维的向量,其输出为128维的向量;
模型第九层是第三线性全连接层,其输入为128维的向量,其输出为16维的向量。
第三线性全连接层输出的向量通过Softmax函数计算得到最终分类的结果,Softmax函数公式见公式(6),其中zi为第i个节点的输出值,C为输出节点的个数,即分类类别个数。
模型的优化选用Adam优化器,它结合AdaGrad和RMSProp两种优化算法的优点,能综合考虑梯度的一阶矩估计和二阶矩估计进行步长的更新。损失函数选用categorical_crossentropy分类交叉熵函数,计算公式为式(7),其中n是样本数,m是分类的个数,l为模型的实际输出值即预测值,为真实值。
训练好的模型将保存到文件中,以方便之后检测模块对模型的提取调用。
步骤7、利用测试集对已训练的基于卷积深度神经网络的入侵检测模型进行测试;
步骤8、从网络流量、数据库或者日志文件中获取工控系统中待检测的Modbus网络流量包重复步骤2至4,利用测试好的基于卷积深度神经网络的入侵检测模型,实现对Modbus网络流量包进行入侵检测。
使用从网络流量、数据库或者日志文件中提取的工业控制系统的Modbus流量数据,用于入侵检测。数据经过数据包重组模块处理后直接输入检测模块。检测模块将从已保存的模型文件中选择训练准确率,召回率达到一定阈值的模型。利用模型文件中保存的模型,构建用于入侵检测的模型,并输入待检测数据,模型会输出所有数据相应的检测结果。例如,得到输出结果为0000,则表明组合后的四个数据包全都是正常的;得到输出结果为1011,则表明组合后的四个数据包第一个、第三个和第四个数据包是攻击数据包。
虽然本说明书根据实施方式加以描述,但是并非每个实施方式仅包含一个独立的技术方案,说明书的叙述方式仅仅是为了清楚起见,本领域的相关技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以进行适当更改,按照本领域技术人员的理解来实施。上文所列出的一系列详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用于限制本发明的保护范围,凡是未脱离发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于Modbus数据包重组的入侵检测方法,其特征在于包括以下步骤:
步骤1、Modbus数据包获取;
获取工控系统中Modbus网络流量包中的命令读、响应读、命令写和响应写四种类型的Modbus数据包;
步骤2、Modbus数据包重组以及特征提取;
将上述四种类型Modbus数据包按命令读、响应读、命令写和响应写的顺序以及时间先后顺序进行首尾拼接,得到重组数据;对重组后数据按照Modbus帧结构的特点,以8bit为单位进行划分,得到若干特征;
步骤3、特征筛选;
对步骤2划分得到的所有特征计算信息增益,并将其进行从大到小排序,保留前N个信息增益对应的特征;
步骤4、数据图形化处理:将步骤3筛选后的特征数据转为二进制图片;
步骤5、根据步骤4得到的二进制图片构建数据集,并进行人工标注;同时将数据集分为训练集和测试集;
步骤6、构建基于卷积深度神经网络的入侵检测模型,并利用训练集进行训练;
所述基于卷积深度神经网络的入侵检测模型包括依次级联的输入层、第一卷积层、第一最大池化层、第二卷积层、第二最大池化层、第三卷积层、第一线性全连接层、第二线性全连接层、第三线性全连接层;
所述第一卷积层、第二卷积层、第三卷积层的卷积核个数、卷积核大小、步长以及填充根据输入数据的大小调整,输入与输出大小关系如公式(4)所示:
其中O为输出图像的尺寸,I为输入图像的尺寸,K为卷积核的尺寸,P为填充padding尺寸,S为卷积核移动步长;
步骤7、利用测试集对已训练的基于卷积深度神经网络的入侵检测模型进行测试;
步骤8、从数据库或者日志文件中获取工控系统中待检测的Modbus网络流量包重复步骤2至3,利用测试好的基于卷积深度神经网络的入侵检测模型,实现对Modbus网络流量包进行入侵检测。
2.根据权利要求1所述的一种基于Modbus数据包重组的入侵检测方法,其特征在于步骤1中每种类型的Modbus数据包拥有两类标签,分别是攻击行为、正常行为。
3.根据权利要求1所述的一种基于Modbus数据包重组的入侵检测方法,其特征在于步骤3具体是:
3-1计算每个特征的信息熵,信息熵是衡量无序度的度量,计算公式见公式(1):
其中xi,j表示特征Xi的第j个取值情况,Xi为第i个特征的所有取值情况集合,P(xi,j)表示特征取值为xi,j的概率,H(Xi)为第i个特征的信息熵;
3-2计算每个特征的条件熵,条件熵是在某种条件前提下的信息熵,计算公式见公式(2):
其中H(Y|Xi)表示选取第i个特征时Y的不确定性,yi为第i个分类类别,Y表示分类类别集合;
3-3根据每个特征的条件熵,并结合分类类别的信息熵,通过公式(3)计算特征信息增益:
IG(Xi)=H(Y)-H(Y|Xi) (3)
其中IG(Xi)表示第i个特征的信息增益,H(Y)为分类类别的信息熵;
3-4对所有特征的信息增益进行从大到小排序,保留前n个信息增益对应的特征。
4.根据权利要求1所述的一种基于Modbus数据包重组的入侵检测方法,其特征在于步骤4具体是:将步骤3处理后的数据由十六进制数据流转为二进制流,然后将二进制流变成正方形的RGB图像;其中二进制流中的0替换为RGB(255,255,255),二进制流中的1替换为RGB(0,0,0)。
5.根据权利要求1所述的一种基于Modbus数据包重组的入侵检测方法,其特征在于步骤5中数据集的标签采用4位二进制数字,从最高位到最低位的数字分别代表命令读、响应读、命令写和响应写四种类型Modbus数据包的标签。
6.根据权利要求1所述的一种基于Modbus数据包重组的入侵检测方法,其特征在于所述基于卷积深度神经网络的入侵检测模型中第一卷积层、第二卷积层、第三卷积层卷积后的结果均使用Relu函数作为激活函数;Relu函数如公式(5)所示:
Reu(r)=max(0,r) (5)
其中r为第一卷积层、第二卷积层、第三卷积层卷积后的结果数值,max(0,r)函数表示取0和r中最大值。
7.根据权利要求6所述的一种基于Modbus数据包重组的入侵检测方法,其特征在于所述基于卷积深度神经网络的入侵检测模型中所述第三线性全连接层输出的向量通过Softmax函数计算得到最终分类的结果,Softmax函数公式见公式(6);
其中zi为第i个节点的输出值,C为输出节点的个数,即分类类别个数。
8.根据权利要求7所述的一种基于Modbus数据包重组的入侵检测方法,其特征在于损失函数选用categorical_crossentropy分类交叉熵函数,计算公式为式(7)
其中n是样本数,m是分类类别的个数,l为模型的实际输出值即预测值,为真实值。
9.一种实现权利要求1-8任一项所述方法的基于Modbus数据包重组的入侵检测系统,其特征在于包括数据包重组模块、入侵检测模型训练模块和检测模块;
所述数据包重组模块,用于根据工业控制系统中的业务关系,将四种Modbus数据包重组,并对重组后的数据做特征筛选以及数据图像化处理;
所述入侵检测模型训练模块,用于将经过数据包重组模块处理后数据进行人工打标,并将其分为训练集和测试集,然后利用训练集中的数据训练基于卷积神经网络的入侵检测模型,并利用测试集中的数据优化基于卷积神经网络的入侵检测模型;
所述检测模块,用于将未经标记的Modbus数据包经数据包重组模块处理后输入已经训练好的基于卷积神经网络的入侵检测模型中,根据检测结果识别是否为入侵数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111187044.6A CN114124447B (zh) | 2021-10-12 | 2021-10-12 | 一种基于Modbus数据包重组的入侵检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111187044.6A CN114124447B (zh) | 2021-10-12 | 2021-10-12 | 一种基于Modbus数据包重组的入侵检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114124447A CN114124447A (zh) | 2022-03-01 |
CN114124447B true CN114124447B (zh) | 2024-02-02 |
Family
ID=80441801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111187044.6A Active CN114124447B (zh) | 2021-10-12 | 2021-10-12 | 一种基于Modbus数据包重组的入侵检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114124447B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553606B (zh) * | 2022-04-26 | 2022-08-26 | 科大天工智能装备技术(天津)有限公司 | 一种工业控制网络入侵检测方法和系统 |
CN115333957B (zh) * | 2022-08-05 | 2023-09-05 | 国家电网有限公司信息通信分公司 | 基于用户行为和企业业务特征的业务流量预测方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107438052A (zh) * | 2016-05-26 | 2017-12-05 | 中国科学院沈阳自动化研究所 | 一种面向未知工业通信协议规约的异常行为检测方法 |
CN108429753A (zh) * | 2018-03-16 | 2018-08-21 | 重庆邮电大学 | 一种快速特征匹配的工业网络DDoS入侵检测方法 |
CN110912867A (zh) * | 2019-09-29 | 2020-03-24 | 惠州蓄能发电有限公司 | 工业控制系统的入侵检测方法、装置、设备和存储介质 |
CN113179279A (zh) * | 2021-05-20 | 2021-07-27 | 哈尔滨凯纳科技股份有限公司 | 基于ae-cnn的工业控制网络入侵检测方法及装置 |
-
2021
- 2021-10-12 CN CN202111187044.6A patent/CN114124447B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107438052A (zh) * | 2016-05-26 | 2017-12-05 | 中国科学院沈阳自动化研究所 | 一种面向未知工业通信协议规约的异常行为检测方法 |
CN108429753A (zh) * | 2018-03-16 | 2018-08-21 | 重庆邮电大学 | 一种快速特征匹配的工业网络DDoS入侵检测方法 |
CN110912867A (zh) * | 2019-09-29 | 2020-03-24 | 惠州蓄能发电有限公司 | 工业控制系统的入侵检测方法、装置、设备和存储介质 |
CN113179279A (zh) * | 2021-05-20 | 2021-07-27 | 哈尔滨凯纳科技股份有限公司 | 基于ae-cnn的工业控制网络入侵检测方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于GR-CNN算法的网络入侵检测模型设计与实现;池亚平;杨垠坦;李格菲;王志强;许萍;;计算机应用与软件(12);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114124447A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110730140B (zh) | 基于时空特性相结合的深度学习流量分类方法 | |
CN114124447B (zh) | 一种基于Modbus数据包重组的入侵检测方法及装置 | |
CN110808945B (zh) | 一种基于元学习的小样本场景下网络入侵检测方法 | |
CN112241481B (zh) | 基于图神经网络的跨模态新闻事件分类方法及系统 | |
CN112839034A (zh) | 一种基于cnn-gru分层神经网络的网络入侵检测方法 | |
CN112468347B (zh) | 一种云平台的安全管理方法、装置、电子设备及存储介质 | |
CN114816909A (zh) | 一种基于机器学习的实时日志检测预警方法及系统 | |
CN111915437A (zh) | 基于rnn的反洗钱模型的训练方法、装置、设备及介质 | |
CN113806746A (zh) | 基于改进cnn网络的恶意代码检测方法 | |
CN112039906B (zh) | 一种面向云计算的网络流量异常检测系统及方法 | |
CN114266342A (zh) | 一种基于孪生网络的内部威胁的检测方法及系统 | |
Hong et al. | Abnormal access behavior detection of ideological and political MOOCs in colleges and universities | |
CN117081798A (zh) | 一种基于att_ck和有向警报图的真实威胁告警系统、方法和计算机可读存储介质 | |
CN115277888B (zh) | 一种移动应用加密协议报文类型解析方法及系统 | |
CN115604025B (zh) | 一种基于pli4da的网络入侵检测方法 | |
CN116089944A (zh) | 基于迁移学习的跨平台应用程序异常检测方法、系统 | |
CN112487406B (zh) | 一种基于机器学习的网络行为分析方法 | |
CN113657443B (zh) | 一种基于soinn网络的在线物联网设备识别方法 | |
CN113992419A (zh) | 一种用户异常行为检测和处理系统及其方法 | |
CN112104684A (zh) | 一种基于物联网的平台管理系统 | |
CN115277071B (zh) | 设备异常通信行为检测方法及装置 | |
CN115567305B (zh) | 基于深度学习的顺序网络攻击预测分析方法 | |
CN114422199B (zh) | 一种cms识别方法及装置 | |
CN113569122B (zh) | 一种地图瓦片数据爬虫的识别方法及系统 | |
CN117011690B (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 |