CN114979017B - 基于工控系统原始流量的深度学习协议识别方法及系统 - Google Patents
基于工控系统原始流量的深度学习协议识别方法及系统 Download PDFInfo
- Publication number
- CN114979017B CN114979017B CN202210554976.8A CN202210554976A CN114979017B CN 114979017 B CN114979017 B CN 114979017B CN 202210554976 A CN202210554976 A CN 202210554976A CN 114979017 B CN114979017 B CN 114979017B
- Authority
- CN
- China
- Prior art keywords
- data
- protocol
- industrial control
- flow
- original
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000013135 deep learning Methods 0.000 title claims abstract description 22
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 21
- 230000007246 mechanism Effects 0.000 claims abstract description 17
- 238000000605 extraction Methods 0.000 claims abstract description 16
- 239000000284 extract Substances 0.000 claims abstract description 6
- 230000007787 long-term memory Effects 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 23
- 238000007781 pre-processing Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 15
- 238000011176 pooling Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000004140 cleaning Methods 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 claims description 9
- 230000015654 memory Effects 0.000 claims description 8
- 238000012549 training Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 230000006854 communication Effects 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 4
- 238000002372 labelling Methods 0.000 claims description 4
- 230000006403 short-term memory Effects 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 3
- 210000004027 cell Anatomy 0.000 description 22
- 239000013598 vector Substances 0.000 description 11
- 230000006399 behavior Effects 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- 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
-
- 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/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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开工控系统原始流量的深度学习协议识别方法及系统。本发明针对工控协议原始流量协议结构字段未知的情况,对工控协议流量的分类识别问题,首先对工控协议原始流量业务场景和数据结构进行分析,针对工控协议流量的时序、空间相关性特性提出了深度学习识别模型。基于注意力机制的一维卷积神经网络对单条协议流量的空间结构进行特征提取,长短期记忆网络则提取多条协议流量数据之间的时序特征。最后输出工控协议分类结果。本发明能够准确地识别工控系统的原始流量协议类别。
Description
技术领域
本发明属于协议识别技术领域,涉及工控系统原始流量的深度学习协议识别方法及系统。
背景技术
针对工控系统中的存在的安全问题,目前的研究主要集中在协议流量中存在的安全问题。能否杜绝、防御恶意的流量攻击;能否保证工控系统的可用性、完整性和安全性,这是目前工控系统科研人员所要面对的问题。而解决协议流量安全问题的重要前提就是识别工控系统中不同流量的协议类型,即何种工控协议。工控协议识别是指基于不同的技术对一段时间内通过同一观测点的流量数据报文集合,即工控网络流量,进行分析,然后将这些流量同具体的协议进行对应。只有在工控协议流量识别的基础上,才能实现工控网络攻击的检测,更有效地抵御外界攻击。
当前网络协议流量识别方法主要有基于端口、载荷、行为特征和机器学习的方法。基于端口和载荷的识别技术是识别特定的字段信息;基于行为特征的协议识别技术使用统计学习对流量数据行为进行学习实现识别。但由于工控协议的私有性导致协议端口号和载荷未知,且难以设计数据的行为特征,所以此类方法的应用效果较差。
发明内容
本发明的目的在于针对现有技术的不足,提供一种工控系统原始流量的深度学习协议识别方法,该方法充分利用工控网络协议流量的时空特性,优化深度学习模型的特征提取能力,有效的提高了原始流量协议识别的准确率。
为了实现上述目的,本发明采用下述技术方案实现:
第一方面,本发明提供了一种工控系统原始流量的深度学习协议识别方法,其中包括:
步骤S1:获取工控协议类型未知的工控协议原始流量数据;
步骤S2:对工控协议原始流量数据进行预处理,得到预处理后的工控协议流量数据;
步骤S3:利用协议识别模型对预处理后的工控协议流量数据提取数据中的结构特征和数据间的时序特征,进而识别出工控协议流量数据所对应的工控协议类别。
进一步的,步骤S2具体是:
对工控协议原始流量数据依次进行原始流量数据形式选择、数据长度切分、数据清洗、数据转换标注。
进一步的,所述的原始流量数据形式选择具体是:
依照流量粒度,将捕获的所有流量数据划分为单数据包形式,得到原始流量的一维数据表示形式。所述单数据包包括五元组、包的长度、持续时间、载荷。
进一步的,所述的数据长度切分具体是:
对原始流量数据形式选择处理后的单数据包切分得到前面字节长度为L(本发明优选为90字节)的数据片段,该数据片段包括TCP头部、工控协议头部以及工控协议载荷的部分或全部数据,即为待识别协议流量数据片段;其中若数据包内数据长度超过字节长度L则进行截断处理,若少于字节长度L则用“0”填充。
进一步的,所述数据清洗具体是:
根据协议通信过程,删除当前待识别协议流量数据的TCP建立过程中TCP连接建立包、确认建立包、连接确认包,以及大量的重复包和坏包。同时,对数据长度切分后的数据片段中TCP头部的MAC和IP地址进行随机化处理。
进一步的,所述的数据转换标注具体是:
将数据清洗后的流量数据中十六进制字符型数据逐位转换为数值型,然后利用One-Hot方式进行标注。
所述的协议识别模型包括空间特征学习、注意力学习阶段和时序特征学习阶段;
所述空间特征学习、注意力学习阶段采用基于注意力机制的一维卷积神经网络AM-1DCNN,接收预处理后的待识别协议流量数据;每个基于注意力机制的一维卷积神经网络中利用一维卷积神经网络1DCNN通过卷积和池化操作提取数据的空间相关性特征,刻画原始协议流量数据的局部结构特征,不断更新卷积核参数,实现自动提取一维数据的结构特征。同时,引入注意力机制,对一维卷积神经网络1DCNN按照原始输入特征进行权重划分,有偏重地提取特征;具体是:
一维卷积神经网络1DCNN通过一维卷积实现原始输入X到特征图U的Transformation,然后对特征图U做全局平均池化操作,即squeeze过程,得的1×C特征图;输出的1×C特征图经过全连接,即excitation过程,将特征限制到[0,1];把限制到[0,1]的特征作为scale的参数乘特征图U的W通道获得特征X′。
AM-1DCNN通过控制scale的大小来决定特征的重要性权重,增强重要性高的特征,减弱重要性低的特征,让提取数据重要特征的指向性更加明确。
所述时序特征学习阶段采用长短期记忆网络,利用长短期记忆网络中不同的“门函数”对多个基于注意力机制的一维卷积神经网络输出的时序特征进行更新、提取,最后利用Softmax分类器输出预测的工控协议类别;即长短期记忆网络接收多个时序特征并计算输入门的值,用于控制当前流量数据输入对记忆单元值的影响,然后,进入遗忘状态信息。遗忘的第一步是判断从上一个单元传来的流量时序特征信息哪些需要从单元状态中遗忘,依赖输出层的Sogmoid函数决定,然后为单元状态中的每个特征输出一个(0,1)值,接着,更新当前Cell的状态信息,决定单元中哪些特征被存储下来。最后,输出新的信息Ot。通过上述多个LSTM神经元实现从多个输入的数据中提取其相关的时序特征关系;
进一步的,所述协议识别模型的训练包括向前传播和向后传播两个阶段,向前传播阶段将样本数据输入到协议识别模型中,依次利用各层提取协议数据的特征并由分类器输出预测的工控协议类别,向后传播阶段是将预测工控协议类别与真实工控协议类别进行比较,利用损失函数计算误差并向后传播,用来更新模型参数。
进一步地,向后传播阶段的损失函数选择交叉熵函数。
第二方面,本发明提供一种工控系统原始流量的深度学习协议识别系统,包括:
数据收集单元,用于获取网络流量数据,组成协议类型未知的数据包;
预处理单元,用于对所述数据包进行预处理,转换为深度学习模型输入向量;
判断模块,用于将所述原始流量输入预先构建训练好的协议识别模型中,提取数据的时空特征,通过模型判断数据包对应的工控层协议类别。
本发明针对工控协议原始流量协议结构字段未知的情况,对工控协议流量的分类识别问题,首先对工控协议原始流量业务场景和数据结构进行分析,然后,针对工控协议流量的时序、空间相关性特性提出了深度学习识别模型。其中基于注意力机制的一维卷积神经网络对单条协议流量的空间结构进行特征提取,长短期记忆网络则提取多条协议流量数据之间的时序特征。最后输出工控协议分类结果。本发明能够准确地识别工控系统的原始流量协议类别。
附图说明
图1为本发明协议识别的工作流程图;
图2为基于注意力机制的一维卷积神经网络结构图;
图3为LSTM的结构图。
图4为本发明的协议识别系统架构图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例1
本实施例介绍基于工控系统原始流量的深度学习协议识别方法,包括:
获取工控协议原始流量数据,并根据制定的标准收集网络流量数据,组成协议类型未知的原始数据;
对收集的原始数据进行预处理,转换为深度学习模型输入向量;
将预处理后的向量数据输入预先构建训练好的协议识别模型中,提取原始流量数据中的结构特征和数据间的时序特征,通过模型识别原始流量所对应的工控协议类别。
本实施例提供的基于工控系统原始流量的深度学习协议识别方法,其应用过程具体涉及如下步骤:
(1)原始流量数据预处理:由于原始流量中会有无效数据、错误数据和噪音数据,直接使用原始流量进行特征提取和模型训练,将会导致模型对协议识别准确率降低。此外,流量数据中并非所有部分都对协议识别具有帮助,因此通过数据形式选择、数据长度切分、数据清洗和转换、数据标注四个步骤保证在数据处理过程中不丢失原始流量的数据特征同时去除无用字段的影响。
(2)协议识别模型构建:协议识别模型用于获取数据包中的协议特征,进而为后续的协议识别服务,原始流量协议识别模型包括空间特征学习、注意力学习和时序特征学习阶段,首先利用一维卷积神经网络和长短期记忆神经网络进行特征提取。一维卷积神经网络通过卷积和池化操作刻画原始协议流量数据的局部结构特征,同时,引入注意力机制,对卷积网络按照原始输入特征进行权重划分,有偏重地提取特征,。然后利用长短期记忆网络中不同的“门函数”对多条流量数据包的时序特征进行更新、提取。最后利用分类器输出预测的工控协议类别。
(3)协议在线识别:将协议类型未知的数据包输入到训练好的协议识别模型,利用模型提取原始流量数据包的时空特征,判断流量对应的工控协议类别。
参考图1所示的整体实现流程,本实施例的基于工控系统原始流量的深度学习协议识别方法主要包括原始流量数据预处理、协议识别模型构建和协议在线识别等3个部分,具体的实施方式以下分别说明。
(1)原始流量数据预处理
数据预处理是进行应用层协议识别的基础,为了保证在数据处理过程中不丢失原始流量的数据特征同时去除无用字段的影响,我们将原始流量的数据预处理分为数据形式选择、数据长度切分、数据清洗、数据转换标注四个子步骤
数据形式划分数据预处理的第一个步骤。为了提取工控协议流量的周期性特点,即单条流量数据包之间存在的时序关系。本发明选用数据包形式的原因在于:基于流和回话的流量粒度形式,将多条流量数据汇聚为一个数据集合,其中的五元组、包的长度、持续时间和载荷均为集合数据,在特征提取时这种形式会增加集合之间的时序联系却忽略了集合内单数据包之间的时序特性,但数据集合之间的时序关系对识别协议流量的作用微小。同时,为了提取协议的结构特征,需要对协议流量数据进一步划分为数据包头部五元组、包的长度、数据包载荷等。然而使用基于流和会话的数据集合时只能简单地提取数据集合中的头部五元组、包的长度、数据包载荷集合,无法实现更细粒度的结构特征提取。因此本发明选用了基于原始流量数据包的数据形式。
数据长度切分是数据预处理的第二个步骤。在不同的工控业务场景中,不同的工控网络使用的通讯协议,传输介质等有所不同,导致捕获的流量数据包长度不一。不同的数据包长度造成神经网络无法统一输入。本发明先对部分已公开的工业控制系统协议进行了调研,发现工控协议的头部长度多集中于10-40字节,同时,为了进一步确定切分时的数据有效长度,本发明统计了收集协议流量数据包的长度分布,并设计了不同长度数据的对比实验确定数据切分长度。最终,本发明截取TCP头部、工控协议头部以及部分的工控协议载荷部分,总计为数据包的前90字节数据,作为训练的原始数据。对超过90字节长度的数据包截断处理,对少于90字节长度的数据包用“0”填充。
数据清洗是数据预处理的第三个步骤。工控设备在基于TCP/IP传输工控指令数据之前,需要建立TCP连接。在此过程中便会产生大量的TCP连接建立包、确认建立包、连接确认包,以及大量的重复包和坏包。因为这些数据包对特征提取和协议识别产生负面影响,造成识别结果准确率较低,因此进行删除。同样的,基于TCP/IP通信的数据包包含了TCPHeader和TCP Payload数据。而TCP Header数据包含了物理层和网络层信息。其中包含物理层中的MAC地址,网络层的IP地址信息。在数据捕获的环境中设备为固定的MAC和IP,并且不同协议设置不同,相比有着较明显的分类区别,对分类的影响较大,但其与真实的协议数据分类无关,所以将这类数据随机化,共16字节数据。即前8字节和第18到25字节数据。通过上述处理获取了包括随机化之后的90字节数据。
数据转换标注是数据预处理的第四个步骤。转换是将随机化后的90字节十六进制字符型数据逐位转换为数值型(如:2C—>212),得到180位的数值数据。本发明选取One-Hot方式处理离散数据,One-Hot标识方式可以将离散的数据样本映射到欧氏空间[50],使得数据特征间的计算更加合理,还能避免数字标签带来的偏差。识别分类更准确、方便。将标签通过One-Hot转换为0-1比特序列。
(2)协议识别模型构建
协议识别模型的构建是本发明的核心,需要通过构建起合理的协议识别模型,来获取协议数据的特征,进而用于后续的协议识别。
协议识别模型的输入是长180的一维向量,输出是长为n的一维向量,其中n代表所识别的工控协议种类的数量。协议识别模型的特征提取过程分为为空间特征学习、注意力学习和时间特征学习三个阶段。首先利用结合注意力机制的一维卷积神经网络学习原始流量数据的空间特征,其次利用长短期记忆网络学习原始流量数据的时间特征,最后通过Softmax分类器输出所预测的工控协议类别。
本发明实施例在构建协议识别模型时,还考虑了以下几方面因素:首先为了减少模型参数,加快模型训练速度,先利用卷积层和池化层对输入数据进行特征提取和降维,数据填充方式为valid,并根据数据预处理的结果,将输入数据格式设置为180×1的一维向量。其次为了防止模型过拟合,采用Dropout机制,激活函数采用ReLU。此外,为了加快模型收敛速度,池化层采用计算量较小的最大池化方式,优化函数采用指数衰减的学习率。
协议识别模型的空间特征学习和注意力学习:卷积神经网络借助卷积运算和池化操作的优势,通过梯度反向传播算法(Back Propagation),通过迭代训练来更新卷积核的值,从而减小训练预测值和真实值之间的误差,实现对工控原始协议流量数据更高层次和更抽象的表达。本发明所选取的原始流量数据为一维序列,而1DCNN能够更好的运用到一维序列数据中,模型通过1DCNN来提取数据的空间相关性特征,刻画原始流量数据包的局部特征,不断更新卷积核参数,实现自动提取一维数据的结构特征。结合AM可以使得1DCNN网络具备专注于其输入子集的能力,选择特定的输入数据子集特征,并为这些输入特征逐个初始化权重,然后不断地训练迭代更新特征权重,实现1DCNN在提取过程中有偏向的提取特征,从而提高1DCNN提取空间重要性特征的有效性。AM-1DCNN结构如图2所示。从图中看到从X到U的Transformation是进行了传统的一维卷积操作。在此基础上增加了U后面的操作实现注意力机制:首先对U做全局平均池化操作,即squeeze过程,输出的1×C数据在经过全连接,即excitation过程,然后将特征限制到[0,1]之间,把这个值作为scale的参数乘U的W通道获得X′。这样就可以通过控制scale的大小来决定特征的重要性权重,增强重要性高的特征,减弱重要性低的特征,让提取数据重要特征的指向性更加明确。
协议识别模型的时序特征学习
在具有极强的周期性,时序稳定性等时间特性的工业控制系统原始流量中,提取其时序间的联系固然同等重要。LSTM单元将前一单元的输出作为本单元的输入,通过将多个AM-1DCNN的输出输入到LSTM单元中。通过引入LSTM“门”函数挖掘时间序列中相对较长间隔和延迟等的时序变化规律。LSTM的Cell结构如图3所示。每个Cell在特征提取的过程中输入上一条流量状态的特征信息。首先,接收特征信息并计算输入门的值it,用于控制当前流量数据输入对记忆单元值的影响,“门”值的计算不仅由当前t时刻输入和t-1时刻的单元输出值决定,还会受到t-1时刻记忆单元值的影响;然后,进入遗忘状态信息。遗忘的第一步是判断从上一个单元传来的流量时序特征信息哪些需要从单元状态中遗忘,依赖输出层的sigmoid()函数决定,然后为单元状态中的每个特征输出一个(0,1)值,就是以当前层的输入和上一次的输出作为下一单元输入,在t-1时刻的单元状态输出ft;接着,更新当前Cell的状态信息,决定单元中哪些特征被存储下来。存储过程信息由两个部分共同决定,先使用tanh()创建一个包含待添加的新数据的特征信息的向量值,同时依靠输出层决定需要更新的值,然后结合这两部分的信息对单元状态进行更新。先更新旧单元状态,再为新单元状态输入新的信息;最后,输出新的信息Ot,输出信息是由sigmoid()函数来输出Cell状态的信息与tanh()处理Cell状态信息的乘积所决定。原始流量数据通过上述多个LSTM神经元实现从多个输入的数据中提取其相关的时序特征关系,更有效地提高整体的特征提取准确性。
在构建识别模型以后,需要对模型进行训练。本发明实施例的模型训练过程包括向前传播和向后传播两个阶段。向前传播阶段将样本数据输入到模型中,依次利用各层提取协议数据的特征并由分类器输出预测的应用层协议类别。分类器输出为一个一维向量,各分量的值表示输入数据属于对应协议类别的概率。例如,协议类别数n=4,分类器输出x=[0.1,0.6,0.2,0.1]T,表明输入数据属于第2种协议的概率为0.6,属于其他3种协议的概率分别为0.1,0.2,0.1。向后传播阶段是将预测协议类别与真实协议类别进行比较,利用损失函数计算误差并向后传播,用来更新模型参数。常用的损失函数为均方误差函数和交叉熵损失函数。本发明实施例采用Softmax作为输出层激活函数,考虑到与均方误差损失函数相比,采用交叉熵损失函数的模型更稳定、收敛速度更快,也更容易求导,因此选择交叉熵作为向后传播阶的段损失函数用于更新模型参数。
(3)在线协议识别
在完成模型的构建,并对模型进行训练之后,就可以利用模型进行工控协议在线识别。将协议类型未知的原始流量数据,通过数据预处理之后转化为一维向量,输入训练好的协议识别模型以后,由模型提取原始流量数据包的时空特征,最终判断数据包对应的工控协议类别。
综上所述,本发明的基于工控系统原始流量的深度学习协议识别方法,该方法首先对工控协议原始流量业务场景和数据结构进行分析,对原始流量进行了数据形式选择、数据长度切分、数据清洗转换以及数据标签化四个步骤的处理。经过处理后的数据能够更确切的表征原始数据。然后,针对工控协议流量的时序、空间相关性特性提出深度学习识别模型利用基于注意力机制的一维卷积神经网络对单条协议流量的空间结构进行特征提取,长短期记忆网络则提取多条协议流量数据之间的时序特征。本发明提出的协议识别模型能同时提取原始流量数据的空间和时间特征,本发明能够较准确的识别工控原始流量协议。
实施例2
本实施例提供一种基于工控系统原始流量的深度学习协议识别系统,如图4所示,包括:
获取单元,根据制定的标准收集网络流量数据,组成协议类型未知的原始数据;
预处理单元,用于对所述数据包进行预处理,转换为深度学习模型输入向量;
判断模块,用于将所述一维向量输入预先构建训练好的协议识别模型中,提取数据包的特征,通过模型判断数据包对应的工控协议类别。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (6)
1.一种基于工控系统原始流量的深度学习协议识别方法,其特征在于包括以下步骤:
步骤S1:获取工控协议类型未知的工控协议原始流量数据;
步骤S2:对工控协议原始流量数据进行预处理,得到预处理后的工控协议流量数据;具体是:
对工控协议原始流量数据依次进行原始流量数据形式选择、数据长度切分、数据清洗、数据转换标注;
所述的原始流量数据形式选择具体是:
依照流量粒度,将捕获的所有流量数据划分为单数据包形式,得到原始流量的一维数据表示形式;所述单数据包包括五元组、包的长度、持续时间、载荷;
所述的数据长度切分具体是:
对原始流量数据形式选择处理后的单数据包切分得到前面字节长度为L的数据片段,该数据片段包括TCP头部、工控协议头部以及工控协议载荷的部分或全部数据,即为待识别协议流量数据片段;
所述数据清洗具体是:
根据协议通信过程,删除当前待识别协议流量数据的TCP建立过程中TCP连接建立包、确认建立包、连接确认包,以及大量的重复包和坏包;同时,对数据长度切分后的数据片段中TCP头部的MAC和IP地址进行随机化处理;
所述的数据转换标注具体是:
将数据清洗后的流量数据中十六进制字符型数据逐位转换为数值型,然后利用One-Hot方式进行标注;
步骤S3:利用协议识别模型对预处理后的工控协议流量数据提取数据中的结构特征和数据间的时序特征,进而识别出工控协议流量数据所对应的工控协议类别;
所述的协议识别模型包括空间特征学习、注意力学习阶段和时序特征学习阶段;
所述空间特征学习、注意力学习阶段采用基于注意力机制的一维卷积神经网络AM-1DCNN,接收预处理后的待识别协议流量数据;基于注意力机制的一维卷积神经网络中利用一维卷积神经网络1DCNN通过卷积和池化操作提取数据的空间相关性特征,刻画原始协议流量数据的局部结构特征,不断更新卷积核参数,实现自动提取一维数据的结构特征;同时,引入注意力机制,对一维卷积神经网络1DCNN按照原始输入特征进行权重划分,有偏重地提取特征;
所述时序特征学习阶段采用长短期记忆网络。
2.根据权利要求1所述的一种基于工控系统原始流量的深度学习协议识别方法,其特征在于所述的数据长度切分过程中若数据包内数据长度超过字节长度L则进行截断处理,若少于字节长度L则用“0”填充。
3.根据权利要求1所述的一种基于工控系统原始流量的深度学习协议识别方法,其特征在于所述基于注意力机制的一维卷积神经网络具体是利用一维卷积神经网络1DCNN通过一维卷积实现原始输入X到特征图U的Transformation,然后对特征图U做全局平均池化操作,即squeeze过程,得的1×C特征图;输出的1×C特征图经过全连接,即excitation过程,将特征限制到[0,1];把限制到[0,1]的特征作为scale的参数乘特征图U的W通道获得特征。
4.根据权利要求1所述的一种基于工控系统原始流量的深度学习协议识别方法,其特征在于所述长短期记忆网络利用不同的“门函数”对基于注意力机制的一维卷积神经网络输出的时序特征进行更新、提取,最后利用Softmax分类器输出预测的工控协议类别。
5.根据权利要求1所述的一种基于工控系统原始流量的深度学习协议识别方法,其特征在于所述协议识别模型的训练包括向前传播和向后传播两个阶段,向前传播阶段将样本数据输入到协议识别模型中,依次利用各层提取协议数据的特征并由分类器输出预测的工控协议类别,向后传播阶段是将预测工控协议类别与真实工控协议类别进行比较,利用损失函数计算误差并向后传播,用来更新模型参数。
6.根据权利要求5所述的一种基于工控系统原始流量的深度学习协议识别方法,其特征在于向后传播阶段的损失函数选择交叉熵函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210554976.8A CN114979017B (zh) | 2022-05-19 | 2022-05-19 | 基于工控系统原始流量的深度学习协议识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210554976.8A CN114979017B (zh) | 2022-05-19 | 2022-05-19 | 基于工控系统原始流量的深度学习协议识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114979017A CN114979017A (zh) | 2022-08-30 |
CN114979017B true CN114979017B (zh) | 2024-03-01 |
Family
ID=82985903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210554976.8A Active CN114979017B (zh) | 2022-05-19 | 2022-05-19 | 基于工控系统原始流量的深度学习协议识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114979017B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116032851B (zh) * | 2022-12-30 | 2024-05-14 | 上海天旦网络科技发展有限公司 | 基于间隔时序轨迹特征的tcp短连接的nat识别方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107682216A (zh) * | 2017-09-01 | 2018-02-09 | 南京南瑞集团公司 | 一种基于深度学习的网络流量协议识别方法 |
CN109871948A (zh) * | 2019-03-26 | 2019-06-11 | 中国人民解放军陆军工程大学 | 一种基于二维卷积神经网络的应用层协议识别方法 |
CN111669354A (zh) * | 2019-03-08 | 2020-09-15 | 天津大学 | 基于机器学习的威胁情报工业防火墙 |
CN114039901A (zh) * | 2021-11-05 | 2022-02-11 | 中国人民解放军陆军工程大学 | 基于残差网络和循环神经网络混合模型的协议识别方法 |
-
2022
- 2022-05-19 CN CN202210554976.8A patent/CN114979017B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107682216A (zh) * | 2017-09-01 | 2018-02-09 | 南京南瑞集团公司 | 一种基于深度学习的网络流量协议识别方法 |
CN111669354A (zh) * | 2019-03-08 | 2020-09-15 | 天津大学 | 基于机器学习的威胁情报工业防火墙 |
CN109871948A (zh) * | 2019-03-26 | 2019-06-11 | 中国人民解放军陆军工程大学 | 一种基于二维卷积神经网络的应用层协议识别方法 |
CN114039901A (zh) * | 2021-11-05 | 2022-02-11 | 中国人民解放军陆军工程大学 | 基于残差网络和循环神经网络混合模型的协议识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114979017A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112163594B (zh) | 一种网络加密流量识别方法及装置 | |
CN110784481B (zh) | SDN网络中基于神经网络的DDoS检测方法及系统 | |
CN110311829B (zh) | 一种基于机器学习加速的网络流量分类方法 | |
CN108900432B (zh) | 一种基于网络流行为的内容感知方法 | |
CN109218223B (zh) | 一种基于主动学习的鲁棒性网络流量分类方法及系统 | |
CN110896381A (zh) | 一种基于深度神经网络的流量分类方法、系统及电子设备 | |
CN112671757B (zh) | 一种基于自动机器学习的加密流量协议识别方法及装置 | |
CN111131069B (zh) | 一种基于深度学习策略的异常加密流量检测与分类方法 | |
WO2022257436A1 (zh) | 基于无线通信网络数据仓库构建方法、系统、设备及介质 | |
CN114039901A (zh) | 基于残差网络和循环神经网络混合模型的协议识别方法 | |
CN112822189A (zh) | 一种流量识别方法及装置 | |
CN108540338B (zh) | 基于深度循环神经网络的应用层通信协议识别的方法 | |
CN109194498B (zh) | 一种基于lstm的网络流量预测方法 | |
CN111565156B (zh) | 一种对网络流量识别分类的方法 | |
CN115037805B (zh) | 一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质 | |
CN111431819A (zh) | 一种基于序列化的协议流特征的网络流量分类方法和装置 | |
CN113364787B (zh) | 一种基于并联神经网络的僵尸网络流量检测方法 | |
CN114979017B (zh) | 基于工控系统原始流量的深度学习协议识别方法及系统 | |
CN114915575A (zh) | 一种基于人工智能的网络流量检测装置 | |
CN116684877A (zh) | 一种基于gyac-lstm的5g网络流量异常检测方法及系统 | |
CN114650229A (zh) | 基于三层模型sftf-l的网络加密流量分类方法与系统 | |
CN115277888B (zh) | 一种移动应用加密协议报文类型解析方法及系统 | |
CN116684133A (zh) | 基于双层注意力和时空特征并行融合的sdn网络异常流量分类装置及方法 | |
CN112367325B (zh) | 基于闭合频繁项挖掘的未知协议报文聚类方法和系统 | |
CN115361195A (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 |