CN114584377A - 流量异常检测方法、模型的训练方法、装置、设备及介质 - Google Patents
流量异常检测方法、模型的训练方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114584377A CN114584377A CN202210213280.9A CN202210213280A CN114584377A CN 114584377 A CN114584377 A CN 114584377A CN 202210213280 A CN202210213280 A CN 202210213280A CN 114584377 A CN114584377 A CN 114584377A
- Authority
- CN
- China
- Prior art keywords
- industrial control
- flow
- control flow
- anomaly detection
- feature
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 104
- 238000012549 training Methods 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000002159 abnormal effect Effects 0.000 claims abstract description 29
- 238000000605 extraction Methods 0.000 claims abstract description 27
- 238000004891 communication Methods 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 14
- 239000000523 sample Substances 0.000 description 51
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000007637 random forest analysis Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000004138 cluster model Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
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/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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
-
- 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
-
- 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]
Abstract
本申请提供一种流量异常检测方法、模型的训练方法、装置、设备及介质,训练方法包括:获取工控流量;对所述工控流量进行特征提取,得到特征样本集合;按照预设的簇中心数量k的取值范围,对所述特征样本集合进行迭代聚类,确定出性能最优时的目标k值;所述目标k值对应的聚类模型为训练得到的流量异常检测模型。这样就基于聚类方式,实现了无监督的模型训练过程,无需事先标注出异常流量的特征,从而可以有效适用于真实的工业控制网络环境中。所训练得到的流量异常检测模型,由于不会受到不准确的样本分类的影响,从而在用于进行工控流量的异常检测时,检测准确性也得以更高。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种流量异常检测方法、模型的训练方法、装置、设备及介质。
背景技术
目前的工控(即工业控制)流量异常检测方法,通常是基于工控流量数据中协议内容的特征,识别异常流量。但是,该方式需要预先构建大量进行真假标记的样本数据来进行模型训练。然而在真实的工业控制网络环境中,工控流量数据较为原始,且数量巨大,所以对工控流量数据进行真假标记是非常困难的。这就导致传统方式中样本分类不够准确,导致传统方式在实际应用中准确性不高。
发明内容
本申请实施例的目的在于提供一种流量异常检测方法、模型的训练方法、装置、设备及介质,用以提高对工业流量的异常检测准确性。
本申请实施例提供了一种流量异常检测模型的训练方法,包括:获取工控流量;对所述工控流量进行特征提取,得到特征样本集合;按照预设的簇中心数量k的取值范围,对所述特征样本集合进行迭代聚类,确定出性能最优时的目标k值;所述目标k值对应的聚类模型为训练得到的流量异常检测模型。
在上述实现过程中,通过对工控流量进行特征提取得到特征样本集合后,以预设的簇中心数量k的取值范围,对特征样本集合进行迭代聚类,从而基于聚类方式,实现了无监督的模型训练过程。相比于现有技术而言,无需大量进行真假标记的样本数据,即无需事先标注出异常流量的特征,从而可以有效适用于真实的工业控制网络环境中。所训练得到的流量异常检测模型,由于不会受到不准确的样本分类的影响,从而在用于进行工控流量的异常检测时,检测准确性也得以更高。
进一步地,对所述工控流量进行特征提取,得到特征样本集合,包括:按照预设的目标特征类型,从所述工控流量中提取出各所述目标特征类型对应的目标特征;将各所述目标特征加入到所述特征样本集合中。
在上述实现过程中,通过按照预设的目标特征类型对工控流量中的特征进行筛选,使得可以仅根据目标特征进行模型训练,而无需将所有种类的特征全部用于进行模型训练,从而可以有效提高模型的训练效率。
进一步地,所述目标特征类型为:对工控流量所具有的所有特征类型进行权重分析后,筛选出的特征类型。
在上述实现过程中,通过对工控流量所具有的所有特征类型进行权重分析,可以得到工控流量中各类型的特征的重要程度,从而可以据此筛选出更重要的目标特征类型来进行模型训练,从而在减少训练所需的特征种类的,提高模型的训练效率的同时,减少对检测准确性的影响。
进一步地,按照预设的k的取值范围,对所述特征样本集合进行迭代聚类,确定出性能最优时的目标k值,包括:将所述特征样本集合中对应同一条工控流量的所有特征,转换为m维空间中的数据点;所述m等于所述特征样本集合中所具有的特征的类型数;在当前k值下,运行聚类模型,得到各数据点所属的簇,以及各簇的簇中心;计算当前k值下,所有数据点分别到所属的簇的簇中心的距离之和;所述当前k值位于所述k的取值范围内;在所述k的取值范围内,按照预设的迭代间隔,确定新的当前k值,并重新运行聚类模型,确定所述新的当前k值下所有数据点分别到所属的簇的簇中心的距离之和,直至得到所述取值范围内的所有k值对应的所述距离之和;其中,所述距离之和最小的k值为所述目标k值。
在上述实现过程中,通过将特征样本集合转换至m维空间中进行聚类,然后基于各k值下,所有数据点分别到所属的簇的簇中心的距离之和,确定出距离之和最小的目标k值。而由于在聚类模型中,所有数据点分别到所属的簇的簇中心的距离之和的大小,反映了聚类模型的性能效果。距离之和越小,则表明模型性能越好,从而通过上述方式,可以有效选定出使得模型性能最优的k值,进而保证使用训练得到的流量异常检测模型进行工控流量异常检测时的检测准确性。
本申请实施例还提供了一种流量异常检测方法,包括:获取待检测的工控流量;对所述待检测的工控流量进行特征提取,得到特征集合;根据所述特征集合和预先训练好的流量异常检测模型,确定所述待检测的工控流量是否异常;其中,所述流量异常检测模型根据上述任一种的流量异常检测模型的训练方法训练得到。
在上述实现方案中,通过采用预先训练好的流量异常检测模型来对待检测的工控流量进行检测,可以快速、准确的检测出异常的工控流量。此外,由于流量异常检测模型是根据上述任一种的流量异常检测模型的训练方法训练得到的,从而流量异常检测模型不会受到不准确的样本分类的影响,在进行工控流量的异常检测时,检测准确性更高。
进一步地,对所述待检测的工控流量进行特征提取,得到特征集合,包括:按照预设的目标特征类型,从所述待检测的工控流量中,提取出各所述目标特征类型对应的目标特征;所述特征集合为所述提取出的目标特征构成的集合。
进一步地,根据所述特征集合和预先训练好的流量异常检测模型,确定所述待检测的工控流量是否异常,包括:将所述特征集合输入至所述流量异常检测模型中,得到所述待检测的工控流量在m维空间中的数据点,以及所述待检测的工控流量所属的目标簇;所述m等于所述特征集合中所具有的特征的类型数;计算所述数据点到所述目标簇的簇中心的距离;判断所述距离是否大于预设警戒值;当所述距离大于所述警戒值时,所述工控流量异常;当所述距离小于等于所述警戒值时,所述工控流量正常。
在上述实现过程中,通过计算待检测的工控流量到所属目标簇的簇中心的距离,基于该距离实现对待检测的工控流量是否异常的确定,方法实现简单、可靠,设备开销小。且由于待检测的工控流量到所属目标簇的簇中心的距离,反映的是待检测的工控流量与所属目标簇内各数据点的整体相似程度,因此通过上述实现过程,可以准确的识别出异常的工控流量,保证工控网络的安全性。
本申请实施例还提供了一种流量异常检测模型的训练装置,包括:第一获取模块,用于获取工控流量;第一提取模块,用于对所述工控流量进行特征提取,得到特征样本集合;训练模块,用于按照预设的簇中心数量k的取值范围,对所述特征样本集合进行迭代聚类,确定出性能最优时的目标k值;所述目标k值对应的聚类模型为训练得到的流量异常检测模型。
本申请实施例还提供了一种流量异常检测装置,包括:第二获取模块,用于获取待检测的工控流量;第二提取模块,用于对所述待检测的工控流量进行特征提取,得到特征集合;检测模块,用于根据所述特征集合和预先训练好的流量异常检测模型,确定所述待检测的工控流量是否异常;其中,所述流量异常检测模型根据上述任一种的方法训练得到。
本申请实施例还提供了一种电子设备,包括流量接收端口、处理器、存储器及通信总线;所述流量接收端口用于接收工控流量;所述通信总线用于实现所述流量接收端口、所述处理器和所述存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个程序,以实现上述任一种的流量异常检测模型的训练方法,和/或实现上述任一种的流量异常检测方法。
本申请实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的流量异常检测模型的训练方法,和/或实现上述任一种的流量异常检测方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种流量异常检测模型的训练方法的流程示意图;
图2为本申请实施例提供的一种流量异常检测方法的流程示意图;
图3为本申请实施例提供的一种系统架构示意图;
图4为本申请实施例提供的一种流量异常检测模型的训练装置的结构示意图;
图5为本申请实施例提供的流量异常检测装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一:
为了适应真实的工业控制网络(后文简称工控网络)环境中,工控流量数据较为原始,且数量巨大,难以进行工控流量的真假标记这一情况,解决传统方法中由于需要依赖具有真假标记的工控流量样本,进而导致在实际应用中检测准确性不高的问题,本申请实施例中提供了一种流量异常检测模型的训练方法和一种流量异常检测方法。
可以参见图1所示,图1为本申请实施例中提供的一种流量异常检测模型的训练方法的流程示意图,包括:
S101:获取工控流量。
需要说明的是,本申请实施例中所提供的方案可以应用于具有数据处理能力的电子设备上,例如电脑、服务器等设备。
在本申请实施例中,电子设备可以接入工控网络中,从而获取到工控流量。
示例性的,该电子设备可以与工控网络的流量入口设备连接,从该流量入口设备处获取工控流量。或者,该电子设备也可以作为工控网络的流量入口设备,设置于工控网络的流量入口处,以获取到工控流量。或者,该电子设备还可以通过流量探针设备探测工控流量,从而从流量探针设备处获取到工控流量。
S102:对工控流量进行特征提取,得到特征样本集合。
在本申请实施例中,可以对工控流量进行解析,得到工控流量中的诸如源IP地址、目的IP地址,源端口的端口号、目的端口的端口号、工控流量所采用的传输协议、工控流量所采用的工控协议中的各字段的内容等等特征。
需要注意的是,在本申请实施例中,工控协议可以是MODBUS、S7等协议。
在本申请实施例的一种可行实施方式中,可以将每一条工控流量所对应的所有特征全部加入特征样本集合中,从而进行模型训练。
但是,考虑到训练效率,在本申请实施例的另一种可行实施方式中,也可以预先设定所需的目标特征类型,进而按照预设的目标特征类型,从工控流量中提取出各目标特征类型对应的目标特征,将各目标特征加入到特征样本集合中。这样,就减少了特征样本集合中的特征数,可以提高后续对于聚类模型的训练效率。
需要注意的是,为了保证训练出的聚类模型的检测效果,在可行实施方式的一种可行示例中,可以对工控流量所具有的所有特征类型进行权重分析,进而基于各特征类型所对应的权重,筛选出目标特征类型。
示例性的,可以通过随机森林算法结合最大信息系数算法,实现对工控流量所具有的所有特征类型的权重分析。在具体实现时,可以获取大量的工控流量,并提取出这些工控流量的特征,然后通过随机森林算法对提取出的这些特征进行降维,并通过最大信息系数算法计算出各类型的特征的权重。权重越大,即表明该类型的特征对模型效果的影响越大。进而可以选取权重最大的前n种类型作为目标特征类型,有效去除无用或对模型效果影响较小的特征类型,提高模型训练效率,以及高维连续型数据的准确率。
需要注意的是,在本申请实施例中,特征样本集合中应当记录有对应同一条工控流量的各特征之间的关联关系,以便后续进行模型训练。
示例性,在将一条工控流量的各特征加入到特征样本集合中时,可以以特征组的形式,将工控流量的各特征作为一个特征组,加入到特征样本集合中。例如,假设特征样本集合中具有两个特征组,分别为{a1、b1、c1}和{a2、b2、c2},其中a、b、c表征三类不同的特征,则{a1、b1、c1}对应一条工控流量,{a2、b2、c2}对应另一条工控流量。
还需要注意的是,在本申请实施例中,若出现某一工控流量中不存在某一类型的特征的情况,可以在特征组中将该类型特征对应位置处的值设置为0,以保证各特征组数据结构的一致性,便于后续进行模型训练。
S103:按照预设的簇中心数量k的取值范围,对特征样本集合进行迭代聚类,确定出性能最优时的目标k值。
需要注意的是,在本申请实施例中,所训练的模型为聚类模型,训练过程中通过对特征样本集合进行迭代聚类的方式,实现训练。而目标k值对应的聚类模型即为本申请实施例中训练得到的流量异常检测模型。
在本申请实施例中,为了进行训练,可以将特征样本集合中对应同一条工控流量的所有特征,转换为m维空间中的数据点。其中,m等于特征样本集合中所具有的特征的类型数。
应理解,特征样本集合中有m类特征,那么在聚类过程中,会存在m维空间,每一维空间即对应一类特征。从而针对特征样本集合中,每一条工控流量的所有特征,其即可转化为该m维空间中的一个数据点,该数据点的每一维坐标即为该维坐标轴的坐标值。
为便于理解,以特征样本集合中有三类特征的情况为例,设某一工控流量对应在特征样本集合中的特征组合为{a1、b1、c1},则可转换得到一个三维空间中坐标为(a1,b1,c1)的数据点。
应理解,在本申请实施例中,为便于进行数据点转换,可以先对特征样本集合中的各特征进行归一化处理,以使各特征统一在相同的数据维度下。
归一化处理的原理与方式可以参考已有的归一化方式,在此不做赘述。
在本申请实施例中,会预先设定簇中心的数量k的取值范围。K的取值范围可以由工程师根据实际需求进行设定。
此外,在本申请实施例中,还会预先设定迭代间隔,也即会预先设定每一次进行k值迭代时,k的取值间隔。迭代间隔同样可以由工程师根据实际需求进行设定,例如设定为1。
在当前k值下,运行聚类模型,得到各数据点所属的簇,以及各簇的簇中心。
应理解,聚类模型在运行时,可以自动迭代以找寻出各数据点所属的簇,以及各簇的簇中心。聚类模型在每一个k值下,迭代得出各数据点所属的簇以及各簇的簇中心的方式,可以但不限于通过以下方式实现:
步骤1:可以在初始化时随机或由工程师指定k个初始的簇中心。
步骤2:针对每个数据点,计算数据点分别到k个聚类中心的距离,并将该数据点分到距离最小的聚类中心所对应的簇中。该簇即为该数据点所属的簇。
步骤3:针对每个簇,重新计算它的中心点,得到新的k个簇中心。
重复上面步骤2和步骤3,直到达到预设的中止条件。该中止条件可以是迭代次数达到预设次数阈值、相邻两次计算出的k个簇中心的最小误差变化小于预设误差变化阈值等。
应理解,以上仅为一种可选的示例方式,在实际应用过程中,簇中心的迭代确定还可以通过其他方式实现,本申请实施例中不做限制。
在针对当前k值确定出最终的簇中心后,可以计算当前k值下,所有数据点分别到所属的簇的簇中心的距离之和。
示例性的,计算当前k值下,所有数据点分别到所属的簇的簇中心的距离之和的方式可以是:
首先,针对每一个数据点,按照下述公式计算该数据点至该数据点所属的簇的簇中心的距离ρ:
其中,m为本次聚类时所具有的空间维数,该数据点的坐标为(x1,x2,x3,…xm),该数据点所属的簇的簇中心的坐标为(y1,y2,y3,…ym)。
其中,n为该簇中心所属的簇中所有数据点的数量,ρn为该簇中心所属的簇中第n个数据点对应的ρ值。
在当前k值对应的α值计算完毕后,即可在所述k的取值范围内,按照预设的迭代间隔,确定新的当前k值,并重新运行聚类模型,确定新的当前k值下所有数据点分别到所属的簇的簇中心的距离之和α,直至得到取值范围内的所有k值对应的所述距离之和α。
此时,所对应的距离之和α最小的k值即为本申请实施例的目标k值。
此时,可以将目标k值对应的,运行完毕的聚类模型作为训练得到的流量异常检测模型,并可以进行保存,以便后续用于进行工控流量的异常检测。
而参见图2所示,图2为本申请实施例中所提供的流量异常检测方法的流程示意图。在该流量异常检测方法中,采用上述训练方法训练得到的流量异常检测模型,进行流量异常检测。该流量异常检测方法包括:
S201:获取待检测的工控流量。
在本申请实施例中,获取待检测的工控流量的方式可以参见上述针对步骤S101的描述,可以采用同样的方式获取到待检测的工控流量,在此不再赘述。
S202:对待检测的工控流量进行特征提取,得到特征集合。
应理解,步骤S202的特征提取方式应当与步骤S102保持一致,以保证流量异常检测模型可以识别特征集合。
示例性的,步骤S102中,是按照预设的目标特征类型,从工控流量中提取出各目标特征类型对应的目标特征。那么,在步骤S202中,则需要按照相同的目标特征类型,从待检测的工控流量中,提取出各目标特征类型对应的目标特征,得到特征集合。
例如,步骤S102中提取的是A、B、C三种类型的特征,则步骤S202中也需要对待检测的工控流量提取出A、B、C三类特征,得到特征集合。
S203:根据特征集合和预先训练好的流量异常检测模型,确定待检测的工控流量是否异常。
示例性的,可以将特征集合输入至流量异常检测模型中,从而得到待检测的工控流量在m维空间中的数据点,以及待检测的工控流量所属的目标簇。
然后,可以计算待检测的工控流量所转换得到的数据点,到该目标簇的簇中心的距离。
最后,可以判断该距离是否大于预设警戒值。当该距离大于警戒值时,即可认定工控流量异常。相反,当该距离小于等于警戒值时,即可认定工控流量正常。
应理解,在本申请实施例中,该警戒值可以根据实际需要进行设定,例如可以设定为模型中,该目标簇内所有数据点所对应的距离ρ中,最大的距离ρMax。
还需要注意的是,在本申请实施例中,在检测出异常的工控流量之后,还可以对该异常的工控流量进行预警,例如将该异常的工控流量发送给负责异常处理分析的工程师等。
在本申请实施例中,工程师可以针对检测出的异常的工控流量进行分析,若确定为错误报警,可以将该工控流量标记为正常,并加入到样本库中。
在本申请实施中,可以设定模型更新触发条件,从而在模型更新触发条件被触发时,采用样本库中的工控流量对模型进行更新。
模型更新触发条件可以由工程师设置,例如可以是有新的标记为正常的工控流量加入等。
在本申请实施例中,对模型进行更新的过程可以参见上述训练过程,在此不再赘述。
本申请实施例所提供的流量异常检测模型的训练方法和流量异常检测方法,基于聚类方式,实现了无监督的模型训练,无需事先标注出异常流量的特征,从而可以有效适用于真实的工业控制网络环境中。所训练得到的流量异常检测模型,由于不会受到不准确的样本分类的影响,在用于进行工控流量的异常检测时,检测准确性更高。
实施例二:
本实施例在实施例一的基础上,以一种具体的实现方式为例,为本申请做进一步示例说明。
参见图3所示,图3为本申请实施例提供的一种可实现工控流量异常检测的系统,其包括流量探针设备、Kafka中间件和可执行实施例一所示方法的电子设备。其中,Kafka中间件可以集成于电子设备中,也可以设置于该电子设备外的其他设备中。该电子设备内具有WebUI、Web后台、特征提取模块、模型训练模块、流量检测模块。
该系统中,流量探针设备用于探测原始的工控流量,并上报至Kafka中间件,支持Modbus、S7等工控协议。
Kafka是一种高吞吐量的分布式发布订阅消息系统,用于处理来自多个探针设备的工控流量并上报。
WebUI是web方式交互界面,为系统的操作入口,向工程师提供信息显示、数据输入/输出等服务。
Web后台负责处理WebUI下发的操作请求,例如开启学习模式、告警模式,处置告警信息等。
应理解,在本申请实施例中,提供学习模式、告警模式、更新模式等。
其中,所有模式均关闭时,不处理任何数据。学习模式打开时,通过对原始工控流量进行特征提取,输入模型训练模块,生成模型。告警模式打开时,加载训练好的模型,检测异常流量。
特征提取模块从Kafka获取探针上报的工控流量,进行原始数据解析,提取特征,为后续机器学习孵化可用数据。其特征包括基于会话的五元组(传输协议、源IP地址、目的IP地址,源端口的端口号、目的端口的端口号)、Modbus协议字段、S7协议字段。
模型训练模块通过特征提取模块解析的原始数据,进行最优特征子集选取,并送入迭代聚类模型进行训练,取指标最优聚类模型为输出模型,为流量监测模块提供基础模型。
流量检测模块基于训练后模型对流量进行检测,输出异常流量并关联该流量的原始数据。
具体地,特征提取模块在进行特征提取时,先对工控流量进行解析,得到工控流量的所有特征。然后通过随机森林算法结合最大信息系数算法,对工控流量的各特征类型进行权重排序,选取权重最大的前m个特征类型作为目标特征类型。
取工控流量中该m个特征类型对应的特征值,构成特征样本集合。特征样本集合中,对应同一条工控流量的m个特征,构成一个特征组。
模型训练模块在进行模型训练时,将特征样本集合中各特征组,转换为m维空间中的数据点。
按照预设的k值的取值范围和迭代间隔,依次计算每一个k值对应的α值。
针对每一个k值对应聚合模型计算过程如下:
步骤1:可以在初始化时随机或由工程师指定k个初始的簇中心。
步骤2:针对每个数据点,计算数据点分别到k个聚类中心的距离,并将该数据点分到距离最小的聚类中心所对应的簇中。该簇即为该数据点所属的簇。
步骤3:针对每个簇,重新计算它的中心点,得到新的k个簇中心。
步骤4:重复上面步骤2和步骤3,直到达到预设的迭代次数。
步骤5:针对每一个数据点,按照下述公式计算该数据点至该数据点所属的簇的簇中心的距离ρ:
其中,m为本次聚类时所具有的空间维数,该数据点的坐标为(x1,x2,x3,…xm),该数据点所属的簇的簇中心的坐标为(y1,y2,y3,…ym)。
其中,n为该簇中心所属的簇中所有数据点的数量,ρn为该簇中心所属的簇中第n个数据点对应的ρ值。
选取出α最小的k值,保存该k值对应的在步骤4得到的聚合模型。
此外,流量检测模块在检测时:
将新的工控流量输入至训练得到的聚类模型中。
假设,聚类模型识别出该工控流量属于簇P,该工控流量的空间坐标为O,从而得到该流量到簇P的中心空间坐标的距离为ρ(O),设簇P中距离簇中心最远的数据点的距离ρ为ρPMax。
此时,若ρ(O)>ρPMax则该数据点属于噪点,即该工控流量为异常流量,反之为正常流量。
本申请实施例提供的方案,与传统基于工控数据协议内容识别异常工控流量的方案相比,无需事先知道异常工控流量的特征。通过正常工况的大量工控流量数据进行无监督学习即可训练得到模型,开启告警模式可及时检测出可疑的工控流量。
实施例三:
基于同一发明构思,本申请实施例中还提供了一种流量异常检测模型的训练装置400和流量异常检测装置500。请参阅图4和图5所示,图4示出了采用图1所示的方法的流量异常检测模型的训练装置,图5示出了采用图2所示的方法的流量异常检测装置。应理解,装置400和装置500具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置400和装置500包括至少一个能以软件或固件的形式存储于存储器中或固化在装置400、装置500的操作系统中的软件功能模块。具体地:
参见图4所示,装置400包括:
第一获取模块401,用于获取工控流量;
第一提取模块402,用于对所述工控流量进行特征提取,得到特征样本集合;
训练模块403,用于按照预设的簇中心数量k的取值范围,对所述特征样本集合进行迭代聚类,确定出性能最优时的目标k值;所述目标k值对应的聚类模型为训练得到的流量异常检测模型。
在本申请实施例的一种可行实施方式中,所述第一提取模块402具体用于,按照预设的目标特征类型,从所述工控流量中提取出各所述目标特征类型对应的目标特征,将各所述目标特征加入到所述特征样本集合中。
在上述可行实施方式中,所述目标特征类型为:对工控流量所具有的所有特征类型进行权重分析后,筛选出的特征类型。
在本申请实施例中,所述训练模块403具体用于:
将所述特征样本集合中对应同一条工控流量的所有特征,转换为m维空间中的数据点;所述m等于所述特征样本集合中所具有的特征的类型数;
在当前k值下,运行聚类模型,得到各数据点所属的簇,以及各簇的簇中心;
计算当前k值下,所有数据点分别到所属的簇的簇中心的距离之和;所述当前k值位于所述k的取值范围内;
在所述k的取值范围内,按照预设的迭代间隔,确定新的当前k值,并重新运行聚类模型,确定所述新的当前k值下所有数据点分别到所属的簇的簇中心的距离之和,直至得到所述取值范围内的所有k值对应的所述距离之和;
其中,所述距离之和最小的k值为所述目标k值。
而参见图5所示,装置500包括:
第二获取模块501,用于获取待检测的工控流量;
第二提取模块502,用于对所述待检测的工控流量进行特征提取,得到特征集合;
检测模块503,用于根据所述特征集合和预先训练好的流量异常检测模型,确定所述待检测的工控流量是否异常;
其中,所述流量异常检测模型根据实施例一所述的流量异常检测模型的训练方法训练得到。
在本申请实施例的一种可行实施方式中,所述第二提取模块502具体用于,按照预设的目标特征类型,从所述待检测的工控流量中,提取出各所述目标特征类型对应的目标特征;所述特征集合为所述提取出的目标特征构成的集合。
在本申请实施例的又一种可行实施方式中,所述检测模块503具体用于:
将所述特征集合输入至所述流量异常检测模型中,得到所述待检测的工控流量在m维空间中的数据点,以及所述待检测的工控流量所属的目标簇;所述m等于所述特征集合中所具有的特征的类型数;
计算所述数据点到所述目标簇的簇中心的距离;
判断所述距离是否大于预设警戒值;当所述距离大于所述警戒值时,所述工控流量异常;当所述距离小于等于所述警戒值时,所述工控流量正常。
需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。
实施例四:
本实施例提供了一种电子设备,参见图6所示,其包括流量接收端口601、处理器602、存储器603以及通信总线604。其中:
流量接收端口601用于接收工控流量。
通信总线604用于实现流量接收端口601、处理器602和存储器603之间的连接通信。
处理器602用于执行存储器603中存储的一个或多个程序,以实现上述实施例一和/或实施例二中的流量异常检测模型的训练方法,和/或流量异常检测方法。
可以理解,图6所示的结构仅为示意,电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。例如,电子设备还可以包括显示器、键盘、鼠标、通信总线接口(例如USB接口)等部件。
本实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(Secure Digital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该计算机可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一和/或实施例二中的流量异常检测模型的训练方法,和/或流量异常检测方法。在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种流量异常检测模型的训练方法,其特征在于,包括:
获取工控流量;
对所述工控流量进行特征提取,得到特征样本集合;
按照预设的簇中心数量k的取值范围,对所述特征样本集合进行迭代聚类,确定出性能最优时的目标k值;所述目标k值对应的聚类模型为训练得到的流量异常检测模型。
2.如权利要求1所述的流量异常检测模型的训练方法,其特征在于,对所述工控流量进行特征提取,得到特征样本集合,包括:
按照预设的目标特征类型,从所述工控流量中提取出各所述目标特征类型对应的目标特征;
将各所述目标特征加入到所述特征样本集合中。
3.如权利要求2所述的流量异常检测模型的训练方法,其特征在于,所述目标特征类型为:对工控流量所具有的所有特征类型进行权重分析后,筛选出的特征类型。
4.如权利要求1-3任一项所述的流量异常检测模型的训练方法,其特征在于,按照预设的k的取值范围,对所述特征样本集合进行迭代聚类,确定出性能最优时的目标k值,包括:
将所述特征样本集合中对应同一条工控流量的所有特征,转换为m维空间中的数据点;所述m等于所述特征样本集合中所具有的特征的类型数;
在当前k值下,运行聚类模型,得到各数据点所属的簇,以及各簇的簇中心;
计算当前k值下,所有数据点分别到所属的簇的簇中心的距离之和;所述当前k值位于所述k的取值范围内;
在所述k的取值范围内,按照预设的迭代间隔,确定新的当前k值,并重新运行聚类模型,确定所述新的当前k值下所有数据点分别到所属的簇的簇中心的距离之和,直至得到所述取值范围内的所有k值对应的所述距离之和;
其中,所述距离之和最小的k值为所述目标k值。
5.一种流量异常检测方法,其特征在于,包括:
获取待检测的工控流量;
对所述待检测的工控流量进行特征提取,得到特征集合;
根据所述特征集合和预先训练好的流量异常检测模型,确定所述待检测的工控流量是否异常;
其中,所述流量异常检测模型根据权利要求1-4任一项所述的方法训练得到。
6.如权利要求5所述的流量异常检测方法,其特征在于,对所述待检测的工控流量进行特征提取,得到特征集合,包括:
按照预设的目标特征类型,从所述待检测的工控流量中,提取出各所述目标特征类型对应的目标特征;所述特征集合为所述提取出的目标特征构成的集合。
7.如权利要求5或6所述的流量异常检测方法,其特征在于,根据所述特征集合和预先训练好的流量异常检测模型,确定所述待检测的工控流量是否异常,包括:
将所述特征集合输入至所述流量异常检测模型中,得到所述待检测的工控流量在m维空间中的数据点,以及所述待检测的工控流量所属的目标簇;所述m等于所述特征集合中所具有的特征的类型数;
计算所述数据点到所述目标簇的簇中心的距离;
判断所述距离是否大于预设警戒值;当所述距离大于所述警戒值时,所述工控流量异常;当所述距离小于等于所述警戒值时,所述工控流量正常。
8.一种流量异常检测模型的训练装置,其特征在于,包括:
第一获取模块,用于获取工控流量;
第一提取模块,用于对所述工控流量进行特征提取,得到特征样本集合;
训练模块,用于按照预设的簇中心数量k的取值范围,对所述特征样本集合进行迭代聚类,确定出性能最优时的目标k值;所述目标k值对应的聚类模型为训练得到的流量异常检测模型。
9.一种流量异常检测装置,其特征在于,包括:
第二获取模块,用于获取待检测的工控流量;
第二提取模块,用于对所述待检测的工控流量进行特征提取,得到特征集合;
检测模块,用于根据所述特征集合和预先训练好的流量异常检测模型,确定所述待检测的工控流量是否异常;
其中,所述流量异常检测模型根据权利要求1-4任一项所述的方法训练得到。
10.一种电子设备,其特征在于,包括:流量接收端口、处理器、存储器及通信总线;
所述流量接收端口用于接收工控流量;
所述通信总线用于实现所述流量接收端口、所述处理器和所述存储器之间的连接通信;
所述处理器用于执行所述存储器中存储的程序,以实现如权利要求1至4中任一项所述的流量异常检测模型的训练方法,和/或实现如权利要求5至7中任一项所述的流量异常检测方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至4中任一项所述的流量异常检测模型的训练方法,和/或实现如权利要求5至7中任一项所述的流量异常检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210213280.9A CN114584377A (zh) | 2022-03-04 | 2022-03-04 | 流量异常检测方法、模型的训练方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210213280.9A CN114584377A (zh) | 2022-03-04 | 2022-03-04 | 流量异常检测方法、模型的训练方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114584377A true CN114584377A (zh) | 2022-06-03 |
Family
ID=81778106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210213280.9A Pending CN114584377A (zh) | 2022-03-04 | 2022-03-04 | 流量异常检测方法、模型的训练方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114584377A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115051880A (zh) * | 2022-08-17 | 2022-09-13 | 华泰人寿保险股份有限公司 | 对流量或日志数据进行分类的方法、系统、装置及介质 |
CN116318872A (zh) * | 2023-02-13 | 2023-06-23 | 山东云天安全技术有限公司 | 一种通过报文确定异常会话的方法、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107248996A (zh) * | 2017-06-29 | 2017-10-13 | 南京邮电大学 | 一种dns放大攻击的检测与过滤方法 |
CN107846326A (zh) * | 2017-11-10 | 2018-03-27 | 北京邮电大学 | 一种自适应的半监督网络流量分类方法、系统及设备 |
CN109143848A (zh) * | 2017-06-27 | 2019-01-04 | 中国科学院沈阳自动化研究所 | 基于fcm-gasvm的工业控制系统入侵检测方法 |
CN109726744A (zh) * | 2018-12-14 | 2019-05-07 | 深圳先进技术研究院 | 一种网络流量分类方法 |
CN110213227A (zh) * | 2019-04-24 | 2019-09-06 | 华为技术有限公司 | 一种网络数据流检测方法及装置 |
CN110717551A (zh) * | 2019-10-18 | 2020-01-21 | 中国电子信息产业集团有限公司第六研究所 | 流量识别模型的训练方法、装置及电子设备 |
CN111915418A (zh) * | 2020-05-25 | 2020-11-10 | 百维金科(上海)信息科技有限公司 | 一种互联网金融欺诈行为在线检测方法及其装置 |
CN112488226A (zh) * | 2020-12-10 | 2021-03-12 | 中国电子科技集团公司第三十研究所 | 一种基于机器学习算法的终端异常行为识别方法 |
CN114048468A (zh) * | 2021-11-19 | 2022-02-15 | 北京天融信网络安全技术有限公司 | 入侵检测的方法、入侵检测模型训练的方法、装置及介质 |
EP3955076A1 (en) * | 2020-08-10 | 2022-02-16 | Siemens Aktiengesellschaft | System, device and method of detecting abnormal datapoints |
-
2022
- 2022-03-04 CN CN202210213280.9A patent/CN114584377A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109143848A (zh) * | 2017-06-27 | 2019-01-04 | 中国科学院沈阳自动化研究所 | 基于fcm-gasvm的工业控制系统入侵检测方法 |
CN107248996A (zh) * | 2017-06-29 | 2017-10-13 | 南京邮电大学 | 一种dns放大攻击的检测与过滤方法 |
CN107846326A (zh) * | 2017-11-10 | 2018-03-27 | 北京邮电大学 | 一种自适应的半监督网络流量分类方法、系统及设备 |
CN109726744A (zh) * | 2018-12-14 | 2019-05-07 | 深圳先进技术研究院 | 一种网络流量分类方法 |
CN110213227A (zh) * | 2019-04-24 | 2019-09-06 | 华为技术有限公司 | 一种网络数据流检测方法及装置 |
CN110717551A (zh) * | 2019-10-18 | 2020-01-21 | 中国电子信息产业集团有限公司第六研究所 | 流量识别模型的训练方法、装置及电子设备 |
CN111915418A (zh) * | 2020-05-25 | 2020-11-10 | 百维金科(上海)信息科技有限公司 | 一种互联网金融欺诈行为在线检测方法及其装置 |
EP3955076A1 (en) * | 2020-08-10 | 2022-02-16 | Siemens Aktiengesellschaft | System, device and method of detecting abnormal datapoints |
CN112488226A (zh) * | 2020-12-10 | 2021-03-12 | 中国电子科技集团公司第三十研究所 | 一种基于机器学习算法的终端异常行为识别方法 |
CN114048468A (zh) * | 2021-11-19 | 2022-02-15 | 北京天融信网络安全技术有限公司 | 入侵检测的方法、入侵检测模型训练的方法、装置及介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115051880A (zh) * | 2022-08-17 | 2022-09-13 | 华泰人寿保险股份有限公司 | 对流量或日志数据进行分类的方法、系统、装置及介质 |
CN115051880B (zh) * | 2022-08-17 | 2022-11-11 | 华泰人寿保险股份有限公司 | 对流量或日志数据进行分类的方法、系统、装置及介质 |
CN116318872A (zh) * | 2023-02-13 | 2023-06-23 | 山东云天安全技术有限公司 | 一种通过报文确定异常会话的方法、电子设备及存储介质 |
CN116318872B (zh) * | 2023-02-13 | 2023-10-27 | 山东云天安全技术有限公司 | 一种通过报文确定异常会话的方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022257925A1 (zh) | 基于数字孪生的故障预测方法、装置、服务器及存储介质 | |
US10572512B2 (en) | Detection method and information processing device | |
US8862727B2 (en) | Problem determination and diagnosis in shared dynamic clouds | |
CN112866023B (zh) | 网络检测、模型训练方法、装置、设备及存储介质 | |
CN111459700A (zh) | 设备故障的诊断方法、诊断装置、诊断设备及存储介质 | |
CN114584377A (zh) | 流量异常检测方法、模型的训练方法、装置、设备及介质 | |
WO2020062702A1 (zh) | 短信发送的方法、装置、计算机设备和存储介质 | |
CN112131575B (zh) | 一种基于分类错误率和一致性预测的概念漂移检测方法 | |
CN110471945B (zh) | 活跃数据的处理方法、系统、计算机设备和存储介质 | |
CN112364637A (zh) | 一种敏感词检测方法、装置,电子设备及存储介质 | |
CN113537321A (zh) | 一种基于孤立森林和x均值的网络流量异常检测方法 | |
CN116416884A (zh) | 一种显示器模组的测试装置及其测试方法 | |
JP2007243459A (ja) | トラヒック状態抽出装置及び方法ならびにコンピュータプログラム | |
CN111738290B (zh) | 图像检测方法、模型构建和训练方法、装置、设备和介质 | |
CN113379469A (zh) | 一种异常流量检测方法、装置、设备及存储介质 | |
CN113343228A (zh) | 事件可信度分析方法、装置、电子设备及可读存储介质 | |
JP4559974B2 (ja) | 管理装置及び管理方法及びプログラム | |
CN113033639A (zh) | 一种异常数据检测模型的训练方法、电子设备及存储介质 | |
EP4227855A1 (en) | Graph explainable artificial intelligence correlation | |
CN114513341B (zh) | 恶意流量检测方法、装置、终端及计算机可读存储介质 | |
CN114785616A (zh) | 数据风险检测方法、装置、计算机设备及存储介质 | |
JPWO2019180778A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN111431909B (zh) | 用户实体行为分析中分组异常检测方法及装置、终端 | |
CN114021118A (zh) | 基于超融合服务器系统的多元行为检测方法、系统及介质 | |
CN114327988A (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 |