基于KL散度的故障和攻击检测方法、系统、介质及程序与流程

文档序号:31794243发布日期:2022-10-14 16:51阅读:144来源:国知局
基于KL散度的故障和攻击检测方法、系统、介质及程序与流程
基于kl散度的故障和攻击检测方法、系统、介质及程序
技术领域
1.本公开涉及通信领域,并且具体地,涉及基于kl散度的故障和攻击检测方法、系统、介质及程序。


背景技术:

2.在诸如永磁同步电机测试之类的系统中,会由于系统机械部件的磨损、系统零部件的失效或者系统的误操作等造成系统故障,这些故障会反映在系统的测量数据上。
3.同时在数据的传输过程中还面临数据被截取并篡改的风险。一般将数据在传输过程中被截取并篡改的事件称为系统被攻击。
4.系统出现故障和受到攻击都会影响服务器的决策过程。
5.因此,需要一种能够及时检测系统是否出现故障或者是否受到攻击以使得服务器能够及时采取应对措施的方法和系统。


技术实现要素:

6.鉴于以上技术问题,本发明提出了一种基于kl散度的故障和攻击检测方法、系统、介质及程序。
7.根据本公开的一个方面,提供了一种基于kl散度的故障和攻击检测方法,包括:为本地系统建立空间状态模型:x
k+1
=axk+buk+wk,yk=cxk+vk,其中xk∈rm为本地系统状态,yk∈rn为本地系统输出,uk∈r
p
为控制输入,wk∈rm为过程噪声,vk∈rn为测量输出噪声,a∈rm×m为本地系统矩阵,b∈rm×
p
为输入矩阵,c∈rn×m为输出矩阵;接收本地系统的输出数据;利用接收到的数据和卡尔曼估计器估计本地系统的状态,其中卡尔曼估计器模型为:用接收到的数据和卡尔曼估计器估计本地系统的状态,其中卡尔曼估计器模型为:其中为本地系统的状态的一步预测值,为本地系统的状态的量测更新值,kk为卡尔曼增益,并且为卡尔曼新息;在本地系统调试运行阶段,在确保本地系统无故障和攻击的情况下辨识wk和vk的协方差q和r,并计算此时卡尔曼新息zk的协方差∑;在本地系统投入运行之后,实时辨识wk和vk的协方差和并计算此时卡尔曼新息的协方差以及通过公式或或计算kl散度,并在kl散度值大于阈值时确定本地系统出现故障或受到攻击。
8.根据本公开的另一方面,提供了一种基于kl散度的故障和攻击检测系统,包括:一个或多个处理器;和与所述一个或多个处理器耦接的存储器,所述存储器存储计算机可读程序指令,所述指令在被所述一个或多个处理器执行时执行根据本发明的基于kl散度的故障和攻击检测方法。
9.根据本公开的再一方面,提供了一种非瞬时性计算机可读介质,所述非瞬时性计算机可读介质具有存储在其上的指令,以用于由处理器执行以执行根据本发明的基于kl散度的故障和攻击检测方法。
10.根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时执行根据本发明的基于kl散度的故障和攻击检测的步骤。
11.通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得更为清楚。
附图说明
12.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
13.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
14.图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
15.图2示出了根据本发明的一个示例性实施例的基于kl散度的故障和攻击检测方法。
16.图3示出了根据本发明的一个示例性实施例的本地系统的示意图。
具体实施方式
17.提供以下描述以使得本领域的技术人员能够实现和使用所述实施例,并且以下描述是以特定系统及其要求的上下文提供的。各种修改形式对于本领域的技术人员而言将是清楚的,并且本文中所限定的一般性原则可应用于其他实施例和系统,而不脱离所述实施例的实质和范围。因此,所述实施例不限于所示出的实施例,而是要被赋予符合本文所公开的原理和特征的最宽泛的范围。
18.图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
19.如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
20.系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质。尽管图1中未示出,还可以提供磁盘驱动器以及光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
21.具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
22.计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备等)以及显示器24通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设
备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
23.为了与本发明所要保护的基于kl散度的故障和攻击检测系统进行区分,在本文中将需要进行故障或者攻击检测的系统称为本地系统。
24.本发明所提出的基于kl散度的故障和攻击检测方法需要先对本地系统进行状态空间建模以获取本地系统的各个参数,并利用卡尔曼估计器对本地系统的状态进行预测以获得卡尔曼新息及其协方差。下面参考图2对基于kl散度的故障和攻击检测方法进行详细描述。
25.图2示出了根据本发明的一个示例性实施例的基于kl散度的故障和攻击检测方法200。该方法200例如可以由图1所述的计算机系统/服务器12执行。
26.如图2所示,在步骤201,为本地系统建立状态空间模型。
27.根据本发明的实施例,该状态空间模型为:
28.x
k+1
=axk+buk+wk,
29.yk=cxk+vk。
30.其中xk∈rm为本地系统状态,yk∈rn为本地系统输出,uk∈r
p
为控制输入,wk∈rm为过程噪声,vk∈rn为测量输出噪声,a∈rm×m为本地系统矩阵,b∈rm×
p
为输入矩阵,c∈rn×m为输出矩阵。
31.根据本发明的实施例,{wk}和{vk}被建模为相互独立的零均值高斯过程,协方差分别为q和r,并且(a,c)是可观测的,是可稳态的,(a,b)是可控制的。
32.在步骤202,接收本地系统的输出数据。例如,输出数据包括a、b、c和yk。
33.在步骤203,利用接收到的本地系统的输出数据和卡尔曼估计器预测本地系统的状态。
34.卡尔曼估计器模型为:
[0035][0036][0037][0038][0039][0040]
其中为本地系统的状态的一步预测值,为本地系统的状态的量测更新值,kk为卡尔曼增益,为一步预测误差协方差,为量测更新误差协方差。
[0041]
通过求解代数黎卡提方程通过求解代数黎卡提方程可获得一步预测误差协方差稳态值
[0042]
为稳态卡尔曼增益。
[0043]
为卡尔曼新息,其服从高斯分布且协方差为
[0044]
在步骤204,在本地系统调试运行阶段,在确保本地系统无故障和攻击的情况下辨识wk和vk的协方差q和r,并计算此时卡尔曼新息zk的协方差∑。
[0045]
这里,对wk和vk的协方差q和r的辨识算法在刊物automatica2006年第42期第303-308页公开的brian j.odelson等人所著的《anewautocovariance least-squares method for estimatingnoise covariances》中进行了详细记载,在此不赘述,这里通过引用的方式并入其所有内容,其内容也可通过www.sciencedirect.com获得。
[0046]
在步骤205,在本地系统投入运行之后,实时辨识wk和vk的协方差和并计算此时卡尔曼新息的协方差
[0047]
这里,分别指代实时辨识到的wk和vk的协方差、对应的卡尔曼新息及其协方差,是为了在表述上与系统调试运行阶段在系统无故障和攻击的情况下的相应参数进行区分。
[0048]
应理解,与zk一样,即,也服从高斯分布
[0049]
在步骤206,计算kl散度,并在kl散度值大于阈值时确定本地系统出现故障或受到攻击。
[0050]
根据本发明的实施例,通过公式根据本发明的实施例,通过公式或来计算kl散度。
[0051]
根据本发明的实施例,在确定系统出现故障或受到攻击时触发报警信息以提醒对故障或攻击进行及时处理。这里的报警信息可以通过视觉方式给出,例如跳出提示或者设置报警灯通过闪烁的方式报警,也可以通过听觉方式给出,或者同时采用视觉和听觉报警等。
[0052]
根据本发明的实施例,上述阈值可以根据需要进行设定和修改。例如,在将对应的阈值设为ε,并将对应的阈值设为δ时,在或者时确定本地系统出现故障或受到攻击。
[0053]
上述对的推理公式如下:
[0054][0055]
通过根据本发明的基于kl散度的故障和攻击检测方法,可以及时检测到实时动态系统中出现的故障或受到的攻击,从而能够及时采取修复措施,提高系统运行效率并降低对服务器的决策过程的影响。
[0056]
本发明可以通过系统、方法和/或计算机程序产品来实现。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0057]
根据本发明的一个实施例,提供了一种基于kl散度的故障和攻击检测系统,该系统包括一个或多个处理器和与所述一个或多个处理器耦接的存储器。所述存储器存储计算机可读程序指令,所述指令在被所述一个或多个处理器执行时执行根据本发明的基于kl散度的故障和攻击检测方法。
[0058]
本发明的基于kl散度的故障和攻击检测系统既可以采用软件的方式实现,也可以采用硬件或者硬件+软件的方式实现。
[0059]
本发明的基于kl散度的故障和攻击检测系统可以应用于各种实时动态系统。例如,可以应用于如图3所示的永磁同步电机测试系统。
[0060]
根据本发明的另一个实施例,提供了一种非瞬时性计算机可读介质,所述非瞬时性计算机可读介质具有存储在其上的指令,以用于由处理器执行以执行根据本发明的基于kl散度的故障和攻击检测方法。
[0061]
根据本发明的另一个实施例,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时执行根据本发明的基于kl散度的故障和攻击检测方法的步骤。
[0062]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0063]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关
计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0064]
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0065]
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0066]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0067]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0068]
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0069]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技
术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1