一种基于简单轻量级神经网络的供水管网网络攻击检测与识别方法与流程

文档序号:37800254发布日期:2024-04-30 17:10阅读:9来源:国知局
一种基于简单轻量级神经网络的供水管网网络攻击检测与识别方法与流程

本发明属于城市供水管网网络攻击检测领域,特别涉及到一种基于简单轻量级神经网络的供水管网网络攻击检测与识别方法。


背景技术:

1、供水系统是一种重要的城市基础设施,供水系统的正常运行和管理依靠监控和数据采集(scada)系统和可编程逻辑控制器(plc);scada系统对供水系统的运行状态进行监控,并根据scada系统的各种监测数据对供水系统的运行状态进行判断;plc则是根据scada系统的监测数据对供水系统的各个组件例如水泵和阀门的运行状态进行控制,从而保证供水系统的各项运行参数维持在正常范围内。

2、作为一种重要的基础设施,供水系统容易受到各种攻击的影响从而对正常供水造成影响,所遭受的攻击主要分为物理攻击和网络攻击;物理攻击主要是指供水系统发生漏损、爆管或者污染物入侵的情况,供水系统发生物理攻击时会造成水资源浪费;网络攻击则是指对scada系统的监测数据进行攻击,从而改变系统正常的运行状态,无论供水系统遭受何种攻击,都会对供水系统的正常运行状态造成影响。目前,人们采用了各种攻击检测方法。

3、与物理攻击的广泛研究相比,网络攻击相关的研究较少。网络攻击检测方法主要包括基于模型的方法和基于数据驱动的方法。基于模型的方法依靠管网水力模型,并结合异常检测算法来发现仅仅依靠水力学规则无法识别的网络攻击;但是这种方法需要具有良好的水力模型相关的知识,这显然限制了这种方法在实际中的应用,而基于数据驱动的方法则完全依靠scada系统的监测数据来对网络攻击进行检测与识别,这种方法不需要很好的水力模型相关知识;一些方法通过正常的历史观测数据对供水管网的运行状态进行预测,并结合多个模块的异常检测算法对网络攻击进行识别;这些网络攻击检测方法通常假设用于预测模型训练的历史观测数据与测试数据具有相同的概率分布;然而,在实际中由于季节变化或者供水管网自身特性发生改变等不确定性因素,训练和测试数据的概率分布通常不同;因此,为了提高网络攻击检测的准确率,应该找到训练数据和测试数据更加稳定的特征,以便预测得到的观测数据能够准确反映供水管网未来的真实运行状态。

4、此外,供水管网在正常工况下,遵循相同的运行规律,各个plc控制单元的时间序列监测数据呈现相同的变化规律。一旦供水管网的运行工况发生改变(例如发生网络攻击事件),则会导致供水管网各个plc控制单元对应的时间序列监测数据发生改变,与供水管网在正常运行工况下的各个plc控制单元的时间序列监测数据相比,这些发生改变的时间序列监测数据可以被看作为异常值,基于数据驱动的网络攻击检测方法通过异常检测来发现网络攻击事件。

5、因此,在进行网络攻击检测时需要利用各个plc控制单元的历史时间序列监测数据预测得到供水管网正常工况下的各个plc控制单元的时间序列监测数据。显然,预测过程所花费的时间越短,网络攻击的检测效率越快,能够最大程度减小网络攻击事件对供水安全带来的挑战。

6、综上所述,需要设计一种基于简单轻量级神经网络的供水管网网络攻击检测与识别方法来解决上述问题。


技术实现思路

1、本发明所要解决的技术问题是提供一种基于简单轻量级神经网络的供水管网网络攻击检测与识别方法,该方法利用供水管网在正常工况下的历史监测数据预测得到供水管网的实时监测数据,并通过对供水管网的实时监测数据进行异常检测发现各种网络攻击事件。

2、为实现上述设计,本发明所采用的技术方案是:一种基于简单轻量级神经网络的供水管网网络攻击检测与识别方法,包括以下步骤:

3、s1,利用epanet对管网模型进行水力模拟,得到管网正常工况和发生网络攻击后各个plc控制单元的监测数据;

4、s2,利用简单轻量级神经网络构建供水管网网络攻击检测与识别框架;

5、s3,准备训练数据,确定供水管网网络攻击检测与识别框架各个模块的检测阈值;

6、s4,利用所提出的简单轻量级神经网络网络攻击检测与识别框架对爆管进行检测和识别。

7、进一步的,所述步骤s1具体包括:

8、步骤s101,利用epanet对供水管网正常工况进行水力模拟,得到供水管网各个plc控制单元在正常工况的时间序列监测数据,监测数据主要包括各个水箱的水位、泵的流量、阀门的流量、泵的开关状态、阀的开关状态和泵的排放压力;

9、步骤s102,利用epanet对供水管网各种网络攻击事件进行模拟,改变各个网络攻击事件的攻击类型、攻击位置、开始时间和持续时间,得到得到供水管网各个plc控制单元在网络攻击状态下的时间序列监测数据,监测数据包括各个水箱的水位、泵的流量、阀门的流量、泵的开关状态、阀的开关状态和泵的排放压力。

