CN115396204A - 一种基于序列预测的工控网络流量异常检测方法及装置 - Google Patents

一种基于序列预测的工控网络流量异常检测方法及装置 Download PDF

Info

Publication number
CN115396204A
CN115396204A CN202211031858.5A CN202211031858A CN115396204A CN 115396204 A CN115396204 A CN 115396204A CN 202211031858 A CN202211031858 A CN 202211031858A CN 115396204 A CN115396204 A CN 115396204A
Authority
CN
China
Prior art keywords
industrial control
data
data packet
length
time interval
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.)
Pending
Application number
CN202211031858.5A
Other languages
English (en)
Inventor
潘洁
耿洋洋
车欣
邓瑞龙
赵成成
孙铭阳
程鹏
陈积明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202211031858.5A priority Critical patent/CN115396204A/zh
Publication of CN115396204A publication Critical patent/CN115396204A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (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‑SVM模型结构,使用考虑时序信息的神经网络提取数据包间隐藏的逻辑关系,使用SVM输出分类结果,提高检测准确率。

Description

一种基于序列预测的工控网络流量异常检测方法及装置
技术领域
本发明属于工业控制***安全领域,涉及一种基于序列预测的工控网络流量异常检测方法及装置。
背景技术
工业控制***由多个控制回路构成。控制回路由控制器、传感器、执行器实现。传感器将测量到的物理信息传输给控制器;控制器根据控制算法,对从传感器接收的信息进行运算、处理得出控制信号,传输给执行器;执行器据此执行操作,最终实现控制目的。
集散控制***(DCS)和数据采集与监控***(SCADA)是常见的控制***结构。DCS是同一地理位置下控制生产过程的***。SCADA是进行数据采集与监控并进行控制的***。SCADA中可以包含多个DCS***,进行本地控制;使用远程控制模块(RTU)进行远程控制。PLC是重要的控制部件,通常应用在SCADA和DCS***中,用于实现具体的操作,通过回路控制提供本地的过程管理。
在工业控制***设计之初,由于其物理上与外界隔离,在安全问题上只考虑了可靠性和物理上的安全问题。随着数字化的发展,为更好掌握生产数据、将生产数据应用于企业管理等,信息技术更多地应用于工业控制***中。随着信息技术的使用,工业控制***受到了来自传统信息***所面临的病毒、木马等威胁。为保证工业控制***安全,必须考虑有效的防御手段。
入侵检测技术是一项最先应用于信息***领域的防御手段。入侵检测可以在异常行为发生时发现潜在威胁并对其采取一定措施进行进一步防御,而不用对原有***做出过多改变。随着以太网和TCP/IP网络在工控***上的推广,入侵检测技术可以被应用于工业控制***中。入侵检测技术分为基于主机和基于网络的入侵检测技术两大类。由于工业控制的特殊性,需要经常更新主机配置的基于主机的入侵检测技术不适合在工控***上应用。基于网络的入侵检测技术通过网络交换设备获取网络流信息,据此分析可疑行为模式。
发明内容
本发明的目的在于针对目前工业控制***安全的欠缺和不足,提供一种基于序列预测的工控网络流量异常检测方法及装置。
本发明的目的是通过以下技术方案来实现的:
根据本说明书的第一方面,提供一种基于序列预测的工控网络流量异常检测方法,该方法包括如下步骤:
(1)采用混杂模式利用抓包软件采集工业控制***通信数据,包括长时间正常运行状态下的数据包和异常状态下的数据包,去除内网主机自动查询默认网关的正常通信行为,并对通信数据中的每条数据包标记类别标签,构建得到训练集;
(2)对工业控制***的每个数据包进行协议解析工作,识别、提取其中的有效特征,包括:源IP、目的IP、源端口、目的端口、协议类型、工控协议功能码、数据包长度、两条数据包之间的时间间隔、工控协议数据段长度;
(3)创建白名单,并使用白名单进行初步筛查;所述白名单包括依次排列的三个部分:五元组白名单、工控协议功能码白名单、工控协议数据段长度白名单,只有处于白名单范围内的数据包才能通过筛查,将筛查掉的数据包标记为异常数据包;
(4)将每条数据包中提取出的有效特征进行预处理,转化为一条标准化的向量数据;
(4.1)对时间间隔特征的预处理方式包括:计算当前数据包接收时间与上一数据包接收时间的时间间隔;对时间间隔特征取10的对数后进行最大最小归一化处理,将归一化后的时间间隔特征利用聚类算法分为若干分布区间,将分布区间编号更新到原始对应数据包中;
(4.2)对数据包长度特征的预处理方式包括:对于不同长度的数据包,将其长度特征按比例均匀压缩到不同的数字区间,对压缩后的长度特征值进行最大最小归一化处理后作为数据包长度特征;
(4.3)将每条数据包的所有类别量、经步骤(4.1)处理后的分布区间编号、经过步骤(4.2)处理后的数据包长度特征连接成可哈希的字符串,对数据包进行编号,并转换成one-hot向量;
(5)利用步骤(4)得到的one-hot向量,建立基于LSTM-SVM结构的预测模型,用来预测下一时刻数据包类型;利用预测模型将异常检测问题转化为损失函数的优化问题,对预测模型进行训练优化,并更新预测模型的参数;
(6)使用步骤(5)中训练完成的模型,对实际工业控制***中待检测数据包进行检测,判断数据包正常或异常。
进一步地,所述步骤(1)中,将外接设备接入工业控制***内部通信网络,采用混杂模式利用抓包软件Wireshark采集工业控制***通信数据,数据来源为实际现场数据或安全测试平台数据。
进一步地,所述步骤(2)中,源IP、目的IP、源端口、目的端口、协议类型、工控协议功能码是类别量,长度和时间间隔为数值量,表示了数据包通信过程中承载的流量大小和通信频率信息,其中时间间隔承载了一定的工控设备指纹信息;协议类型重点关注于使用的工控私有协议类型;工控协议功能码为工控领域独有的、表征操作者意图的特征。
进一步地,所述步骤(2)中,工控协议的数据段部分是工业控制***通信数据包特有的部分,包含了上位机对控制器的操作、控制器实时状态或控制器内存数据,其长度和格式具有特殊定义,与工控协议功能码具有相关性,通过识别工控协议数据段长度,与工控协议功能码进行对比,能够校验数据包合法性,解析数据包目的性,简捷快速地对数据包进行检测。
进一步地,所述步骤(3)中,所述五元组白名单的构建方法为:从步骤(1)采集的长时间正常运行状态下的数据包中提取源IP、目的IP、源端口、目的端口、协议类型特征,以哈希表方式存储,形成五元组白名单;
所述工控协议功能码白名单的构建方法为:从步骤(1)采集的长时间正常运行状态下的数据包中提取工控协议功能码,形成功能码白名单;
所述工控协议数据段长度白名单的构建方法为:工控协议数据段长度与工控协议功能码具有相关性,同种工控协议功能码其数据段长度限定于一定长度范围内或为固定长度,根据专家经验设定数据段长度范围形成工控协议数据段长度白名单。
进一步地,所述步骤(4)中,对时间间隔特征的预处理方式具体为:
(a)计算当前数据包接收时间与上一数据包接收时间的时间间隔,计算公式如下:
Figure BDA0003817422770000031
其中i代表当前数据包编号,Δti代表第i条数据包的时间间隔特征,ti代表数据包i的接收时间;抓取到的第一条数据包的时间间隔c利用第2-4个时间间隔数据采用最小二乘法估计得到;
(b)对时间间隔特征取10的对数之后,进行最大最小归一化处理,将归一化后的时间间隔特征利用聚类算法分为若干分布区间,将分布区间编号更新到原始对应数据包中。
进一步地,所述步骤(4)中,对数据包长度特征的预处理方式具体为:对于长度为0-150字节区间的数据包,将其长度特征按比例均匀压缩到0-9,对于长度为150-999字节区间的数据包,将其长度特征按比例均匀压缩到9-20,经过分区段压缩后的长度特征值在0与20之间,对压缩后的长度特征值进行最大最小归一化处理后作为数据包长度特征。
进一步地,所述步骤(5)中,所述预测模型包括依次连接的Embedding层、LSTM隐藏层1、Dropout层、LSTM隐藏层2和SVM层;Embedding层将输入的one-hot向量转换为长度为N的词向量;两个LSTM隐藏层接收样本特征用于训练;Dropout层用于避免模型过拟合;SVM层作为输出层,以LSTM隐藏层2输出的隐含层稀疏特征数据作为输入,输出数据包类型;所述SVM层的分类决策函数f如下:
Figure BDA0003817422770000041
其中
Figure BDA0003817422770000042
为拉格朗日乘子且
Figure BDA0003817422770000043
y(n)为类别标签,y∈{+1,-1},sgn(·)为符号函数,当,b*为偏置,k(·,·)为径向基核函数,x(n)为训练集中的第n个样本,x为自变量。
进一步地,所述步骤(5)中,损失函数L公式如下:
L=max(0,1-y(n)wTx(n))
其中w为训练得到的权重向量,T表示转置;训练过程中利用Adam优化算法更新权重向量。
根据本说明书的第二方面,提供一种于序列预测的工控网络流量异常检测装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,用于实现如第一方面所述的于序列预测的工控网络流量异常检测方法。
本发明的有益效果是:本发明提出的基于序列预测的工控网络流量异常检测方法及装置,增加了工业控制***异常检测的召回率和检测精度。本发明针对工业控制***流量包特征,在考虑五元组信息基础上,考虑工控协议特有的功能码、工业控制***长期稳定运行造成的数据包时间特征和功能码和数据包长度的耦合性等特征,利用多层次白名单对报文进行初筛,提高检测效率,减小异常数据对模型性能的影响;使用LSTM-SVM模型结构,使用考虑时序信息的神经网络提取数据包间隐藏的逻辑关系,使用SVM输出分类结果,提高检测准确率。
附图说明
图1是一示例性实施例提供的基于序列预测的工控网络流量异常检测方法流程图。
图2是一示例性实施例提供的白名单结构示意图。
图3是一示例性实施例提供的LSTM-SVM预测模型结构示意图。
图4是一示例性实施例提供的基于序列预测的工控网络流量异常检测装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本实施例中的技术方案进行清楚、完整地描述。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明实施例提供一种基于序列预测的工控网络流量异常检测方法,包括如下步骤:
(1)将外接设备接入工业控制***内部通信网络,采用混杂模式利用抓包软件采集工业控制***通信数据,包括长时间正常运行状态下的数据包和异常状态下的数据包,去除内网主机自动查询默认网关的正常通信行为,并对通信数据中的每条数据包标记类别标签,类别包括正常和异常,构建得到训练集和测试集。数据来源可以是实际现场数据也可以是安全测试平台数据。抓包软件可以采用Wireshark。
(2)关注通信过程,对工业控制***的每个数据包进行协议解析工作,识别、提取其中的有效特征,包括:源IP(IPsrc)、目的IP(IPdst)、源端口(PORTsrc)、目的端口(PORTdst)、协议类型(Protocol)、工控协议功能码(FunCode)、数据包长度(Length)、两条数据包之间的时间间隔(Δt)、工控协议数据段长度(P_Length)。其中前六类是类别量,即每一个标识都只是一种类型,而长度和时间间隔为数值量,表示了该数据包通信过程中承载的流量大小和通信频率信息,其中时间间隔承载了一定的工控设备指纹信息。协议类型区别于传统的分类,重点关注于使用的工控私有协议类型。工控协议功能码为工控领域独有的、表征操作者意图的特征。工控协议的数据段部分是工业控制***通信数据包特有的部分,包含了上位机对控制器的操作、控制器实时状态或控制器内存数据,其长度和格式具有特殊定义,与工控协议功能码具有相关性,通过识别工控协议数据段长度,与工控协议功能码进行对比,能够校验数据包合法性,解析数据包目的性,简捷快速地对数据包进行检测。
(3)创建白名单,并使用白名单进行初步筛查。
白名单包括依次排列的三个部分:五元组白名单、工控协议功能码白名单、工控协议数据段长度白名单,只有处于白名单范围内的数据包才能通过筛查。
所述五元组白名单的构建方法为:从步骤(1)采集的长时间正常运行状态下的数据包中提取源IP、目的IP、源端口、目的端口、协议类型特征,以哈希表方式存储,形成五元组白名单;
所述工控协议功能码白名单的构建方法为:从步骤(1)采集的长时间正常运行状态下的数据包中提取工控协议功能码,形成功能码白名单;
所述工控协议数据段长度白名单的构建方法为:工控协议数据段长度与工控协议功能码具有相关性,同种工控协议功能码其数据段长度限定于一定长度范围内或为固定长度,根据专家经验设定数据段长度范围形成工控协议数据段长度白名单;
将待检测数据包依次使用五元组白名单、工控协议功能码白名单、工控协议数据段长度白名单进行筛查,获取通过筛查的数据包,将筛查掉的数据包标记为异常数据包。
(4)将每条数据包中提取出的有效特征进行预处理,转化为一条标准化的向量数据,即每条数据包对应一条标准化的向量数据;
(4.1)对时间间隔特征的预处理方式包括:
(a)计算当前数据包接收时间与上一数据包接收时间的时间间隔,计算公式如下:
Figure BDA0003817422770000061
其中i代表当前数据包编号,Δti代表第i条数据包的时间间隔特征,ti代表数据包i的接收时间;抓取到的第一条数据包的时间间隔c利用第2-4个时间间隔数据采用最小二乘法估计得到;
(b)对时间间隔特征取10的对数之后,进行最大最小归一化处理,将归一化后的时间间隔特征利用聚类算法分为若干分布区间,将分布区间编号更新到原始对应数据包中。
(4.2)对数据包长度特征的预处理方式包括:
对于长度为0-150字节区间的数据包,将其长度特征按比例均匀压缩到0-9,对于长度为150-999字节区间的数据包,将其长度特征按比例均匀压缩到9-20,经过分区段压缩后的长度特征值在0与20之间,对压缩后的长度特征值进行最大最小归一化处理后作为数据包长度特征。
(4.3)将每条数据包的所有类别量、经步骤(4.1)处理后的分布区间编号、经过步骤(4.2)处理后的数据包长度特征连接成可哈希的字符串,通过python语言的Dict数据结构,对数据包进行编号,并转换成one-hot向量。
(5)利用步骤(4)得到的one-hot向量,建立基于LSTM-SVM结构的预测模型,用来预测下一时刻数据包类型。
建立的预测模型包括依次连接的Embedding层、LSTM隐藏层1、Dropout层、LSTM隐藏层2和SVM层。Embedding层将输入的one-hot向量转换为长度为N的词向量。两个LSTM隐藏层接收样本特征用于训练。Dropout层用于避免模型过拟合。SVM层作为输出层,以LSTM隐藏层2输出的隐含层稀疏特征数据作为输入,输出数据包类型,即将该数据包判断为正常或异常。
SVM层的实现如下:使用径向基核函数隐式地将样本从原始空间映射到高维空间,解决原始特征空间中的线性不可分问题,径向基核函数的公式如下:
Figure BDA0003817422770000062
其中k(·,·)为径向基核函数,x(n)为训练集中的第n个样本,x为自变量,σ是一个可调节自由参数,||x(n)-x||2为两个特征向量之间的平方欧几里得距离。
SVM层的分类决策函数f如下:
Figure BDA0003817422770000071
其中
Figure BDA0003817422770000072
为拉格朗日乘子且
Figure BDA0003817422770000073
y(n)为类别标签,y∈{+1,-1},sgn(x)为符号函数,当x>0,sgn(x)=1;当x=0,sgn(x)=0;当x<0,sgn(x)=-1,b*为偏置。
利用预测模型将异常检测问题转化为损失函数的优化问题,对预测模型进行训练优化,并更新预测模型的参数,损失函数L公式如下:
L=max(0,1-y(n)wTx(n))
其中w为训练得到的权重向量,T表示转置。
(6)使用步骤(5)中训练完成的模型,对实际工业控制***中待检测数据包进行检测,判断数据包正常或异常。
图1是本发明异常检测方法流程图。从工业控制***中采集到网络通信数据后,对所采集到的网络通信数据进行处理。对于正常状态下采集到的数据包,标记为正常,并用于构建白名单。对于异常状态下采集到的数据包,标记为异常,同标记为正常的数据包一同构建训练集与测试集,训练LSTM-SVM预测模型。待检测数据包首先经过白名单进行检测,检测不通过的数据包直接标记为异常。对于检测通过的数据包进行预处理后通过LSTM-SVM预测模型得到检测结果。
图2为具体的白名单结构图。白名单包括依次排列的三个部分:五元组白名单、工控协议功能码白名单、工控协议数据段长度白名单;只有处于白名单范围内的数据包才能通过筛查。
图3是具体的LSTM-SVM预测模型分层结构。预测模型分为Embedding层、LSTM隐藏层1、Dropout层、LSTM隐藏层2和SVM层。使用训练集对预测模型进行训练,训练过程中利用Adam优化算法更新权重向量。
与前述基于序列预测的工控网络流量异常检测方法的实施例相对应,本发明还提供基于序列预测的工控网络流量异常检测装置的实施例。
参见图4,本发明实施例提供的一种基于序列预测的工控网络流量异常检测装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,用于实现上述实施例中的基于序列预测的工控网络流量异常检测方法。
本发明基于序列预测的工控网络流量异常检测装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明基于序列预测的工控网络流量异常检测装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的基于序列预测的工控网络流量异常检测方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (10)

1.一种基于序列预测的工控网络流量异常检测方法,其特征在于,包括如下步骤:
(1)采用混杂模式利用抓包软件采集工业控制***通信数据,包括长时间正常运行状态下的数据包和异常状态下的数据包,去除内网主机自动查询默认网关的正常通信行为,并对通信数据中的每条数据包标记类别标签,构建得到训练集;
(2)对工业控制***的每个数据包进行协议解析工作,识别、提取其中的有效特征,包括:源IP、目的IP、源端口、目的端口、协议类型、工控协议功能码、数据包长度、两条数据包之间的时间间隔、工控协议数据段长度;
(3)创建白名单,并使用白名单进行初步筛查;所述白名单包括依次排列的三个部分:五元组白名单、工控协议功能码白名单、工控协议数据段长度白名单,只有处于白名单范围内的数据包才能通过筛查,将筛查掉的数据包标记为异常数据包;
(4)将每条数据包中提取出的有效特征进行预处理,转化为一条标准化的向量数据;
(4.1)对时间间隔特征的预处理方式包括:计算当前数据包接收时间与上一数据包接收时间的时间间隔;对时间间隔特征取10的对数后进行最大最小归一化处理,将归一化后的时间间隔特征利用聚类算法分为若干分布区间,将分布区间编号更新到原始对应数据包中;
(4.2)对数据包长度特征的预处理方式包括:对于不同长度的数据包,将其长度特征按比例均匀压缩到不同的数字区间,对压缩后的长度特征值进行最大最小归一化处理后作为数据包长度特征;
(4.3)将每条数据包的所有类别量、经步骤(4.1)处理后的分布区间编号、经过步骤(4.2)处理后的数据包长度特征连接成可哈希的字符串,对数据包进行编号,并转换成one-hot向量;
(5)利用步骤(4)得到的one-hot向量,建立基于LSTM-SVM结构的预测模型,用来预测下一时刻数据包类型;利用预测模型将异常检测问题转化为损失函数的优化问题,对预测模型进行训练优化,并更新预测模型的参数;
(6)使用步骤(5)中训练完成的模型,对实际工业控制***中待检测数据包进行检测,判断数据包正常或异常。
2.根据权利要求1所述的基于序列预测的工控网络流量异常检测方法,其特征在于,所述步骤(1)中,将外接设备接入工业控制***内部通信网络,采用混杂模式利用抓包软件Wireshark采集工业控制***通信数据,数据来源为实际现场数据或安全测试平台数据。
3.根据权利要求1所述的基于序列预测的工控网络流量异常检测方法,其特征在于,所述步骤(2)中,源IP、目的IP、源端口、目的端口、协议类型、工控协议功能码是类别量,长度和时间间隔为数值量,表示了数据包通信过程中承载的流量大小和通信频率信息,其中时间间隔承载了一定的工控设备指纹信息;协议类型重点关注于使用的工控私有协议类型;工控协议功能码为工控领域独有的、表征操作者意图的特征。
4.根据权利要求1所述的基于序列预测的工控网络流量异常检测方法,其特征在于,所述步骤(2)中,工控协议的数据段部分是工业控制***通信数据包特有的部分,包含了上位机对控制器的操作、控制器实时状态或控制器内存数据,其长度和格式具有特殊定义,与工控协议功能码具有相关性,通过识别工控协议数据段长度,与工控协议功能码进行对比,能够校验数据包合法性,解析数据包目的性,简捷快速地对数据包进行检测。
5.根据权利要求1所述的基于序列预测的工控网络流量异常检测方法,其特征在于,所述步骤(3)中,所述五元组白名单的构建方法为:从步骤(1)采集的长时间正常运行状态下的数据包中提取源IP、目的IP、源端口、目的端口、协议类型特征,以哈希表方式存储,形成五元组白名单;
所述工控协议功能码白名单的构建方法为:从步骤(1)采集的长时间正常运行状态下的数据包中提取工控协议功能码,形成功能码白名单;
所述工控协议数据段长度白名单的构建方法为:工控协议数据段长度与工控协议功能码具有相关性,同种工控协议功能码其数据段长度限定于一定长度范围内或为固定长度,根据专家经验设定数据段长度范围形成工控协议数据段长度白名单。
6.根据权利要求1所述的基于序列预测的工控网络流量异常检测方法,其特征在于,所述步骤(4)中,对时间间隔特征的预处理方式具体为:
(a)计算当前数据包接收时间与上一数据包接收时间的时间间隔,计算公式如下:
Figure FDA0003817422760000021
其中i代表当前数据包编号,Δti代表第i条数据包的时间间隔特征,ti代表数据包i的接收时间;抓取到的第一条数据包的时间间隔c利用第2-4个时间间隔数据采用最小二乘法估计得到;
(b)对时间间隔特征取10的对数之后,进行最大最小归一化处理,将归一化后的时间间隔特征利用聚类算法分为若干分布区间,将分布区间编号更新到原始对应数据包中。
7.根据权利要求1所述的基于序列预测的工控网络流量异常检测方法,其特征在于,所述步骤(4)中,对数据包长度特征的预处理方式具体为:对于长度为0-150字节区间的数据包,将其长度特征按比例均匀压缩到0-9,对于长度为150-999字节区间的数据包,将其长度特征按比例均匀压缩到9-20,经过分区段压缩后的长度特征值在0与20之间,对压缩后的长度特征值进行最大最小归一化处理后作为数据包长度特征。
8.根据权利要求1所述的基于序列预测的工控网络流量异常检测方法,其特征在于,所述步骤(5)中,所述预测模型包括依次连接的Embedding层、LSTM隐藏层1、Dropout层、LSTM隐藏层2和SVM层;Embedding层将输入的one-hot向量转换为长度为N的词向量;两个LSTM隐藏层接收样本特征用于训练;Dropout层用于避免模型过拟合;SVM层作为输出层,以LSTM隐藏层2输出的隐含层稀疏特征数据作为输入,输出数据包类型;所述SVM层的分类决策函数f如下:
Figure FDA0003817422760000031
其中
Figure FDA0003817422760000032
为拉格朗日乘子且
Figure FDA0003817422760000033
y(n)为类别标签,y∈{+1,-1},sgn(·)为符号函数,当,b*为偏置,k(·,·)为径向基核函数,x(n)为训练集中的第n个样本,x为自变量。
9.根据权利要求8所述的基于序列预测的工控网络流量异常检测方法,其特征在于,所述步骤(5)中,损失函数L公式如下:
L=max(0,1-y(n)wTx(n))
其中w为训练得到的权重向量,T表示转置;训练过程中利用Adam优化算法更新权重向量。
10.一种基于序列预测的工控网络流量异常检测装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,其特征在于,所述处理器执行所述可执行代码时,用于实现如权利要求1-9中任一项所述的基于序列预测的工控网络流量异常检测方法。
CN202211031858.5A 2022-08-26 2022-08-26 一种基于序列预测的工控网络流量异常检测方法及装置 Pending CN115396204A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211031858.5A CN115396204A (zh) 2022-08-26 2022-08-26 一种基于序列预测的工控网络流量异常检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211031858.5A CN115396204A (zh) 2022-08-26 2022-08-26 一种基于序列预测的工控网络流量异常检测方法及装置

Publications (1)

Publication Number Publication Date
CN115396204A true CN115396204A (zh) 2022-11-25

Family

ID=84122591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211031858.5A Pending CN115396204A (zh) 2022-08-26 2022-08-26 一种基于序列预测的工控网络流量异常检测方法及装置

Country Status (1)

Country Link
CN (1) CN115396204A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116170241A (zh) * 2023-04-26 2023-05-26 国家工业信息安全发展研究中心 一种工业控制***的入侵检测方法、***及设备
CN116578037A (zh) * 2023-07-10 2023-08-11 杭州鄂达精密机电科技有限公司 一种全检机plc控制***及全检机***
CN116957049A (zh) * 2023-09-20 2023-10-27 南京邮电大学 基于对抗自编码器的无监督内部威胁检测方法
CN117579400A (zh) * 2024-01-17 2024-02-20 国网四川省电力公司电力科学研究院 一种基于神经网络的工控***网络安全监测方法及***

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116170241A (zh) * 2023-04-26 2023-05-26 国家工业信息安全发展研究中心 一种工业控制***的入侵检测方法、***及设备
CN116578037A (zh) * 2023-07-10 2023-08-11 杭州鄂达精密机电科技有限公司 一种全检机plc控制***及全检机***
CN116578037B (zh) * 2023-07-10 2023-09-29 杭州鄂达精密机电科技有限公司 一种全检机plc控制***及全检机***
CN116957049A (zh) * 2023-09-20 2023-10-27 南京邮电大学 基于对抗自编码器的无监督内部威胁检测方法
CN116957049B (zh) * 2023-09-20 2023-12-15 南京邮电大学 基于对抗自编码器的无监督内部威胁检测方法
CN117579400A (zh) * 2024-01-17 2024-02-20 国网四川省电力公司电力科学研究院 一种基于神经网络的工控***网络安全监测方法及***
CN117579400B (zh) * 2024-01-17 2024-03-29 国网四川省电力公司电力科学研究院 一种基于神经网络的工控***网络安全监测方法及***

Similar Documents

Publication Publication Date Title
CN115396204A (zh) 一种基于序列预测的工控网络流量异常检测方法及装置
CN108985361B (zh) 一种基于深度学习的恶意流量检测实现方法和装置
WO2022037191A1 (zh) 一种网络流异常检测模型的生成方法和计算机设备
CN111107102A (zh) 基于大数据实时网络流量异常检测方法
CN112822189A (zh) 一种流量识别方法及装置
CN109347853B (zh) 基于深度包解析的面向综合电子***的异常检测方法
CN112202726B (zh) 一种基于上下文感知的***异常检测方法
CN111385309B (zh) 在线办公设备的安全检测方法、***及终端
CN112039906B (zh) 一种面向云计算的网络流量异常检测***及方法
CN112804123A (zh) 一种用于调度数据网的网络协议识别方法及***
CN113079150B (zh) 一种电力终端设备入侵检测方法
CN117411703A (zh) 一种面向Modbus协议的工业控制网络异常流量检测方法
CN112688946A (zh) 异常检测特征的构造方法、模块、存储介质、设备及***
CN112165484A (zh) 基于深度学习与侧信道分析的网络加密流量识别方法装置
CN115795330A (zh) 一种基于ai算法的医疗信息异常检测方法及***
CN111464510A (zh) 一种基于快速梯度提升树模型的网络实时入侵检测方法
Rajesh et al. Evaluation of machine learning algorithms for detection of malicious traffic in scada network
CN110650124A (zh) 一种基于多层回声状态网络的网络流量异常检测方法
CN116756578A (zh) 车辆信息安全威胁聚合分析预警方法及***
CN116366319A (zh) 一种检测网络安全的方法及***
CN114615088A (zh) 一种终端业务流量异常检测模型建立方法及异常检测方法
CN113905405A (zh) 一种电力无线接入专网异常流量检测方法
Yu et al. Mining anomaly communication patterns for industrial control systems
CN113468555A (zh) 一种客户端访问行为识别方法、***及装置
CN115580490B (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