CN112418361A - 一种基于深度学习的工控系统异常检测方法、装置 - Google Patents
一种基于深度学习的工控系统异常检测方法、装置 Download PDFInfo
- Publication number
- CN112418361A CN112418361A CN202110086545.9A CN202110086545A CN112418361A CN 112418361 A CN112418361 A CN 112418361A CN 202110086545 A CN202110086545 A CN 202110086545A CN 112418361 A CN112418361 A CN 112418361A
- Authority
- CN
- China
- Prior art keywords
- data
- type
- lstm model
- industrial control
- control system
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种基于深度学习的工控系统异常检测方法、装置。所述方法包括:获取工控系统通信数据,并提取多种特定异常类型的特征数据;将每种所述特定异常类型的特征数据输入A‑LSTM模型;所述A‑LSTM模型在LSTM模型的基础上设置注意力机制层,所述注意力机制层用于计算每个时序的权重,再将所有时序的向量进行加权和作为特征向量输入输出层;所述A‑LSTM模型的输出层输出每个所述特定异常类型的特征数据对应的异常类别。采用本方法能够提高异常类别判断的准确率。
Description
技术领域
本申请涉及工控系统安全检测技术领域,特别是涉及一种基于深度学习的工控系统异常检测方法、装置。
背景技术
工业控制系统(简称工控系统)由DCS、PLC等控制设备和温度、压力等传感器以及上位主机构成,对工业生产过程进行监视控制。随着智能制造全面推进,工业数字化、网络化、智能化加快发展,工控网络安全的高风险漏洞不断增加,工控系统和设备在互联网上的暴露程度不断增加,攻击难度逐步降低,工控行业网络安全事件不断增多,工业控制系统网络安全面临的威胁和挑战日益严峻。
由于资源条件受限和环境相对封闭等原因,工业控制系统在最初并没有充分考虑到可能存在的安全隐患,但是随着信息技术的发展,潜在的安全问题逐渐暴露出来。目前常用的方法包括基于统计的攻击检测方法,基于分类的攻击检测方法和基于无监督的攻击检测方法。如何熹等(CN110324316A)对获取的数据进行多维特征提取,然后采用多种机器学习算法结合的模型进行工控异常检测;王萌等(CN107370766A)采用基于统计的方法,对不同时段的流量趋势进行分析,再综合异常指数,实现对异常的检测;尚文利等(CN110868312A)采用单类支持向量机,模拟系统通讯的正常模式和异常模式,实现工控系统的异常检测。
上述的异常检测方法缺乏根据具体异常类型分析并结合具体协议进行深度解析构造的特征,而且使用的模型无法将发送的数据包联系起来并给予特征不同重要程度的区分。由于工控领域的异常种类繁多,而且大多方式不同,所以需要对异常种类进行分析,单一的方法识别异常无法达到很高的准确率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够准确检测工控系统异常的基于深度学习的工控系统异常检测方法、装置。
一种基于深度学习的工控系统异常检测方法,所述方法包括:
获取工控系统通信数据,并提取多种特定异常类型的特征数据;
将每种所述特定异常类型的特征数据输入A-LSTM模型;所述A-LSTM模型在LSTM模型的基础上设置注意力机制层,所述注意力机制层用于计算每个时序的权重,再将所有时序的向量进行加权和作为特征向量输入输出层;
所述A-LSTM模型的输出层输出每个所述特定异常类型的特征数据对应的异常类别。
其中,所述工控系统通信数据为S7COMM协议的数据;
所述获取工控系统通信数据,并提取多种特定异常类型的特征数据,包括:
对所述S7COMM协议的数据进行json字段解析,获得多种特定异常类型的特征数据;所述特定异常类型的特征数据包括PDU类型、S7类型、功能码、请求数据个数、请求位置、数据长度和错误类型。
其中,对所述S7COMM协议的数据进行json字段解析,获得多种特定异常类型的特征数据包括:对所述S7COMM协议的数据进行清洗;其包括:对缺失值进行处理、对异常值进行删除和进行特征转换中至少一种;所述特征转换包括将类别特征转化为数值型和对日期型变量进行转换;将清洗后的所述S7COMM协议的数据进行json字段深度解析,并根据不同异常类型的特点,构造不同特定异常类型的特征数据。
其中,所述将每种所述特定异常类型的特征数据输入A-LSTM模型,包括:
将每种所述特定异常类型的特征数据输入A-LSTM模型,获得每个特征的隐含表示hiti;
通过Softmax函数对所述隐含表示进行归一化处理,获得权重ri,公式为:
其中,Softmax函数将数据映射到0-1的范围内,所有ri之和为1,t代表特征个数,O%为
一个特征对一条工控系统通信数据的贡献百分比参数,O%为一个可训练的参数,其决定权
重W如何分布,O%初始值通过初始化设定,在训练过程中通过反向传播算法进行更新, T
为对隐含表示进行转置;
根据权重ri,计算最终数据的表达向量h:
根据表达向量h利用Softmax函数得到预测类别为y,计算公式如下:
其中,W为权重,b为偏置,W和b通过初始化生成,预测类别y为输出层的输出。
其中,在将每种所述特定异常类型的特征数据输入A-LSTM模型之前,包括:
获取用于训练的特定异常类型的特征数据;
将所述用于训练特定异常类型的特征数据输入初始A-LSTM模型,通过梯度下降法训练模型,再通过计算损失函数的梯度逐步更新模型的参数,最终到达收敛,获得收敛的A-LSTM模型。
其中,所述特定异常类型包括模仿正常流量攻击类型、欺骗攻击类型和流量攻击类型;其中,模仿正常流量攻击类型的特征数据为IP、端口、MAC、PDU类型、S7类型、功能码、协议类型、请求数据个数、请求位置、数据长度和错误类型,欺骗攻击类型的特征数据为IP、MAC、端口和发送时间,流量攻击类型的特征数据为协议类型和发送时间。
其中,所述A-LSTM模型将数组[batch_size,time_step,input_size]作为输入;其中,batch_size表示批处理的数据量,time_step表示数据和前面多少条数据存在关联,input_size表示输入样本的特征个数;在A-LSTM模型训练过程中,使用Dropout用于防止模型的过拟合,通过Softmax函数实现多分类,并且引入非线性激活函数Relu降低模型训练过程中的复杂度,所述A-LSTM模型在LSTM模型的基础上设置注意力机制层。
一种基于深度学习的工控系统异常检测装置,所述装置包括:
特征数据获取模块,用于获取工控系统通信数据,并提取多种特定异常类型的特征数据;
特征数据输入模块,用于将每种所述特定异常类型的特征数据输入A-LSTM模型;所述A-LSTM模型在LSTM模型的基础上设置注意力机制层,所述注意力机制层用于计算每个时序的权重,再将所有时序的向量进行加权和作为特征向量输入输出层;
输出模块,用于所述A-LSTM模型的输出层输出每个所述特定异常类型的特征数据对应的异常类别。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取工控系统通信数据,并提取多种特定异常类型的特征数据;
将每种所述特定异常类型的特征数据输入A-LSTM模型;所述A-LSTM模型在LSTM模型的基础上设置注意力机制层,所述注意力机制层用于计算每个时序的权重,再将所有时序的向量进行加权和作为特征向量输入输出层;
所述A-LSTM模型的输出层输出每个所述特定异常类型的特征数据对应的异常类别。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取工控系统通信数据,并提取多种特定异常类型的特征数据;
将每种所述特定异常类型的特征数据输入A-LSTM模型;所述A-LSTM模型在LSTM模型的基础上设置注意力机制层,所述注意力机制层用于计算每个时序的权重,再将所有时序的向量进行加权和作为特征向量输入输出层;
所述A-LSTM模型的输出层输出每个所述特定异常类型的特征数据对应的异常类别。
上述基于深度学习的工控系统异常检测方法、装置、计算机设备和存储介质,通过加入注意力机制的A-LSTM模型对工控系统通信数据进行异常类别判断,能够同时实现多种类型的异常判断,并且通过注意力机制给予每个特征不同的重要顺序,能够对各种不同攻击实现精准识别,在多分类问题上表现出优异的性能。
附图说明
图1为一个实施例中基于深度学习的工控系统异常检测方法的流程示意图;
图2为一个实施例中A-LSTM模型结构示意图;
图3为一个实施例中基于深度学习的工控系统异常检测装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种基于深度学习的工控系统异常检测方法,包括以下步骤:
S110,获取工控系统通信数据,并提取多种特定异常类型的特征数据。
其中,工控设备通过工控系统控制运行,工控系统通过通信网络向工控设备发送控制数据,工控系统通信数据为工控系统与工控设备的通信数据。特定异常类型包括模仿正常流量攻击类型、欺骗攻击类型、流量攻击类型;其中,欺骗攻击类型通过伪造IP和MAC等信息欺骗局域网内其他主机,达到获取局域网内的数据包甚至篡改数据包攻击的目的;流量攻击类型分为两种类型,一种是发送大量数据压垮网络设备和服务器,另一种是有意制造大量无法完成的不完全请求来快速耗尽服务器资源,两种的目的都是为了让服务器无法为正常请求提供服务;模仿正常流量攻击类型通过模拟正常上位机和PLC之间的交互行为,达到对PLC进行操作的目的。当前,特定异常类型不限于此三种类型,还可为其它的攻击类型,根据不同攻击类型的需要获取不同的特征数据。
S120,将每种所述特定异常类型的特征数据输入A-LSTM模型;所述A-LSTM模型在LSTM模型的基础上设置注意力机制层,所述注意力机制层用于计算每个时序的权重,再将所有时序的向量进行加权和作为特征向量输入输出层。
其中,A-LSTM模型根据已有的LSTM(Long Short-Term Memory,长短期记忆网络)
模型增加注意力机制形成,深度学习中的注意力机制,其实是借鉴了人类的注意力机制,注
意力机制是人类的一种本能,是一种不可或缺的认知能力,比如人眼在关注一些信息的时
候会自动忽略一些信息,重点关注他们认为重要的信息,例如,当看到一句话的时候,通常
不是关注整个句子,不是把每个词语都仔细品读,而是会抓住关键的词;注意力机制它会让
有限的资源发挥更重要的作用,同时会决定需要重点关注的是哪部分内容。其中,如图2所
示,LSTM是指数据经过LSTM模型,表示LSTM模型对应隐藏层的输出,对于一条数据来说,
其最终的结果由各个特征共同决定,但是每个特征对最终结果发挥的作用是不同的,因此
使用注意力机制层的注意力机制计算每个特征发挥的重要程度。其中,所有时序的向量进
行加权即为作为特征向量的最终表示。
S130,所述A-LSTM模型的输出层输出每个所述特定异常类型的特征数据对应的异常类别。
其中,异常类别包括正常流量攻击、欺骗攻击、流量攻击和正常流量,正常流量表示系统未遭受攻击。当然,异常类别还包括其它类别,根据需要进行设定。
上述基于深度学习的工控系统异常检测方法中,通过加入注意力机制的A-LSTM模型对工控系统通信数据进行异常类别判断,能够同时实现多种类型的异常判断,并且通过注意力机制给予每个特征不同的重要顺序,能够对各种不同攻击实现精准识别,在多分类问题上表现出优异的性能。
在其中一个实施例中,所述工控系统通信数据为S7COMM协议的数据。所述获取工控系统通信数据,并提取多种特定异常类型的特征数据,包括:对所述S7COMM协议的数据进行json字段解析,获得多种特定异常类型的特征数据;所述特定异常类型的特征数据包括PDU类型、S7类型、功能码、请求数据个数、请求位置、数据长度和错误类型。其中,从json字段解析获得的特征数据,转化为向量形式作为A-LSTM模型的输入。获取工控系统通信数据的方式为:从上位机和PLC的通信中抓取数据包,使用解析程序对抓取的数据包进行解析,提取所需要的特征字段。
在其中一个实施例中,对所述S7COMM协议的数据进行json字段解析,获得多种特定异常类型的特征数据包括:对所述S7COMM协议的数据进行清洗;其包括:对缺失值进行处理、对异常值进行删除和进行特征转换中至少一种,所述特征转换包括将类别特征转化为数值型和对日期型变量进行转换;将清洗后的所述S7COMM协议的数据进行json字段深度解析,并根据不同异常类型的特点,构造不同特定异常类型的特征数据。
例如,模仿正常流量攻击提取的字段为IP、端口、MAC、PDU类型、S7类型、功能码、协
议类型、请求数据个数、请求位置、数据长度、错误类型等;欺骗攻击提取的字段为IP、MAC、
端口、发送时间等;流量攻击提取的字段为协议类型、发送时间。提取的特征数据通过数字
表示,例如,用xi代表第i条数据,,其中m表示提取的特征个数,表示第i条数据的第j个特征。
在其中一个实施例中,所述将每种所述特定异常类型的特征数据输入A-LSTM模型,包括:
将每种所述特定异常类型的特征数据输入A-LSTM模型,获得每个特征的隐含表示hiti:
其中,tanh为激活函数,W代表权重,权重随机初始化生成,b代表偏置,偏置随机生成,表示LSTM模型对应隐藏层的输出(如图2所示),i代表第i个特征,在神经网络的设置中,
这些权重通常是很小的数,使用适当的随机分布(如高斯分布)随机初始化,初始化在训练
之前完成一次。
通过Softmax函数对所述隐含表示进行归一化处理,获得权重ri,公式为:
其中,Softmax函数将数据映射到0-1的范围内,所有ri之和为1,t代表特征个数,O%为
一个特征对一条工控系统通信数据的贡献百分比参数,O%为一个可训练的参数,其决定权
重W如何分布,O%初始值通过初始化设定,在训练过程中通过反向传播算法进行更新, T
为对隐含表示进行转置。隐含表示在此进行转置,是因为最终输入到注意力机制层的数
据shape仍为(time_step, input_size)格式,对于注意力机制层里的Dense层而言,
(input_size,time_step)才是符合的,因此,要进行维度变换。权重和偏置等参数在第一次
对模型训练之前通过初始化设置,之后通过反向传播算法,反向计算每个神经元的误差,根
据误差更新参数。
根据权重ri,计算最终数据的表达向量h:
根据表达向量h利用Softmax函数得到预测类别为y,计算公式如下:
其中,W为权重,b为偏置,W和b通过初始化生成,预测类别y为输出层的输出。
其中,在对A-LSTM模型的训练过程中,采用梯度下降法训练模型,通过计算损失函数的梯度逐步更新模型的参数,最终到达收敛。
在其中一个实施例中,在将每种所述特定异常类型的特征数据输入A-LSTM模型之前,包括:获取用于训练的特定异常类型的特征数据;将所述用于训练特定异常类型的特征数据输入初始A-LSTM模型,通过梯度下降法训练模型,再通过计算损失函数的梯度逐步更新模型的参数,最终到达收敛,获得收敛的A-LSTM模型。
本实施例中,A-LSTM模型首先考虑到网络发送的数据包在时间上具有一定的关联,而LSTM模型(长短期记忆网络模型)拥有特殊的门结构可以让模型将一段时间内的信息关联在一起,综合作用;其次,特征具有不同的重要程度,使用注意力机制将特征的重要程度区分开来。
在其中一个实施例中,所述特定异常类型包括模仿正常流量攻击类型、欺骗攻击类型和流量攻击类型;其中,模仿正常流量攻击类型的特征数据为IP、端口、MAC、PDU类型、S7类型、功能码、协议类型、请求数据个数、请求位置、数据长度和错误类型,欺骗攻击类型的特征数据为IP、MAC、端口和发送时间,流量攻击类型的特征数据为协议类型和发送时间。
在其中一个实施例中,所述A-LSTM模型将数组[batch_size,time_step,input_size]作为输入;其中,batch_size表示批处理的数据量,time_step表示数据和前面多少条数据存在关联,input_size表示输入样本的特征个数;在A-LSTM模型训练过程中,使用Dropout用于防止模型的过拟合,通过Softmax函数实现多分类,并且引入非线性激活函数Relu降低模型训练过程中的复杂度,所述A-LSTM模型在LSTM模型的基础上设置注意力机制层。
例如,取batch_size为100,time_step为10,input_size为15,即采用[100,10,15]作为模型输入,参数epoch代表一个Epoch就是将所有训练样本训练一次的过程,这里将数值设置为20,输出类别设置为4,learning_rate为学习率,为了控制模型的学习进度,设置为0.01,通过设置上述参数,能够获得一个较佳的A-LSTM模型。
例如,如图2所示,将构造的特征转化为矩阵作为LSTM模型的输入,从LSTM的隐藏
层输出oi(图2中示出o1、o2、o3),在LSTM的隐藏层和输出层中间位置,注意力机制层事先计
算每个时序的权重,然后将所有时序的向量进行加权和作为特征向量,操作为,
就是将得到的权重和隐藏层输出的向量进行点积并相加,最后进行Softmax分类,得到工控
系统通信数据最终的类别。
在其中一个实施例中,在A-LSTM模型训练过程中,获取用于训练的特定异常类型的特征数据,数据集按照7:3的比例划分为训练集和测试集,训练集用来训练模型,测试集用来评估模型结果,根据结果对模型反向调整。使用Pytorch搭建A-LSTM模型,并进行模型的初始化,把训练集转换为输入矩阵的形式,进行模型的训练。使用测试集对模型进行测试,并根据模型的评估指标判断当前模型的效果,调节模型参数,选择最优参数组合作为最优模型的参数,对模型进行固化。获取实时工控系统通信数据,对数据进行处理,加载固化模型对处理过的数据进行测试,输出为正常流量,则数据无异常,输出为指定攻击类型,则数据发生异常,发出告警,从而实现对流量的实时监测。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种基于深度学习的工控系统异常检测装置,包括:特征数据获取模块210、特征数据输入模块220和输出模块230,其中:
特征数据获取模块210,用于获取工控系统通信数据,并提取多种特定异常类型的特征数据。
特征数据输入模块220,用于将每种所述特定异常类型的特征数据输入A-LSTM模型;所述A-LSTM模型在LSTM模型的基础上设置注意力机制层,所述注意力机制层用于计算每个时序的权重,再将所有时序的向量进行加权和作为特征向量输入输出层。
输出模块230,用于所述A-LSTM模型的输出层输出每个所述特定异常类型的特征数据对应的异常类别。
在其中一个实施例中,所述工控系统通信数据为S7COMM协议的数据;特征数据获取模块210,还用于所述S7COMM协议的数据进行json字段解析,获得多种特定异常类型的特征数据;所述特定异常类型的特征数据包括PDU类型、S7类型、功能码、请求数据个数、请求位置、数据长度和错误类型。
在其中一个实施例中,所述特征数据获取模块210包括:数据清洗单元,用于对所述S7COMM协议的数据进行清洗;其包括:对缺失值进行处理、对异常值进行删除和进行特征转换中至少一种;所述特征转换包括将类别特征转化为数值型和对日期型变量进行转换;特征数据构造单元,用于将清洗后的所述S7COMM协议的数据进行json字段深度解析,并根据不同异常类型的特点,构造不同特定异常类型的特征数据。
在其中一个实施例中,所述特征数据输入模块220,包括:
隐含表示获取单元,用于将每种所述特定异常类型的特征数据输入A-LSTM模型,获得每个特征的隐含表示hiti;
归一化处理单元,用于通过Softmax函数对所述隐含表示进行归一化处理,获得权重ri,公式为:
其中,Softmax函数将数据映射到0-1的范围内,所有ri之和为1,t代表特征个数,O%为
一个特征对一条工控系统通信数据的贡献百分比参数,O%为一个可训练的参数,其决定权
重W如何分布,O%初始值通过初始化设定,在训练过程中通过反向传播算法进行更新, T
为对隐含表示进行转置;
表达向量计算单元,用于根据权重ri,计算最终数据的表达向量h:
预测类别输出单元,用于根据表达向量h利用Softmax函数得到预测类别为y,计算公式如下:
其中,W为权重,b为偏置,W和b通过初始化生成,预测类别y为输出层的输出。
在其中一个实施例中,所述基于深度学习的工控系统异常检测装置包括:训练数据获取模块,用于获取用于训练的特定异常类型的特征数据;训练模块,用于将所述用于训练特定异常类型的特征数据输入初始A-LSTM模型,通过梯度下降法训练模型,再通过计算损失函数的梯度逐步更新模型的参数,最终到达收敛,获得收敛的A-LSTM模型。
在其中一个实施例中,所述特定异常类型包括模仿正常流量攻击类型、欺骗攻击类型和流量攻击类型;其中,模仿正常流量攻击类型的特征数据为IP、端口、MAC、PDU类型、S7类型、功能码、协议类型、请求数据个数、请求位置、数据长度和错误类型,欺骗攻击类型的特征数据为IP、MAC、端口和发送时间,流量攻击类型的特征数据为协议类型和发送时间。
在其中一个实施例中,所述A-LSTM模型将数组[batch_size,time_step,input_size]作为输入;其中,batch_size表示批处理的数据量,time_step表示数据和前面多少条数据存在关联,input_size表示输入样本的特征个数;在A-LSTM模型训练过程中,使用Dropout用于防止模型的过拟合,通过Softmax函数实现多分类,并且引入非线性激活函数Relu降低模型训练过程中的复杂度,所述A-LSTM模型在LSTM模型的基础上设置注意力机制层。
关于基于深度学习的工控系统异常检测装置的具体限定可以参见上文中对于基于深度学习的工控系统异常检测方法的限定,在此不再赘述。上述基于深度学习的工控系统异常检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储工控系统通信数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于深度学习的工控系统异常检测方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于深度学习的工控系统异常检测方法,其特征在于,所述方法包括:
获取工控系统通信数据,并提取多种特定异常类型的特征数据;
将每种所述特定异常类型的特征数据输入A-LSTM模型;所述A-LSTM模型在LSTM模型的基础上设置注意力机制层,所述注意力机制层用于计算每个时序的权重,再将所有时序的向量进行加权和作为特征向量输入输出层;
所述A-LSTM模型的输出层输出每个所述特定异常类型的特征数据对应的异常类别。
2.根据权利要求1所述的方法,其特征在于,所述工控系统通信数据为S7COMM协议的数据;
所述获取工控系统通信数据,并提取多种特定异常类型的特征数据,包括:
对所述S7COMM协议的数据进行json字段解析,获得多种特定异常类型的特征数据;所述特定异常类型的特征数据包括PDU类型、S7类型、功能码、请求数据个数、请求位置、数据长度和错误类型。
3.根据权利要求2所述的方法,其特征在于,对所述S7COMM协议的数据进行json字段解析,获得多种特定异常类型的特征数据包括:
对所述S7COMM协议的数据进行清洗;其包括:对缺失值进行处理、对异常值进行删除和进行特征转换中至少一种;所述特征转换包括将类别特征转化为数值型和对日期型变量进行转换;
将清洗后的所述S7COMM协议的数据进行json字段深度解析,并根据不同异常类型的特点,构造不同特定异常类型的特征数据。
4.根据权利要求1所述的方法,其特征在于,所述将每种所述特定异常类型的特征数据输入A-LSTM模型,包括:
将每种所述特定异常类型的特征数据输入A-LSTM模型,获得每个特征的隐含表示hiti;
通过Softmax函数对所述隐含表示进行归一化处理,获得权重ri,公式为:
其中,Softmax函数将数据映射到0-1的范围内,所有ri之和为1,t代表特征个数,O%为一个特征对一条工控系统通信数据的贡献百分比参数,O%为一个可训练的参数,其决定权重W如何分布,O%初始值通过初始化设定,在训练过程中通过反向传播算法进行更新,为对隐含表示进行转置;
根据权重ri,计算最终数据的表达向量h:
根据表达向量h利用Softmax函数得到预测类别为y,计算公式如下:
其中,W为权重,b为偏置,W和b通过初始化生成,预测类别y为输出层的输出。
5.根据权利要求1所述的方法,其特征在于,在将每种所述特定异常类型的特征数据输入A-LSTM模型之前,包括:
获取用于训练的特定异常类型的特征数据;
将所述用于训练特定异常类型的特征数据输入初始A-LSTM模型,通过梯度下降法训练模型,再通过计算损失函数的梯度逐步更新模型的参数,最终到达收敛,获得收敛的A-LSTM模型。
6.根据权利要求1所述的方法,其特征在于,所述特定异常类型包括模仿正常流量攻击类型、欺骗攻击类型和流量攻击类型;
其中,模仿正常流量攻击类型的特征数据为IP、端口、MAC、PDU类型、S7类型、功能码、协议类型、请求数据个数、请求位置、数据长度和错误类型,欺骗攻击类型的特征数据为IP、MAC、端口和发送时间,流量攻击类型的特征数据为协议类型和发送时间。
7.根据权利要求1所述的方法,其特征在于,所述A-LSTM模型将数组[batch_size,time_step,input_size]作为输入;其中,batch_size表示批处理的数据量,time_step表示数据和前面多少条数据存在关联,input_size表示输入样本的特征个数;
在A-LSTM模型训练过程中,使用Dropout用于防止模型的过拟合,通过Softmax函数实现多分类,并且引入非线性激活函数Relu降低模型训练过程中的复杂度,所述A-LSTM模型在LSTM模型的基础上设置注意力机制层。
8.一种基于深度学习的工控系统异常检测装置,其特征在于,所述装置包括:
特征数据获取模块,用于获取工控系统通信数据,并提取多种特定异常类型的特征数据;
特征数据输入模块,用于将每种所述特定异常类型的特征数据输入A-LSTM模型;所述A-LSTM模型在LSTM模型的基础上设置注意力机制层,所述注意力机制层用于计算每个时序的权重,再将所有时序的向量进行加权和作为特征向量输入输出层;
输出模块,用于所述A-LSTM模型的输出层输出每个所述特定异常类型的特征数据对应的异常类别。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110086545.9A CN112418361A (zh) | 2021-01-22 | 2021-01-22 | 一种基于深度学习的工控系统异常检测方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110086545.9A CN112418361A (zh) | 2021-01-22 | 2021-01-22 | 一种基于深度学习的工控系统异常检测方法、装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112418361A true CN112418361A (zh) | 2021-02-26 |
Family
ID=74783151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110086545.9A Pending CN112418361A (zh) | 2021-01-22 | 2021-01-22 | 一种基于深度学习的工控系统异常检测方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112418361A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094860A (zh) * | 2021-04-29 | 2021-07-09 | 北京邮电大学 | 一种基于注意力机制的工控网络流量建模方法 |
CN113409092A (zh) * | 2021-07-12 | 2021-09-17 | 上海明略人工智能(集团)有限公司 | 一种异常特征信息提取方法、系统、电子设备及介质 |
CN114401135A (zh) * | 2022-01-14 | 2022-04-26 | 国网河北省电力有限公司电力科学研究院 | 基于LSTM-Attention用户和实体行为分析技术的内部威胁检测方法 |
CN114844802A (zh) * | 2022-07-04 | 2022-08-02 | 北京六方云信息技术有限公司 | 流量检测方法、装置、终端设备以及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341462A (zh) * | 2017-06-28 | 2017-11-10 | 电子科技大学 | 一种基于注意力机制的视频分类方法 |
CN107465667A (zh) * | 2017-07-17 | 2017-12-12 | 全球能源互联网研究院有限公司 | 基于规约深度解析的电网工控安全协同监测方法及装置 |
CN108717439A (zh) * | 2018-05-16 | 2018-10-30 | 哈尔滨理工大学 | 一种基于注意力机制和特征强化融合的中文文本分类方法 |
CN109753049A (zh) * | 2018-12-21 | 2019-05-14 | 国网江苏省电力有限公司南京供电分公司 | 一种源网荷互动工控系统的异常指令检测方法 |
CN111046664A (zh) * | 2019-11-26 | 2020-04-21 | 哈尔滨工业大学(深圳) | 基于多粒度的图卷积神经网络的假新闻检测方法及系统 |
CN111245848A (zh) * | 2020-01-15 | 2020-06-05 | 太原理工大学 | 一种分层依赖关系建模的工控入侵检测方法 |
CN112202736A (zh) * | 2020-09-15 | 2021-01-08 | 浙江大学 | 基于统计学习和深度学习的工业控制系统通信网络异常分类方法 |
-
2021
- 2021-01-22 CN CN202110086545.9A patent/CN112418361A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341462A (zh) * | 2017-06-28 | 2017-11-10 | 电子科技大学 | 一种基于注意力机制的视频分类方法 |
CN107465667A (zh) * | 2017-07-17 | 2017-12-12 | 全球能源互联网研究院有限公司 | 基于规约深度解析的电网工控安全协同监测方法及装置 |
CN108717439A (zh) * | 2018-05-16 | 2018-10-30 | 哈尔滨理工大学 | 一种基于注意力机制和特征强化融合的中文文本分类方法 |
CN109753049A (zh) * | 2018-12-21 | 2019-05-14 | 国网江苏省电力有限公司南京供电分公司 | 一种源网荷互动工控系统的异常指令检测方法 |
CN111046664A (zh) * | 2019-11-26 | 2020-04-21 | 哈尔滨工业大学(深圳) | 基于多粒度的图卷积神经网络的假新闻检测方法及系统 |
CN111245848A (zh) * | 2020-01-15 | 2020-06-05 | 太原理工大学 | 一种分层依赖关系建模的工控入侵检测方法 |
CN112202736A (zh) * | 2020-09-15 | 2021-01-08 | 浙江大学 | 基于统计学习和深度学习的工业控制系统通信网络异常分类方法 |
Non-Patent Citations (1)
Title |
---|
FEI TAO等: "ADVANCED LSTM: A STUDY ABOUT BETTER TIME DEPENDENCY MODELING IN EMOTION RECOGNITION", 《ICASSP2018》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094860A (zh) * | 2021-04-29 | 2021-07-09 | 北京邮电大学 | 一种基于注意力机制的工控网络流量建模方法 |
CN113094860B (zh) * | 2021-04-29 | 2023-09-01 | 北京邮电大学 | 一种基于注意力机制的工控网络流量建模方法 |
CN113409092A (zh) * | 2021-07-12 | 2021-09-17 | 上海明略人工智能(集团)有限公司 | 一种异常特征信息提取方法、系统、电子设备及介质 |
CN113409092B (zh) * | 2021-07-12 | 2024-03-26 | 上海明略人工智能(集团)有限公司 | 一种异常特征信息提取方法、系统、电子设备及介质 |
CN114401135A (zh) * | 2022-01-14 | 2022-04-26 | 国网河北省电力有限公司电力科学研究院 | 基于LSTM-Attention用户和实体行为分析技术的内部威胁检测方法 |
CN114844802A (zh) * | 2022-07-04 | 2022-08-02 | 北京六方云信息技术有限公司 | 流量检测方法、装置、终端设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112418361A (zh) | 一种基于深度学习的工控系统异常检测方法、装置 | |
CN112165485B (zh) | 一种大规模网络安全态势智能预测方法 | |
CN110912867A (zh) | 工业控制系统的入侵检测方法、装置、设备和存储介质 | |
CN112182564A (zh) | 一种基于时间序列预测的工控蜜罐交互系统 | |
CN113660196A (zh) | 一种基于深度学习的网络流量入侵检测方法及装置 | |
CN112187820B (zh) | 基于机器学习的配电终端dtu入侵检测方法和系统 | |
CN116647411A (zh) | 游戏平台网络安全的监测预警方法 | |
CN110837872A (zh) | 一种工控网络入侵检测方法及系统 | |
CN110868414A (zh) | 一种基于多投票技术的工控网络入侵检测方法及系统 | |
CN114374541A (zh) | 一种基于强化学习的异常网络流量检测器生成方法 | |
Kalaivani et al. | A Hybrid Deep Learning Intrusion Detection Model for Fog Computing Environment. | |
Shao et al. | Deep learning hierarchical representation from heterogeneous flow-level communication data | |
Praveen et al. | Combining CNNs and Bi-LSTMs for Enhanced Network Intrusion Detection: A Deep Learning Approach | |
Xia et al. | Intrusion detection system based on principal component analysis and grey neural networks | |
CN111784404B (zh) | 一种基于行为变量预测的异常资产识别方法 | |
CN111026087B (zh) | 基于数据的含权重非线性工业系统故障检测方法及装置 | |
CN110365625A (zh) | 物联网安全检测方法、装置及存储介质 | |
Akpinar et al. | Anomaly detection on ethercat based water level control automation | |
CN115630298A (zh) | 基于自注意力机制的网络流量异常检测方法及系统 | |
El Farissi et al. | The analysis performance of an intrusion detection systems based on neural network | |
CN112565200B (zh) | 基于边缘智能的工控网络误用入侵检测预警系统 | |
CN112822191A (zh) | 一种网络化协同系统中多维数据安全性检测的方法 | |
Belej et al. | Development of a network attack detection system based on hybrid neuro-fuzzy algorithms. | |
CN114915502B (zh) | 资产异常行为检测方法、装置、终端设备以及存储介质 | |
CN115277071B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210226 |