10、优选地,步骤s2包括:

11、s201,采用k-s检验对供水管网各个plc控制单元的时间序列监测数据进行特征选择,使训练数据能够准确代表测试数据;

12、进一步地,本发明所提出的网络攻击检测方法的爆管检测精度取决于对供水管网系统行为建模和预测的能力;显然,供水管网各个plc控制单元的时间序列监测数据必须满足以下要求,即训练数据必须代表测试数据,具体而言,训练数据应包含测试数据中出现的所有状态和状态之间的转换。

13、现有网络攻击检测方法通常假设训练和测试数据具有相同的概率分布。然而,在实际中由于季节变化或者供水管网自身特性发生改变等不确定性因素,训练和测试数据的概率分布通常不同。为了找到更加稳定的特征,以便所提出方法的网络攻击检测准确率更高,本发明采用k-s检验作为训练和测试数据概率分布之间相似性的定量度量;k-s检验是非参数的,并且不基于所测试数据概率分布的任何假设。与其他特征选择方法相比,例如t检验、平均值和标准差,k-s检验对特征变化更加敏感,且适用于多峰和非正态分布。压力监测数据的特征选择旨在确定训练和测试数据的稳定特征,以便获得更好的爆管检测性能。

14、s202,对供水管网各个plc控制单元的时间序列监测数据进行频域和时域变换,得到供水管网各个plc控制单元的时间序列监测数据的频域信号;

15、进一步地,供水管网内布设有大量的监测设备,能够采集得到供水管网各个关键位置如plc控制单元的实时监测数据,这些实时监测数据能够准确反映供水管网实时运行状态的变化,及时发现供水管网的异常工况,例如网络攻击事件;供水管网各个plc控制单元的时间序列监测数据反映了供水管网在时域内的变化特征,虽然在大多数网络攻击检测方法中,直接利用供水管网各个plc控制单元的时间序列监测数据检测网络攻击事件,但是在信号处理中进行频域分析能够取得更好的效果。为此,本发明在进行网络攻击检测时,对供水管网各个plc控制单元的时间序列监测数据进行了频域分析;频域分析有以下几个优点:频域分析提供了压力监测数据主要信号分量更加紧凑的表示;能够检测到供水管网运行工况的快速变化例如爆管;通常逃避时域检测方法的慢速攻击将在频率分析中脱颖而出,但快速攻击将难以在频域中检测。

16、s203,构建简单轻量级神经网络,利用供水管网各个plc控制单元的时间序列历史监测数据预测得到供水管网时间序列实时监测数据;

17、进一步地,供水管网在正常工况下,遵循相同的运行规律,各个plc控制单元的时间序列监测数据呈现相同的变化规律;一旦供水管网的运行工况发生改变,例如发生网络攻击事件,则会导致供水管网各个plc控制单元对应的时间序列监测数据发生改变,与供水管网在正常运行工况下的各个plc控制单元的时间序列监测数据相比,这些发生改变的时间序列监测数据可以被看作为异常值,基于数据驱动的网络攻击检测方法通过异常检测来发现网络攻击事件。因此,在进行网络攻击检测时需要利用各个plc控制单元的历史时间序列监测数据预测得到供水管网正常工况下的各个plc控制单元的时间序列监测数据;为了提高计算效率,本发明提出了一种简单轻量级神经网络用于供水管网各个plc控制单元时间序列监测数据的预测。

18、为了更好地对供水管网的各个plc控制单元的时间序列监测数据进行预测,本发明基于变分自动编码器构建了一种简单轻量级神经网络,对变分自动编码器的网络结构进行了修改:将高斯噪声应用于输入序列的可选破坏层;调整全连接层,具有使输入膨胀的relu或tanh激活功能;该层的目的是扩大假设空间;修改编码层,其平坦化所述输入并使用所述输入大小的一部分产生其紧凑表示;在本发明中,使用输入大小的50%的紧凑表示实现了最佳结果;一种解码层,从其紧凑表示重构原始序列;

19、nn或pca用于基于先前值即时域或频域来预测数据特征的未来值;因此,网络执行以下功能:

20、

21、其中l和m分别表示输入和输出序列长度,h是预测范围;本发明以允许在指定的时间范围内预测未来的任意长度序列,例如,从最后一个输入时间的第五个时间步长开始预测256个时间步长。

22、s204,采集得到供水管网各个plc控制单元的时间序列实时监测数据,并与供水管网各个plc控制单元的时间序列预测监测数据进行比较,通过对时间序列实时监测数据进行异常检测判断供水管网是否受到了网络攻击。

23、优选地,步骤s3包括:

24、s301,准备管网处于正常工况和受到网络攻击后各个plc控制单元的时间序列监测数据;

25、s302,准备管网处于正常工况下各个plc控制单元的时间序列监测数据,利用简单轻量级神经网络预测得到管网处于正常工况下各个plc控制单元的时间序列预测监测数据;

