开云优惠体育网页版入口

开云优惠体育网页版入口:一种基于网络层报文相似度的工控网络异常检测方法

更新时间:2026-09-01
一种基于网络层报文相似度的工控网络异常检测方法 专利申请类型:发明专利;
地区:湖北-鄂州;
源自:鄂州高价值专利检索信息库;

专利名称:一种基于网络层报文相似度的工控网络异常检测方法

专利类型:发明专利

专利申请号:CN202311831530.6

专利申请(专利权)人:国网湖北省电力有限公司鄂州供电公司
权利人地址:湖北省鄂州市凤凰路100号

专利发明(设计)人:吴青,汪俊洋,陈果,吴慧萍,姚武,郭姗姗,姜志鹏,吴伟洁,郑昱君,周康,骆林峰,杜翔

专利摘要:本申请涉及一种基于网络层报文相似度的工控网络异常检测方法,包括以下步骤:在模型训练阶段,通过采集工业控制系统的网络流量,按照周期对流量进行分包,得到PCAP数据包数组P。将P进行网络特征提。玫酵绮闶萏卣魇椋欢訮中的数据包进行深度协议解析,得到应用层数据特征数组。通过系列计算,得到网络层数据特征向量和应用层特征向量,分别送入训练好的模型M1和M2,得特征哈希yt1和yt2,计算两向量之间的欧氏距离,超出阈值代表工控网络异常,否则为正常。本发明可在只有正常训练数据集的情况下完成模型训练,解决了工业控制系统中缺少优质异常训练样本的问题。不需要对训练数据集进行人为分类和标记,节省人力成本。

