一种自适应的安全监测方法、装置、服务器及储存介质与流程

文档序号:33713681发布日期:2023-04-01 02:26阅读:44来源:国知局
一种自适应的安全监测方法、装置、服务器及储存介质与流程

1.本发明实施例涉及工业控制网安全监测领域,特别涉及一种自适应的安全监测方法、装置、服务器及储存介质。


背景技术:

2.近年工控安全事件频发,促使企业考虑安全和效益之间的平衡。一方面,企业为了提高生产执行效率,打通了生产控制系统和企业管理系统,实现了数据的实时交互,但也导致了工控设备与互联网直接相连,存在极大的网络病毒入侵风险。另一方面,企业为了加快自动化的脚步,提高生产效率,采购了大批自动化生产设备。这些设备的运行维护,一般都通过互联网工程师远程实现,这大大提升了病毒侵入的可能性。因此,工业控制网的安全需求很大。
3.发明人发现相关技术中至少存在如下问题:(1)安全监测方法中所用模型对于单个行业的专家知识过于依赖,造成安全监测方法在不同行业、不同网络中的迁移性差,无法自适应的生成适合与本地网络环境的安全监测策略。(2)模型缺少对信息之间深层的关联关系的捕捉,从而影响最终的监测结果及模型的泛化能力。


技术实现要素:

