一种基于双谱分析的工控虚假数据注入检测方法与流程

文档序号:32490502发布日期:2022-12-10 02:35阅读:41来源:国知局
一种基于双谱分析的工控虚假数据注入检测方法与流程

1.本发明属于工控安全与网络安全领域,涉及一种基于双谱分析的工控虚假数据注入检测方法。


背景技术:

2.随着工控系统的快速发展,信息通信技术在工控系统中应用越来越广泛,物理设备系统面临越来越复杂的运行环境,针对物理设备的防护成了工控安全领域极其重要的一环。虚假数据注入攻击是通过直接篡改传感器量测数据、入侵传感器和scada系统之间的通信系统,或通过控制中心局域网进入scada系统等方法,在满足残差检测的前提下使状态估计得到错误的状态变量计算值,导致调度中心做出错误决策针对工控系统运行变量的攻击,通过篡改量测值对工业生产造成威胁,影响生产活动的正常运行,但目前对于虚假数据注入攻击检测始终面临着实时性差、检测效率低,且由于噪声数据影响导致的检测准确率低、误报率高等多种问题。


技术实现要素:

3.本发明的目的在于克服上述现有技术的缺点,提供了一种基于双谱分析的工控虚假数据注入检测方法,该方法能够准确检测工控系统是否存在虚假数据注入攻击,且具有实时性好及检测效率高的特点。
4.为达到上述目的,本发明所述的基于双谱分析的工控虚假数据注入检测方法包括:
5.获取工控系统的实时数据,并以此构建离散时间序列;
6.对离散时间序列中的数据进行双谱变换,得双谱变换的结果;
7.根据双谱变换的结果计算可信度p;
8.根据计算得到的可信度p判断工控系统是否存在虚假数据注入。
9.所述对离散时间序列中的数据进行双谱变换,得双谱变换的结果的具体过程为:
10.对离散时间序列中的数据进行量化;
11.对量化后的结果进行三阶谱变换,得双谱变换的结果。
12.将离散时间序列中的数据y(k)量化为:
13.y(k)=x(k)+e(k)
14.其中,x(k)为状态值,e(k)为高斯加性噪声,y(k)=[y(1),y(2),...,y(n)]。
[0015]
双谱变换的结果为:
[0016][0017]
其中,ω1≤π,ω2≤π,|ω1+ω2|≤π,为序列y的三阶累积量,τ称为离散傅里叶变换中的积分变量或累加变量,j为负数,ω为角频率。
[0018]
可信度p为:
[0019][0020][0021]
其中,m为不定值,且
[0022]
所述根据计算得到的可信度p判断工控系统是否存在虚假数据注入的具体操作为:
[0023]
当可信度p大于等于阈值0.9时,则认为工控系统不存在虚假数据注入攻击,当可信度p小于0.9时,则认为工控系统存在虚假数据注入攻击。
[0024]
当工控系统存在虚假数据注入攻击时,将当存在攻击的电位信息发送至输出端,输出端形成攻击事件报告。
[0025]
本发明具有以下有益效果:
[0026]
本发明所述的基于双谱分析的工控虚假数据注入检测方法具体操作时,对离散时间序列中的数据进行双谱变换,得双谱变换的结果,去除高斯噪声的影响,提高检测结果的准确性及实时性,另外,根据双谱变换的结果计算可信度p,再根据计算得到的可信度p判断工控系统是否存在虚假数据注入,以检测工控系统是否存在虚假数据注入攻击,计算过程较为简单,检测效率较高。
附图说明
[0027]
图1为本发明的方法流程图。
具体实施方式
[0028]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,不是全部的实施例,而并非要限制本发明公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要的混淆本发明公开的概念。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0029]
在附图中示出了根据本发明公开实施例的结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
[0030]
实施例一
[0031]
本发明所述的基于双谱分析的基于双谱分析的工控虚假数据注入检测方法包括以下步骤:
[0032]
1)数据采集
[0033]
参考图1,获取工控主机的实时数据,形成各设备、点位的操作值离散时间序列,其中,在进行操作数据采样时,需要设定初始的采样点数n、采样时间间隔t以及重复点数n。采样点数为单位离散时间序列中的数值个数,采样间隔为采样频率,重复点数为在时间上相邻的两个离散序列相同值的个数,本实施例中,设定初始的采样点数为500,采样间隔为1s,重复点数为400。
[0034]
2)双谱变换
[0035]
将离散时间序列中的测量值量化为:
[0036]
y(k)=x(k)+e(k)
[0037]
其中,y(k)为测量值,x(k)为状态值,e(k)为高斯加性噪声,y(k)=[y(1),y(2),...,y(n)];
[0038]
y(k)进行三阶谱变换,得:
[0039][0040]
其中,ω1≤π,ω2≤π,|ω1+ω2|≤π,为序列y的三阶累积量,对于任一时刻,设备的状态值与噪声相互独立,则:
[0041][0042]
高斯平稳序列的三阶及以上累积量为0,因此:
[0043][0044][0045]
因此双谱分析去除了加性高斯噪声对于分析结果的影响。
[0046]
3)可信度计算
[0047]
为y序列双谱添加parzen窗函数则有:
[0048][0049]
其中,m为不定值,且
[0050]
设可信度p为窗函数所截频谱占总频谱的比例,即:
[0051][0052]
4)优化引擎
[0053]
优化引擎是基于逻辑回归算法的机器学习模型,通过优化采样点数n、采样间隔t、重复值n以及窗函数中的参数m,使得尽可能减少多个离散序列进行双谱计算所花费的时间,并不断优化窗函数使得可信参数p大于0.9。
[0054]
5)偏差检测
[0055]
分析引擎对实时数据首先经过坏数据检测,若存在坏数据则先去除其中的坏数
据;之后按照所设定的采样点数、采样时间间隔和重复点数进行处理,形成实时数据离散时间序列,对所生成的离散序列进行双谱变换,并计算其可信度,当可信度p高于所设的阈值0.9,则认为数据偏差在合理范围内,工控系统不存在虚假数据注入攻击,当可信度p小于0.9,则认为工控系统存在虚假数据注入攻击。
[0056]
6)告警
[0057]
当工控系统存在虚假注入攻击时,则将存在攻击的点位信息发送到输出端,并形成攻击事件报告,由管理员确认并跟踪过程。
[0058]
实施例二
[0059]
本发明所述的基于双谱分析的基于双谱分析的工控虚假数据注入检测系统包括:
[0060]
数据采集模块,用于获取工控系统的实时数据,并以此构建离散时间序列;
[0061]
分析模块,用于对离散时间序列中的数据进行双谱变换,得双谱变换的结果;
[0062]
可信度计算模块,用于根据双谱变换的结果计算可信度p;
[0063]
判断模块,用于根据计算得到的可信度p判断工控系统是否存在虚假数据注入。
[0064]
从架构上,本发明所述的系统分为客户端和服务器,其中,客户端包括探针和数据源端,服务端包括接收端、工控数据库、分析引擎及报警模块。
[0065]
客户端包括探针和数据发送源端程序,其中,探针为一个数据监测程序,能够运行于32位/64位的windows、linux主机上,通过hook系统底层进程,获取工控主机上采集的实时数据,为保证工控主机运行的平稳连续,在数据采集过程中不影响正常生产活动,探针只具有读权限;探针随工控主机开启自动运行,实时采集数据通过api推送至数据发送源端。
[0066]
数据发送源端通过2个独立api分别连接到工业历史数据库和探针,每个api的测点都具有格式为ip:port/id的标识符,其中,id为发送源端程序随机分配的不重复字符串,需要说明的是,在其他应用场景中api可根据数据源扩充添加;数据发送源端可配置多个接收端,支持分布式部署,提供负载均衡;数据发送源端配置完接收端,建立连接时通过握手建立加密传输通道,加密算法采用192位blowfish加密,且完全实现了16轮fei stel加密操作;数据传输过程中,通过心跳包维持加密信道,当检测不到心跳信号,关闭传输通道。
[0067]
接收端通过与发送源端建立加密信道接收数据,接收端的标识符为ip:port/id,id为接收端序号,在本实施例中id为1;接收端从握手信息中获取测点标识符信息并为每个测点分配单独的数据传输通道;
[0068]
工控数据库用于存储接收端获取到的数据,在数据库中按照id建立多个分表,同一个id的数据存储在同一个分表中。
[0069]
实施例三
[0070]
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于双谱分析的工控虚假数据注入检测方法的步骤,其中,所述存储器可能包含内存,例如高速随机存储器,也可能还包括非易失性存储器,例如,至少一个磁盘存储器等;处理器、网络接口、存储器通过内部总线互相连接,该内部总线可以是工业标准体系结构总线、外设部件互连标准总线、扩展工业标准结构总线等,总线可以分为地址总线、数据总线、控制总线等。存储器用于存放程序,具体地,程序可以包括程序代码、所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
[0071]
实施例四
[0072]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述基于双谱分析的工控虚假数据注入检测方法的步骤,具体地,所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器可以包括随机存储存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器可以包括只读存储器(rom)、硬盘、闪存、光盘、磁盘等。
[0073]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0074]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0075]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0076]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0077]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1