主权利要求:
1.一种基于网络层报文相似度的工控网络异常检测方法,其特征在于,包括以下具体步骤:(1)采集工业控制系统的网络流量,按照周期T对流量进行分包,得到多个PCAP数据包,构成PCAP数据包数组P=[p1,p2,...pn],T取30S;
(2)对P中的PCAP数据包逐个进行网络层报文特征提。玫蕉喔鐾绮闶萏卣飨蛄,构成网络层数据特征数组Fnet=[fnet1,fnet2,...fnetn];
(3)步骤(2)中所述的网络层报文特征包括如下:
(4)步骤(2)中所述的网络层报文特征提取方法,需要根据上表中列举的特征项,对PCAP数据包进行特征计算,按编号顺序对特征进行排列得到16进制向量,每个16进制向量为一个网络层数据特征向量fnet;
(5)对P中的PCAP数据包逐一进行提。扛鯬CAP中包含一个或多个IP数据报,对每个IP数据报进行深度协议解析,每个IP数据报通过解析得到一个16进制的结果向量d,每个结果向量的长度根据深度解析的具体内容有所变化;
(6)将多个结果向量d进行拼接,结果向量间通过8个16进制数0x00间隔,构成拼接向量,如果拼接向量的长度大于N则截断,如果长度小于N,则在末尾填充16进制数0x00,通过对PCAP进行深度协议解析得到一个长度为N的应用层特征向量fapp;
(7)按照步骤(5)和(6)的流程,对P中的PCAP数据包逐一进行特征提。钩捎τ貌闾卣魇镕app=[fapp1,Fapp2,...fappn];
(8)对应用层特征数组Fapp中的特征向量进行组合运算,形成多个数据对其中,E表示采集的所有业务指令向量的总数,S1表示训练数据集;
(9)将训练数据集S1输入事先准备好的卷积神经网络模型 进行模型训练,将训练数据集S1中的多个数据对(fappi,fappj)依次取出,将fappi和fappj按顺序送入模型 得到预测哈希对(hi,hj);
(10)使用对比损失函数计算训练损失l(hi,hj),具体计算步骤如下:其中,Y表示(fappi,fappj)中两个样本是否属于同一类别,同类别则为0,否则为1,Dw为hi?3和hj的欧氏距离,M为神经网络输出的向量维度,值为128,m为决策边界的距离,值为10 ;
(11)根据步骤(10)计算得到的训练损失,使用梯度下降法对当前模型的梯度ωold进行梯度更新,得到更新梯度ωnew,具体计算步骤如下:其中η为学习率,取值为0.001;
(12)重复步骤(9)至步骤(11),直到训练损失l小于设定阈值,或迭代次数达到最大设定次数,得到训练好的模型(13)将应用层特征数组Fapp中的特征向量按顺序输入训练好的模型 得到多个数据标签向量y,将从步骤(2)中得到的网络层数据特征数组Fnet中的多个特征向量fnet按顺序与数据标签向量y配对,通过按顺序组合多个fnet和yapp,构成训练数据集其中,E表示采集的所有业务指令向量的总数;
(14)使用训练数据集S2训练事先准备好的卷积神经网络模型 是一个输入维度为N,输出维度为M的模型,训练过程中,使用步骤(10)所述的对比损失函数进行训练,得到训练好的模型(15)在异常检测阶段,实时采集工业控制系统的网络流量,按照周期T对流量进行分包,得到当前周期的PCAP数据包pt,按照步骤(4)和步骤(6)的方法,将数据包pt进行特征提。玫酵绮闶萏卣飨蛄縡nett和应用层特征向量fappt;
(16)将网络层数据特征向量fnett输入模型 得到预测向量yt1,将应用层特征向量fappt输入模型 得到预测向量yt2,使用下列公式计算两个向量之间的欧氏距离Ddetect:其中M为预测向量的维度;
(17)如果Ddetect大于阈值TH,则表示当前的工业控制系统的网络异常,否则为正常。 说明书 : 一种基于网络层报文相似度的工控网络异常检测方法技术领域[0001] 本申请涉及工业控制系统安全领域,更具体地,涉及一种基于网络层报文相似度的工控网络异常检测方法。背景技术[0002] 随着工业4.0和智能制造的快速发展,工业控制网络在现代化工业生产中扮演着越来越重要的角色。这些网络负责传输大量的实时数据,以支持诸如过程控制、监控和数据采集等各种功能。任何网络异常或故障都可能导致生产中断、设备损坏或安全事故,从而造成重大的经济损失和安全风险。因此,对工控网络进行异常检测,及时发现并解决潜在的网络问题,是保障工业生产稳定运行的必要手段。[0003] 传统的工控网络异常检测方法通常基于固定的阈值和规则,这种方法在静态、稳定的网络环境中表现良好。然而,由于工控网络的动态性和复杂性,固定的阈值和规则很难应对各种变化和异常情况。例如,网络的流量和延迟可能会受到多种因素的影响,如设备故障、网络拥堵、病毒或恶意攻击等。这些因素可能导致传统的异常检测方法无法准确识别出真正的网络问题。[0004] 基于上述背景,本发明提供一种基于网络层报文相似度的工控网络异常检测方法。基于正常网络流量中的网络层报文和应用层报文的特征哈希相似,而异常网络流量不相似这一特点,实时计算所采集PCAP数据包中的两个网络层报文之间的数据特征之间的距离,完成对当前网络的异常情况的判断。因此可以在只有正常训练数据集的情况下完成模型训练,解决了工业控制系统中缺少优质异常训练样本的问题。且不需要对训练数据集进行人为分类和标记,节省人力成本。[0005] CN111800312A公开了一种基于报文内容分析的工控系统异常检测方法及系统,本发明的方法包括步骤一、采集工控系统中的数据报文并将报文映射到相应的特征向量;步骤二、基于特征向量构成的数据输入集构建网络消息的原型模型;步骤三、分析每个原型模型中特征的出现频率并使用频率阈值过滤模型中的稀有特征,以得到检测模型;步骤四、采用经步骤三优化后的模型和步骤一采集的检测消息来实现工控系统的异常检测。其解决工业计算机网络中普遍使用的二进制协议对传统异常检测方法的限制问题。但其并不是基于报文相似度进行检测,故其所在的工业控制系统中缺少优质异常训练样本。发明内容[0006] 本申请实施例的目的在于提供一种基于网络层报文相似度的工控网络异常检测方法,解决了工业控制系统中缺少优质异常训练样本的问题。且不需要对训练数据集进行人为分类和标记。具有免异常训练样本,节省人力成本,对异常流量的检测能力强的特点。[0007] 为实现上述目的,本申请提供如下技术方案:[0008] 本申请实施例提供一种基于网络层报文相似度的工控网络异常检测方法,其特征在于,包括以下具体步骤:[0009] (1)采集工业控制系统的网络流量,按照周期T对流量进行分包,得到多个PCAP数据包,构成PCAP数据包数组P=[p1,p2,...pn]。本实施例中,T取30S;[0010] (2)对P中的PCAP数据包逐个进行网络层报文特征提。玫蕉喔鐾绮闶萏卣飨蛄,构成网络层数据特征数组Fnet=[fnet1,fnet2,...fnetn];[0011] (3)步骤(2)中所述的网络层报文特征主要包括流量统计特征、IP地址特征、协议分布等,详情如下表所示:[0012][0013] (4)步骤(2)中所述的网络层报文特征提取方法,需要根据上表中列举的特征项,对PCAP数据包进行特征计算,按编号顺序对特征进行排列得到16进制向量。每个16进制向量为一个网络层数据特征向量fnet;[0014] (5)对P中的PCAP数据包逐一进行提。扛鯬CAP中包含一个或多个IP数据报(IPDatagram),对每个IP数据报进行深度协议解析。每个IP数据报通过解析可以得到一个16进制的结果向量d,每个结果向量的长度根据深度解析的具体内容有所变化;[0015] (6)将多个结果向量d进行拼接,结果向量间通过8个16进制数0x00间隔,构成拼接向量。如果拼接向量的长度大于N则截断,如果长度小于N,则在末尾填充16进制数0x00。通过对PCAP进行深度协议解析得到一个长度为N的应用层特征向量fapp;[0016] (7)按照步骤(5)和(6)的流程,对P中的PCAP数据包逐一进行特征提。钩捎τ貌闾卣魇镕app=[fapp1,fapp2,...fappn];[0017] (8)对应用层特征数组Fapp中的特征向量进行组合运算,形成多个数据对其中,E表示采集的所有业务指令向量的总数,S1表示训练数据集;[0018] (9)将训练数据集S1输入事先准备好的卷积神经网络模型 进行模型训练。具体地,将训练数据集S1中的多个数据对(fappi,fappj)依次取出,将fappi和fappj按顺序送入模型得到预测哈希对(hi,hj);[0019] (10)使用对比损失函数计算训练损失 具体计算步骤如下:[0020][0021][0022] 其中,Y表示(fappi,fappj)中两个样本是否属于同一类别,同类别则为0,否则为1,本实施例中使用的均为正常数据样本,因此Y始终为0。Dw为hi和hj的欧氏距离。M为神经网络输?3出的向量维度,本实施例中为128。m为决策边界的距离,本实施例中取10 ;[0023] (11)根据步骤(10)计算得到的类别损失,使用梯度下降法对当前模型的梯度ωold进行梯度更新,得到更新梯度ωnew,具体计算步骤如下:[0024][0025] 其中η为学习率,本实施例取0.001;[0026] (12)重复步骤(9)至步骤(11),直到训练损失l小于设定阈值,或迭代次数达到最大设定次数。得到训练好的模型[0027] (13)将应用层特征数组Fapp中的特征向量按顺序输入训练好的模型 得到多个数据标签向量y。将从步骤(2)中得到的网络层数据特征数组Fnet中的多个特征向量fnet按顺序与数据标签向量y配对。通过按顺序组合多个fnet和yapp,构成训练数据集其中,E表示采集的所有业务指令向量的总数;[0028] (14)使用训练数据集S2训练事先准备好的卷积神经网络模型 是一个输入维度为N,输出维度为M的模型。训练过程中,使用步骤(10)所述的对比损失函数进行训练,得到训练好的模型[0029] (15)在异常检测阶段,实时采集工业控制系统的网络流量,按照周期T对流量进行分包,得到当前周期的PCAP数据包pt。按照步骤(4)和步骤(6)的方法,将数据包pt进行特征提。玫酵绮闶萏卣飨蛄縡nett和应用层特征向量fappt;[0030] (16)将网络层数据特征向量fnett输入模型 得到预测向量yt1。将应用层特征向量fappt输入模型 得到预测向量yt2。使用下列公式计算两个向量之间的欧氏距离Ddetect:[0031][0032] 其中M为预测向量的维度;[0033] (17)如果Ddetect大于阈值TH,则表示当前的工业控制系统的网络异常,否则为正常。[0034] 与现有技术相比,本发明的有益效果是:本发明利用正常网络流量中的网络层报文和应用层报文的特征哈希相似,而异常网络流量不相似这一特点,实时计算所采集PCAP数据包中的两个网络层报文之间的数据特征之间的距离,完成对当前网络的异常情况的判断。因此可以在只有正常训练数据集的情况下完成模型训练,解决了工业控制系统中缺少优质异常训练样本的问题。且不需要对训练数据集进行人为分类和标记,节省人力成本。提供了一种基于网络层报文相似度的工控网络异常检测方法。附图说明[0035] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。[0036] 图1为申请提供的一种基于网络层报文相似度的工控网络异常检测方法的流程图。具体实施方式[0037] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。[0038] 术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。[0039] 术语“第一”、“第二”等仅用于将一个实体或者操作与另一个实体或操作区分开来,而不能理解为指示或暗示相对重要性,也不能理解为要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。[0040] 本发明的基本思路在于,在模型训练阶段,通过采集工业控制系统的网络流量,按照周期T对流量进行分包,得到PCAP数据包数组P。将P进行网络特征提。玫酵绮闶萏卣魇镕net;对P中的数据包进行深度协议解析,得到应用层数据特征数组Fapp。使用Fapp生成多个数据对S1,用S1训练卷积神经网络模型,得到训练好的模型 。将应用层数据特征数组中的向量逐一输入模型 得到预测向量,并与Fnet中的向量组合,得到训练数据集S2。使用训练数据集S2训练模型 得到训练好的模型 在异常检测阶段,实时采集工业控制系统的网络流量,按照周期T输出PCAP数据包,t时刻的PCAP数据包为pt。将pt进行网络特征提取和深度协议解析,得到网络层数据特征向量fnett和应用层特征向量fappt,分别送入训练好的模型 和 得到特征哈希yt1和yt2,计算两向量之间的欧氏距离,超出阈值代表工控网络异常,否则为正常。本发明利用正常网络流量中的网络层报文和应用层报文的特征哈希相似,而异常网络流量不相似这一特点,实时计算所采集PCAP数据包中的两个网络层报文之间的数据特征之间的距离,完成对当前网络的异常情况的判断。因此可以在只有正常训练数据集的情况下完成模型训练,解决了工业控制系统中缺少优质异常训练样本的问题。且不需要对训练数据集进行人为分类和标记,节省人力成本。提供了一种基于网络层报文相似度的工控网络异常检测方法。[0041] 如图1所示,本发明提供了一种基于网络层报文相似度的工控网络异常检测方法,包括以下步骤:[0042] (1)采集工业控制系统的网络流量,按照周期T对流量进行分包,得到多个PCAP数据包,构成PCAP数据包数组P=[p1,p2,...pn]。本实施例中,T取30S;[0043] (2)对P中的PCAP数据包逐个进行网络层报文特征提。玫蕉喔鐾绮闶萏卣飨蛄,构成网络层数据特征数组Fnet=[fnet1,fnet2,...fnetn];[0044] (3)步骤(2)中所述的网络层报文特征主要包括流量统计特征、IP地址特征、协议分布等,详情如表1所示:[0045][0046] 表1[0047] (4)步骤(2)中所述的网络层报文特征提取方法,需要根据表1中列举的特征项,对PCAP数据包进行特征计算,按编号顺序对特征进行排列得到16进制向量。每个16进制向量为一个网络层数据特征向量fnet;[0048] (5)对P中的PCAP数据包逐一进行提。扛鯬CAP中包含一个或多个IP数据报(IPDatagram),对每个IP数据报进行深度协议解析。每个IP数据报通过解析可以得到一个16进制的结果向量d,每个结果向量的长度根据深度解析的具体内容有所变化;[0049] (6)将多个结果向量d进行拼接,结果向量间通过8个16进制数0x00间隔,构成拼接向量。如果拼接向量的长度大于N则截断,如果长度小于N,则在末尾填充16进制数0x00。通过对PCAP进行深度协议解析得到一个长度为N的应用层特征向量fapp;[0050] (7)按照步骤(5)和(6)的流程,对P中的PCAP数据包逐一进行特征提。钩捎τ貌闾卣魇镕app=[fapp1,fapp2,...fappn];[0051] (8)对应用层特征数组Fapp中的特征向量进行组合运算,形成多个数据对其中,E表示采集的所有业务指令向量的总数,S1表示训练数据集;[0052] (9)将训练数据集S1输入事先准备好的卷积神经网络模型 进行模型训练。具体地,将训练数据集S1中的多个数据对(fappi,fappj)依次取出,将fappi和fappj按顺序送入模型得到预测哈希对(hi,hj);[0053] (10)使用对比损失函数计算训练损失 具体计算步骤如下:[0054][0055][0056] 其中,Y表示(fappi,fappj)中两个样本是否属于同一类别,同类别则为0,否则为1,本实施例中使用的均为正常数据样本,因此Y始终为0。Dw为hi和hj的欧氏距离。M为神经网络输?3出的向量维度,本实施例中为128。m为决策边界的距离,本实施例中取10 ;[0057] (11)根据步骤(10)计算得到的类别损失,使用梯度下降法对当前模型的梯度ωold进行梯度更新,得到更新梯度ωnew,具体计算步骤如下:[0058][0059] 其中η为学习率,本实施例取0.001;[0060] (12)重复步骤(9)至步骤(11),直到训练损失l小于设定阈值,或迭代次数达到最大设定次数。得到训练好的模型[0061] (13)将应用层特征数组Fapp中的特征向量按顺序输入训练好的模型 得到多个数据标签向量y。将从步骤(2)中得到的网络层数据特征数组Fnet中的多个特征向量fnet按顺序与数据标签向量y配对。通过按顺序组合多个fnet和yapp,构成训练数据集其中,E表示采集的所有业务指令向量的总数;[0062] (14)使用训练数据集S2训练事先准备好的卷积神经网络模型 是一个输入维度为N,输出维度为M的模型。训练过程中,使用步骤(10)所述的对比损失函数进行训练,得到训练好的模型[0063] (15)在异常检测阶段,实时采集工业控制系统的网络流量,按照周期T对流量进行分包,得到当前周期的PCAP数据包pt。按照步骤(4)和步骤(6)的方法,将数据包pt进行特征提。玫酵绮闶萏卣飨蛄縡nett和应用层特征向量fappt;[0064] (16)将网络层数据特征向量fnett输入模型 得到预测向量yt1。将应用层特征向量fappt输入模型 得到预测向量yt2。使用下列公式计算两个向量之间的欧氏距离Ddetect:[0065][0066] 其中M为预测向量的维度;[0067] (17)如果Ddetect大于阈值TH,则表示当前的工业控制系统的网络异常,否则为正常。[0068] 以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

专利地区:湖北

专利申请日期:2023-12-28

专利公开日期:2024-06-18

专利公告号:CN117792748B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
该专利所有权非本平台所有,我方无法提供专利权所有者联系方式,请勿联系我方。
电话咨询
到底部
搜本页
回顶部
开云优惠体育(中国)官网 — 开云优惠体育app下载