4.本发明实施方式的目的在于提供一种自适应的安全监测方法、装置、服务器及储存介质,使得网络监测方法可以在不同环境、不同网络中自适应的进行网络检测,同时进行对信息之间深层的关联关系的捕捉,提升了监测结果质量和检测方法的泛化能力。
5.为解决上述技术问题,本发明的实施方式提供了一种自适应的安全监测方法,包括:设置时间序列,根据所述时间序列构建特征向量序列;使用所述训练后的tcn卷积模型根据所述特征向量序列生成预测序列;根据所述预测序列和所述特征向量序列判别是否发生异常。
6.本发明的实施方式还提供了一种自适应的安全监测装置,包括:特征提取模块,用于设置时间序列,根据所述时间序列构建特征向量序列;预测模块,用于使用所述训练后的tcn卷积模型根据所述特征向量序列生成预测序列;判别模块,用于根据所述预测序列和所述特征向量序列判别是否发生异常。
7.本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的自适应的安全监测方法。
8.本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上所述的自适应的安全监测方法。
9.在本发明实施方式中,通过设置时间序列,根据所述时间序列构建特征向量序列;然后使用所述训练后的tcn卷积模型根据所述特征向量序列生成预测序列;根据所述预测
序列和所述特征向量序列判别是否发生异常。由于使用特征提取后的序列进行卷积运算,使得网络监测方法可以在不同环境、不同网络中自适应的进行网络检测,同时使用了预测序列和特征向量序列判别是否发生异常,进行对信息之间深层的关联关系的捕捉,提升了监测结果质量和检测方法的泛化能力。
10.另外,采用长短周期交替更新策略,周期性的对所述tcn卷积模型进行训练;所述长短周期交替更新策略包括:定义长周期的长度为lp,定义短周期的长度为sp;所述tcn卷积模型完成长周期的训练之后,若经过了lp个时间窗口,则根据所述lp个时间窗口的时间序列构建所述特征向量序列,再次对所述tcn卷积模型进行所述长周期的训练;所述tcn卷积模型完成短周期的训练之后,若经过了sp个时间窗口,则根据所述sp个时间窗口的时间序列构建所述特征向量序列,再次对所述tcn卷积模型进行所述短周期的训练;当所述长周期的训练和所述短周期的训练发生碰撞的时候选择进行所述长周期的训练。在多数工业控制网中,其数据流量又有明显的周期特性,添加周期性调节可以使模型判定结果更加准确。
11.另外,所述根据所述预测序列和所述特征向量序列判别是否发生异常,包括:根据所述预测序列和所述特征向量序列生成误差矩阵;通过所述预测序列和所述误差矩阵和概率密度估计方法,判断数据是否异常。
12.另外,所述周期性的对所述tcn卷积模型进行训练,包括:周期性的对所述tcn卷积模型采用随机梯度下降法进行训练。
13.另外,所述方法还包括:所述根据所述时间序列构建特征向量序列后,对所述特征向量序列进行归一化处理,生成归一特征向量;所述训练后的tcn卷积模型根据所述归一特征向量序列生成初始预测序列;对所述初始预测序列进行逆归一化处理,生成所述预测序列。将数据进行归一化,可以进一步减少噪音干扰,提升模型精确度。
14.另外,所述通过所述预测序列和所述误差矩阵和概率密度估计方法,判断数据是否异常,包括:根据所述误差矩阵计算与所述误差矩阵对应的协方差矩阵;根据所述预测序列的高斯分布和所述协方差矩阵实现所述概率密度估计方法;根据所述概率密度估计方法产生的计算结果和预设阈值的比对,判断数据是否异常。引入预设阈值的比对,可以用户自行定义异常标准,提升模型精确度和适配性。
15.另外,所述设置时间序列,根据所述时间序列构建特征向量序列,包括:设置所述时间序列;获取状况元素,根据所述状况元素调节所述时间序列;对所述调节后的时间序列进行特征提取,构建所述特征向量序列;所述状况元素,包括以下之一或其任意组合:控制器的品牌、不同组态软件条件下基于工艺流程的通信数据报文、数据流量、数据包大小,数据包周期性、数据包时序性、目标网络ip连接数。设定时间序列的元素,大幅度增加了模型的适配性。
附图说明
16.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
17.图1是根据本发明的一实施方式中自适应的安全监测方法提供的流程图;
18.图2是根据本发明的一实施方式中数据处理过程提供的处理关系示意图;
19.图3是根据本发明的一实施方式中自适应的安全监测方法提供的另一流程图;
20.图4是本发明另一实施方式的自适应的安全监测装置的结构示意图;
21.图5是本发明另一实施方式的服务器的结构示意图。
具体实施方式
22.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
23.本发明的一实施方式涉及一种自适应的安全监测方法,可以应用在手机,电脑等终端设备,也可以是服务器。在本实施方式中,设置时间序列,根据所述时间序列构建特征向量序列;使用训练后的tcn卷积模型根据所述特征向量序列生成预测序列;根据所述预测序列和所述特征向量序列判别是否发生异常,通过使用特征提取后的序列进行卷积运算,使得网络监测方法可以在不同环境、不同网络中自适应的进行网络检测,同时使用了预测序列和特征向量序列判别是否发生异常,进行对信息之间深层的关联关系的捕捉,提升了监测结果质量和检测方法的泛化能力。下面对本实施方式的自适应的安全监测方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
24.如图1所示,在步骤101中,设置时间序列,根据所述时间序列构建特征向量序列。
25.在一个例子中,所述设置时间序列,根据所述时间序列构建特征向量序列,包括:设置所述时间序列;获取状况元素,根据所述状况元素调节所述时间序列;对所述调节后的时间序列进行特征提取,构建所述特征向量序列;所述状况元素,包括以下之一或其任意组合:控制器的品牌、不同组态软件条件下基于工艺流程的通信数据报文、数据流量、数据包大小,数据包周期性、数据包时序性、目标网络ip连接数。
26.在一个例子中,根据目标行业工业控制网络的网络环境和需求来设置一个时间序列nts(network time series)来描述这种随时间变化的数据,nts中每个元素都对应于某一个时间窗口内的网络状况的描述。所述窗口序列nts中的窗口元素由窗口长度个特征向量构成,特征向量由衡量网络状况的多个维度的网络状况指标构成;进行确立nts中的元素,如不同品牌控制器、不同组态软件条件下基于工艺流程的通信数据报文、数据流量、数据包大小,数据包周期性、数据包时序性、目标网络ip连接数等,对时间序列进行特征提取,构建一个t时刻的n维特征向量,并以此构建0-t时刻的nts特征向量序列。
27.在步骤102中,使用所述训练后的tcn卷积模型根据所述特征向量序列生成预测序列。
28.定义模型的输入长度为k,该输入长度最好大于一个数据周期的长度,从而更好地捕获周期信息。一个以时刻i为结尾的输入序列为:isi={f
i-k+1
',f
i-k+2
',

,fi'}对应输出下一时刻的目标表序列为:tsi={f
i-k+2
',f
i-k+3
',

,f
i+1
'},其中fi'代表i时刻的n维特征向量元素,将输入序列中的n个度量指标看做tcn输入层的n个通道,然后采用一维的因果卷积、膨胀卷积进行卷积运算。在卷积层进行卷积运算时会将这n个通道的数据进行融合得到
度量指标之间的内在联系。tcn的输出层的神经元个数与输入序列的长度相同,即具有k个神经元,如果输入序列为isi,则这k个神经元分别对应于i-k+2,i-k+3,

,i+1时刻的预测数据,利用当前最新的训练好的模型及历史数据来预测下一时刻的数据及预测误差。设当前时刻为t,预测模块将从时刻t-k+1到时刻t的历史序列数据进行预测,可以得到一个输出序列,用下式表示如下:{f
i-k+2
',f
i-k+3
',

,f
i+1
'}=tcn({f
i-k+1
',f
i-k+2
',

,fi'})
29.在一个例子中,所述使用训练后的tcn卷积模型根据所述特征向量序列生成预测序列前,包括:采用长短周期交替更新策略,周期性的对所述tcn卷积模型进行训练;所述长短周期交替更新策略包括:定义长周期的长度为lp,定义短周期的长度为sp;所述tcn卷积模型完成长周期的训练之后,若经过了lp个时间窗口,则根据所述lp个时间窗口的时间序列构建所述特征向量序列,再次对所述tcn卷积模型进行所述长周期的训练;所述tcn卷积模型完成短周期的训练之后,若经过了sp个时间窗口,则根据所述sp个时间窗口的时间序列构建所述特征向量序列,再次对所述tcn卷积模型进行所述短周期的训练;当所述长周期的训练和所述短周期的训练发生碰撞的时候选择进行所述长周期的训练。
30.在一个例子中,所述根据所述时间序列构建特征向量序列后,对所述特征向量序列进行归一化处理,生成归一特征向量;所述训练后的tcn卷积模型根据所述归一特征向量序列生成初始预测序列;对所述初始预测序列进行逆归一化处理,生成所述预测序列。
31.在一个例子中,对时间序列nts(network time series)中各向量归一化处理包括:计算时间序列nts中各向量各维度指标的均值与方差;对不同维度的指标通过均值与方差进行归一化处理。归一化处理需要针对所有输入模型的输入序列与输出序列。
32.针对输入序列与目标序列的各维度指标量纲不同,进行归一化处理。求出用来进行训练的序列中各个维度上的均值μi和方差δi,然后用如下公式对时刻t的第i维数据x
it
进行归一化:xi'
t
=(x
it-μi)/δi。
33.训练好的模型需要不断地更新才能保证其良好的拟合能力。但是模型训练是相对比较消耗资源的,所以这里采用一个长短周期交替更新策略来对模型进行更新。定义长周期的长度为lp,短周期的长度为sp。自模型上次长周期更新之后,若经过了lp个时间窗口就使用这lp个时间窗口的序列数据对模型进行训练,完成一次长周期更新。自模型上次更新之后,若经过了sp个时间窗口就使用这sp个时间窗口的序列数据训练模型,完成一个短周期更新。当长周期更新和短周期更新发生碰撞的时候选择长周期更新。预测模块会利用当前最新的模型及历史数据来预测下一时刻的数据及预测误差。因为模型输出的序列数据是在归一化的基础上得到的,所以需要将模型输出序列中的数值做归一化的逆变换方可得到真正的预测序列。具体变换过程为:
[0034][0035]
其中δi和μi分别是第i维数据在在线学习阶段进行归一化时使用的标准差和均值,j取值范围为2≤j≤k+1。
[0036]
在一个例子中,所述周期性的对所述tcn卷积模型进行训练,包括:周期性的对所述tcn卷积模型采用随机梯度下降法进行训练。
[0037]
采用随机梯度下降法训练模型具体训练方法如下:因为tcn使用的是因果卷积,所以仅和f
i-k+1
'相关,和f
i-k+1
',f
i-k+2
'相关,和整个输入序列相关。模型的损失函数loss定义为模型的预测序列和目标序列之间的均方误差:
[0038][0039]
利用随机梯度下降法训练模型,直到loss降低到一个指定的阈值或者loss收敛为止。训练好的模型需要不断地使用训练法更新才能保证其良好的拟合能力。
[0040]
在一个例子中,数据的处理的过程如图2所示,目标网络提取实时数据后,将提取的实时数据进行特征提取,时刻t、时刻t-k+2~t的数据是特征提取后的,且在{f
i-k+1
',f
i-k+2
',

,fi'}中,至于{f
i-k+2
',f
i-k+3
',

,f
i+1
'}=tcn({f
i-k+1
',f
i-k+2
',

,fi'})均为预测数据,其中也对时刻t、时刻t-k+2~t的数据进行了预测,这些数据可以通过预测模型进行预测,并且大小通过大小周期实时的对进行预测的模型(模块)和进行判别的模块进行更新。
[0041]
在步骤103中,根据预测序列和特征向量序列判别是否发生异常。
[0042]
在一个例子中,所述根据所述预测序列和所述特征向量序列判别是否发生异常,包括:根据所述预测序列和所述特征向量序列生成误差矩阵;通过所述预测序列和所述误差矩阵和概率密度估计方法,判断数据是否异常。
[0043]
在一个例子中,所述通过所述预测序列和所述误差矩阵和概率密度估计方法,判断数据是否异常,包括:根据所述误差矩阵计算与所述误差矩阵对应的协方差矩阵;根据所述预测序列的高斯分布和所述协方差矩阵实现所述概率密度估计方法;根据所述概率密度估计方法产生的计算结果和预设阈值的比对,判断数据是否异常。
[0044]
在一个例子中,基于误差矩阵计算其协方差矩阵,基于协方差矩阵,构建满足多元高斯分布的随机变量,结合后续输入的目标序列的特征向量,计算其密度函数。
[0045]
由于时刻t、时刻t-k+2~t的数据是已知的,生成的isi序列和tsi中的重合时刻,即时刻t、时刻t-k+2~t,由这些已知数据和预测数据可以得到一个误差矩阵:
[0046][0047]
根据预测模块预测的t+1时刻的数据和对应的误差矩阵来判断t+1时刻获取到的数据是否是异常的。根据上放误差矩阵可以计算出一个协方差矩阵:
[0048][0049]
将时刻t+1的数据看作一个n元随机变量x,则可以认为x满足如下的多元高斯分布:
[0050]
[0051]
在获取到t+1时刻的特征向量之后,其概率密度估计p(f
t+1
)为:
[0052][0053]
p(f
t+1
)越大说明数据越正常。设定一个阈值ε,当p(f
t+1
)<ε时则说明t+1时刻的数据是异常的。阈值ε越小则误报(将正常数据判断为异常)的概率越小,同时漏报(将异常数据判断为正常)的概率也越大。ε可以由用户设置,也可以在学习阶段根据训练数据自行设定。
[0054]
本技术另一实施例的流程图如图3所示,步骤301中,生成模型,并且采用步骤305中的长短周期和步骤306中的梯度下降更新模型,模型根据步骤302和步骤303同时构建输入序列和目标序列,然后步骤304根据输入序列生成预测序列,在步骤307中获取原始数据,然后于步骤308中构建输入序列,步骤309中,使用步骤304中生成的预测序列和步骤308中构建的输入序列(也可以是302步骤中生成的输入序列,在此实施例中使用步骤308中构建的输入序列)建立误差矩阵,步骤310中通过步骤309中的误差矩阵计算协方差矩阵,进行模型的实时判别。
[0055]
通过对工业控制网络中的历史数据进行在线学习来预测未来的数据,然后通过将预测的数据和未来的真实数据进行比较来判断是否出现异常,包括:通过在线学习的方法构建、更新模型,使模型主要适用于产业互联网中制造业产业链的工业控制网;基于时域卷积神经网络对归一化的数据进行卷积运算,通过一个多元高斯分布来建立这些指标之间的联系,更好地学习到数据变化的规律,更准确地检测出工业控制网的异常;基于因果卷积与膨胀卷积构建时域卷积神经网络(tcn)模型,在捕捉长时依赖的同时控制卷积层深度,减小模型训练的难度。
[0056]
在本实施方式中,通过设置时间序列,根据所述时间序列构建特征向量序列;使用所述训练后的tcn卷积模型根据所述特征向量序列生成预测序列;根据所述预测序列和所述特征向量序列判别是否发生异常。使得网络监测方法可以在不同环境、不同网络中自适应的进行网络检测,同时进行对信息之间深层的关联关系的捕捉。由于使用特征提取后的序列进行卷积运算,使得网络监测方法可以在不同环境、不同网络中自适应的进行网络检测,同时使用了预测序列和特征向量序列判别是否发生异常,进行对信息之间深层的关联关系的捕捉,提升了监测结果质量和检测方法的泛化能力。
[0057]
上面方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0058]
本发明另一施方式涉及一种自适应的安全监测装置,如图4所示,包括:
[0059]
特征提取模块401,用于设置时间序列,根据所述时间序列构建特征向量序列;预测模块402,用于使用所述训练后的tcn卷积模型根据所述特征向量序列生成预测序列;判别模块403,用于根据所述预测序列和所述特征向量序列判别是否发生异常。
[0060]
在一个例子中,所述预测模块402中,所述使用训练后的tcn卷积模型根据所述特
征向量序列生成预测序列前,包括:采用长短周期交替更新策略,周期性的对所述tcn卷积模型进行训练;所述长短周期交替更新策略包括:定义长周期的长度为lp,定义短周期的长度为sp;所述tcn卷积模型完成长周期的训练之后,若经过了lp个时间窗口,则根据所述lp个时间窗口的时间序列构建所述特征向量序列,再次对所述tcn卷积模型进行所述长周期的训练;所述tcn卷积模型完成短周期的训练之后,若经过了sp个时间窗口,则根据所述sp个时间窗口的时间序列构建所述特征向量序列,再次对所述tcn卷积模型进行所述短周期的训练;当所述长周期的训练和所述短周期的训练发生碰撞的时候选择进行所述长周期的训练。
[0061]
在一个例子中,判别模块403具体用于,所述根据所述预测序列和所述特征向量序列判别是否发生异常,包括:根据所述预测序列和所述特征向量序列生成误差矩阵;通过所述预测序列和所述误差矩阵和概率密度估计方法,判断数据是否异常。
[0062]
在一个例子中,所述预测模块402中,所述周期性的对所述tcn卷积模型进行训练,包括:周期性的对所述tcn卷积模型采用随机梯度下降法进行训练。
[0063]
在一个例子中,所述装置还包括:归一化模块,用于所述根据所述时间序列构建特征向量序列后,对所述特征向量序列进行归一化处理,生成归一特征向量;所述训练后的tcn卷积模型根据所述归一特征向量序列生成初始预测序列;对所述初始预测序列进行逆归一化处理,生成所述预测序列。
[0064]
在一个例子中,所述判别模块403具体用于,所述通过所述预测序列和所述误差矩阵和概率密度估计方法,判断数据是否异常,包括:根据所述误差矩阵计算与所述误差矩阵对应的协方差矩阵;根据所述预测序列的高斯分布和所述协方差矩阵实现所述概率密度估计方法;根据所述概率密度估计方法产生的计算结果和预设阈值的比对,判断数据是否异常。
[0065]
在一个例子中,所述特征提取模块401具体用于,设置所述时间序列;获取状况元素,根据所述状况元素调节所述时间序列;对所述调节后的时间序列进行特征提取,构建所述特征向量序列;所述状况元素,包括以下之一或其任意组合:控制器的品牌、不同组态软件条件下基于工艺流程的通信数据报文、数据流量、数据包大小,数据包周期性、数据包时序性、目标网络ip连接数。
[0066]
在本实施方式中,通过设置时间序列,根据所述时间序列构建特征向量序列;使用所述训练后的tcn卷积模型根据所述特征向量序列生成预测序列;根据所述预测序列和所述特征向量序列判别是否发生异常。由于使用特征提取后的序列进行卷积运算,使得网络监测方法可以在不同环境、不同网络中自适应的进行网络检测,同时使用了预测序列和特征向量序列判别是否发生异常,进行对信息之间深层的关联关系的捕捉,提升了监测结果质量和检测方法的泛化能力。
[0067]
不难发现,本实施方式为与上述方法实施方式相对应的装置实施例,本实施方式可与上述方法实施方式互相配合实施。上述方法实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述方法实施方式中。
[0068]
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单
元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
[0069]
本发明的另一实施方式涉及一种服务器,如图5所示,包括至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述的自适应的安全监测方法。
[0070]
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
[0071]
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
[0072]
本发明第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
[0073]
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0074]
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1