26、s303,将供水管网各个plc控制单元的时间序列预测监测数据、供水管网处于正常工况下的时间序列监测数据和供水管网受到网络攻击后的时间序列监测数据进行比较,确定供水管网网络攻击的检测阈值;

27、s304,基于最大值评分法,对所提出方法的网络攻击检测性能进行评估。

28、优选地,步骤s4包括:

29、s401,利用所提出的方法对管网处于正常工况和管网受到网络攻击的情况进行检测,得到各种工况下的检测结果;

30、s402,根据各种网络攻击事件的检测识别结果,对所提出方法的网络攻击检测性能进行评估。

31、优选地,步骤s402中,评估主要包括三个方面:

32、网络攻击检测延迟时间,即从网络攻击事件发生到网络攻击事件被检测到的所经历的时间;

33、网络攻击事件检测率,即被检测到的网络攻击事件数量与总的网络攻击事件数量的比值;

34、网络攻击事件误报率,即管网处于正常工况下的事件数与发出网络攻击报警总的事件数的比值。

35、优选地,步骤s201包括:

36、s2011,利用模拟得到的供水管网正常工况下的各个plc控制单元的时间序列监测数据,将其分为训练数据和测试数据两组,计算得到训练数据和测试数据的经验累积分布函数,并用训练数据和测试数据的经验累积分布函数之间的最大差异表示k-s检验统计量:

37、k-s=sup|f1(x)-f2(x)|;

38、式中,f1和f2是训练和测试数据的经验累积分布函数;经验累积分布函数可以通过下式计算得到:

39、

40、式中,xi表示第i个训练数据或测试数据,x表示训练数据或测试数据的最大值;

41、s2012,对k-s检测进行修改:当分布的平均值在x轴上略微偏移时,使用最大值作为统计值使得k-s检测对较小的累积分布函数差异非常敏感,用于获得用于过滤不适合建模特征的简明度量;

42、采用训练数据和测试数据的累积分布函数之间的面积计算得到训练和测试数据的k-s检验统计量,用于提高k-s检测的鲁棒性,确保训练数据的特征能够准确反映测试的特征,从而进一步提高网络攻击检测的准确率;公式如下:

43、k-s*=∫|f1(x)-f2(x)|dx;

44、式中,s*表示训练数据和测试数据的统计量。

45、优选地,步骤s202包括:

46、s2021,使用离散快速傅里叶变换确定每个信号的主频,即能量最大的频率;

47、s2022,基于主频周期确定短时傅立叶变换的窗口,最佳窗口在主频的一到两个周期之间;

48、s2023,将压力监测数据转换为频率表示;

49、优选地,步骤s2023中,压力监测数据转换为频率表示的方法为:

50、将整个信号分割为重叠窗口;对每个窗口执行短时傅立叶变换;将整个短时傅立叶变换频谱二值化为多个仓,计算每个仓中信号的总能量值;选择不少于一个能量最大的箱,能量值表示对应时间窗的频域特征。

51、优选地,步骤s304包括:

52、s3041,对供水管网各个plc控制单元处的时间序列监测数据残差进行归一化,通过将残差除以验证集数据的最大每个特征残差,将残差归一化,并将归一化残差的最大值与阈值τ进行比较:

53、

54、式中,表示时间序列监测数据残差的归一化值,表示时间序列监测数据残差,表示时间序列监测数据的最大残差;

55、s3042,确定供水管网各个plc控制单元在时间i的异常警报

56、为了防止短期偏差的假警报,残差至少在规定的时间窗w内超过阈值;时间i的异常警报由以下公式确定:

57、

58、s3043,通过设置供水管网各个plc控制单元处的验证数据的最大可接受误报率确定超参数τ和w:

59、

60、式中,τn和ωn分别是阈值和归一化为(0,1)范围的窗口值,是用特定阈值和窗口值检测到的异常集合,fpmax是验证数据中允许的最大假警报数。

61、优选地,步骤s3043中,超参数值不会产生超过允许数量的错误警报,同时最小化其归一化值之和。

62、进一步地,本发明寻找的超参数值不会产生超过允许数量的错误警报,同时最小化其归一化值之和,使用归一化值可以保障以相等的权重优化两个超参数,无论其绝对值如何;最小化归一化值的总和使我们能够在由阈值控制的检测灵敏度和由窗口大小控制的检测延迟之间取得平衡。

63、本发明的有益效果如下:

64、本发明利用供水管网在正常工况下的历史监测数据预测得到供水管网的实时监测数据,并通过对供水管网的实时监测数据进行异常检测发现各种网络攻击事件;为了提高网络攻击检测的准确率和效率,本发明采用k-s检验对训练数据和测试数据的特征进行筛选,以便找到训练数据和测试数据更加稳定的特征,同时,本发明基于变分自动编码器构建了一种简单轻量级神经网络,能够有效缩短预测过程所花费的时间,提高网络攻击检测的效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1